aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/routes/home.css
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-11-07 12:43:18 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-07 12:43:18 +0100
commit4420def7411a053e930b44117e2bf63625d824dc (patch)
treebfe02088318210fe2c9a2928d6afedc39cb88e45 /src/frontend/app/routes/home.css
parent86b922c1853110981d8df985a183cb43690c575d (diff)
Make "stops" page be the home (renaming only)
Diffstat (limited to 'src/frontend/app/routes/home.css')
-rw-r--r--src/frontend/app/routes/home.css310
1 files changed, 310 insertions, 0 deletions
diff --git a/src/frontend/app/routes/home.css b/src/frontend/app/routes/home.css
new file mode 100644
index 0000000..253c0ab
--- /dev/null
+++ b/src/frontend/app/routes/home.css
@@ -0,0 +1,310 @@
+/* Common page styles */
+.page-title {
+ font-size: 1.8rem;
+ margin-bottom: 1rem;
+ font-weight: 600;
+ color: var(--text-color);
+}
+
+.page-subtitle {
+ font-size: 1.4rem;
+ margin-top: 1.5rem;
+ margin-bottom: 0.75rem;
+ font-weight: 500;
+ color: var(--subtitle-color);
+}
+
+/* Form styles */
+.search-form {
+ margin-bottom: 1.5rem;
+}
+
+.form-group {
+ margin-bottom: 1rem;
+ display: flex;
+ flex-direction: column;
+}
+
+.form-label {
+ font-size: 0.9rem;
+ margin-bottom: 0.25rem;
+ font-weight: 500;
+}
+
+.form-input {
+ padding: 0.75rem;
+ font-size: 1rem;
+ border: 1px solid var(--border-color);
+ border-radius: 8px;
+}
+
+.form-button {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 1rem;
+
+ padding: 0.75rem 1rem;
+ background-color: var(--button-background-color);
+ color: white;
+ border: none;
+ border-radius: 8px;
+ font-size: 1rem;
+ font-weight: 500;
+ cursor: pointer;
+ width: 100%;
+ margin-top: 0.5rem;
+}
+
+.form-button:hover {
+ background-color: var(--button-hover-background-color);
+}
+
+/* List styles */
+.list-container {
+ margin-bottom: 1.5rem;
+}
+
+.list {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.list-item {
+ padding: 1rem;
+ border-bottom: 1px solid var(--border-color);
+}
+
+.list-item-link {
+ display: block;
+ color: var(--text-color);
+ text-decoration: none;
+ font-size: 1.1rem; /* Increased font size for stop name */
+}
+
+.list-item-link:hover {
+ color: var(--button-background-color);
+}
+
+.list-item-link:hover .line-icon {
+ color: var(--text-color);
+}
+
+.distance-info {
+ font-size: 0.9rem;
+ color: var(--subtitle-color);
+}
+
+/* Message styles */
+.message {
+ padding: 1rem;
+ background-color: var(--message-background-color);
+ border-radius: 8px;
+ margin-bottom: 1rem;
+}
+
+/* About page specific styles */
+.about-page {
+ text-align: center;
+ padding: 1rem;
+}
+
+.about-version {
+ color: var(--subtitle-color);
+ font-size: 0.9rem;
+ margin-top: 2rem;
+}
+
+.about-description {
+ margin-top: 1rem;
+ line-height: 1.6;
+}
+
+/* Map page specific styles */
+.map-container {
+ height: calc(100dvh - 140px);
+ margin: -16px;
+ margin-bottom: 1rem;
+ position: relative;
+}
+
+/* Fullscreen map styles */
+.fullscreen-container {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100dvh;
+ padding: 0;
+ margin: 0;
+ max-width: none;
+ overflow: hidden;
+}
+
+.fullscreen-map {
+ width: 100%;
+ height: 100%;
+}
+
+.fullscreen-loading {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100dvh;
+ width: 100vw;
+ font-size: 1.8rem;
+ font-weight: 600;
+ color: var(--text-color);
+}
+
+/* Map marker and popup styles */
+.stop-marker {
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+ transition: all 0.2s ease-in-out;
+}
+
+.stop-marker:hover {
+ transform: scale(1.2);
+}
+
+.maplibregl-popup {
+ max-width: 250px;
+}
+
+.maplibregl-popup-content {
+ padding: 12px;
+ border-radius: 8px;
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+}
+
+.popup-line-icons {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 6px 0;
+ gap: 5px;
+}
+
+.popup-line {
+ display: inline-block;
+ background-color: var(--button-background-color);
+ color: white;
+ padding: 2px 6px;
+ margin-right: 4px;
+ border-radius: 4px;
+ font-size: 0.8rem;
+ font-weight: 500;
+}
+
+.popup-link {
+ display: block;
+ margin-top: 8px;
+ color: var(--button-background-color);
+ text-decoration: none;
+ font-weight: 500;
+}
+
+.popup-link:hover {
+ text-decoration: underline;
+}
+
+/* Estimates page specific styles */
+.estimates-header {
+ display: flex;
+ align-items: center;
+ margin-bottom: 1rem;
+}
+
+.estimates-stop-id {
+ font-size: 1rem;
+ color: var(--subtitle-color);
+ margin-left: 0.5rem;
+}
+
+.estimates-arrival {
+ color: #28a745;
+ font-weight: 500;
+}
+
+.estimates-delayed {
+ color: #dc3545;
+}
+
+.button-group {
+ display: flex;
+ gap: 1rem;
+ margin-bottom: 1.5rem;
+ flex-wrap: wrap;
+}
+
+.button {
+ padding: 0.75rem 1rem;
+ background-color: var(--button-background-color);
+ color: white;
+ border: none;
+ border-radius: 8px;
+ font-size: 1rem;
+ font-weight: 500;
+ cursor: pointer;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+}
+
+.button:hover {
+ background-color: var(--button-hover-background-color);
+}
+
+.button:disabled {
+ background-color: var(--button-disabled-background-color);
+ cursor: not-allowed;
+}
+
+.star-icon {
+ margin-right: 0.5rem;
+ color: #ccc;
+ fill: none;
+}
+
+.star-icon.active {
+ color: var(--star-color); /* Yellow color for active star */
+ fill: var(--star-color);
+}
+
+/* Tablet and larger breakpoint */
+@media (min-width: 768px) {
+ .search-form {
+ display: flex;
+ align-items: flex-end;
+ gap: 1rem;
+ }
+
+ .form-group {
+ flex: 1;
+ margin-bottom: 0;
+ }
+
+ .form-button {
+ width: auto;
+ margin-top: 0;
+ }
+
+ .list {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+ gap: 1rem;
+ }
+
+ .list-item {
+ border: 1px solid var(--border-color);
+ border-radius: 8px;
+ margin-bottom: 0;
+ }
+}
+
+/* Desktop breakpoint */
+@media (min-width: 1024px) {
+ .list {
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
+ }
+}