diff --git a/package.json b/package.json index 1850e2d..bba4968 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@yusurko/vigil", "private": true, - "version": "0.1.0-dev43", + "version": "0.1.0-dev47", "type": "module", "scripts": { "dev": "vite dev", diff --git a/src/lib/BigSearchInput.svelte b/src/lib/BigSearchInput.svelte index 2334ffb..053b4c2 100644 --- a/src/lib/BigSearchInput.svelte +++ b/src/lib/BigSearchInput.svelte @@ -1,6 +1,6 @@ diff --git a/src/lib/Centered.svelte b/src/lib/Centered.svelte index 9a66bad..ab3b8c4 100644 --- a/src/lib/Centered.svelte +++ b/src/lib/Centered.svelte @@ -1,14 +1,15 @@ -
+
{@render children () }
diff --git a/src/lib/DesktopFooter.svelte b/src/lib/DesktopFooter.svelte new file mode 100644 index 0000000..57f3cd0 --- /dev/null +++ b/src/lib/DesktopFooter.svelte @@ -0,0 +1,29 @@ + + + +

© 2021-2025 Sakuragasaki46.

+ +
+ + \ No newline at end of file diff --git a/src/lib/Feed.svelte b/src/lib/Feed.svelte index 1873346..dd989a1 100644 --- a/src/lib/Feed.svelte +++ b/src/lib/Feed.svelte @@ -19,12 +19,11 @@ \ No newline at end of file diff --git a/src/lib/MobileFooter.svelte b/src/lib/MobileFooter.svelte index 9203dc0..79b7459 100644 --- a/src/lib/MobileFooter.svelte +++ b/src/lib/MobileFooter.svelte @@ -27,7 +27,7 @@ let me = $derived(getMe()); \ No newline at end of file diff --git a/src/lib/SLayout.svelte b/src/lib/SLayout.svelte index a7bec54..4d0211c 100644 --- a/src/lib/SLayout.svelte +++ b/src/lib/SLayout.svelte @@ -28,12 +28,12 @@ let mobiRightActive = $state(false); grid-template-areas: ". title ." "left center right"; - margin: 1em 2em; + padding: 1em 2em; position: relative; } -.layout-left { grid-area: left; padding-right: 1em; } -.layout-right { grid-area: right; padding-left: 1em; } +.layout-left { grid-area: left; padding-inline-end: 1em; } +.layout-right { grid-area: right; padding-inline-start: 1em; } .layout-content { grid-area: center; } .layout-title { grid-area: title; text-align: center; font-size: 1.4em; } @@ -86,6 +86,8 @@ let mobiRightActive = $state(false); "center center center"; grid-template-columns: 2em auto 2em; + + padding: 1em .5em; } .layout-left, .layout-right { display: none; } @@ -107,6 +109,10 @@ let mobiRightActive = $state(false); right: 0; } + .layout-content { + font-size: .9em; + } + } diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7579dd9..7e2c6df 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -9,6 +9,7 @@ import type { ServerHealth, UserEntry } from '$lib/backend'; import { getFlash } from 'sveltekit-flash-message'; import { page } from "$app/state"; import FlashMessage from '$lib/FlashMessage.svelte'; + import DesktopFooter from '$lib/DesktopFooter.svelte'; let { data, children } : { data: {me: UserEntry}, @@ -53,6 +54,8 @@ let colorThemeCls = $derived(`color-scheme-${colorScheme} color-theme-${colorThe {@render children()} + +
diff --git a/src/routes/create/+page.server.ts b/src/routes/create/+page.server.ts new file mode 100644 index 0000000..2d172ce --- /dev/null +++ b/src/routes/create/+page.server.ts @@ -0,0 +1,43 @@ +import { backend } from '$lib/backend.js'; +import { redirect } from 'sveltekit-flash-message/server'; + +export const actions = { + + async default (event) { + const { request }= event; + + const data = await request.formData(); + const guildName = ''+data.get('to'); + const title = data.get('title'); + const content = data.get('content'); + const privacy = +(data.get('privacy') || 0); + + const backend2 = await backend.withEvent(event).oath(); + const resp = await backend2.submitJson(`guild/@${encodeURIComponent(guildName)}`, { + title, content, privacy + }) + + const { status } = resp; + const respData = await resp.json(); + + if ([200, 204].indexOf(status) < 0) { + // error + console.log(`/create: status ${status}`); + switch(status) { + case 403: + case 404: + redirect({ + message: respData.error + }, event); + break; + default: + redirect({message: `Unknown error (HTTP ${status})`}, event); + break; + } + } else { + const { id: myId } = respData; + + redirect(303, "/=" + myId); + } + } +}; \ No newline at end of file diff --git a/src/routes/create/+page.svelte b/src/routes/create/+page.svelte index af0029c..00a33fa 100644 --- a/src/routes/create/+page.svelte +++ b/src/routes/create/+page.svelte @@ -1,4 +1,5 @@ {#if me} -
+

Posting as @{me.username}