You've already forked AstralRinth
forked from didirus/AstralRinth
381ea51cce
* fix: files.vue bugs before styling changes * feat: move files tab to shared layout structure * fix: qa * fix: qa * fix: bugs * fix: lint * fix: admonition cleanup with progress + actions * fix: cleanup * fix: modals * fix: admon title * fix: i18n standard * fix: lint + i18n pass * fix: remove transition * fix: type errors * feat: files tab in app * fix: qa * fix: backup item minmax * fix: use ContentPageHeader for server panel * fix: lint * fix: lint * fix: lint * feat: page leave safety * fix: lint * fix: cargo fmt fix * fix: blank in prod * fix: content card table stuff * Revert "fix: blank in prod" This reverts commit 74758fe185cf85a4a20355857f889cb091b97ace. * fix: import * feat: browse worlds/servers flow * fix: worlds tab parity with content tab * fix: perf bug + shader filter pill copy * feat: singleplayer filter * fix: ordering * fix: breadcrumbs * fix: lint * fix: qa * feat: store server proj id when adding to a non-linked instance * fix: lint * fix: i18n + qa * fix: conflict * qa: already installed modal + placeholders not server-specific * fix: qa * fix: add + edit server modals * fix: qa * fix: security * fix: devin flags * fix: lint * chore: change file to break build cache * fix: admon * fix: import path stuff * feat: qa * fix: fmt fmt idiot --------- Signed-off-by: Calum H. <calum@modrinth.com>
52 lines
1.8 KiB
Vue
52 lines
1.8 KiB
Vue
<template>
|
|
<div v-tooltip="'Change server loader'" class="flex min-w-0 flex-row items-center gap-2 truncate">
|
|
<div v-if="!noSeparator" class="w-1.5 h-1.5 rounded-full bg-surface-5"></div>
|
|
<div class="flex flex-row items-center gap-2">
|
|
<LoaderIcon v-if="loader" :loader="loader" class="flex shrink-0 [&&]:size-5" />
|
|
<div v-else class="size-5 shrink-0 animate-pulse rounded-full bg-button-border"></div>
|
|
<AutoLink
|
|
v-if="isLink"
|
|
:to="serverId ? `/hosting/manage/${serverId}/options/loader` : ''"
|
|
class="flex min-w-0 items-center text-sm font-semibold"
|
|
:class="serverId ? 'hover:underline' : ''"
|
|
>
|
|
<span v-if="loader">
|
|
{{ loader }}
|
|
<span v-if="loaderVersion">{{ loaderVersion }}</span>
|
|
</span>
|
|
<span v-else class="flex gap-2">
|
|
<span class="inline-block h-4 w-12 animate-pulse rounded bg-button-border"></span>
|
|
<span class="inline-block h-4 w-12 animate-pulse rounded bg-button-border"></span>
|
|
</span>
|
|
</AutoLink>
|
|
<div v-else class="min-w-0 text-sm font-semibold">
|
|
<span v-if="loader">
|
|
{{ loader }}
|
|
<span v-if="loaderVersion">{{ loaderVersion }}</span>
|
|
</span>
|
|
<span v-else class="flex gap-2">
|
|
<span class="inline-block h-4 w-12 animate-pulse rounded bg-button-border"></span>
|
|
<span class="inline-block h-4 w-12 animate-pulse rounded bg-button-border"></span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { useRoute } from 'vue-router'
|
|
|
|
import AutoLink from '../../base/AutoLink.vue'
|
|
import LoaderIcon from '../icons/LoaderIcon.vue'
|
|
|
|
defineProps<{
|
|
noSeparator?: boolean
|
|
loader?: 'Fabric' | 'Quilt' | 'Forge' | 'NeoForge' | 'Paper' | 'Spigot' | 'Bukkit' | 'Vanilla'
|
|
loaderVersion?: string
|
|
isLink?: boolean
|
|
}>()
|
|
|
|
const route = useRoute()
|
|
const serverId = route.params.id as string
|
|
</script>
|