feat: mvp

This commit is contained in:
2025-11-26 21:48:06 +01:00
commit c1521af887
57 changed files with 8140 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
<script lang="ts">
import { Button } from 'flowbite-svelte';
import type { PageProps } from './$types';
import { EditOutline, CloseOutline } from 'flowbite-svelte-icons';
import AktiEditor from '$lib/components/akti/AktiEditor.svelte';
import UserDisplay from '$lib/components/UserDisplay.svelte';
let { data }: PageProps = $props();
let edit = $state(false);
</script>
<div class="flex justify-between">
<h2>{data.akti?.title} <span class="text-xs text-gray-400">v{data.akti.version}</span></h2>
{#if data.session?.user?.id === data.akti.author?.id && data.akti.author?.id}
<Button onclick={() => (edit = !edit)} color={edit ? 'gray' : 'primary'}>
{#if edit}
<CloseOutline class="shrink-0 h-6 w-6" />
{:else}
<EditOutline class="shrink-0 h-6 w-6 -mr-0.5 ml-0.5" />
{/if}
</Button>
{:else}
<div class="flex gap-5 items-center">
<p>gschribe vo:</p>
<UserDisplay user={data.akti.author} />
</div>
{/if}
</div>
{#if edit}
<AktiEditor akti={data.akti} />
{:else}
<div class="p-5 my-5 bg-gray-200 rounded-md">
<h3 class="mb-2">Zämefassig</h3>
<p>{data.akti.summary}</p>
</div>
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
{@html data.akti.body}
{/if}