diff --git a/src/Accounts.tsx b/src/Accounts.tsx
new file mode 100644
index 0000000..0f2c4ed
--- /dev/null
+++ b/src/Accounts.tsx
@@ -0,0 +1,25 @@
+import type { FC } from 'hono/jsx';
+import Header from './Header';
+import Footer from './Footer';
+
+export const Accounts: FC = () => {
+ return (
+ <>
+
+
+
+
+
+
+
+
+ >
+ );
+};
+
+export default Accounts;
diff --git a/src/BaseDocument.tsx b/src/BaseDocument.tsx
index 67aadf6..99559bc 100644
--- a/src/BaseDocument.tsx
+++ b/src/BaseDocument.tsx
@@ -17,7 +17,7 @@ function BaseDocument(props: SiteData) {
${props.title}
-
+
${props.children}
diff --git a/src/Footer.tsx b/src/Footer.tsx
new file mode 100644
index 0000000..1df245b
--- /dev/null
+++ b/src/Footer.tsx
@@ -0,0 +1,9 @@
+import type { FC } from 'hono/jsx';
+
+export const Footer: FC = () => {
+ return
+};
+
+export default Footer;
diff --git a/src/Header.tsx b/src/Header.tsx
new file mode 100644
index 0000000..c41cd27
--- /dev/null
+++ b/src/Header.tsx
@@ -0,0 +1,11 @@
+import type { FC } from 'hono/jsx';
+
+export const Header: FC = () => {
+ return ;
+};
+
+export default Header;
diff --git a/src/Main.tsx b/src/Main.tsx
new file mode 100644
index 0000000..06d6670
--- /dev/null
+++ b/src/Main.tsx
@@ -0,0 +1,22 @@
+import type { FC } from 'hono/jsx';
+import Footer from './Footer';
+import Header from './Header';
+
+
+export const Main: FC = () => {
+ return (
+ <>
+
+
+ RoBaertschi
+
+
+ Hi 👋, my name is Robin, I am a computer scientist in apprenticeship @ Swisscom
+
+
+
+ >
+ );
+};
+
+export default Main;
diff --git a/src/index.tsx b/src/index.tsx
index afb7dac..1a1f189 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -2,48 +2,24 @@ import { Hono } from 'hono';
import { serveStatic } from 'hono/bun';
import { logger } from 'hono/logger';
import BaseDocument from './BaseDocument';
-
-function ImageButton() {
- return ;
-}
+import Main from './Main';
+import Accounts from './Accounts';
const app = new Hono();
-app.use(logger())
+app.use(logger());
app.use('/static/*', serveStatic({ root: './' }));
-app.get('/', (c) => {
+app.get("/", c => {
+ return c.html();
+});
+
+app.get("/accounts", c => {
return c.html(
-
- This is a Dockyfied website
- Build using htmx.
-
+
+
);
});
-app.get(
- '/image',
- c => {
- return c.html(
-
-

-
↑
-
Click the image above to replace with the button again.
-
-
Another Meme?
-
- );
- }
-);
-
-app.get('/image2',
- c => c.html(
)
-);
-
-app.get(
- '/image-button',
- c => c.html()
-);
-
export default app;
diff --git a/static/style.css b/static/style.css
index 10cfa63..599be5f 100644
--- a/static/style.css
+++ b/static/style.css
@@ -1,29 +1,108 @@
+:root {
+ --text: 245, 233, 241;
+ --background: 23, 10, 19;
+ --primary: 214, 163, 199;
+ --secondary: 121, 54, 61;
+ --accent: 164, 226, 46;
+
+ --text100: rgb(var(--text));
+ --text90: rgba(var(--text), 90%);
+
+ --background100: rgb(var(--background));
+
+ --primary100: rgb(var(--primary));
+
+ --secondary100: rgb(var(--secondary));
+ --secondary90: rgba(var(--secondary), 90%);
+
+ --accent100: rgb(var(--accent));
+}
+
body {
font-family: Arial, Helvetica, sans-serif;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
height: 100vh;
width: 100vw;
+ margin: 0;
+ padding: 0;
+ color: var(--text100);
+ background-color: var(--background100);
}
-#image {
- height: fit-content;
+main {
+ height: 100%;
+}
+
+.middle-flex {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
-#image-button:hover {
+a {
+ color: var(--text100);
+}
+
+a:hover {
+ color: var(--text90);
+}
+
+a:visited {
+ color: var(--text100);
+}
+
+button.primary {
+ background-color: var(--primary100);
+ border-color: var(--primary100);
+ border-radius: 0.5rem;
+ display: inline-block;
+ padding: 0.5em 2em;
+ margin: 0;
+}
+
+button.primary:hover {
+ transform: translate(0, -3px);
+ box-shadow: 0 1.2em 4em -0.2em var(--primary100);
cursor: pointer;
}
-#secret {
- font-size: 0.4em;
+.link-list li {
+ list-style: none;
+ padding: 0.2rem;
}
-#secret:hover {
- cursor: pointer;
+header {
+ border: 0;
+ padding: 1em;
+ border-bottom: 0.1em;
+ border-color: var(--secondary100);
+ border-style: solid;
+ width: 80%;
+
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+header a {
+ padding: 0.2em 0.7em;
+ font-size: 1.3rem;
+}
+
+.header-span {
+ border-width: 0.1em;
+ border-style: solid;
+ border-color: var(--secondary90);
+
+ height: 70%;
+}
+
+footer {
+ border: 0;
+ padding: 1em;
+ border-top: 0.1em;
+ border-color: var(--secondary100);
+ border-style: solid;
+ width: 80%;
}