summaryrefslogtreecommitdiff
path: root/old_stuff/src/layouts
diff options
context:
space:
mode:
Diffstat (limited to 'old_stuff/src/layouts')
-rw-r--r--old_stuff/src/layouts/Blog.astro22
-rw-r--r--old_stuff/src/layouts/Terminal.astro69
2 files changed, 91 insertions, 0 deletions
diff --git a/old_stuff/src/layouts/Blog.astro b/old_stuff/src/layouts/Blog.astro
new file mode 100644
index 0000000..aa773c2
--- /dev/null
+++ b/old_stuff/src/layouts/Blog.astro
@@ -0,0 +1,22 @@
+---
+import Markdown from "@components/Markdown.astro";
+import Head from "@components/Head.astro";
+
+interface Props {
+ title: string;
+}
+
+const { title } = Astro.props;
+---
+
+<!doctype html>
+<html lang="en">
+ <Head title={title} description="My blog post" />
+ <body>
+ <main class="w-[70%] m-auto py-16">
+ <Markdown>
+ <slot />
+ </Markdown>
+ </main>
+ </body>
+</html>
diff --git a/old_stuff/src/layouts/Terminal.astro b/old_stuff/src/layouts/Terminal.astro
new file mode 100644
index 0000000..e13a8ac
--- /dev/null
+++ b/old_stuff/src/layouts/Terminal.astro
@@ -0,0 +1,69 @@
+---
+import "@styles/terminal.css";
+import Nav from "@components/Nav.astro";
+import Head from "@components/Head.astro";
+
+interface Props {
+ path: string;
+}
+
+// sm:w-[68.75vw] sm:h-[38vw] sm:p-[2.2vw] sm:text-[1.125vw] sm:border-[0.2vw] sm:border-solid" -->
+
+const { path: title } = Astro.props;
+---
+
+<!doctype html>
+<html lang="en">
+ <Head title=`${title}` description="My personal website" />
+ <body>
+ <main
+ class="w-[95vw] h-[97vh] p-[2.2svh] text-[3vw] mt-[10vw]
+ sm:w-[68.75vw] sm:h-[35vw] sm:p-[2.2vw] sm:text-[1.125vw] sm:border-[0.2vw] sm:border-solid sm:mt-[0vw]"
+ >
+ <Nav path={title} />
+ <slot />
+ </main>
+ </body>
+</html>
+<style>
+ main {
+ display: block;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background: var(--background);
+ font-weight: 300;
+ }
+</style>
+<script>
+ function setTheme(theme) {
+ const root = document.documentElement;
+
+ // Get current values from root
+ const computed = getComputedStyle(root);
+ const existingTheme = {};
+
+ const themeKeys = ["primary", "secondary", "accent", "extra", "text", "alt", "background", "font"];
+
+ themeKeys.forEach(key => {
+ existingTheme[key] = theme[key] ?? computed.getPropertyValue(`--${key}`).trim();
+ root.style.setProperty(`--${key}`, existingTheme[key]);
+ });
+
+ localStorage.setItem("theme", JSON.stringify(existingTheme));
+ }
+
+ function loadTheme() {
+ const savedTheme = localStorage.getItem("theme");
+ if (savedTheme) {
+ setTheme(JSON.parse(savedTheme));
+ }
+ }
+
+ // Attach to window so it's accessible globally
+ window.setTheme = setTheme;
+
+ // Load theme on page load
+ loadTheme();
+</script>