initial commit

This commit is contained in:
2025-12-31 15:33:16 -05:00
commit 4641e7d0ef
51 changed files with 4779 additions and 0 deletions

115
frontend/public/index.html Normal file
View File

@@ -0,0 +1,115 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"
/>
<title>Aethera - AI Conversation & Image Generator</title>
<script type="module" src="./dist/main.js"></script>
<link rel="stylesheet" href="./dist/styles.css" />
</head>
<body class="bg-primary-50" x-data x-init="$store.navigation.init()">
<!-- Nav -->
<div
class="isolate fixed z-50 w-full flex justify-between mt-4 px-4 md:px-6"
>
<div class="size-9"></div>
<!-- Main Nav -->
<nav class="inline-flex bg-primary-100 rounded-full shadow-sm">
<a
href="#/chats"
:class="[
'px-5 py-2 rounded-full text-sm font-medium transition-colors',
$store.navigation.activeTab === 'chats'
? 'bg-primary-600 text-white'
: 'text-primary-700 hover:bg-primary-200'
]"
>
Chats
</a>
<a
href="#/images"
:class="[
'px-5 py-2 rounded-full text-sm font-medium transition-colors',
$store.navigation.activeTab === 'images'
? 'bg-primary-600 text-white'
: 'text-primary-700 hover:bg-primary-200'
]"
>
Images
</a>
<a
href="#/settings"
:class="[
'px-5 py-2 rounded-full text-sm font-medium transition-colors',
$store.navigation.activeTab === 'settings'
? 'bg-primary-600 text-white'
: 'text-primary-700 hover:bg-primary-200'
]"
>
Settings
</a>
</nav>
<!-- Theme Toggle -->
<button
@click="$store.theme.cycleTheme()"
x-init="$store.theme.init()"
class="p-2 cursor-pointer rounded-md text-primary-700 hover:bg-primary-300 transition-colors"
aria-label="Toggle theme"
>
<svg
x-show="$store.theme.getThemeIcon() === 'sun'"
xmlns="http://www.w3.org/2000/svg"
class="h-5 w-5"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
/>
</svg>
<svg
x-show="$store.theme.getThemeIcon() === 'moon'"
xmlns="http://www.w3.org/2000/svg"
class="h-5 w-5"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
/>
</svg>
<svg
x-show="$store.theme.getThemeIcon() === 'system'"
xmlns="http://www.w3.org/2000/svg"
class="h-5 w-5"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
/>
</svg>
</button>
</div>
<!-- Main Content Area -->
<main id="page-content" class="h-dvh"></main>
</body>
</html>