after section 3

This commit is contained in:
Christian Kauer 2024-01-02 16:20:32 +01:00
parent f3c136eb41
commit 15e0a2c160
13 changed files with 1731 additions and 42 deletions

View File

@ -1,6 +1,8 @@
<template> <template>
<div> <div>
<NuxtPage/> <NuxtLayout>
<NuxtPage/>
</NuxtLayout>
</div> </div>
</template> </template>

3
composables/useTest.ts Normal file
View File

@ -0,0 +1,3 @@
export const useTest = () => {
return "TEST";
};

View File

@ -0,0 +1,10 @@
export const useUtilities = () => {
function toTitleCase(str:string) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
};
return {
toTitleCase,
};
};

7
layouts/custom.vue Normal file
View File

@ -0,0 +1,7 @@
<template>
<NavBar/>
<div class="mx-auto mt-4 max-w-7xl space-y-4 px-4 xs:px-8 sm:px-10 lg:px-16 pb-16 w-3/5">
<slot/>
</div>
</template>

6
layouts/default.vue Normal file
View File

@ -0,0 +1,6 @@
<template>
<div>
<NavBar/>
<slot/>
</div>
</template>

View File

@ -1,4 +1,7 @@
// https://nuxt.com/docs/api/configuration/nuxt-config // https://nuxt.com/docs/api/configuration/nuxt-config
import { resolve } from "path"
export default defineNuxtConfig({ export default defineNuxtConfig({
devtools: { enabled: true }, devtools: { enabled: true },
css: ['~/assets/css/main.scss'], css: ['~/assets/css/main.scss'],
@ -11,5 +14,9 @@ export default defineNuxtConfig({
alias: { alias: {
// "@":resolve(__dirname,"/"), // "@":resolve(__dirname,"/"),
assets:"/<rootDir>/assets" assets:"/<rootDir>/assets"
}, },
typescript: {
typeCheck: true,
strict: false
}
}) })

1662
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -10,12 +10,16 @@
"postinstall": "nuxt prepare" "postinstall": "nuxt prepare"
}, },
"devDependencies": { "devDependencies": {
"@nuxt/types": "^2.17.2",
"@nuxt/typescript-build": "^3.0.2",
"autoprefixer": "^10.4.16", "autoprefixer": "^10.4.16",
"nuxt": "^3.9.0", "nuxt": "^3.9.0",
"postcss": "^8.4.32", "postcss": "^8.4.32",
"tailwindcss": "^3.4.0", "tailwindcss": "^3.4.0",
"typescript": "^5.3.3",
"vue": "^3.4.3", "vue": "^3.4.3",
"vue-router": "^4.2.5" "vue-router": "^4.2.5",
"vue-tsc": "^1.8.27"
}, },
"dependencies": { "dependencies": {
"sass": "^1.69.6" "sass": "^1.69.6"

View File

@ -1,23 +1,24 @@
<script setup> <script setup>
const route = useRoute(); const route = useRoute();
const {toTitleCase} = useUtilities();
useHead({ useHead({
title :route.params.name title :toTitleCase(route.params.name )
}) });
definePageMeta({
layout: "custom"
});
</script> </script>
<template> <template>
<div> <div>
<NavBar/> <h1>test</h1>
<CarDetailHero/>
<CarDetailAttributes/>
<div class="mx-auto mt-4 max-w-7xl space-y-4 px-4 xs:px-8 sm:px-10 lg:px-16 pb-16 w-3/5"> <CarDetailDescription/>
<CarDetailContact/>
<CarDetailHero/>
<CarDetailAttributes/>
<CarDetailDescription/>
<CarDetailContact/>
</div>
</div> </div>
</template> </template>

View File

@ -1,30 +1,23 @@
<script setup> <script setup>
const route = useRoute(); const route = useRoute();
const {toTitleCase} = useUtilities();
useHead({ useHead({
title : `${route.params.make ? toTitleCase(route.params.make) : 'Cars'} in ${toTitleCase(route.params.city)}`, title : `${route.params.make ? toTitleCase(route.params.make) : 'Cars'} in ${toTitleCase(route.params.city)}`,
}); });
function toTitleCase(str) { definePageMeta({
return str.replace( layout: "custom"
/\w\S*/g, });
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
);
}
</script> </script>
<template> <template>
<div>
<NavBar/>
</div>
<div class="mx-auto mt-4 max-w-7xl space-y-4 px-4 xs:px-8 sm:px-10 lg:px-16 pb-16 w-3/5"> <div class="mt-32 flex">
<div class="mt-32 flex"> <CarSideBar/>
<CarSideBar/> <NuxtPage />
<NuxtPage />
</div>
</div> </div>
</template> </template>

View File

@ -1,10 +1,7 @@
<template> <template>
<div> <div>
<CarCards/>
<CarCards/> </div>
</div>
</template> </template>

View File

@ -4,8 +4,7 @@
}); });
</script> </script>
<template> <template>
<div> <div>
<NavBar/>
<CarHero/> <CarHero/>
</div> </div>
</template> </template>