From ba79409d79eeaa6ff2aa359795834baace519fab Mon Sep 17 00:00:00 2001 From: Jesse Brault Date: Tue, 16 Dec 2025 12:08:00 -0600 Subject: [PATCH] Styling and add missing features. --- src/app/app.css | 23 ++++++++ src/app/app.html | 10 ++-- src/app/header/header.css | 18 +++++++ src/app/header/header.html | 10 ++-- .../recipe-page-content.css | 28 ++++++++++ .../recipe-page-content.html | 36 +++++++++---- .../recipe-page-content.ts | 5 +- src/app/recipes-page/recipes-page.css | 14 ++++- src/index.html | 10 +++- src/styles.css | 54 ++++++++++++++++++- 10 files changed, 186 insertions(+), 22 deletions(-) diff --git a/src/app/app.css b/src/app/app.css index e69de29..59305c9 100644 --- a/src/app/app.css +++ b/src/app/app.css @@ -0,0 +1,23 @@ +#main-container { + display: grid; + grid-template-columns: 1fr; + padding-inline: var(--main-padding); +} + +@media screen and (min-width: 900px) { + #main-container { + grid-template-columns: 1fr 3fr; + } +} + +@media screen and (min-width: 1300px) { + #main-container { + grid-template-columns: 1fr 4fr; + } +} + +@media screen and (min-width: 1700px) { + #main-container { + grid-template-columns: 1fr 5fr; + } +} diff --git a/src/app/app.html b/src/app/app.html index 3f5e700..66cd792 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -1,5 +1,7 @@ - -
- -
+
+ +
+ +
+
diff --git a/src/app/header/header.css b/src/app/header/header.css index e69de29..3ab14c0 100644 --- a/src/app/header/header.css +++ b/src/app/header/header.css @@ -0,0 +1,18 @@ +header { + padding: var(--main-padding); + display: flex; + justify-content: space-between; + align-items: center; + background: var(--primary-red); + color: var(--primary-white); +} + +#header-login { + display: flex; + flex-direction: column; + align-items: flex-end; +} + +h1 { + color: var(--primary-white); +} diff --git a/src/app/header/header.html b/src/app/header/header.html index 06e72fc..3edc6e2 100644 --- a/src/app/header/header.html +++ b/src/app/header/header.html @@ -1,9 +1,13 @@

Meals Made Easy

@if (isLoggedIn()) { -

Welcome {{ username() }}!

- +
+

Welcome {{ username() }}!

+ +
} @else { - +
+ +
}
diff --git a/src/app/recipe-page/recipe-page-content/recipe-page-content.css b/src/app/recipe-page/recipe-page-content/recipe-page-content.css index e69de29..365d0a2 100644 --- a/src/app/recipe-page/recipe-page-content/recipe-page-content.css +++ b/src/app/recipe-page/recipe-page-content/recipe-page-content.css @@ -0,0 +1,28 @@ +article { + max-width: 80ch; + display: flex; + flex-direction: column; + row-gap: 15px; +} + +#recipe-header { + display: flex; + flex-direction: column; +} + +#recipe-header > div { + display: flex; + justify-content: space-between; + align-items: center; +} + +#star { + display: flex; + align-items: center; + column-gap: 3px; +} + +#main-image { + width: 100%; + object-fit: cover; +} diff --git a/src/app/recipe-page/recipe-page-content/recipe-page-content.html b/src/app/recipe-page/recipe-page-content/recipe-page-content.html index 1651f75..eb60cbd 100644 --- a/src/app/recipe-page/recipe-page-content/recipe-page-content.html +++ b/src/app/recipe-page/recipe-page-content/recipe-page-content.html @@ -1,22 +1,36 @@ @let recipe = recipeView().recipe;
-

{{ recipe.title }}

- @if (isLoggedIn()) { - - } @else { +
+

{{ recipe.title }}

+ @if (isLoggedIn()) { + + } @else { +
+ + {{ recipe.starCount }} +
+ } +
+
- - {{ recipe.starCount }} + + {{ recipe.owner.username }}
- } + @if (recipe.isPublic) { + + } @else { + + } +
@if (mainImageUrl.isSuccess()) { - MealsMadeEasyApp + Meals Made Easy + + + + + diff --git a/src/styles.css b/src/styles.css index 90d4ee0..b11ca7d 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1 +1,53 @@ -/* You can add global styles to this file, and also import other style files */ +@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); + +:root { + --primary-white: #ffffff; + --primary-red: #91351d; + --primary-yellow: #ffb61d; + --primary-black: #252525; + --off-white-1: #eee; + --off-white-2: #ddd; + --off-white-3: #ccc; + --off-white-4: #bbb; + --off-white-5: #aaa; + --main-padding: 20px; +} + +body { + margin: 0; + font-family: 'Inter', sans-serif; + box-sizing: border-box; + color: var(--primary-black); +} + +a { + color: var(--primary-red); +} + +a:visited { + color: var(--primary-red); +} + +a:hover { + color: hsl(from var(--primary-red) h s l / 0.9); +} + +button { + background-color: var(--off-white-2); + border: none; + border-radius: 5px; + padding: 10px; +} + +button:hover { + background-color: var(--off-white-1); + cursor: pointer; +} + +fa-icon { + color: var(--primary-red); +} + +.fa-star { + color: var(--primary-yellow); +}