aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/routes/timetable-$id.css
diff options
context:
space:
mode:
authorCopilot <198982749+Copilot@users.noreply.github.com>2025-11-06 20:07:43 +0100
committerGitHub <noreply@github.com>2025-11-06 20:07:43 +0100
commit04271bc9250f58c2c779840fce031d5dd3bf344f (patch)
tree0b7952257eac9f94bbde9682f0aa869b71613683 /src/frontend/app/routes/timetable-$id.css
parent006201d8b9e5c4f8fd4547d5b0d67091d8df97f9 (diff)
Add floating action button for timetable navigation (#72)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arielcostas <94913521+arielcostas@users.noreply.github.com>
Diffstat (limited to 'src/frontend/app/routes/timetable-$id.css')
-rw-r--r--src/frontend/app/routes/timetable-$id.css75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/frontend/app/routes/timetable-$id.css b/src/frontend/app/routes/timetable-$id.css
index c834633..b4e231a 100644
--- a/src/frontend/app/routes/timetable-$id.css
+++ b/src/frontend/app/routes/timetable-$id.css
@@ -38,6 +38,10 @@
.timetable-full-content {
margin-top: 1rem;
+ overflow-y: auto;
+ max-height: calc(100vh - 250px);
+ position: relative;
+ padding-bottom: 80px; /* Space for FAB */
}
.error-message {
@@ -149,3 +153,74 @@
padding: 1rem;
}
}
+
+/* Floating Action Button */
+.fab-container {
+ position: fixed;
+ bottom: 80px;
+ right: 20px;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ z-index: 1000;
+}
+
+.fab {
+ width: 56px;
+ height: 56px;
+ border-radius: 50%;
+ border: none;
+ background-color: var(--button-background-color, #007bff);
+ color: white;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+ transition: all 0.3s ease;
+ animation: fadeIn 0.3s ease;
+}
+
+.fab:hover {
+ background-color: var(--button-hover-background-color, #0069d9);
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
+ transform: scale(1.05);
+}
+
+.fab:active {
+ transform: scale(0.95);
+}
+
+.fab-icon {
+ width: 24px;
+ height: 24px;
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(10px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+/* Adjust FAB position on mobile */
+@media (max-width: 768px) {
+ .fab-container {
+ bottom: 70px;
+ right: 16px;
+ }
+
+ .fab {
+ width: 48px;
+ height: 48px;
+ }
+
+ .fab-icon {
+ width: 20px;
+ height: 20px;
+ }
+}