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}
-