diff --git a/front/src/pages/index/PageIndex.svelte b/front/src/pages/PageIndex.svelte
similarity index 65%
rename from front/src/pages/index/PageIndex.svelte
rename to front/src/pages/PageIndex.svelte
index e7ba207..740ae27 100644
--- a/front/src/pages/index/PageIndex.svelte
+++ b/front/src/pages/PageIndex.svelte
@@ -1,7 +1,7 @@
-
+
Learn More
Menu
-
+
See All
-
-
About Us
-Link to the /about page
+Want to know the story of the restaurant?
+Continue reading
diff --git a/front/src/pages/PageLoading.svelte b/front/src/pages/PageLoading.svelte
index 1e72995..8d855cd 100644
--- a/front/src/pages/PageLoading.svelte
+++ b/front/src/pages/PageLoading.svelte
@@ -1 +1,37 @@
-Loading
\ No newline at end of file
+
+
+
+{text}
+
+
\ No newline at end of file
diff --git a/front/src/pages/components/AnnouncementBanner.svelte b/front/src/pages/components/AnnouncementBanner.svelte
new file mode 100644
index 0000000..92f298f
--- /dev/null
+++ b/front/src/pages/components/AnnouncementBanner.svelte
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/front/src/pages/components/LoadingBar.svelte b/front/src/pages/components/LoadingBar.svelte
new file mode 100644
index 0000000..44d836c
--- /dev/null
+++ b/front/src/pages/components/LoadingBar.svelte
@@ -0,0 +1,8 @@
+
+
+
diff --git a/front/src/pages/components/ItemList.svelte b/front/src/pages/components/MenuList.svelte
similarity index 100%
rename from front/src/pages/components/ItemList.svelte
rename to front/src/pages/components/MenuList.svelte
diff --git a/front/src/pages/components/NavigationBar.svelte b/front/src/pages/components/NavigationBar.svelte
new file mode 100644
index 0000000..8f1b59c
--- /dev/null
+++ b/front/src/pages/components/NavigationBar.svelte
@@ -0,0 +1,20 @@
+
+
+
+
+
+ TastyBites
+
+
+
diff --git a/front/src/pages/index/Announcement.svelte b/front/src/pages/index/Announcement.svelte
deleted file mode 100644
index 6260490..0000000
--- a/front/src/pages/index/Announcement.svelte
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/front/src/routes.js b/front/src/routes.js
index db096b9..f97b2b1 100644
--- a/front/src/routes.js
+++ b/front/src/routes.js
@@ -4,7 +4,7 @@ import Page404 from "%/pages/Page404.svelte";
const routes = {
"/": wrap({
- asyncComponent: () => import("%/pages/index/PageIndex.svelte"),
+ asyncComponent: () => import("%/pages/PageIndex.svelte"),
loadingComponent: PageLoading,
conditions: [],
userData: { showNavBar: true },
@@ -15,6 +15,12 @@ const routes = {
conditions: [],
userData: { showNavBar: true },
}),
+ "/about": wrap({
+ component: PageLoading,
+ loadingComponent: PageLoading,
+ conditions: [],
+ userData: { showNavBar: true },
+ }),
"/cart": wrap({
asyncComponent: () => import("%/pages/PageShoppingCart.svelte"),
loadingComponent: PageLoading,
diff --git a/front/src/styles/_announcement_banner.scss b/front/src/styles/_announcement_banner.scss
new file mode 100644
index 0000000..3dc61e0
--- /dev/null
+++ b/front/src/styles/_announcement_banner.scss
@@ -0,0 +1,17 @@
+.announcement-banner {
+ height: 400px;
+ background-color: $color-light;
+ padding: 10px;
+ border: 1px solid $color-dark;
+ border-radius: 5px;
+ position: relative;
+ overflow: hidden;
+
+ img{
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: auto;
+ }
+}
diff --git a/front/src/styles/_loading_bar.scss b/front/src/styles/_loading_bar.scss
new file mode 100644
index 0000000..8a84c7b
--- /dev/null
+++ b/front/src/styles/_loading_bar.scss
@@ -0,0 +1,103 @@
+.loader {
+ position: absolute;
+ top: 2px;
+ left: 2px;
+ width: calc(100% - 4px);
+ height: 4px;
+ border-radius: 999px;
+ overflow: hidden;
+ animation: start .3s ease-in;
+
+ &.bottom {
+ top: unset;
+ bottom: 2px
+ }
+
+ .bar {
+ position: absolute;
+ background-color: $color-primary;
+ transition: transform .2s linear;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ border-radius: 999px;
+ width: 100%;
+
+ &.bar-1 {
+ animation: growBar1 2.5s infinite, moveBar1 2.5s infinite;
+ }
+
+ &.bar-2 {
+ animation: growBar2 2.5s infinite, moveBar2 2.5s infinite;
+ }
+ }
+}
+
+@keyframes growBar1 {
+ 0% {
+ animation-timing-function: linear;
+ transform: scaleX(0.1);
+ }
+ 36.6% {
+ animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
+ transform: scaleX(0.1);
+ }
+ 69.15% {
+ animation-timing-function: cubic-bezier(0.22573, 0, 0.23365, 1.37098);
+ transform: scaleX(0.83);
+ }
+ 100% {
+ transform: scaleX(0.1);
+ }
+}
+@keyframes moveBar1 {
+ 0% {
+ left: -105.16667%;
+ animation-timing-function: linear;
+ }
+ 20% {
+ left: -105.16667%;
+ animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
+ }
+ 69.15% {
+ left: 21.5%;
+ animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
+ }
+ 100% {
+ left: 95.44444%;
+ }
+}
+@keyframes growBar2 {
+ 0% {
+ animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
+ transform: scaleX(0.1);
+ }
+ 19.15% {
+ animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
+ transform: scaleX(0.57);
+ }
+ 44.15% {
+ animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
+ transform: scaleX(0.91);
+ }
+ 100% {
+ transform: scaleX(0.1);
+ }
+}
+@keyframes moveBar2 {
+ 0% {
+ left: -54.88889%;
+ animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40968);
+ }
+ 25% {
+ left: -17.25%;
+ animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73372);
+ }
+ 48.35% {
+ left: 29.5%;
+ animation-timing-function: cubic-bezier(0.4, 0.62703, 0.6, 0.90203);
+ }
+ 100% {
+ left: 117.38889%;
+ }
+}
diff --git a/front/src/styles/_navigation_bar.scss b/front/src/styles/_navigation_bar.scss
new file mode 100644
index 0000000..d7bc2b5
--- /dev/null
+++ b/front/src/styles/_navigation_bar.scss
@@ -0,0 +1,41 @@
+nav {
+ width: 100%;
+ height: 55px;
+ display: flex;
+ position: fixed;
+ top: 0;
+ left: 0;
+ justify-content: center;
+ align-items: center;
+ padding: 1rem;
+ background-color: $color-dark;
+ color: $color-light;
+ z-index: 9999999;
+
+ ul {
+ width: 300px;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ list-style: none;
+ li {
+ margin: 0 1rem;
+ a {
+ color: inherit;
+ .active {
+ color: $color-primary !important;
+ }
+ }
+ }
+ }
+
+ span {
+ margin: 0 1rem;
+ font-weight: bolder;
+ font-size: 25px;
+ }
+
+ &.scrolled {
+ box-shadow: 0 0 10px 1px $color-dark;
+ }
+}
\ No newline at end of file
diff --git a/front/src/styles/_reset.scss b/front/src/styles/_reset.scss
new file mode 100644
index 0000000..e672f8f
--- /dev/null
+++ b/front/src/styles/_reset.scss
@@ -0,0 +1,14 @@
+*, *::before, *::after {
+ box-sizing: border-box;
+ margin: 0;
+}
+
+body, #app {
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+}
+
+body {
+ background-color: $color-light;
+}
diff --git a/front/src/styles/main.scss b/front/src/styles/main.scss
index f9bc259..ef6a9cc 100644
--- a/front/src/styles/main.scss
+++ b/front/src/styles/main.scss
@@ -1,9 +1,8 @@
-*, *::before, *::after {
- box-sizing: border-box;
- margin: 0;
-}
-body, #app {
- min-height: 100vh;
- display: flex;
- flex-direction: column;
-}
+$color-primary: #6A9343;
+$color-dark: #443023;
+$color-light: #fffbf4; // #ccc2ae;
+
+@import "reset";
+@import "loading_bar";
+@import "navigation_bar";
+@import "announcement_banner";