aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/components/layout/Drawer.css
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-11-19 15:04:55 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-19 15:05:34 +0100
commitd51169f6411b68a226d76d2d39826904de484929 (patch)
tree4d8a403dfcc5b17671a92b8cc1e5d71d20ed9537 /src/frontend/app/components/layout/Drawer.css
parentd434204860fc0409ad6343e815d0057b97ce3573 (diff)
feat: Add About and Favourites pages, update routing and context management
- Added new routes for About and Favourites pages. - Implemented About page with version information and credits. - Created Favourites page with a placeholder message for empty favourites. - Refactored RegionConfig import paths for consistency. - Introduced PageTitleContext to manage page titles dynamically. - Updated various components to utilize the new context for setting page titles. - Enhanced AppShell layout with a responsive Drawer for navigation. - Added CSS styles for new components and pages. - Integrated commit hash display in the About page for version tracking.
Diffstat (limited to 'src/frontend/app/components/layout/Drawer.css')
-rw-r--r--src/frontend/app/components/layout/Drawer.css93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/frontend/app/components/layout/Drawer.css b/src/frontend/app/components/layout/Drawer.css
new file mode 100644
index 0000000..27ccce6
--- /dev/null
+++ b/src/frontend/app/components/layout/Drawer.css
@@ -0,0 +1,93 @@
+.drawer-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.5);
+ z-index: 99;
+ opacity: 0;
+ visibility: hidden;
+ transition: opacity 0.3s ease, visibility 0.3s ease;
+}
+
+.drawer-overlay.open {
+ opacity: 1;
+ visibility: visible;
+}
+
+.drawer {
+ position: fixed;
+ top: 0;
+ right: 0;
+ width: 280px;
+ height: 100%;
+ background-color: var(--background-color);
+ z-index: 100;
+ transform: translateX(100%);
+ transition: transform 0.3s ease;
+ box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
+ display: flex;
+ flex-direction: column;
+}
+
+.drawer.open {
+ transform: translateX(0);
+}
+
+.drawer__header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0.5rem 1rem;
+ border-bottom: 1px solid var(--border-color);
+ height: 60px;
+ box-sizing: border-box;
+}
+
+.drawer__title {
+ margin: 0;
+ font-size: 1.25rem;
+ font-weight: 600;
+}
+
+.drawer__close-btn {
+ background: none;
+ border: none;
+ cursor: pointer;
+ color: var(--text-color);
+ padding: 0.5rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+}
+
+.drawer__close-btn:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.drawer__nav {
+ padding: 1rem 0;
+ display: flex;
+ flex-direction: column;
+}
+
+.drawer__link {
+ display: flex;
+ align-items: center;
+ gap: 1rem;
+ padding: 0.75rem 1.5rem;
+ text-decoration: none;
+ color: var(--text-color);
+ font-size: 1rem;
+ transition: background-color 0.2s;
+}
+
+.drawer__link:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.drawer__link svg {
+ color: var(--subtitle-color);
+}