aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/components/StopMapSheet.css
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-11-15 18:00:59 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-15 18:00:59 +0100
commit4b9c57dc6547d0c9d105ac3767dcc90da758a25d (patch)
tree5150d5494e7591df2fe6d83d42fc4642e9b0d1b1 /src/frontend/app/components/StopMapSheet.css
parentf349c491284c0cb007a97c9a11220cc00adbb64f (diff)
Refactor code structure for improved readability and maintainability
Diffstat (limited to 'src/frontend/app/components/StopMapSheet.css')
-rw-r--r--src/frontend/app/components/StopMapSheet.css66
1 files changed, 65 insertions, 1 deletions
diff --git a/src/frontend/app/components/StopMapSheet.css b/src/frontend/app/components/StopMapSheet.css
index 7a3b88c..5125ff0 100644
--- a/src/frontend/app/components/StopMapSheet.css
+++ b/src/frontend/app/components/StopMapSheet.css
@@ -6,10 +6,74 @@
border: 1px solid var(--border-color);
margin-block-start: 0;
flex-shrink: 0;
+ position: relative;
}
@media (max-width: 640px) {
.stop-map-container {
- height: 25vh;
+ height: 30vh;
}
}
+
+/* Floating controls */
+.map-floating-controls {
+ position: absolute;
+ left: 8px;
+ top: 8px;
+ display: flex;
+ gap: 8px;
+ z-index: 2;
+}
+
+.center-btn {
+ appearance: none;
+ border: 1px solid rgba(0,0,0,0.15);
+ background: color-mix(in oklab, var(--background-color, #fff) 85%, transparent);
+ color: var(--text-primary, #111);
+ padding: 6px;
+ border-radius: 6px;
+ font-size: 12px;
+ line-height: 1;
+ box-shadow: 0 1px 2px rgba(0,0,0,0.15);
+ cursor: pointer;
+}
+
+/* User location dot */
+.user-dot {
+ position: relative;
+ width: 22px;
+ height: 22px;
+}
+
+.user-dot__core {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ width: 10px;
+ height: 10px;
+ margin-left: -5px;
+ margin-top: -5px;
+ background: #2a6df4;
+ border: 2px solid #fff;
+ border-radius: 50%;
+ box-shadow: 0 1px 2px rgba(0,0,0,0.3);
+}
+
+.user-dot__pulse {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ width: 22px;
+ height: 22px;
+ margin-left: -11px;
+ margin-top: -11px;
+ border-radius: 50%;
+ background: rgba(42, 109, 244, 0.25);
+ animation: userPulse 1.8s ease-out infinite;
+}
+
+@keyframes userPulse {
+ 0% { transform: scale(0.6); opacity: 0.8; }
+ 70% { transform: scale(1.2); opacity: 0.15; }
+ 100% { transform: scale(1.4); opacity: 0; }
+}