You've already forked AstralRinth
83d53dafe7
* fix: tags in project settings to have icons and ordered correctly * fix copy in project list layout settings * fix tag item in header navigation * adjust ping ranges * add handle click tag * fix: dont show offline in project page for draft status * move tags above creators in app * preload server project page on load and optimize queries * add server project card to organization page * fix minecraft_java_server label * pnpm prepr * have user option in project create modal be circle * feat: implement better mobile project page view * disable summary line clamp for servers * fix: unlink instance doesnt update instance * increase icon upload size * small fix on button size * improve how server ping info loads * remove unnecessary pings for instance page * fix order of computing dependency diff * remove linked_project_id from world, use name+address to match for managed world instead * pnpm prepr * hide duplicate worlds with same domain name in worlds list * add install content warning for server instance * increase summary max width * add handling for server projects for bulk editing links * implement include user unlisted projects in published modpack select * pnpm prepr * filter to only user unlisted status * add bad link warnings * fix modpack tags appearing in server * cargo fmt
54 lines
1.6 KiB
Vue
54 lines
1.6 KiB
Vue
<template>
|
|
<div class="flex flex-col gap-2 border-0 border-b border-solid border-divider pb-4">
|
|
<div class="grid grid-cols-[1fr_auto] gap-y-6">
|
|
<div class="flex gap-4 w-full">
|
|
<slot name="icon" />
|
|
<div class="flex flex-col gap-2 justify-center w-full">
|
|
<div class="flex justify-between items-start gap-2">
|
|
<div class="flex flex-col gap-1.5 justify-center">
|
|
<div class="flex flex-wrap items-center gap-2">
|
|
<h1 class="m-0 text-2xl font-semibold leading-none text-contrast">
|
|
<slot name="title" />
|
|
</h1>
|
|
<slot name="title-suffix" />
|
|
</div>
|
|
<p
|
|
v-if="$slots.summary"
|
|
class="m-0 max-w-[44rem] empty:hidden"
|
|
:class="[disableLineClamp ? '' : 'line-clamp-2']"
|
|
>
|
|
<slot name="summary" />
|
|
</p>
|
|
</div>
|
|
<div v-if="$slots.summary" class="flex gap-2 items-start max-md:hidden">
|
|
<slot name="actions" />
|
|
</div>
|
|
</div>
|
|
<div v-if="$slots.stats" class="flex flex-wrap gap-3 empty:hidden max-md:hidden">
|
|
<slot name="stats" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="!$slots.summary" class="flex gap-2 items-start max-md:hidden">
|
|
<slot name="actions" />
|
|
</div>
|
|
</div>
|
|
<div class="flex justify-between">
|
|
<div v-if="$slots.stats" class="flex flex-wrap gap-3 empty:hidden md:hidden">
|
|
<slot name="stats" />
|
|
</div>
|
|
<div class="flex gap-2 items-start self-end md:hidden">
|
|
<slot name="actions" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
interface Props {
|
|
disableLineClamp?: boolean
|
|
}
|
|
|
|
const { disableLineClamp } = defineProps<Props>()
|
|
</script>
|