From a68ba30716062b265f85c4be078a736c7135d7bc Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Sun, 30 Nov 2025 20:49:48 +0100 Subject: Refactor StopMap and Settings components; replace region config usage with REGION_DATA, update StopDataProvider calls, and improve UI elements. Remove unused timetable files and add Tailwind CSS support. --- src/frontend/app/routes/estimates-$id.css | 270 ------------------------------ 1 file changed, 270 deletions(-) delete mode 100644 src/frontend/app/routes/estimates-$id.css (limited to 'src/frontend/app/routes/estimates-$id.css') diff --git a/src/frontend/app/routes/estimates-$id.css b/src/frontend/app/routes/estimates-$id.css deleted file mode 100644 index 0658156..0000000 --- a/src/frontend/app/routes/estimates-$id.css +++ /dev/null @@ -1,270 +0,0 @@ -.table-responsive { - overflow-x: auto; - margin-bottom: 1.5rem; -} - -.table { - width: 100%; - border-collapse: collapse; -} - -.table caption { - margin-bottom: 0.5rem; - font-weight: 500; -} - -.table th, -.table td { - padding: 0.75rem; - text-align: left; - border-bottom: 1px solid #eee; -} - -.table th { - border-bottom: 2px solid #ddd; -} - -.table tfoot td { - text-align: center; -} - -/* Estimates page specific styles */ -.estimates-header { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 1rem; - gap: 1rem; -} - -.manual-refresh-button { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.75rem; - background: var(--primary-color); - border: none; - border-radius: 0.375rem; - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: all 0.2s ease; - min-width: max-content; -} - -.manual-refresh-button:hover:not(:disabled) { - background: var(--primary-color-hover); - transform: translateY(-1px); -} - -.manual-refresh-button:disabled { - opacity: 0.6; - cursor: not-allowed; - transform: none; -} - -.refresh-icon { - width: 1.5rem; - height: 1.5rem; - transition: transform 0.2s ease; -} - -.refresh-icon.spinning { - animation: spin 1s linear infinite; -} - -@keyframes spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (max-width: 640px) { - .estimates-header { - flex-direction: column; - align-items: flex-start; - gap: 0.75rem; - } - - .manual-refresh-button { - align-self: flex-end; - padding: 0.4rem 0.6rem; - font-size: 0.8rem; - } -} - -.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); -} - -/* Pencil (edit) icon next to header */ -.edit-icon { - margin-right: 0.5rem; - color: #ccc; - cursor: pointer; - stroke-width: 2px; -} - -.edit-icon:hover { - color: var(--star-color); -} - -/* Timetable section styles */ -.timetable-section { - padding-bottom: 3rem; -} - -/* Timetable cards should be single column */ -.timetable-section .timetable-cards { - display: flex; - flex-direction: column; - gap: 0.75rem; -} - -.timetable-section .timetable-card { - padding: 0.875rem; -} - -.timetable-actions { - margin-top: 1.5rem; - text-align: center; -} - -.view-all-link { - display: inline-flex; - align-items: center; - gap: 0.5rem; - color: var(--link-color, #007bff); - text-decoration: none; - font-weight: 500; - padding: 0.5rem 1rem; - border: 1px solid var(--link-color, #007bff); - border-radius: 6px; - transition: all 0.2s ease; -} - -.view-all-link:hover { - background-color: var(--link-color, #007bff); - color: white; - text-decoration: none; -} - -.external-icon { - width: 1rem; - height: 1rem; -} - -.estimates-lines-container { - display: flex; - gap: 0.5rem; - flex-wrap: wrap; - margin-bottom: 1rem; -} - -.estimates-lines-container.scrollable { - flex-wrap: nowrap; - overflow-x: auto; - max-height: calc(2 * (var(--line-icon-height, 2rem) + 0.5rem)); - align-content: flex-start; - scrollbar-width: thin; -} - -.estimates-lines-container.scrollable::-webkit-scrollbar { - height: 6px; -} - -.estimates-lines-container.scrollable::-webkit-scrollbar-thumb { - background-color: var(--border-color); - border-radius: 3px; -} - -.estimates-line-icon { - flex-shrink: 0; -} - -.experimental-notice { - background-color: #fff3cd; - border: 1px solid #ffc107; - border-radius: 8px; - padding: 1rem; - margin-bottom: 1rem; - color: #856404; -} - -.experimental-notice strong { - display: block; - margin-bottom: 0.5rem; - color: #856404; -} - -.experimental-notice p { - margin: 0; - font-size: 0.9rem; - line-height: 1.4; -} - -[data-theme="dark"] .experimental-notice { - background-color: #3d3100; - border-color: #ffc107; - color: #ffd966; -} - -[data-theme="dark"] .experimental-notice strong { - color: #ffd966; -} -- cgit v1.3