From 1b23c10c78b80a322bdd2d0e0918deaad0a309f4 Mon Sep 17 00:00:00 2001 From: chloe Date: Wed, 18 Mar 2026 19:23:53 +0000 Subject: [PATCH] UI update --- Seasoned.Frontend/app/assets/css/gallery.css | 173 ++++++++----- Seasoned.Frontend/app/assets/css/login.css | 40 ++- Seasoned.Frontend/app/pages/gallery.vue | 241 +++++++------------ Seasoned.Frontend/app/pages/login.vue | 31 +-- 4 files changed, 250 insertions(+), 235 deletions(-) diff --git a/Seasoned.Frontend/app/assets/css/gallery.css b/Seasoned.Frontend/app/assets/css/gallery.css index 638931e..272739c 100644 --- a/Seasoned.Frontend/app/assets/css/gallery.css +++ b/Seasoned.Frontend/app/assets/css/gallery.css @@ -1,5 +1,5 @@ .gallery-item-card { - background-color: #fcfaf5 !important; + background-color: #FBF6E9 !important; border: 1px solid #e2d7ba !important; border-radius: 4px !important; transition: transform 0.3s ease, box-shadow 0.3s ease; @@ -28,37 +28,127 @@ letter-spacing: 1.5px; } -.view-recipe-btn { - font-family: 'Libre Baskerville', serif !important; - font-style: italic; - text-transform: none !important; +.recipe-card { + background-color: #f4e4bc !important; + border: 1px solid #e2d7ba !important; + box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important; + overflow-y: visible !important; } -.back-to-home-btn { - background-color: #5d4037 !important; - color: #f8f1e0 !important; - font-family: 'Libre Baskerville', serif !important; - text-transform: none !important; - font-size: 1.1rem !important; - height: 56px !important; - border-radius: 8px !important; +.recipe-card::-webkit-scrollbar { + display: none; } -.back-to-home-btn:hover { - background-color: #4a3a2a !important; - box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important; +.image-drop-zone { + background-color: transparent !important; + border: 2px dashed #2e1e0a !important; + box-shadow: none !important; +} + +.image-drop-zone .v-card__underlay { + display: none !important; +} + +.recipe-card .v-card.rounded-lg:not(.image-drop-zone) { + border: none !important; + background-color: transparent !important; } .recipe-title-edit .v-field__input { font-family: 'Libre Baskerville', serif !important; - font-size: 2.4rem !important; + font-weight: 700 !important; color: #1e1408 !important; + font-size: 2.4rem !important; text-align: center !important; } +.recipe-title-edit input::placeholder, +.recipe-title-edit .v-field-label { + font-family: 'Libre Baskerville', serif !important; + font-style: italic !important; + color: #8c857b !important; + opacity: 0.6 !important; +} + +.recipe-title { + font-family: 'Libre Baskerville', serif !important; + font-weight: 700 !important; + color: #1e1408 !important; +} + +.date-text { + font-family: 'Inter', sans-serif !important; + font-size: 0.75rem !important; + letter-spacing: 1.5px; + text-transform: uppercase; + color: #6d5e4a !important; + opacity: 0.9; +} + +.recipe-title-edit ::placeholder { + color: #8c857b !important; + opacity: 0.6; +} + .v-textarea .v-field { - background-color: rgba(93, 64, 55, 0.05) !important; - border-radius: 8px !important; + background-color: transparent !important; + border-radius: 4px !important; +} + +.v-textarea textarea { + font-family: 'Libre Baskerville', serif !important; + font-size: 1.1rem !important; + line-height: 1.6 !important; + color: #2c2925 !important; + min-height: 280px !important; + scrollbar-width: thin; + scrollbar-color: #d1c7b7 transparent; +} + +.v-field-label { + color: #5d4037 !important; + opacity: 0.6 !important; +} + +.v-field__outline { + --v-field-border-opacity: 0.2 !important; + color: #2e1e0a !important; +} + +.v-field--focused .v-field__outline { + color: #556b2f !important; +} + +.recipe-textarea .v-field__input, +.v-textarea textarea { + font-family: 'Libre Baskerville', serif !important; + font-size: 1.1rem !important; + line-height: 1.6 !important; + color: #2c2925 !important; + min-height: 280px !important; + overflow-y: auto !important; + scrollbar-width: thin; + scrollbar-color: #d1c7b7; +} + +.recipe-textarea textarea::-webkit-scrollbar { + width: 8px !important; + display: block !important; +} + +.recipe-textarea textarea::-webkit-scrollbar-track { + background: transparent !important; +} + +.recipe-textarea textarea::-webkit-scrollbar-thumb { + background-color: #d1c7b7 !important; + border-radius: 10px; + border: 2px solid #f4e4bc; + background-clip: padding-box +} + +.recipe-textarea textarea::-webkit-scrollbar-thumb:hover { + background-color: #556b2f !important; } .save-btn, .cancel-btn { @@ -84,49 +174,4 @@ .cancel-btn:hover { background-color: rgba(140, 74, 50, 0.05) !important; -} - -.recipe-title-edit .v-field__input { - font-family: 'Libre Baskerville', serif !important; - font-weight: 700 !important; - color: #1e1408 !important; - font-size: 2.4rem !important; - text-align: center !important; -} - -.v-textarea .v-field__input, .v-textarea textarea { - font-family: 'Libre Baskerville', serif !important; - font-size: 1.1rem !important; - line-height: 1.6 !important; - color: #2c2925 !important -} - -.v-field-label { - color: #5d4037 !important; - opacity: 0.6 !important; -} - -.v-textarea .v-label, -.v-textarea .v-field-label { - font-family: 'Libre Baskerville', serif !important; - font-style: italic; -} - - -.v-field__outline { - --v-field-border-opacity: 1 !important; - color: #d1c7b7 !important; -} - -.v-field--focused .v-field__outline { - color: #556b2f !important; -} - -.recipe-title-edit.v-text-field .v-field__outline__line { - border-bottom-width: 2px !important; - color: #d1c7b7 !important; -} - -.recipe-title-edit.v-field--focused .v-field__outline__line { - color: #556b2f !important; } \ No newline at end of file diff --git a/Seasoned.Frontend/app/assets/css/login.css b/Seasoned.Frontend/app/assets/css/login.css index 10902a8..799e3e9 100644 --- a/Seasoned.Frontend/app/assets/css/login.css +++ b/Seasoned.Frontend/app/assets/css/login.css @@ -7,7 +7,7 @@ font-family: 'Libre Baskerville', serif; font-weight: 700; font-size: 2.2rem; - margin-top: -5px !important; /* Pulls the text up toward the pot */ + margin-top: -5px !important; margin-bottom: 8px; line-height: 1.0 !important; background: linear-gradient(to bottom, #8c4a32 20%, #4a2a14 100%); @@ -80,27 +80,51 @@ opacity: 1 !important; } -/* Force the font on the floating label */ .auth-input :deep(.v-label) { font-family: 'Libre Baskerville', serif !important; color: #2e1e0a !important; opacity: 1 !important; } -/* Fix for the white Success Message in your screenshot */ .auth-success { background-color: rgba(85, 107, 47, 0.1) !important; border-color: #556b2f !important; - color: #556b2f !important; /* Forces the green text */ + color: #556b2f !important; } .auth-success :deep(.v-icon) { color: #556b2f !important; } -/* Fix for the Error Message */ +.auth-message { + display: flex; + align-items: center; + padding: 12px 16px; + border-radius: 4px; + margin-bottom: 24px; + font-family: 'Libre Baskerville', serif; + font-size: 0.9rem; + border: 1px solid transparent; + box-shadow: 0 2px 4px rgba(0,0,0,0.05); + transition: all 0.3s ease; +} + .auth-error { - background-color: rgba(140, 74, 50, 0.1) !important; - border-color: #8c4a32 !important; - color: #8c4a32 !important; + background-color: #EDC9C9 !important; + color: #8c2f2f !important; + border-color: #CB6262 !important; +} + +.auth-error .v-icon { + color: #8c2f2f !important; +} + +.auth-success { + background-color: rgba(85, 107, 47, 0.1) !important; + color: #556b2f !important; + border-color: #556b2f !important; +} + +.auth-success .v-icon { + color: #556b2f !important; } \ No newline at end of file diff --git a/Seasoned.Frontend/app/pages/gallery.vue b/Seasoned.Frontend/app/pages/gallery.vue index 8e7fadd..25e00af 100644 --- a/Seasoned.Frontend/app/pages/gallery.vue +++ b/Seasoned.Frontend/app/pages/gallery.vue @@ -22,7 +22,7 @@ - + - + -
- -

{{ selectedRecipe.title }}

-
+ + + + + - - - - -
-

- - Ingredients -

- - - - - - {{ ing }} - - -
+ + Update Photo + +
+
+ +
+ + + +

{{ selectedRecipe.title }}

+
+
+ + + + + +

+ + Ingredients +

+ + + + + + • {{ ing }} + +
-

+

Instructions

@@ -145,8 +183,11 @@ v-model="selectedRecipe.instructions" variant="outlined" auto-grow + rows="10" density="comfortable" - bg-color="rgba(255,255,255,0.3)" + class="auth-input recipe-textarea" + bg-color="transparent" + :persistent-placeholder="true" >
- - - Save Changes - - - - Cancel - + + Save Changes + Cancel - - - -
-

- Recorded on {{ new Date(selectedRecipe.createdAt).toLocaleDateString() }} -

-
- - - - - - -
- - Update Photo -
-
-
- - -
-
\ No newline at end of file diff --git a/Seasoned.Frontend/app/pages/login.vue b/Seasoned.Frontend/app/pages/login.vue index 1b3c39e..51ea5dc 100644 --- a/Seasoned.Frontend/app/pages/login.vue +++ b/Seasoned.Frontend/app/pages/login.vue @@ -18,18 +18,19 @@ -
- - {{ errorMessage }} +
+ + {{ errorMessage }} +
@@ -37,7 +38,7 @@ autofocus v-model="email" label="Email Address" - class="mb-4 auth-input" + class="mb-0 auth-input" color="#8c4a32" variant="outlined" prepend-inner-icon="mdi-email-outline" @@ -52,7 +53,7 @@ v-model="password" label="Password" type="password" - class="mb-8 auth-input" + class="mb-6 auth-input" variant="outlined" color="#8c4a32" hide-details @@ -70,7 +71,7 @@ v-model="confirmPassword" label="Confirm Password" type="password" - class="mb-8 auth-input" + class="mb-6 auth-input" variant="outlined" color="#8c4a32" hide-details