Ground-Zerro / Phobos Public
Code Issues Pull requests Actions Releases View on GitHub ↗
729 B plaintext
<template>
  <a
    :href="`/api/client/${client.id}/package.tar.gz`"
    :download="filename"
    class="inline-block rounded bg-gray-100 p-2 align-middle transition hover:bg-red-800 hover:text-white dark:bg-neutral-600 dark:text-neutral-300 dark:hover:bg-red-800 dark:hover:text-white"
    :title="$t('client.downloadPackage')"
  >
    <IconsDownload class="w-5" />
  </a>
</template>

<script setup lang="ts">
const props = defineProps<{
  client: LocalClient;
}>();

const filename = computed(() => {
  const slug =
    props.client.name
      .toLowerCase()
      .replace(/[^a-z0-9]+/g, '-')
      .replace(/^-+|-+$/g, '')
      .slice(0, 32) || `client-${props.client.id}`;
  return `phobos-${slug}.tar.gz`;
});
</script>