From fd1c4ee14d11698ffabaf4aafa6f581bedd7fde8 Mon Sep 17 00:00:00 2001 From: viveksantayana Date: Sun, 28 Aug 2022 07:07:52 +0100 Subject: [PATCH] Built skeleton for the web site. Need to write the text and make the quiz console. --- client/index.html | 6 +- client/package-lock.json | 62 +++++++++ client/package.json | 1 + client/src/App.vue | 18 ++- client/src/components/Content.vue | 19 +++ client/src/components/Navbar.vue | 17 --- .../src/components/icons/AccountQuestion.vue | 23 ++++ client/src/components/icons/Home.vue | 23 ++++ client/src/components/icons/Information.vue | 23 ++++ client/src/components/icons/Menu.vue | 4 +- client/src/components/navbar/Index.vue | 38 ++++++ client/src/components/navbar/MobileLink.vue | 56 +++++++++ client/src/components/navbar/Navlink.vue | 59 +++++++++ client/src/components/sidebar/Index.vue | 26 ++++ client/src/components/sidebar/Navlink.vue | 52 ++++++++ client/src/fonts/UncialAntiqua-Regular.ttf | Bin 0 -> 61780 bytes client/src/main.js | 6 +- client/src/router/index.js | 119 ++++++++++++++++-- client/src/style.css | 27 +++- client/src/views/About.vue | 7 -- client/src/views/Home.vue | 50 +++++++- client/src/views/Quiz.vue | 21 +++- client/src/views/about/About.vue | 46 +++++++ client/src/views/about/Acknowledgements.vue | 30 +++++ client/src/views/about/Index.vue | 35 ++++++ client/src/views/about/Wanderhome.vue | 24 ++++ client/tailwind.config.cjs | 4 +- 27 files changed, 737 insertions(+), 59 deletions(-) create mode 100644 client/src/components/Content.vue delete mode 100644 client/src/components/Navbar.vue create mode 100644 client/src/components/icons/AccountQuestion.vue create mode 100644 client/src/components/icons/Home.vue create mode 100644 client/src/components/icons/Information.vue create mode 100644 client/src/components/navbar/Index.vue create mode 100644 client/src/components/navbar/MobileLink.vue create mode 100644 client/src/components/navbar/Navlink.vue create mode 100644 client/src/components/sidebar/Index.vue create mode 100644 client/src/components/sidebar/Navlink.vue create mode 100644 client/src/fonts/UncialAntiqua-Regular.ttf delete mode 100644 client/src/views/About.vue create mode 100644 client/src/views/about/About.vue create mode 100644 client/src/views/about/Acknowledgements.vue create mode 100644 client/src/views/about/Index.vue create mode 100644 client/src/views/about/Wanderhome.vue diff --git a/client/index.html b/client/index.html index dfcf4b6..66a72e6 100644 --- a/client/index.html +++ b/client/index.html @@ -4,10 +4,10 @@ - Wanderhome Personality Quiz | V.S. + Wanderhome Quiz | V.S. - -
+ +
diff --git a/client/package-lock.json b/client/package-lock.json index 19dd69a..adb6d31 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -14,6 +14,7 @@ "vue-router": "^4.1.4" }, "devDependencies": { + "@tailwindcss/typography": "^0.5.4", "@vitejs/plugin-vue": "^3.0.3", "autoprefixer": "^10.4.8", "postcss": "^8.4.16", @@ -93,6 +94,20 @@ "node": ">= 8" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.4.tgz", + "integrity": "sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, "node_modules/@vitejs/plugin-vue": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.3.tgz", @@ -1013,6 +1028,24 @@ "node": ">=10" } }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -1621,6 +1654,17 @@ "fastq": "^1.6.0" } }, + "@tailwindcss/typography": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.4.tgz", + "integrity": "sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==", + "dev": true, + "requires": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2" + } + }, "@vitejs/plugin-vue": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.3.tgz", @@ -2207,6 +2251,24 @@ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", "dev": true }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", diff --git a/client/package.json b/client/package.json index 53c4501..b0d9206 100644 --- a/client/package.json +++ b/client/package.json @@ -15,6 +15,7 @@ "vue-router": "^4.1.4" }, "devDependencies": { + "@tailwindcss/typography": "^0.5.4", "@vitejs/plugin-vue": "^3.0.3", "autoprefixer": "^10.4.8", "postcss": "^8.4.16", diff --git a/client/src/App.vue b/client/src/App.vue index d33fdf8..72154ba 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -1,16 +1,22 @@ diff --git a/client/src/components/Content.vue b/client/src/components/Content.vue new file mode 100644 index 0000000..5658987 --- /dev/null +++ b/client/src/components/Content.vue @@ -0,0 +1,19 @@ + + + \ No newline at end of file diff --git a/client/src/components/Navbar.vue b/client/src/components/Navbar.vue deleted file mode 100644 index f3d7cb6..0000000 --- a/client/src/components/Navbar.vue +++ /dev/null @@ -1,17 +0,0 @@ - \ No newline at end of file diff --git a/client/src/components/icons/AccountQuestion.vue b/client/src/components/icons/AccountQuestion.vue new file mode 100644 index 0000000..b6a8750 --- /dev/null +++ b/client/src/components/icons/AccountQuestion.vue @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/client/src/components/icons/Home.vue b/client/src/components/icons/Home.vue new file mode 100644 index 0000000..507f3ba --- /dev/null +++ b/client/src/components/icons/Home.vue @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/client/src/components/icons/Information.vue b/client/src/components/icons/Information.vue new file mode 100644 index 0000000..b70b490 --- /dev/null +++ b/client/src/components/icons/Information.vue @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/client/src/components/icons/Menu.vue b/client/src/components/icons/Menu.vue index d739a80..293054f 100644 --- a/client/src/components/icons/Menu.vue +++ b/client/src/components/icons/Menu.vue @@ -8,7 +8,7 @@ import SvgIcon from '@jamescoyle/vue-icon' import { mdiMenu } from '@mdi/js' export default { - name: "menu", + name: "MdiMenu", components: { SvgIcon @@ -16,7 +16,7 @@ export default { data() { return { - path: mdiMenu, + path: mdiMenu } } } diff --git a/client/src/components/navbar/Index.vue b/client/src/components/navbar/Index.vue new file mode 100644 index 0000000..87fac2c --- /dev/null +++ b/client/src/components/navbar/Index.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/client/src/components/navbar/MobileLink.vue b/client/src/components/navbar/MobileLink.vue new file mode 100644 index 0000000..9a49da4 --- /dev/null +++ b/client/src/components/navbar/MobileLink.vue @@ -0,0 +1,56 @@ + + + \ No newline at end of file diff --git a/client/src/components/navbar/Navlink.vue b/client/src/components/navbar/Navlink.vue new file mode 100644 index 0000000..d4a7391 --- /dev/null +++ b/client/src/components/navbar/Navlink.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/client/src/components/sidebar/Index.vue b/client/src/components/sidebar/Index.vue new file mode 100644 index 0000000..17a061c --- /dev/null +++ b/client/src/components/sidebar/Index.vue @@ -0,0 +1,26 @@ + + + \ No newline at end of file diff --git a/client/src/components/sidebar/Navlink.vue b/client/src/components/sidebar/Navlink.vue new file mode 100644 index 0000000..0a33ec3 --- /dev/null +++ b/client/src/components/sidebar/Navlink.vue @@ -0,0 +1,52 @@ + + + \ No newline at end of file diff --git a/client/src/fonts/UncialAntiqua-Regular.ttf b/client/src/fonts/UncialAntiqua-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9bf2a7edc0440fea42a1b790b97a8d055359d79e GIT binary patch literal 61780 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 literal 0 HcmV?d00001 diff --git a/client/src/main.js b/client/src/main.js index e1e7cb4..4be2a79 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -1,5 +1,7 @@ import { createApp } from 'vue' import '@/style.css' import App from '@/App.vue' -import router from '@/router' -createApp(App).use(router).mount('#app') +import Router from '@/router' +const app = createApp(App) +app.use(Router) +app.mount('#app') diff --git a/client/src/router/index.js b/client/src/router/index.js index 13091b2..562f842 100644 --- a/client/src/router/index.js +++ b/client/src/router/index.js @@ -1,30 +1,127 @@ import { createRouter, createWebHistory } from 'vue-router' - +import { mdiAccountGroupOutline, mdiAccountQuestion, mdiCodeTags, mdiHandCoin, mdiHome, mdiInformation } from '@mdi/js' +import About from '@/views/about/Index.vue' +import AboutPage from '@/views/about/About.vue' +import Acknowledgements from '@/views/about/Acknowledgements.vue' +import Wanderhome from '@/views/about/Wanderhome.vue' import Home from '@/views/Home.vue' -import About from '@/views/About.vue' import Quiz from '@/views/Quiz.vue' const routes = [ { path: '/', name: 'Home', - component: Home - }, - { - path: '/about', - name: 'About', - component: About + component: Home, + meta: { + index: 0, + svgPath: mdiHome, + title: 'Home' + } }, { path: '/quiz', name: 'Quiz', - component: Quiz + component: Quiz, + meta: { + index: 1, + svgPath: mdiAccountQuestion, + title: 'Take the Quiz' + } + }, + { + path: '/about', + name: 'About', + component: About, + meta: { + index: 2, + svgPath: mdiInformation, + title: 'About' + }, + children: [ + { + path: '', + name: 'About', + component: AboutPage, + meta: { + index: 0, + parentIndex: 2, + svgPath: mdiInformation, + title: 'Background' + } + }, + { + path: 'wanderhome', + name: 'Wanderhome', + component: Wanderhome, + meta: { + index: 1, + parentIndex: 2, + svgPath: mdiHandCoin, + title: 'About Wanderhome' + } + }, + { + path: 'acknowledgements', + name: 'Acknowledgements', + component: Acknowledgements, + meta: { + index: 2, + parentIndex: 2, + svgPath: mdiAccountGroupOutline, + title: 'Acknowledgements' + } + }, + { + path: 'https://git.vsnt.uk/', + name: 'SourceCode', + meta: { + index: 3, + parentIndex: 2, + svgPath: mdiCodeTags, + title: 'View Source Code' + } + } + ] } ] -const router = createRouter({ +const Router = createRouter({ history: createWebHistory(), routes }) -export default router \ No newline at end of file +Router.beforeEach((to, from, next) => { + if (to.meta.title != 'Home') { + document.title = `Wanderhome Quiz | V.S. - ${to.meta.title}` + } else { + document.title = `Wanderhome Quiz | V.S.` + } + next() +}) + +Router.afterEach( (to, from) => { + const enterActiveClass = 'transition-all duration-300 ease-in' + const leaveActiveClass = 'transition-all duration-300 ease-out' + const baseFromClass = 'transform opacity-0 scale-75' + if ( to.fullPath.split('/')[1] !== from.fullPath.split('/')[1] || !from.matched.length ) { + const fromIndex = from.meta.parentIndex ? from.meta.parentIndex : from.meta.index + const toIndex = to.meta.parentIndex ? to.meta.parentIndex : to.meta.index + const slideInDirection = toIndex < fromIndex ? '-translate-x-1/3' : 'translate-x-1/3' + const slideOutDirection = toIndex < fromIndex ? 'translate-x-1/3' : '-translate-x-1/3' + to.meta.mainEnterActiveClass = enterActiveClass + to.meta.mainLeaveActiveClass = leaveActiveClass + to.meta.mainEnterFromClass = baseFromClass + ' ' + slideInDirection + to.meta.mainLeaveToClass = baseFromClass + ' ' + slideOutDirection + } else if ( to.fullPath.split('/')[1] == from.fullPath.split('/')[1] && from.matched.length ) { + const fromIndex = from.meta.index + const toIndex = to.meta.index + const slideInDirection = toIndex < fromIndex ? '-translate-y-1/3' : 'translate-y-1/3' + const slideOutDirection = toIndex < fromIndex ? 'translate-y-1/3' : '-translate-y-1/3' + to.meta.panelEnterActiveClass = enterActiveClass + to.meta.panelLeaveActiveClass = leaveActiveClass + to.meta.panelEnterFromClass = baseFromClass + ' ' + slideInDirection + to.meta.panelLeaveToClass = baseFromClass + ' ' + slideOutDirection + } +}) + +export default Router \ No newline at end of file diff --git a/client/src/style.css b/client/src/style.css index bd6213e..c53c78e 100644 --- a/client/src/style.css +++ b/client/src/style.css @@ -1,3 +1,28 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; + +@font-face { + font-family: UncialAntiqua; + src: local("Uncial Antiqua"),url("./fonts/UncialAntiqua-Regular.ttf"); +} + +.uncial-antiqua { + font-family: 'UncialAntiqua'; +} + +.text-leader { + @apply text-lg; + @apply font-light; + @apply leading-relaxed; + @apply mt-6; + @apply mb-4; + @apply text-orange-900; +} + +p { + @apply text-base; + @apply leading-relaxed; + @apply mt-4; + @apply mb-4; +} \ No newline at end of file diff --git a/client/src/views/About.vue b/client/src/views/About.vue deleted file mode 100644 index 627e2e2..0000000 --- a/client/src/views/About.vue +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/client/src/views/Home.vue b/client/src/views/Home.vue index ad15c5b..8fa377c 100644 --- a/client/src/views/Home.vue +++ b/client/src/views/Home.vue @@ -1,7 +1,47 @@ + \ No newline at end of file diff --git a/client/src/views/Quiz.vue b/client/src/views/Quiz.vue index 8938220..9877981 100644 --- a/client/src/views/Quiz.vue +++ b/client/src/views/Quiz.vue @@ -1,7 +1,20 @@ + \ No newline at end of file diff --git a/client/src/views/about/About.vue b/client/src/views/about/About.vue new file mode 100644 index 0000000..b88ec75 --- /dev/null +++ b/client/src/views/about/About.vue @@ -0,0 +1,46 @@ + + + \ No newline at end of file diff --git a/client/src/views/about/Acknowledgements.vue b/client/src/views/about/Acknowledgements.vue new file mode 100644 index 0000000..58cd719 --- /dev/null +++ b/client/src/views/about/Acknowledgements.vue @@ -0,0 +1,30 @@ + + \ No newline at end of file diff --git a/client/src/views/about/Index.vue b/client/src/views/about/Index.vue new file mode 100644 index 0000000..fd4038d --- /dev/null +++ b/client/src/views/about/Index.vue @@ -0,0 +1,35 @@ + + \ No newline at end of file diff --git a/client/src/views/about/Wanderhome.vue b/client/src/views/about/Wanderhome.vue new file mode 100644 index 0000000..75e4384 --- /dev/null +++ b/client/src/views/about/Wanderhome.vue @@ -0,0 +1,24 @@ + + \ No newline at end of file diff --git a/client/tailwind.config.cjs b/client/tailwind.config.cjs index 6cd0427..3fd8ac3 100644 --- a/client/tailwind.config.cjs +++ b/client/tailwind.config.cjs @@ -13,5 +13,7 @@ module.exports = { }, extend: {}, }, - plugins: [], + plugins: [ + require('@tailwindcss/typography'), + ], }