From 387b56d7f8d08d152f621350dd0baded449ccfbc Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Wed, 5 Feb 2025 03:59:07 -0800 Subject: [PATCH] Remove more duplicate css --- static/css/style.css | 401 ++++--------------------------------------- 1 file changed, 36 insertions(+), 365 deletions(-) diff --git a/static/css/style.css b/static/css/style.css index 3703bdc..6ff0226 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -19,55 +19,6 @@ body.with-sidebar { display: flex; } -.sidebar { - width: 250px; - background-color: var(--sidebar-bg); - min-height: 100vh; - padding: 20px; - box-shadow: 2px 0 5px rgba(0,0,0,0.3); -} - -.sidebar h2 { - color: var(--primary-red); - margin-top: 0; - display: flex; - justify-content: space-between; - align-items: center; -} - -.sidebar-add-feed { - background: none; - border: none; - color: var(--text-muted); - cursor: pointer; - padding: 0.25rem; - font-size: 1.2rem; - transition: color 0.2s ease; -} - -.sidebar-add-feed:hover { - color: var(--primary-red); -} - -.sidebar ul { - list-style: none; - padding: 0; -} - -.sidebar ul li { - margin: 10px 0; -} - -.sidebar ul li a { - color: var(--text-muted); - text-decoration: none; - transition: color 0.2s ease; -} - -.sidebar ul li a:hover { - color: var(--primary-red); -} - .main-content { flex: 1; padding: 20px 40px; @@ -150,285 +101,54 @@ body.with-sidebar { opacity: 0.9; } -/* Modal styles */ -.modal { - display: none; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - z-index: 2000; - align-items: center; - justify-content: center; -} - -.modal.show { - display: flex; -} - -.modal-content { - background-color: white; - padding: 2rem; - border-radius: 8px; - width: 100%; - max-width: 500px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); -} - -.modal-header { - margin-bottom: 1.5rem; -} - -.modal-header h2 { - margin: 0; - color: #333; -} - -.modal-body { - margin-bottom: 1.5rem; -} - -.modal-footer { - display: flex; - justify-content: flex-end; - gap: 1rem; -} - -.modal-footer button { - padding: 0.5rem 1rem; - border: none; - border-radius: 4px; - cursor: pointer; - font-size: 0.9rem; -} - -.btn-primary { - background-color: #007bff; - color: white; -} - -.btn-primary:hover { - background-color: #0056b3; -} - -.btn-secondary { - background-color: #6c757d; - color: white; -} - -.btn-secondary:hover { - background-color: #545b62; -} - /* Layout adjustments */ .with-sidebar { padding-top: 3rem; } -.sidebar { - top: 3rem; -} - -/* Spinner and loading state */ -.spinner { - width: 30px; - height: 30px; - margin: 0 auto 10px; - border: 3px solid #f3f3f3; - border-top: 3px solid var(--primary-red); - border-radius: 50%; - animation: spin 1s linear infinite; -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -.loading-message { - padding: 1rem; -} - -/* Button states */ -button:disabled { - opacity: 0.6; - cursor: not-allowed; -} - -/* Feed list styles */ -#feedList { - margin-bottom: 2rem; -} - -.feed-name { - display: flex; - align-items: center; - justify-content: space-between; - padding: 0.15rem; - margin: 0.25rem 0; - color: var(--text-color); - text-decoration: none; - border-radius: 4px; - transition: background-color 0.2s ease; - cursor: pointer; - position: relative; - padding-right: 2.5rem; -} - -.feed-name:hover { - background-color: rgba(255, 255, 255, 0.1); -} - -.feed-spinner { - width: 16px; - height: 16px; - margin-left: 8px; - border: 2px solid transparent; - border-top: 2px solid var(--text-color); - border-radius: 50%; - animation: feed-spin 1s linear infinite; - display: none; -} - -.feed-name.loading .feed-spinner { - display: inline-block; -} - -@keyframes feed-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -/* Dropdown styles */ -.feed-menu-button { - position: absolute; - right: 0.5rem; - top: 50%; - transform: translateY(-50%); - background: none; - border: none; - color: var(--text-muted); - padding: 0.2rem 0.5rem; - cursor: pointer; - font-size: 1.2rem; - opacity: 0; - transition: opacity 0.2s ease; -} - -.feed-name:hover .feed-menu-button { - opacity: 1; -} - -.feed-menu-button:hover { - color: var(--text-color); -} - -.feed-menu { - position: absolute; - right: 0.5rem; - top: 100%; - background-color: var(--sidebar-bg); - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); - display: none; - z-index: 100; -} - -.feed-menu.show { - display: block; -} - -.feed-menu-item { - display: block; - padding: 0.5rem 1rem; - color: var(--text-color); - text-decoration: none; - white-space: nowrap; - cursor: pointer; - transition: background-color 0.2s ease; -} - -.feed-menu-item:hover { - background-color: rgba(255, 255, 255, 0.1); -} - -.menu-icon { - display: inline-block; - width: 1.2em; - margin-right: 0.5rem; - text-align: center; -} - -.feed-menu-item.delete { - color: var(--primary-red); -} - -.feed-menu-item.delete:hover { - background-color: rgba(244, 63, 63, 0.1); -} - -.feed-empty { - color: var(--text-muted); - text-align: center; - padding: 1rem; - font-style: italic; -} - -.feed-error { - color: var(--primary-red); - text-align: center; - padding: 1rem; - background-color: rgba(244, 63, 63, 0.1); - border-radius: 4px; -} - .setup-container { - max-width: 500px; - margin: 50px auto; - padding: 2rem; - background-color: var(--sidebar-bg); - border-radius: 8px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + width: 100%; + background-color: var(--dark-bg); } .setup-container h1 { + color: var(--primary-red); text-align: center; - margin-bottom: 1rem; - color: var(--text-color); + margin-bottom: 1.5rem; } .setup-container p { - text-align: center; - margin-bottom: 2rem; + line-height: 1.6; color: var(--text-muted); + margin-bottom: 1.5em; } .setup-form { - display: flex; - flex-direction: column; - gap: 1rem; + background-color: var(--sidebar-bg); + padding: 2rem; + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); } .setup-form .form-group { - display: flex; - flex-direction: column; - gap: 0.5rem; + margin-bottom: 1.5rem; + max-width: 400px; } .setup-form label { color: var(--text-color); - font-weight: 500; } .setup-form input { - padding: 0.5rem; - border: 1px solid #3f4049; + width: 100%; + padding: 0.75rem; + border: 1px solid var(--text-muted); border-radius: 4px; - background-color: #1e1f26; - color: var(--text-color); - transition: border-color 0.2s ease, box-shadow 0.2s ease; + background-color: var(--dark-bg); } .setup-form input:focus { @@ -438,30 +158,28 @@ button:disabled { } .setup-form input:hover { - border-color: #4f5159; + border-color: var(--primary-red); } .setup-form button { - margin-top: 1rem; - background-color: #2ecc71; + width: 100%; + padding: 0.75rem; + background-color: var(--primary-red); color: var(--text-color); border: none; - padding: 0.75rem 1rem; border-radius: 4px; font-size: 1rem; - font-weight: 500; cursor: pointer; - transition: background-color 0.2s ease; - text-transform: uppercase; - letter-spacing: 0.5px; + transition: all 0.2s ease; + margin-top: 1rem; } .setup-form button:hover { - background-color: #27ae60; + background-color: #d63030; } .setup-form button:active { - background-color: #219a52; + transform: translateY(1px); } .setup-form button:disabled { @@ -469,69 +187,22 @@ button:disabled { cursor: not-allowed; } -/* Feed entry styles */ -.feed-entry { - padding: 20px; - margin-bottom: 15px; - border-radius: 8px; - background-color: var(--sidebar-bg); -} - -.feed-entry.read { - background-color: var(--read-bg); -} - -.feed-entry.read .feed-entry-title a { - color: var(--text-muted); -} - -.feed-entry.read .feed-entry-summary { - color: var(--text-muted); -} - -.feed-entry-title { - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 0.5rem; -} - -.feed-entry-title a { - color: var(--text-color); - text-decoration: none; -} - -.feed-entry-meta { - color: var(--text-muted); - font-size: 0.9rem; - margin-bottom: 1rem; -} - -.feed-entry-meta span { - margin-right: 1rem; -} - -.feed-entry-summary { - color: var(--text-color); - line-height: 1.5; -} - .demo-notice { - border: 1px solid #dee2e6; - border-radius: 4px; + background-color: var(--sidebar-bg); padding: 1rem; - margin-bottom: 2rem; - text-align: center; + border-radius: 8px; + margin-top: 2rem; } .demo-notice p { - margin: 0.5rem 0; + margin: 0 0 1rem 0; } .demo-notice pre { - padding: 0.1rem 0.4rem; - border-radius: 2px; - font-family: monospace; + background-color: var(--dark-bg); + padding: 1rem; + border-radius: 4px; + overflow-x: auto; } /* User menu styles */