feat: 👽 Support Versia Server 0.9 login system
Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 0s
Deploy to GitHub Pages / build (push) Failing after 0s
Deploy to GitHub Pages / deploy (push) Has been skipped
Docker / build (push) Failing after 0s
Mirror to Codeberg / Mirror (push) Failing after 0s

This commit is contained in:
Jesse Wierzbinski 2025-11-21 12:16:00 +01:00
parent cc95f043bd
commit dc32f3b3ea
No known key found for this signature in database
21 changed files with 221 additions and 567 deletions

View file

@ -1,23 +1,27 @@
<template>
<Alert layout="button">
<TriangleAlert />
<AlertTitle>{{ contentWarning || m.sour_seemly_bird_hike() }}</AlertTitle>
<Button @click="blurred = !blurred" variant="outline" size="sm">{{ blurred ? m.bald_direct_turtle_win() :
m.known_flaky_cockroach_dash() }}</Button>
</Alert>
<div class="flex flex-col gap-1">
<p class="text-sm leading-6 wrap-anywhere">
{{ contentWarning || m.sour_seemly_bird_hike() }}
</p>
<Button @click="hidden = !hidden" variant="outline" size="sm" class="col-span-2">
{{ hidden ? m.bald_direct_turtle_win() :
m.known_flaky_cockroach_dash() }} {{ characterCount > 0 ? ` (${characterCount} characters` : "" }}{{
attachmentCount > 0 ? `${characterCount > 0 ? " · " : " ("}${attachmentCount} file(s)` : "" }}{{ (characterCount > 0 || attachmentCount > 0) ? ")" : "" }}
</Button>
</div>
</template>
<script lang="ts" setup>
import { TriangleAlert } from "lucide-vue-next";
import * as m from "~~/paraglide/messages.js";
import { Alert, AlertDescription, AlertTitle } from "../ui/alert";
import { Button } from "../ui/button";
const { contentWarning } = defineProps<{
const { contentWarning, characterCount, attachmentCount } = defineProps<{
contentWarning?: string;
characterCount: number;
attachmentCount: number;
}>();
const blurred = defineModel<boolean>({
const hidden = defineModel<boolean>({
default: true,
});
</script>

View file

@ -1,11 +1,11 @@
<template>
<ContentWarning v-if="(sensitive || contentWarning) && preferences.show_content_warning" :content-warning="contentWarning" v-model="blurred" />
<ContentWarning v-if="(sensitive || contentWarning) && preferences.show_content_warning" :content-warning="contentWarning" :character-count="characterCount ?? 0" :attachment-count="attachments.length" v-model="hidden" />
<OverflowGuard v-if="content" :character-count="characterCount" :class="(blurred && preferences.show_content_warning) && 'blur-md'">
<OverflowGuard v-if="content" :character-count="characterCount" :class="(hidden && preferences.show_content_warning) && 'hidden'">
<Prose v-html="content" v-render-emojis="emojis"></Prose>
</OverflowGuard>
<Attachments v-if="attachments.length > 0" :attachments="attachments" :class="(blurred && preferences.show_content_warning) && 'blur-xl'" />
<Attachments v-if="attachments.length > 0" :attachments="attachments" :class="(hidden && preferences.show_content_warning) && 'hidden'" />
<div v-if="quote" class="mt-4 rounded border overflow-hidden">
<Note :note="quote" :hide-actions="true" :small-layout="true" />
@ -31,7 +31,7 @@ const { content, plainContent, sensitive, contentWarning } = defineProps<{
contentWarning?: string;
}>();
const blurred = ref(sensitive || !!contentWarning);
const hidden = ref(sensitive || !!contentWarning);
const characterCount = plainContent?.length;
</script>

View file

@ -16,13 +16,13 @@
:visibility="noteToUse.visibility"
:created-at="new Date(noteToUse.created_at)"
:small-layout="smallLayout"
class="z-[1]"
class="z-1"
/>
<div
v-if="topAvatarBar"
:class="
cn(
'shrink-0 bg-border w-0.5 absolute top-0 h-7 left-[3rem]'
'shrink-0 bg-border w-0.5 absolute top-0 h-7 left-12'
)
"
></div>
@ -30,7 +30,7 @@
v-if="bottomAvatarBar"
:class="
cn(
'shrink-0 bg-border w-0.5 absolute bottom-0 h-[calc(100%-1.5rem)] left-[3rem]'
'shrink-0 bg-border w-0.5 absolute bottom-0 h-[calc(100%-1.5rem)] left-12'
)
"
></div>
@ -38,7 +38,7 @@
<!-- Simply offset by the size of avatar + 0.75rem (the gap) -->
<CardContent
:class="
['space-y-4', contentUnderUsername && (smallLayout ? 'ml-11' : 'ml-[4.25rem]')]
['space-y-4', contentUnderUsername && (smallLayout ? 'ml-11' : 'ml-17')]
"
>
<Content