added navigation tilebar
parent
99b4bda8fa
commit
8a047ae683
|
|
@ -0,0 +1 @@
|
|||
import{_ as a,o as s,c as n,a as c}from"./index-eae96017.js";const o={},r={class:"back"},t=[c("h1",null,"Back",-1)];const e=a(o,[["render",function(a,c){return s(),n("div",r,t)}]]);export{e as default};
|
||||
|
|
@ -0,0 +1 @@
|
|||
import{_ as s,o as a,c as e,a as n}from"./index-eae96017.js";const c={},o={class:"biceps"},r=[n("h1",null,"Biceps",-1)];const t=s(c,[["render",function(s,n){return a(),e("div",o,r)}]]);export{t as default};
|
||||
|
|
@ -0,0 +1 @@
|
|||
import{_ as s,o as t,c as a,a as e}from"./index-eae96017.js";const n={},o={class:"chest"},r=[e("h1",null,"Chest",-1)];const c=s(n,[["render",function(s,e){return t(),a("div",o,r)}]]);export{c as default};
|
||||
|
|
@ -0,0 +1 @@
|
|||
import{_ as s,o as a,c as e,a as n}from"./index-eae96017.js";const o={},r={class:"legs"},t=[n("h1",null,"Legs",-1)];const c=s(o,[["render",function(s,n){return a(),e("div",r,t)}]]);export{c as default};
|
||||
|
|
@ -1 +0,0 @@
|
|||
import{_ as a,o as s,c as n,a as o}from"./index-62554207.js";const t={},e={class:"about"},r=[o("h1",null,"This is an about page",-1)];const i=a(t,[["render",function(a,o){return s(),n("div",e,r)}]]);export{i as default};
|
||||
|
|
@ -0,0 +1 @@
|
|||
import{_ as s,o,c as r,a}from"./index-eae96017.js";const e={},n={class:"shoulder"},t=[a("h1",null,"Shoulder",-1)];const d=s(e,[["render",function(s,a){return o(),r("div",n,t)}]]);export{d as default};
|
||||
|
|
@ -0,0 +1 @@
|
|||
import{_ as s,o as n,c as t,a as r}from"./index-eae96017.js";const a={},e={class:"triceps"},o=[r("h1",null,[r("button",null,"Triceps")],-1)];const c=s(a,[["render",function(s,r){return n(),t("div",e,o)}]]);export{c as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -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>
|
||||
|
Before Width: | Height: | Size: 276 B |
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="UTF-8"><link rel="icon" href="./favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Hello_World_Vue 01</title><script type="module" crossorigin src="./assets/index-62554207.js"></script></head><body><div id="app"></div></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="UTF-8"><link rel="icon" href="./favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Hello_World_Vue 01</title><script type="module" crossorigin src="./assets/index-eae96017.js"></script></head><body><div id="app"></div></body></html>
|
||||
|
|
@ -9,6 +9,7 @@
|
|||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"pinia": "^2.0.32",
|
||||
"uuid": "^9.0.0",
|
||||
"vite-plugin-css-injected-by-js": "^3.1.0",
|
||||
"vite-plugin-html": "^3.2.0",
|
||||
"vue": "^3.2.47",
|
||||
|
|
@ -3735,6 +3736,14 @@
|
|||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.2.2.tgz",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"pinia": "^2.0.32",
|
||||
"uuid": "^9.0.0",
|
||||
"vite-plugin-css-injected-by-js": "^3.1.0",
|
||||
"vite-plugin-html": "^3.2.0",
|
||||
"vue": "^3.2.47",
|
||||
|
|
|
|||
47
src/App.vue
47
src/App.vue
|
|
@ -1,39 +1,26 @@
|
|||
<script setup>
|
||||
import { RouterLink, RouterView } from 'vue-router'
|
||||
import HelloWorld from './components/HelloWorld.vue'
|
||||
import { NavigationModel, Nav } from '@/components';
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<header>
|
||||
<img alt="Vue logo" class="logo" src="@/assets/logo.svg" width="125" height="125" />
|
||||
|
||||
<div class="wrapper">
|
||||
<nav>
|
||||
<RouterLink to="/">Home</RouterLink>
|
||||
<RouterLink to="/chest">Chest</RouterLink>
|
||||
<RouterLink to="/shoulder">Shoulder</RouterLink>
|
||||
<RouterLink to="/legs">Legs</RouterLink>
|
||||
<RouterLink to="/back">Back</RouterLink>
|
||||
<RouterLink to="/biceps">Biceps</RouterLink>
|
||||
<RouterLink to="/triceps">Triceps</RouterLink>
|
||||
</nav>
|
||||
<div class="app-container">
|
||||
<NavigationModel />
|
||||
<!-- <Nav /> -->
|
||||
<div class="container pt-4 pb-4">
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<RouterView />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import '/css/head.scss';
|
||||
header {
|
||||
line-height: 1.5;
|
||||
max-height: 100vh;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: block;
|
||||
margin: 0 auto 2rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
width: 100%;
|
||||
font-size: 12px;
|
||||
|
|
@ -62,12 +49,8 @@ nav a:first-of-type {
|
|||
@media (min-width: 1024px) {
|
||||
header {
|
||||
display: flex;
|
||||
place-items: center;
|
||||
padding-right: calc(var(--section-gap) / 2);
|
||||
}
|
||||
|
||||
.logo {
|
||||
margin: 0 2rem 0 0;
|
||||
place-items: top;
|
||||
padding-right: calc(var(--section-gap));
|
||||
}
|
||||
|
||||
header .wrapper {
|
||||
|
|
@ -77,8 +60,8 @@ nav a:first-of-type {
|
|||
}
|
||||
|
||||
nav {
|
||||
text-align: right;
|
||||
margin-left: -1rem;
|
||||
text-align: center;
|
||||
margin-left: 2rem;
|
||||
font-size: 1rem;
|
||||
|
||||
padding: 1rem 0;
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
<script setup>
|
||||
defineProps({
|
||||
msg: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="greetings">
|
||||
<h1 class="green">{{ msg }}</h1>
|
||||
<h3>
|
||||
You’ve successfully created a project with
|
||||
<a href="https://vitejs.dev/" target="_blank" rel="noopener">Vite</a> +
|
||||
<a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>.
|
||||
</h3>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
h1 {
|
||||
font-weight: 500;
|
||||
font-size: 2.6rem;
|
||||
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>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
export { default as NavigationModel } from './NavigationModel.vue';
|
||||
export { default as Nav } from './Nav.vue';
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<nav v-show="true" class="navbar navbar-expand navbar-dark bg-dark">
|
||||
<div class="navbar-nav">
|
||||
<router-link to="/" class="nav-item nav-link">Home</router-link>
|
||||
<router-link to="/users" class="nav-item nav-link">Users</router-link>
|
||||
<button @click="authStore.logout()" class="btn btn-link nav-item nav-link">Logout</button>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<nav v-show="true" class="navbar navbar-expand navbar-dark bg-dark">
|
||||
<div class="navbar-nav">
|
||||
<router-link to="/" class="nav-item nav-link">HomeView</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Legs</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Back</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Chest</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Shoulder</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Triceps</router-link>
|
||||
<router-link to="/Muscles" class="nav-item nav-link">Bicepts</router-link>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
<script setup>
|
||||
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'
|
||||
</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://vitejs.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://www.cypress.io/" target="_blank" rel="noopener">Cypress</a> and
|
||||
<a href="https://on.cypress.io/component" target="_blank">Cypress Component Testing</a>.
|
||||
|
||||
<br />
|
||||
|
||||
More instructions are available in <code>README.md</code>.
|
||||
</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 subscribe to
|
||||
<a href="https://news.vuejs.org" target="_blank" rel="noopener">our mailing list</a> and follow
|
||||
the official
|
||||
<a href="https://twitter.com/vuejs" target="_blank" rel="noopener">@vuejs</a>
|
||||
twitter 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>
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
<template>
|
||||
<div class="item">
|
||||
<i>
|
||||
<slot name="icon"></slot>
|
||||
</i>
|
||||
<div class="details">
|
||||
<h3>
|
||||
<slot name="heading"></slot>
|
||||
</h3>
|
||||
<slot>
|
||||
<p></p>
|
||||
</slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.item {
|
||||
margin-top: 2rem;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.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>
|
||||
|
|
@ -7,8 +7,10 @@ import router from './router'
|
|||
import './assets/main.css'
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
app.use(createPinia())
|
||||
app.use(router)
|
||||
|
||||
app.mount('#app')
|
||||
window.addEventListener
|
||||
('load',
|
||||
() => app.mount('#app')
|
||||
)
|
||||
|
|
@ -15,7 +15,7 @@ const router = createRouter({
|
|||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/ChestView.vue')
|
||||
},
|
||||
{
|
||||
path: '/shoulder',
|
||||
|
|
@ -23,7 +23,7 @@ const router = createRouter({
|
|||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/ShoulderView.vue')
|
||||
},
|
||||
{
|
||||
path: '/legs',
|
||||
|
|
@ -31,7 +31,7 @@ const router = createRouter({
|
|||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/LegsView.vue')
|
||||
},
|
||||
{
|
||||
path: '/back',
|
||||
|
|
@ -39,7 +39,7 @@ const router = createRouter({
|
|||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/BackView.vue')
|
||||
},
|
||||
{
|
||||
path: '/biceps',
|
||||
|
|
@ -47,15 +47,15 @@ const router = createRouter({
|
|||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/BicepsView.vue')
|
||||
},
|
||||
{
|
||||
path: '/triceps',
|
||||
name: 'teiceps',
|
||||
name: 'triceps',
|
||||
// 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/PushView.vue')
|
||||
component: () => import('../views/Muscles/TricepsView.vue')
|
||||
},
|
||||
]
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<script setup>
|
||||
import TheWelcome from '../components/TheWelcome.vue'
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main>
|
||||
<TheWelcome />
|
||||
<h1 HomeView h1/>
|
||||
</main>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div class="back">
|
||||
<h1>Back</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@media (min-width: 1024px) {
|
||||
.about {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div class="biceps">
|
||||
<h1>Biceps</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@media (min-width: 1024px) {
|
||||
.about {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="about">
|
||||
<h1>This is an about page</h1>
|
||||
<div class="chest">
|
||||
<h1>Chest</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div class="legs">
|
||||
<h1>Legs</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@media (min-width: 1024px) {
|
||||
.about {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div class="shoulder">
|
||||
<h1>Shoulder</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@media (min-width: 1024px) {
|
||||
.about {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div class="triceps">
|
||||
<h1><button>Triceps</button></h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@media (min-width: 1024px) {
|
||||
.about {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -21,7 +21,9 @@ export default defineConfig({
|
|||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||||
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
||||
'/css': fileURLToPath(new URL('./src/css', import.meta.url)),
|
||||
'config': fileURLToPath(new URL('./src/css/_config.scss', import.meta.url)),
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue