diff --git a/src/components/layout/AppHeader.svelte b/src/components/layout/AppHeader.svelte
index fe85e01..a4b60a9 100644
--- a/src/components/layout/AppHeader.svelte
+++ b/src/components/layout/AppHeader.svelte
@@ -1,17 +1,14 @@
diff --git a/src/components/layout/Card.svelte b/src/components/layout/Card.svelte
index 1f14ef7..9026e83 100644
--- a/src/components/layout/Card.svelte
+++ b/src/components/layout/Card.svelte
@@ -39,6 +39,7 @@
padding: 16px;
margin-bottom: 16px;
transition: var(--transition);
+ overflow: hidden;
}
.card-title {
diff --git a/src/components/text/TextInlineEdit.svelte b/src/components/text/TextInlineEdit.svelte
index 4749635..82b31af 100644
--- a/src/components/text/TextInlineEdit.svelte
+++ b/src/components/text/TextInlineEdit.svelte
@@ -1,17 +1,18 @@
-
+
diff --git a/src/components/text/TextManager.svelte b/src/components/text/TextManager.svelte
index 3776950..ac9b513 100644
--- a/src/components/text/TextManager.svelte
+++ b/src/components/text/TextManager.svelte
@@ -3,7 +3,7 @@
import InputGroup from "$components/layout/InputGroup.svelte";
import Button from "$components/ui/Button.svelte";
import IconPlus from "$components/ui/Icons/IconPlus.svelte";
- import { textsState } from "$states/texts.state.svelte";
+ import { textsState } from "$states/texts.svelte";
import TextInlineEdit from "./TextInlineEdit.svelte";
import TextInput from "./TextInput.svelte";
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 81e50ff..0ba8014 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,11 +1,18 @@
diff --git a/src/states/texts.state.svelte.ts b/src/states/texts.svelte.ts
similarity index 74%
rename from src/states/texts.state.svelte.ts
rename to src/states/texts.svelte.ts
index 8222267..6c84c31 100644
--- a/src/states/texts.state.svelte.ts
+++ b/src/states/texts.svelte.ts
@@ -3,15 +3,9 @@ export interface TextItem {
id: number;
}
-export interface TextsState {
- texts: Array
;
- addText(text: string): void;
- removeText(id: number): void;
-}
-
const defaultTexts: Array = ["About me", "Links", "Projects"].map((text, idx) => ({ text, id: idx }));
-function createTextsState(): TextsState {
+function createTextsState() {
let texts: Array = $state(defaultTexts);
let nextId = $state(defaultTexts.length);
diff --git a/src/states/theme.svelte.ts b/src/states/theme.svelte.ts
new file mode 100644
index 0000000..c790e78
--- /dev/null
+++ b/src/states/theme.svelte.ts
@@ -0,0 +1,16 @@
+export type Theme = "dark" | "light";
+
+function createThemeState() {
+ let current: Theme = $state("dark");
+
+ return {
+ get theme() {
+ return current;
+ },
+ toggle() {
+ current = current === "dark" ? "light" : "dark";
+ },
+ };
+}
+
+export const themeState = createThemeState();