forked from didirus/AstralRinth
* New project page * fix silly icon tailwind classes * Start new versions page, add new ButtonStyled component * Pagination and finish mocking up versions page functionality * green download button * hover animation * New Modal, Avatar refactor, subpages in NavTabs * lint * Download modal * New user page + fix lint * fix ui lint * Download animation fix * Versions filter + finish project page * Improve consistency of buttons on home page * Fix ButtonStyled breaking * Fix margin on version summary * finish search, new modals, user + project page mobile * fix gallery image pages * New project header * Fix gallery tab showing improperly * Use auto direction + position for all popouts * Preliminary user page * test to see if this fixes login stuff * remove extra slash * Add version actions, move download button on versions page * Listed -> public * Shorten download modal selector height * Fix user menu open direction * Change breakpoint for header collapse * Only underline title * Tighten padding on stats a little * New nav * Make mobile breakpoint more consistent * fix header breakpoint regression * Add sign in button * Fix edit icon color * Fix margin at top of screen * Fix user bios and ad width * Fix user nav showing when there's only one type of project * Fix plural projects on user page & extract i18n * Remove ads on mobile for now * Fix overflow menu showing hidden items * NavTabs on mobile * Fix navbar z index * Search filter overhaul + negative filters * fix no-max-height * port version filters, fix following/collections, lint * hide promos * ui lint * Disable modal background animation to reduce reported motion sickness * Hide install with modrinth app button on mobile --------- Signed-off-by: Geometrically <18202329+Geometrically@users.noreply.github.com> Co-authored-by: Prospector <prospectordev@gmail.com>
46 lines
1.4 KiB
Vue
46 lines
1.4 KiB
Vue
<template>
|
|
<div
|
|
class="grid grid-cols-[min-content_auto_min-content_min-content] items-center gap-2 rounded-2xl border-[1px] border-button-bg bg-bg p-2"
|
|
>
|
|
<VersionChannelIndicator :channel="version.version_type" />
|
|
<div class="flex min-w-0 flex-col gap-1">
|
|
<h1 class="my-0 truncate text-nowrap text-base font-extrabold leading-none text-contrast">
|
|
{{ version.version_number }}
|
|
</h1>
|
|
<p class="m-0 truncate text-nowrap text-xs font-semibold text-secondary">
|
|
{{ version.name }}
|
|
</p>
|
|
</div>
|
|
<ButtonStyled color="brand">
|
|
<a :href="downloadUrl" class="min-w-0" @click="emit('onDownload')">
|
|
<DownloadIcon /> Download
|
|
</a>
|
|
</ButtonStyled>
|
|
<ButtonStyled circular>
|
|
<nuxt-link
|
|
:to="`/project/${props.version.project_id}/version/${props.version.id}`"
|
|
class="min-w-0"
|
|
@click="emit('onNavigate')"
|
|
>
|
|
<ExternalIcon />
|
|
</nuxt-link>
|
|
</ButtonStyled>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { ButtonStyled, VersionChannelIndicator } from "@modrinth/ui";
|
|
import { DownloadIcon, ExternalIcon } from "@modrinth/assets";
|
|
|
|
const props = defineProps<{
|
|
version: Version;
|
|
}>();
|
|
|
|
const downloadUrl = computed(() => {
|
|
const primary: VersionFile = props.version.files.find((x) => x.primary) || props.version.files[0];
|
|
return primary.url;
|
|
});
|
|
|
|
const emit = defineEmits(["onDownload", "onNavigate"]);
|
|
</script>
|