From 7078d994c05521056148cdc9a81f957c5e332737 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Sat, 18 Jul 2020 21:48:06 +0200 Subject: [PATCH] Finally landed on a design, created a bunch of pages. --- frontend/App.vue | 3 +- frontend/components/About.vue | 34 +++ frontend/components/Admin.vue | 71 ++++++ frontend/components/Cart.vue | 241 ++++++++++++++---- frontend/components/Home.vue | 74 ++++-- frontend/components/Navigation.vue | 338 +++++++++++++++---------- frontend/components/Shop.vue | 85 +++++++ frontend/components/ui/Button.vue | 82 ++++++ frontend/components/ui/ImageBlock.vue | 28 ++ frontend/components/ui/Picker.vue | 62 +++++ frontend/components/ui/ProductCard.vue | 130 ++++++++++ frontend/components/ui/logo.vue | 44 ++++ frontend/routes.js | 17 +- 13 files changed, 1006 insertions(+), 203 deletions(-) create mode 100644 frontend/components/About.vue create mode 100644 frontend/components/Admin.vue create mode 100644 frontend/components/Shop.vue create mode 100644 frontend/components/ui/Button.vue create mode 100644 frontend/components/ui/ImageBlock.vue create mode 100644 frontend/components/ui/Picker.vue create mode 100644 frontend/components/ui/ProductCard.vue create mode 100644 frontend/components/ui/logo.vue diff --git a/frontend/App.vue b/frontend/App.vue index 5f53dd0..817a94e 100644 --- a/frontend/App.vue +++ b/frontend/App.vue @@ -1,7 +1,6 @@ @@ -19,4 +18,4 @@ export default { @import './styles/normalize'; @import './styles/icons'; @import './styles/global'; - \ No newline at end of file + diff --git a/frontend/components/About.vue b/frontend/components/About.vue new file mode 100644 index 0000000..619482c --- /dev/null +++ b/frontend/components/About.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/frontend/components/Admin.vue b/frontend/components/Admin.vue new file mode 100644 index 0000000..2fea698 --- /dev/null +++ b/frontend/components/Admin.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/frontend/components/Cart.vue b/frontend/components/Cart.vue index f699527..65f930a 100644 --- a/frontend/components/Cart.vue +++ b/frontend/components/Cart.vue @@ -1,91 +1,224 @@ \ No newline at end of file + diff --git a/frontend/components/Home.vue b/frontend/components/Home.vue index 8508970..c9ab9a6 100644 --- a/frontend/components/Home.vue +++ b/frontend/components/Home.vue @@ -1,34 +1,72 @@ \ No newline at end of file + +img { + padding-top: 1.5rem; + + @include mobile { + display: block; + margin: auto; + width: 80%; + } +} + + diff --git a/frontend/components/Navigation.vue b/frontend/components/Navigation.vue index 5587771..071f232 100644 --- a/frontend/components/Navigation.vue +++ b/frontend/components/Navigation.vue @@ -1,148 +1,230 @@ \ No newline at end of file + +.main { + width: 100%; + padding-top: 1.4rem; + box-sizing: border-box; + + &-content { + display: flex; + justify-content: space-between; + + padding: 0 2rem; + + @include mobile { + padding: 0 0.5rem; + } + } +} + +ul { + list-style: none; +} + +a, span { + text-decoration: none; + color: white; + font-size: calc(1.125 * var(--text-base-size)); + border-bottom: 2px solid transparent; + cursor: pointer; + + &:hover { + border-bottom: 2px solid white; + } +} + +.icon { + font-size: 1.5rem; +} + +.main-nav-items, .secondary-nav-items { + display: flex; + flex-direction: row; + padding-top: 0rem; + + li { + float: left; + margin: 0 1rem; + } +} + + +.menu { + &-toggle { + display: flex; + justify-content: flex-end; + position: relative; + z-index: 2; + + &.active span { + border-bottom: 2px solid white; + } + } + + &-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 1; + + display: flex; + width: 100vw; + height: 100vh; + } + + &-overlay .left { + height: 100%; + width: 30vw; + background-color: black; + } + + &-overlay .right{ + margin: 0; + padding-top: 5rem; + padding-left: 2rem; + width: 70vw; + height: 100%; + background-color: var(--color-background); + + h4 { + font-size: 1.2em; + font-weight: 400; + display: inline-block; + } + + li:not(:first-of-type) { + margin-top: 1rem; + } + } +} + diff --git a/frontend/components/Shop.vue b/frontend/components/Shop.vue new file mode 100644 index 0000000..0d8c9c2 --- /dev/null +++ b/frontend/components/Shop.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/frontend/components/ui/Button.vue b/frontend/components/ui/Button.vue new file mode 100644 index 0000000..d7c903b --- /dev/null +++ b/frontend/components/ui/Button.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/frontend/components/ui/ImageBlock.vue b/frontend/components/ui/ImageBlock.vue new file mode 100644 index 0000000..0495b3a --- /dev/null +++ b/frontend/components/ui/ImageBlock.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/frontend/components/ui/Picker.vue b/frontend/components/ui/Picker.vue new file mode 100644 index 0000000..5de39a4 --- /dev/null +++ b/frontend/components/ui/Picker.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/frontend/components/ui/ProductCard.vue b/frontend/components/ui/ProductCard.vue new file mode 100644 index 0000000..9d1ec4b --- /dev/null +++ b/frontend/components/ui/ProductCard.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/frontend/components/ui/logo.vue b/frontend/components/ui/logo.vue new file mode 100644 index 0000000..e1e67e9 --- /dev/null +++ b/frontend/components/ui/logo.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/frontend/routes.js b/frontend/routes.js index 495fdf0..f9eeb1c 100644 --- a/frontend/routes.js +++ b/frontend/routes.js @@ -14,6 +14,21 @@ let routes = [ path: '/cart', component: (resolve) => require(['./components/Cart.vue'], resolve) }, + { + name: 'About', + path: '/about', + component: (resolve) => require(['./components/About.vue'], resolve) + }, + { + name: 'Shop', + path: '/shop', + component: (resolve) => require(['./components/Shop.vue'], resolve) + }, + { + name: 'admin', + path: '/admin', + component: (resolve) => require(['./components/Admin.vue'], resolve) + }, // { // name: 'styleguide', // path: '/styleguide', @@ -33,4 +48,4 @@ const router = new VueRouter({ linkActiveClass: 'is-active' }); -export default router; \ No newline at end of file +export default router;