From b580fb4ecf447cceb7d9e7f005b4d6e323a84193 Mon Sep 17 00:00:00 2001 From: genki_angel <genki@banii.cafe> Date: Sat, 12 Apr 2025 22:49:34 +0100 Subject: [PATCH] basic site layout --- .gitignore | 2 + bun.lock | 4 +- index.html | 31 ++-- public/favicon.ico | Bin 4286 -> 0 bytes src/App.vue | 109 +++++------- src/assets/base.css | 86 --------- src/assets/logo.svg | 1 - src/assets/main.css | 87 ++++++--- src/components/HelloWorld.vue | 41 ----- src/components/TheWelcome.vue | 94 ---------- src/components/WelcomeItem.vue | 87 --------- src/components/bannerbar.vue | 31 ++++ src/components/blinkiebar.vue | 31 ++++ src/components/icons/IconCommunity.vue | 7 - src/components/icons/IconDocumentation.vue | 7 - src/components/icons/IconEcosystem.vue | 7 - src/components/icons/IconSupport.vue | 7 - src/components/icons/IconTooling.vue | 19 -- src/components/marqueebar.vue | 38 ++++ src/components/navbar.vue | 197 +++++++++++++++++++++ src/components/quotebanner.vue | 41 +++++ src/components/stamps.vue | 28 +++ src/components/underconstruction.vue | 29 +++ src/components/wantedposter.vue | 146 +++++++++++++++ src/components/welcometitle.vue | 35 ++++ src/router/index.ts | 33 +++- src/views/AboutView.vue | 15 -- src/views/HomeView.vue | 38 +++- src/views/PetsView.vue | 8 + src/views/PortfolioView.vue | 8 + src/views/SocialsView.vue | 8 + 31 files changed, 783 insertions(+), 492 deletions(-) delete mode 100644 public/favicon.ico delete mode 100644 src/assets/base.css delete mode 100644 src/assets/logo.svg delete mode 100644 src/components/HelloWorld.vue delete mode 100644 src/components/TheWelcome.vue delete mode 100644 src/components/WelcomeItem.vue create mode 100644 src/components/bannerbar.vue create mode 100644 src/components/blinkiebar.vue delete mode 100644 src/components/icons/IconCommunity.vue delete mode 100644 src/components/icons/IconDocumentation.vue delete mode 100644 src/components/icons/IconEcosystem.vue delete mode 100644 src/components/icons/IconSupport.vue delete mode 100644 src/components/icons/IconTooling.vue create mode 100644 src/components/marqueebar.vue create mode 100644 src/components/navbar.vue create mode 100644 src/components/quotebanner.vue create mode 100644 src/components/stamps.vue create mode 100644 src/components/underconstruction.vue create mode 100644 src/components/wantedposter.vue create mode 100644 src/components/welcometitle.vue delete mode 100644 src/views/AboutView.vue create mode 100644 src/views/PetsView.vue create mode 100644 src/views/PortfolioView.vue create mode 100644 src/views/SocialsView.vue diff --git a/.gitignore b/.gitignore index 37ad66e..b6a0645 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ coverage *.tsbuildinfo /public +/src/assets/fonts +/src/assets/images \ No newline at end of file diff --git a/bun.lock b/bun.lock index c27bc12..3e3e1f7 100644 --- a/bun.lock +++ b/bun.lock @@ -353,7 +353,7 @@ "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], - "nanoid": ["nanoid@3.3.10", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-vSJJTG+t/dIKAUhUDw/dLdZ9s//5OxcHqLaDWWrW4Cdq7o6tdLIczUkMXt2MBNmk6sJRZBZRXVixs7URY1CmIg=="], + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], @@ -449,7 +449,7 @@ "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="], - "@vue/devtools-core/nanoid": ["nanoid@5.1.4", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-GTFcMIDgR7tqji/LpSY8rtg464VnJl/j6ypoehYnuGb+Y8qZUdtKB8WVCXon0UEZgFDbuUxpIl//6FHLHgXSNA=="], + "@vue/devtools-core/nanoid": ["nanoid@5.1.5", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw=="], "cross-spawn/which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], diff --git a/index.html b/index.html index 9e5fc8f..7b97a63 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,20 @@ <!DOCTYPE html> -<html lang=""> - <head> - <meta charset="UTF-8"> - <link rel="icon" href="/favicon.ico"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Vite App</title> - </head> - <body> - <div id="app"></div> - <script type="module" src="/src/main.ts"></script> - </body> -</html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <link rel="icon" href="/favicon.ico"> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> + <link rel="manifest" href="/site.webmanifest"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>banii cafe</title> +</head> + +<body> + <div id="app"></div> + <script type="module" src="/src/main.ts"></script> +</body> + +</html> \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kev<ISBgE$F{SFy+(=9Z)f)De0Se}ZDZW}Z3B zElCeVrw;K0Fdl_Cg=gZOFXXc3pL)Q05CAuT+XucQ<8g~3dteP~|7s7c6QYP;fy;mF zMN;>tV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?<QnEgvj4i?s}Yk=qA2z`-^*<eK3c)MS4JOdbsTQEOa0) z0NWqlna2rzs>5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7<X*Er!BfRbvU93$DH%#v6dRt^6HBxz1xBNHx=$&_Gv<&J}Ljk zJN<Fzx(`Oe@KgQ0F$<14=XV#WK`o#6Ku>z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{T<?%b6i9IjI)Ls)S{-*mq<@~R{?$}ZKjf;^k75i_}(2MXt}^SEBVg7AI@28 zo_uPg2V)_e-`2Ois=PYoe%9u*n9({PFR)OnHJPi{dNx>Kx<YG`4QQ>D#iCLfl2<BD h7L=-;Q>vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/src/App.vue b/src/App.vue index 7905b05..a8d9d0e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,85 +1,60 @@ <script setup lang="ts"> import { RouterLink, RouterView } from 'vue-router' -import HelloWorld from './components/HelloWorld.vue' +import Welcometitle from './components/welcometitle.vue'; +import Quotebanner from './components/quotebanner.vue'; +import Blinkiebar from './components/blinkiebar.vue'; +import Navbar from './components/navbar.vue'; +import Bannerbar from './components/bannerbar.vue'; +import Marqueebar from './components/marqueebar.vue'; + +const name = "BANII.CAFE" + +const bannerFolder = "banners" </script> <template> <header> - <img alt="Vue logo" class="logo" src="@/assets/logo.svg" width="125" height="125" /> - - <div class="wrapper"> - <HelloWorld msg="You did it!" /> - - <nav> - <RouterLink to="/">Home</RouterLink> - <RouterLink to="/about">About</RouterLink> - </nav> - </div> + <Welcometitle :title="name" /> + <Quotebanner :quote="'meaaaooooowwww x3'" /> + <Blinkiebar /> </header> + <main> + <Navbar /> + <div id="view"> + <RouterView /> + </div> + </main> + + <footer> + <Bannerbar /> + </footer> - <RouterView /> </template> <style scoped> -header { - line-height: 1.5; - max-height: 100vh; +main { + margin-top: .2em; + font-size: 32px; + display: flex; + gap: .2em; + @media screen and (max-width: 1250px) { + flex-direction: column; + } } -.logo { - display: block; - margin: 0 auto 2rem; +#view { + border: 2px solid rgba(222, 222, 108, 1); + flex-grow: 1; + height: fit-content; + padding: .5em; } -nav { +footer { + position: fixed; width: 100%; - font-size: 12px; - text-align: center; - margin-top: 2rem; -} - -nav a.router-link-exact-active { - color: var(--color-text); -} - -nav a.router-link-exact-active:hover { - background-color: transparent; -} - -nav a { - display: inline-block; - padding: 0 1rem; - border-left: 1px solid var(--color-border); -} - -nav a:first-of-type { - border: 0; -} - -@media (min-width: 1024px) { - header { - display: flex; - place-items: center; - padding-right: calc(var(--section-gap) / 2); - } - - .logo { - margin: 0 2rem 0 0; - } - - header .wrapper { - display: flex; - place-items: flex-start; - flex-wrap: wrap; - } - - nav { - text-align: left; - margin-left: -1rem; - font-size: 1rem; - - padding: 1rem 0; - margin-top: 1rem; - } + height: fit-content; + bottom: 0; + left: 0; + right: 0; } </style> diff --git a/src/assets/base.css b/src/assets/base.css deleted file mode 100644 index 8816868..0000000 --- a/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from <https://github.com/vuejs/theme> */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/src/assets/logo.svg b/src/assets/logo.svg deleted file mode 100644 index 7565660..0000000 --- a/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg> diff --git a/src/assets/main.css b/src/assets/main.css index 36fb845..798cfce 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -1,35 +1,68 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - font-weight: normal; +@font-face { + font-family: 'vcr_osd_mono'; + src: url('./fonts/vcr_osd_mono-webfont.woff2') format('woff2'), + url('./fonts/vcr_osd_mono-webfont.woff') format('woff'); + font-weight: normal; + font-style: normal; } -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; +@font-face { + font-family: 'easvhsregular'; + src: url('./fonts/easvhs-webfont.woff2') format('woff2'), + url('./fonts/easvhs-webfont.woff') format('woff'); + font-weight: normal; + font-style: normal; } -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } +body { + background-image: url(/bg.webp); + background-size: 256px; + + font-family: "easvhsregular"; + color: #fefefe; + + padding: 2em; + padding-bottom: 4em; } -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } +@keyframes marquee { + 0% { + transform: translate3d(0, 0, 0); + } - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } + 100% { + transform: translate3d(-50%, 0, 0); + } } + +@keyframes billboard { + 0% { + transform: translate3d(100%, 0, 0); + } + + 25% { + transform: translate3d(0%, 0, 0); + } + + 75% { + transform: translate3d(0%, 0, 0); + } + + 100% { + transform: translate3d(-100%, 0, 0); + } +} + +.highlight { + color: rgba(222, 222, 108, 1); +} +.warning { + color: #cc4c4c; +} +.info { + color: #00fffa; +} + +.font { + font-family: "vcr_osd_mono"; +} \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index d174cf8..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ -<script setup lang="ts"> -defineProps<{ - msg: string -}>() -</script> - -<template> - <div class="greetings"> - <h1 class="green">{{ msg }}</h1> - <h3> - You’ve successfully created a project with - <a href="https://vite.dev/" target="_blank" rel="noopener">Vite</a> + - <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>. What's next? - </h3> - </div> -</template> - -<style scoped> -h1 { - font-weight: 500; - font-size: 2.6rem; - position: relative; - top: -10px; -} - -h3 { - font-size: 1.2rem; -} - -.greetings h1, -.greetings h3 { - text-align: center; -} - -@media (min-width: 1024px) { - .greetings h1, - .greetings h3 { - text-align: left; - } -} -</style> diff --git a/src/components/TheWelcome.vue b/src/components/TheWelcome.vue deleted file mode 100644 index ae6eec3..0000000 --- a/src/components/TheWelcome.vue +++ /dev/null @@ -1,94 +0,0 @@ -<script setup lang="ts"> -import WelcomeItem from './WelcomeItem.vue' -import DocumentationIcon from './icons/IconDocumentation.vue' -import ToolingIcon from './icons/IconTooling.vue' -import EcosystemIcon from './icons/IconEcosystem.vue' -import CommunityIcon from './icons/IconCommunity.vue' -import SupportIcon from './icons/IconSupport.vue' - -const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') -</script> - -<template> - <WelcomeItem> - <template #icon> - <DocumentationIcon /> - </template> - <template #heading>Documentation</template> - - Vue’s - <a href="https://vuejs.org/" target="_blank" rel="noopener">official documentation</a> - provides you with all information you need to get started. - </WelcomeItem> - - <WelcomeItem> - <template #icon> - <ToolingIcon /> - </template> - <template #heading>Tooling</template> - - This project is served and bundled with - <a href="https://vite.dev/guide/features.html" target="_blank" rel="noopener">Vite</a>. The - recommended IDE setup is - <a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a> - + - <a href="https://github.com/johnsoncodehk/volar" target="_blank" rel="noopener">Volar</a>. If - you need to test your components and web pages, check out - <a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a> - and - <a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a> - / - <a href="https://playwright.dev/" target="_blank" rel="noopener">Playwright</a>. - - <br /> - - More instructions are available in - <a href="javascript:void(0)" @click="openReadmeInEditor"><code>README.md</code></a - >. - </WelcomeItem> - - <WelcomeItem> - <template #icon> - <EcosystemIcon /> - </template> - <template #heading>Ecosystem</template> - - Get official tools and libraries for your project: - <a href="https://pinia.vuejs.org/" target="_blank" rel="noopener">Pinia</a>, - <a href="https://router.vuejs.org/" target="_blank" rel="noopener">Vue Router</a>, - <a href="https://test-utils.vuejs.org/" target="_blank" rel="noopener">Vue Test Utils</a>, and - <a href="https://github.com/vuejs/devtools" target="_blank" rel="noopener">Vue Dev Tools</a>. If - you need more resources, we suggest paying - <a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">Awesome Vue</a> - a visit. - </WelcomeItem> - - <WelcomeItem> - <template #icon> - <CommunityIcon /> - </template> - <template #heading>Community</template> - - Got stuck? Ask your question on - <a href="https://chat.vuejs.org" target="_blank" rel="noopener">Vue Land</a> - (our official Discord server), or - <a href="https://stackoverflow.com/questions/tagged/vue.js" target="_blank" rel="noopener" - >StackOverflow</a - >. You should also follow the official - <a href="https://bsky.app/profile/vuejs.org" target="_blank" rel="noopener">@vuejs.org</a> - Bluesky account or the - <a href="https://x.com/vuejs" target="_blank" rel="noopener">@vuejs</a> - X account for latest news in the Vue world. - </WelcomeItem> - - <WelcomeItem> - <template #icon> - <SupportIcon /> - </template> - <template #heading>Support Vue</template> - - As an independent project, Vue relies on community backing for its sustainability. You can help - us by - <a href="https://vuejs.org/sponsor/" target="_blank" rel="noopener">becoming a sponsor</a>. - </WelcomeItem> -</template> diff --git a/src/components/WelcomeItem.vue b/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086a..0000000 --- a/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ -<template> - <div class="item"> - <i> - <slot name="icon"></slot> - </i> - <div class="details"> - <h3> - <slot name="heading"></slot> - </h3> - <slot></slot> - </div> - </div> -</template> - -<style scoped> -.item { - margin-top: 2rem; - display: flex; - position: relative; -} - -.details { - flex: 1; - margin-left: 1rem; -} - -i { - display: flex; - place-items: center; - place-content: center; - width: 32px; - height: 32px; - - color: var(--color-text); -} - -h3 { - font-size: 1.2rem; - font-weight: 500; - margin-bottom: 0.4rem; - color: var(--color-heading); -} - -@media (min-width: 1024px) { - .item { - margin-top: 0; - padding: 0.4rem 0 1rem calc(var(--section-gap) / 2); - } - - i { - top: calc(50% - 25px); - left: -26px; - position: absolute; - border: 1px solid var(--color-border); - background: var(--color-background); - border-radius: 8px; - width: 50px; - height: 50px; - } - - .item:before { - content: ' '; - border-left: 1px solid var(--color-border); - position: absolute; - left: 0; - bottom: calc(50% + 25px); - height: calc(50% - 25px); - } - - .item:after { - content: ' '; - border-left: 1px solid var(--color-border); - position: absolute; - left: 0; - top: calc(50% + 25px); - height: calc(50% - 25px); - } - - .item:first-of-type:before { - display: none; - } - - .item:last-of-type:after { - display: none; - } -} -</style> diff --git a/src/components/bannerbar.vue b/src/components/bannerbar.vue new file mode 100644 index 0000000..efa3d28 --- /dev/null +++ b/src/components/bannerbar.vue @@ -0,0 +1,31 @@ +<template> + <div id="holder"> + <div id="marquee"> + <img v-for="(item, path) in banners" :src="path" /> + <img v-for="(item, path) in banners" :src="path" /> + </div> + </div> +</template> + +<script setup lang="ts"> +const banners = import.meta.glob("@/assets/images/banners/*") +</script> + +<style lang="css" scoped> +#holder { + overflow: hidden; + font-size: 0; +} + +#marquee { + animation: marquee 60s linear infinite; + white-space: nowrap; + display: inline-block; +} + +img { + width: 88px; + height: 31px; + margin-right: 5px; +} +</style> \ No newline at end of file diff --git a/src/components/blinkiebar.vue b/src/components/blinkiebar.vue new file mode 100644 index 0000000..717c4f6 --- /dev/null +++ b/src/components/blinkiebar.vue @@ -0,0 +1,31 @@ +<template> + <div id="holder"> + <div id="marquee"> + <img v-for="(item, path) in blinkies" :src="path" /> + <img v-for="(item, path) in blinkies" :src="path" /> + </div> + </div> +</template> + +<script setup lang="ts"> +const blinkies = import.meta.glob("@/assets/images/blinkies/*") +</script> + +<style lang="css" scoped> +#holder { + overflow: hidden; + font-size: 0; +} + +#marquee { + animation: marquee 60s linear infinite; + white-space: nowrap; + display: inline-block; +} + +img { + width: 150px; + height: 20px; + margin-right: 5px; +} +</style> \ No newline at end of file diff --git a/src/components/icons/IconCommunity.vue b/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b05..0000000 --- a/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ -<template> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> - <path - d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z" - /> - </svg> -</template> diff --git a/src/components/icons/IconDocumentation.vue b/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791c..0000000 --- a/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ -<template> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" fill="currentColor"> - <path - d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z" - /> - </svg> -</template> diff --git a/src/components/icons/IconEcosystem.vue b/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f07..0000000 --- a/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ -<template> - <svg xmlns="http://www.w3.org/2000/svg" width="18" height="20" fill="currentColor"> - <path - d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z" - /> - </svg> -</template> diff --git a/src/components/icons/IconSupport.vue b/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834..0000000 --- a/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ -<template> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> - <path - d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z" - /> - </svg> -</template> diff --git a/src/components/icons/IconTooling.vue b/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d..0000000 --- a/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ -<!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license--> -<template> - <svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - aria-hidden="true" - role="img" - class="iconify iconify--mdi" - width="24" - height="24" - preserveAspectRatio="xMidYMid meet" - viewBox="0 0 24 24" - > - <path - d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z" - fill="currentColor" - ></path> - </svg> -</template> diff --git a/src/components/marqueebar.vue b/src/components/marqueebar.vue new file mode 100644 index 0000000..dc4efbc --- /dev/null +++ b/src/components/marqueebar.vue @@ -0,0 +1,38 @@ +<template> + <div id="holder"> + <div id="marquee" :style="{'animation': 'marquee ' + props.time + 's ' + 'linear infinite'}"> + <img :style="{'height': props.height + 'px', 'width': props.width + 'px' }" v-for="(item, path) in images" :src="path" /> + <img :style="{'height': props.height + 'px', 'width': props.width + 'px' }" v-for="(item, path) in images" :src="path" /> + </div> + </div> +</template> + +<script setup lang="ts"> +const props = defineProps({ + image: String, + width: Number, + height: Number, + time: Number +}) + +const path = `` + +let images: Record<string, () => Promise<unknown>>; +switch(props.image) { + case "blinkies": images = import.meta.glob("@/assets/images/blinkies/*") + case "banners": images = import.meta.glob("@/assets/images/banners/*") +} +</script> + +<style lang="css" scoped> +#holder { + overflow: hidden; + font-size: 0; +} + +#marquee { + /* animation: marquee 60s linear infinite; */ + white-space: nowrap; + display: inline-block; +} +</style> \ No newline at end of file diff --git a/src/components/navbar.vue b/src/components/navbar.vue new file mode 100644 index 0000000..5772596 --- /dev/null +++ b/src/components/navbar.vue @@ -0,0 +1,197 @@ +<template> + <nav> + <h1>set destination</h1> + <div> + <input type="checkbox" id="navmenu" class="navmenu"> + <ul> + <li v-for="link in Links"> + <!-- <img src="../assets/images/star.gif"><RouterLink :to="link.url">{{ link.name }}</RouterLink><img src="../assets/images/star.gif"> --> + <RouterLink :to="link.url"><img src="../assets/images/star.gif"><span class="font">></span> {{ + link.name + }} <img src="../assets/images/star.gif"></RouterLink> + <!-- <RouterLink :to="link.url">> {{ link.name }}</RouterLink> --> + </li> + </ul> + <div id="toggle" class="info"> + <label for="navmenu"><span id="openmenu"> + <div class="burger"></div> + <div class="burger"></div> + <div class="burger"></div> + </span><span class="font" id="closemenu">X</span></label> + </div> + </div> + </nav> +</template> +<script setup lang="ts"> +const Links = [ + { name: "home", url: "/" }, + { name: "socials", url: "/socials" }, + { name: "creatures", url: "/pets" }, + { name: "portfolio", url: "/portfolio" } +] +</script> +<style scoped> +nav { + border: 2px solid rgba(222, 222, 108, 1); + min-width: 20%; + height: fit-content; + padding: .5em; + + @media screen and (max-width: 500px) { + padding: 2px; + } +} + +h1 { + text-align: center; + font-size: 40px; + text-decoration: underline; + margin-bottom: 1em; + + @media screen and (max-width: 600px) { + font-size: 24px; + } +} + +ul { + list-style-type: none; + padding: 0; + text-align: center; + display: flex; + flex-direction: column; + + @media screen and (max-width: 1250px) { + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + gap: .5em; + + li { + border: rgba(222, 222, 108, 1) solid 2px; + width: fit-content; + height: fit-content; + /* padding: 1em; */ + margin: 0; + + a { + width: 250px; + height: 100px; + display: flex; + justify-content: center; + align-items: center; + background-color: black; + } + + @media screen and (max-width: 500px) { + a { + width: 175px; + height: 50px; + font-size: 20px; + } + + span { + font-size: 28px; + margin-right: .5em; + } + } + } + } +} + +li { + display: flex; + align-items: center; + justify-content: center; + margin: .5em 0; + + height: 32px; +} + +#toggle { + text-align: center; + border: 2px solid; + margin: .5em; + + @media screen and (min-width: 450px) { + display: none; + } +} + +label { + text-align: center; +} + +input { + display: none; +} + +@media screen and (max-width: 450px) { + ul { + display: none; + } +} + +#closemenu { + display: none; +} + +#openmenu { + display: flex; + flex-direction: column; + cursor: pointer; + user-select: none; + + justify-content: space-evenly; + align-items: center; +} + +.burger { + height: 2px; + width: 32px; + background-color: #fefefe; +} + +.navmenu:checked~* #openmenu { + display: none; +} + +.navmenu:checked~* #closemenu { + display: block; + cursor: pointer; + user-select: none; + color: #fefefe; +} + +.navmenu:checked+ul { + display: flex; +} + +span { + height: 32px; +} + +a { + text-decoration: none; + color: #fefefe; + + img { + display: none; + } +} + +a:hover { + text-decoration: underline; + + img { + display: inline; + } + + span { + display: none; + } +} + +a:active { + color: rgba(222, 222, 108, 1); +} +</style> \ No newline at end of file diff --git a/src/components/quotebanner.vue b/src/components/quotebanner.vue new file mode 100644 index 0000000..0d8e84c --- /dev/null +++ b/src/components/quotebanner.vue @@ -0,0 +1,41 @@ +<template> + <div id="billboard"> + <div id="quote"> + <img src="../assets/images/star.gif"> + {{ props.quote || "oops, something has gone wrong x3" }} + <img src="../assets/images/star.gif"> + </div> + </div> +</template> + +<script setup lang="ts"> +const props = defineProps({ + quote: String +}) +</script> + +<style scoped> +#billboard { + border: solid 2px rgba(222, 222, 108, 1); + text-align: center; + padding: .2em; + + margin-top: .2em; + margin-bottom: .2em; + + font-size: 32px; + @media screen and (max-width: 500px) { + font-size: 16px; + } + overflow: hidden; +} + +#quote { + animation: billboard 20s linear infinite; + + display: flex; + align-items: center; + justify-content: center; + gap: .5em; +} +</style> \ No newline at end of file diff --git a/src/components/stamps.vue b/src/components/stamps.vue new file mode 100644 index 0000000..12ae594 --- /dev/null +++ b/src/components/stamps.vue @@ -0,0 +1,28 @@ +<template> + <div> + <h2>stampbook</h2> + <div id="stamp"> + <img v-for="(item, path) in stamps" :src="path" /> + </div> + </div> +</template> +<script setup lang="ts"> +const stamps = import.meta.glob("@/assets/images/stamps/*") +</script> +<style scoped> +h2 { + margin: 0; + text-align: center; +} + +img { + height: 56px; + width: 99px; +} + +#stamp { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +</style> \ No newline at end of file diff --git a/src/components/underconstruction.vue b/src/components/underconstruction.vue new file mode 100644 index 0000000..f50778d --- /dev/null +++ b/src/components/underconstruction.vue @@ -0,0 +1,29 @@ +<template> + <div> + <img src="../assets/images/construction/barraconstruction.gif"> + <h1>UNDER CONSTRUCTION</h1> + <img src="../assets/images/construction/ICONE_EN_CONSTRUCTION.GIF"> + <p>come back soon!!!</p> + </div> +</template> +<style scoped> + +div { + display: flex; + flex-direction: column; + + justify-content: center; + align-items: center; + text-align: center; +} + +@media screen and (max-width: 800px) { + img { + width: 100%; + } + h1 { + font-size: 32px; + } +} + +</style> \ No newline at end of file diff --git a/src/components/wantedposter.vue b/src/components/wantedposter.vue new file mode 100644 index 0000000..eff6c34 --- /dev/null +++ b/src/components/wantedposter.vue @@ -0,0 +1,146 @@ +<template> + <div id="poster"> + <h1 class="warning"><span class="font">$$</span> FBI's most wanted <span class="font">$$</span></h1> + <div id="profile"> + <img class="info" src="../assets/images/pfp.png"> + <table> + <tbody> + <tr> + <td>name:</td> + <td>genki</td> + </tr> + <tr> + <td>height:</td> + <td>mouse-sized</td> + </tr> + <tr> + <td>species:</td> + <td><span class="info">space cabbit</span></td> + </tr> + <tr> + <td><span class="warning">wanted</span> for:</td> + <td>being too silly :3</td> + </tr> + <tr> + <td>last seen:</td> + <td><span class="warning">inside your walls...</span></td> + </tr> + </tbody> + </table> + </div> + <p><span class="info">!INFO</span><br> likes to smell plants and imprison bugs... can be found eating plastic + from your bins and + drinking kerosene at your nearest airport </p> + <p><span class="warning">!CAUTION</span><br> <img src="../assets/images/warningsign.gif"> will <span + class="highlight">bark</span> very loud if approached <img src="../assets/images/warningsign.gif"></p> + <div id="reward"> + <img src="../assets/images/missile.gif"> + <div> + <h1 class="highlight">!REWARD!</h1> + <p>second-hand <span class="highlight">Hwasong-18</span> ICBM<br>[fuel not included] </p> + </div> + <img src="../assets/images/missile.gif"> + </div> + </div> +</template> +<script setup lang="ts"></script> +<style scoped> +h1 { + text-decoration: underline; + text-align: center; + margin: 0; + @media screen and (max-width: 900px) { + font-size: 32px; + } + @media screen and (max-width: 600px) { + font-size: 24px; + } + @media screen and (max-width: 400px) { + font-size: 20px; + } +} + +p { + /* width: 100%; */ + margin: 0; + text-align: center; +} + +#poster { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 1em; + @media screen and (max-width: 600px) { + font-size: 24px; + } + @media screen and (max-width: 500px) { + font-size: 16px; + } +} + +#profile { + display: flex; + gap: 1em; + + align-items: center; + + img { + height: 256px; + border: solid 2px; + background-color: black; + } + + @media screen and (max-width: 900px) { + flex-direction: column; + img { + height: 128px; + } + } +} + +#reward { + display: flex; + height: fit-content; + align-items: center; + gap: .5em; + + border: 2px solid rgba(222, 222, 108, 1); + padding: 1em; + + background-color: black; + img { + height: 64px; + } + @media screen and (max-width: 600px) { + img { + height: 32px; + } + } + +} + +td { + text-align: center; + padding: .2em; +} + +table, +th, +td { + border: 2px solid white; + border-collapse: collapse; + background-color: black; + @media screen and (max-width: 600px) { + font-size: 24px; + } + @media screen and (max-width: 500px) { + font-size: 16px; + } +} + +td:nth-child(odd) { + text-align: right; +} +</style> \ No newline at end of file diff --git a/src/components/welcometitle.vue b/src/components/welcometitle.vue new file mode 100644 index 0000000..ce98291 --- /dev/null +++ b/src/components/welcometitle.vue @@ -0,0 +1,35 @@ +<template> + <p>welcome to...</p> + <h1>{{ props.title }}</h1> +</template> + +<script setup lang="ts"> +import { ref } from 'vue'; + +const props = defineProps({ + title: String +}) +</script> + +<style scoped> +h1 { + margin: 0; + padding-top: .25em; + padding-left: .25em; + + color: black; + font-size: 72px; + + @media screen and (max-width: 500px) { + font-size: 32px; + } + + background: linear-gradient(90deg, rgba(222, 222, 108, 1) 0%, rgba(222, 222, 108, 1) 25%, rgba(0, 212, 255, 0) 100%); +} + +p { + margin: 0; + + font-size: 32px; +} +</style> diff --git a/src/router/index.ts b/src/router/index.ts index 3e49915..cf15ff3 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,5 +1,9 @@ import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' + +import HomeView from '@/views/HomeView.vue' +import SocialsView from '@/views/SocialsView.vue' +import PetsView from '@/views/PetsView.vue' +import PortfolioView from '@/views/PortfolioView.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -10,13 +14,28 @@ const router = createRouter({ component: HomeView, }, { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue'), + path: '/socials', + name: 'socials', + component: SocialsView, }, + { + path: '/pets', + name: 'pets', + component: PetsView, + }, + { + path: '/portfolio', + name: 'portfolio', + component: PortfolioView, + }, + // { + // path: '/about', + // name: 'about', + // // route level code-splitting + // // this generates a separate chunk (About.[hash].js) for this route + // // which is lazy-loaded when the route is visited. + // component: () => import('../views/AboutView.vue'), + // }, ], }) diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue deleted file mode 100644 index 756ad2a..0000000 --- a/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ -<template> - <div class="about"> - <h1>This is an about page</h1> - </div> -</template> - -<style> -@media (min-width: 1024px) { - .about { - min-height: 100vh; - display: flex; - align-items: center; - } -} -</style> diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index d5c0217..928efcf 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -1,9 +1,35 @@ +<template> + <div id="holder"> + <div class="window">hello!!! welcome to my site, feel free to look around and learn something your government doesn't want you + to know :3</div> + <Wantedposter class="window" /> + <Stamps class="window"/> + </div> +</template> <script setup lang="ts"> -import TheWelcome from '../components/TheWelcome.vue' +import Stamps from '@/components/stamps.vue'; +import Wantedposter from '@/components/wantedposter.vue'; + </script> -<template> - <main> - <TheWelcome /> - </main> -</template> +<style scoped> +.window { + border: 2px dashed rgba(222, 222, 108, 1); + padding: 1em; + @media screen and (max-width: 500px) { + padding: .5em; + font-size: 24px; + background-color: black; + text-align: center; + } +} +#holder { + display: flex; + flex-wrap: wrap; + + justify-content: center; + + gap: 1em; + +} +</style> \ No newline at end of file diff --git a/src/views/PetsView.vue b/src/views/PetsView.vue new file mode 100644 index 0000000..0bf0604 --- /dev/null +++ b/src/views/PetsView.vue @@ -0,0 +1,8 @@ +<template> + <Underconstruction /> +</template> +<script setup lang="ts"> +import Underconstruction from '@/components/underconstruction.vue'; + +</script> +<style scoped></style> \ No newline at end of file diff --git a/src/views/PortfolioView.vue b/src/views/PortfolioView.vue new file mode 100644 index 0000000..0bf0604 --- /dev/null +++ b/src/views/PortfolioView.vue @@ -0,0 +1,8 @@ +<template> + <Underconstruction /> +</template> +<script setup lang="ts"> +import Underconstruction from '@/components/underconstruction.vue'; + +</script> +<style scoped></style> \ No newline at end of file diff --git a/src/views/SocialsView.vue b/src/views/SocialsView.vue new file mode 100644 index 0000000..0bf0604 --- /dev/null +++ b/src/views/SocialsView.vue @@ -0,0 +1,8 @@ +<template> + <Underconstruction /> +</template> +<script setup lang="ts"> +import Underconstruction from '@/components/underconstruction.vue'; + +</script> +<style scoped></style> \ No newline at end of file