- {#each menus as { url, name }}
-
{name}
- {/each}
+
-
-
diff --git a/src/lib/Team.json b/src/lib/Team.json
index c1717e9..fb048e2 100644
--- a/src/lib/Team.json
+++ b/src/lib/Team.json
@@ -1,9 +1,15 @@
[
+ {
+ "name": "akisblack",
+ "description": "I am a soydev maintaining the website and api.",
+ "position": "Web dev",
+ "website": "https://akisblack.github.io/"
+ },
{
"name": "Midou",
+ "description": "A random person with an obsession to online cat pics, also happens to be the sysadmin of the project",
"matrix": "https://matrix.to/#/@midou:projectsegfau.lt/",
"position": "Sysadmin",
- "description": "I don't need to describe myself.",
"git": "https://github.com/Midou36O/",
"website": "https://midou36o.github.io/",
"email": "midou@projectsegfau.lt",
@@ -22,12 +28,5 @@
"position": "Sysadmin",
"description": "\"I am openssl_rand, a system administrator of the project Segfau.lt.\" - GitHub Copilot",
"email": "mailto:openssl_rand@projectsegfau.lt"
- },
- {
- "name": "stephenvk",
- "matrix": "https://matrix.to/#/@stephenvk:projectsegfau.lt",
- "position": "Backup host",
- "description": "I am Stephenvk and I host a server that takes our backups.",
- "website": "https://stephenvk.xyz"
}
]
diff --git a/src/lib/ThemeToggle.svelte b/src/lib/ThemeToggle.svelte
index 90c564c..3b2db91 100644
--- a/src/lib/ThemeToggle.svelte
+++ b/src/lib/ThemeToggle.svelte
@@ -17,17 +17,8 @@
-
-
diff --git a/src/lib/app.css b/src/lib/app.css
index bade58c..62246ed 100644
--- a/src/lib/app.css
+++ b/src/lib/app.css
@@ -1,14 +1,13 @@
@font-face {
- font-family: Raleway;
- src: url("/Raleway.ttf");
+ font-family: "JetBrains Mono";
+ src: url("/JetBrainsMono.ttf");
font-display: swap;
}
html {
--accent: #00a584;
--accent-translucent: #00a58498;
- --font-primary: Raleway;
- --font-header: Raleway;
+ --font-primary: "JetBrains Mono", monospace;
--primary: #151515;
--secondary: #252525;
--tertiary: #353535;
@@ -20,44 +19,32 @@ html {
}
html.light {
- --primary: #dddddd;
- --secondary: #f9f3f3;
+ --primary: #ffffff;
+ --secondary: #eeeeee;
--tertiary: #939393;
--text: #444444;
- --grey: #444444;
+ --grey: #cecece;
--alt: #ddd;
--alt-text: #333;
color-scheme: light;
}
body {
- font-family: var(--font-primary);
- background-color: var(--primary);
- color: var(--text);
- margin: 0;
- display: flex;
- flex-direction: column;
- position: relative;
- min-height: 100vh;
- line-height: 1.625;
- transition: all 0.25s;
+ @apply font-primary bg-primary text-text m-0 flex flex-col relative min-h-screen leading-relaxed transition-all duration-250;
}
::selection {
- background-color: var(--accent-translucent);
+ @apply bg-accentTranslucent;
}
main {
- padding: 1rem;
+ @apply p-4;
}
a {
- text-decoration: underline;
- color: var(--accent);
- text-underline-offset: 5px;
- transition: filter 0.25s;
+ @apply underline text-accent underline-offset-5 transition-filter duration-250;
}
a:hover {
- filter: brightness(125%);
+ @apply brightness-125;
}
diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte
new file mode 100644
index 0000000..50d3919
--- /dev/null
+++ b/src/routes/+error.svelte
@@ -0,0 +1,6 @@
+
+
+
{$page.status}: {$page.error?.message}
+
The fetch request to the API probably failed, please contact us on Matrix.
\ No newline at end of file
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 332fb17..7dc9329 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -30,7 +30,8 @@
+ src="https://analytics.projectsegfau.lt/js/plausible.js"
+ >
diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts
index ec1236b..ede1e7e 100644
--- a/src/routes/+page.server.ts
+++ b/src/routes/+page.server.ts
@@ -3,10 +3,16 @@ import { compile } from "mdsvex";
import { env } from "$env/dynamic/private";
export const load: PageServerLoad = async () => {
- return {
- state: await fetch(env.VITE_API_URL + "/api/v1/state/announcements").then((res) => res.json()),
- announcements: await fetch(env.VITE_API_URL + "/api/v1/announcements").then((res) => res.json()),
- content: await fetch(env.VITE_API_URL + "/api/v1/announcements").then((res) => res.json()).then((res) => compile(res.title)).then((res) => res.code)
- }
-}
-
+ return {
+ state: await fetch(
+ env.VITE_API_URL + "/api/v1/state/announcements"
+ ).then((res) => res.json()).catch(() => ({})),
+ announcements: await fetch(
+ env.VITE_API_URL + "/api/v1/announcements"
+ ).then((res) => res.json()).catch(() => ({})),
+ content: await fetch(env.VITE_API_URL + "/api/v1/announcements")
+ .then((res) => res.json())
+ .then((res) => compile(res.title))
+ .then((res) => res?.code).catch(() => ({})),
+ };
+};
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 927945c..ac74158 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -2,25 +2,27 @@
import SvelteSeo from "svelte-seo";
import Hero from "$lib/Hero.svelte";
import LinkButton from "$lib/LinkButton.svelte";
- import dayjs from "dayjs";
+ import Announcements from "./Announcements.svelte";
import type { PageData } from "./$types";
- export let data: PageData;
-
- let announcements = data.announcements;
+ export let data: PageData;
let description: string = "Open source development and hosted services.";
-
-
+
-