diff --git a/src/components/CreateList.tsx b/src/components/CreateList.tsx index 673c4f2..9a651c9 100644 --- a/src/components/CreateList.tsx +++ b/src/components/CreateList.tsx @@ -48,8 +48,9 @@ export function CreateList({ user, setListPath }: Props) { return ( <>
-

Create New Shopping List

- Name Your List +

+ Create A New List +



- +
+ +
diff --git a/src/components/SingleList.scss b/src/components/SingleList.scss index 1e528f0..5e6a256 100644 --- a/src/components/SingleList.scss +++ b/src/components/SingleList.scss @@ -1,10 +1,15 @@ +@use "../styles/mixins.scss" as *; +@import "../views/unauthenticated/UnauthenticatedHome.scss"; + .SingleList { - align-items: baseline; - display: flex; - flex-direction: row; - font-size: 1.2em; + @extend .custom-button-wrapper; + list-style-type: none; } -.SingleList-label { - margin-left: 0.2em; +.SingleList button { + width: 100%; + margin: 5px; + @include tablet { + margin: 5px; + } } diff --git a/src/components/forms/AddItemForm.scss b/src/components/forms/AddItemForm.scss new file mode 100644 index 0000000..d7e3378 --- /dev/null +++ b/src/components/forms/AddItemForm.scss @@ -0,0 +1,20 @@ +@import "../../styles/variables"; + +.custom-borders { + border: 2px solid $secondary-blue !important; + border-radius: 4px !important; + padding: 20px; + margin-top: 20px; + position: relative; +} + +.legend-text { + font-weight: bold; + padding: 0 10px; /* Creates space between the border and text */ + color: #001f3f; /* Optional: text color */ + position: relative; + top: -40px; + left: 10px; + background-color: #f3ecd3; + width: 80%; +} diff --git a/src/components/forms/AddItemForm.tsx b/src/components/forms/AddItemForm.tsx index 512f178..de5fb48 100644 --- a/src/components/forms/AddItemForm.tsx +++ b/src/components/forms/AddItemForm.tsx @@ -4,8 +4,8 @@ import { validateItemName } from "../../utils"; import toast from "react-hot-toast"; import Button from "react-bootstrap/Button"; import Form from "react-bootstrap/Form"; - import { useNavigate } from "react-router-dom"; +import "./AddItemForm.scss"; interface Props { listPath: string; @@ -104,15 +104,16 @@ export function AddItemForm({ listPath, data: unfilteredListItems }: Props) { }; return ( -
+
handleSubmit(e, listPath)}> -

First, add your item!

+

New Item

- Item: +
Item Name:

-

Next, pick when you plan on buying this item again!

-
- When to buy: - +
+ When to buy: + +
- +
- +
+
- -

Let's go look at your list!

- + {/**/}
); } diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss new file mode 100644 index 0000000..a7823c2 --- /dev/null +++ b/src/styles/_mixins.scss @@ -0,0 +1,12 @@ +// ====== MEDIA ======== +@mixin tablet { + @media (min-width: 768px) { + @content; + } +} + +@mixin mobile { + @media (min-width: 375px) { + @content; + } +} diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss index 3843aba..d313fbd 100644 --- a/src/styles/_variables.scss +++ b/src/styles/_variables.scss @@ -2,3 +2,4 @@ $primary-beige: #f1e6cc; $primary-blue: #3f6476; $secondary-blue: #001f3f; +$light-blue: #356481; diff --git a/src/views/Home.scss b/src/views/Home.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/views/Home.tsx b/src/views/Home.tsx index 76de1d7..3a8c9e8 100644 --- a/src/views/Home.tsx +++ b/src/views/Home.tsx @@ -1,5 +1,4 @@ import React from "react"; -import "./Home.scss"; import { List, User } from "../api"; import { AuthenticatedHome, UnauthenticatedHome } from "../views"; diff --git a/src/views/Layout.scss b/src/views/Layout.scss index 693fd80..e07f02b 100644 --- a/src/views/Layout.scss +++ b/src/views/Layout.scss @@ -13,9 +13,9 @@ height: 100dvh; } -.Layout > * { - padding-inline: min(5dvw, 3.2rem); -} +// .Layout > * { +// padding-inline: min(5dvw, 3.2rem); +// } .Layout-header { background-color: var(--color-bg); diff --git a/src/views/authenticated/AuthenticatedHome.scss b/src/views/authenticated/AuthenticatedHome.scss new file mode 100644 index 0000000..faa61a6 --- /dev/null +++ b/src/views/authenticated/AuthenticatedHome.scss @@ -0,0 +1,15 @@ +@use "../../styles/mixins.scss" as *; + +.lists { + display: block; + margin-top: 20px; + padding: 0; + margin: 0; + + @include tablet { + padding: 0; + display: flex; + justify-content: space-between; + flex-flow: wrap; + } +} diff --git a/src/views/authenticated/AuthenticatedHome.tsx b/src/views/authenticated/AuthenticatedHome.tsx index cb69b7b..3b7de25 100644 --- a/src/views/authenticated/AuthenticatedHome.tsx +++ b/src/views/authenticated/AuthenticatedHome.tsx @@ -1,6 +1,7 @@ -import React from "react"; +// import React from "react"; import { SingleList, CreateList } from "../../components"; import { List, User } from "../../api"; +import "./AuthenticatedHome.scss"; interface Props { data: List[]; @@ -10,14 +11,12 @@ interface Props { export function AuthenticatedHome({ data, setListPath, user }: Props) { return ( - <> -

- Hello from the home (/) page! -

- +
{user && ( <> -
); } diff --git a/src/views/authenticated/List.tsx b/src/views/authenticated/List.tsx index 18c2e5a..6591a2f 100644 --- a/src/views/authenticated/List.tsx +++ b/src/views/authenticated/List.tsx @@ -98,7 +98,7 @@ export function List({ data: unfilteredListItems, listPath }: Props) { {/* Width of this section should be 50%. */} -
+
diff --git a/src/views/unauthenticated/UnauthenticatedHome.scss b/src/views/unauthenticated/UnauthenticatedHome.scss new file mode 100644 index 0000000..bcc0bcc --- /dev/null +++ b/src/views/unauthenticated/UnauthenticatedHome.scss @@ -0,0 +1,41 @@ +@use "../../styles/variables.scss" as *; + +.home { + background-color: rgba($primary-beige, 0.9); + border-radius: 5%; + padding: 40px; +} + +.heading-text { + color: $secondary-blue; + text-align: center; + padding: 12px; +} + +.normal-text { + color: $light-blue; + text-align: center; +} + +.button { + background-color: $primary-blue; + border: none; + color: $primary-beige; + text-align: center; + padding: 10px 40px; + width: 170px; + + &:hover { + background-color: $secondary-blue; + } +} + +.custom-button-wrapper { + display: flex; + justify-content: center; + align-items: center; +} + +.custom-button-wrapper button { + @extend .button; +} diff --git a/src/views/unauthenticated/UnauthenticatedHome.tsx b/src/views/unauthenticated/UnauthenticatedHome.tsx index b23874c..ec33342 100644 --- a/src/views/unauthenticated/UnauthenticatedHome.tsx +++ b/src/views/unauthenticated/UnauthenticatedHome.tsx @@ -1,4 +1,5 @@ -import React from "react"; +// import React from "react"; +import "./UnauthenticatedHome.scss"; import { useNavigate } from "react-router-dom"; import { SignInButton } from "../../api"; import Button from "react-bootstrap/Button"; @@ -7,30 +8,34 @@ export function UnauthenticatedHome() { const navigate = useNavigate(); return ( -
-

Welcome to GrocerEase

-

- The next best thing to having someone else do the shopping for you! +

+

Welcome to GrocerEase

+

+ The next best thing to having someone else do the shopping for you!{" "} +
Create and manage smart lists, while it learns your shopping habits to let you know exactly when you will need to buy that next batch of toilet paper!

-

New to GrocerEase:

- - +

Welcome Back:

+
+ +
-

Welcome Back:

- +
New to GrocerEase?
+
+ + +
);