e9da21b57e
- composables/useApi.ts: base API client with runtimeConfig - composables/useEquipment.ts: equipment API wrapper (list, detail, categories) - components/EquipmentCard.vue: card with image/placeholder, badge, name, price, add-to-cart - pages/mietkatalog.vue: SSR list with search, category chips, sort, pagination, skeleton, empty/error states - pages/mietkatalog/[id].vue: SSR detail with specs table, related items, breadcrumb, add-to-cart - nuxt.config.ts: runtimeConfig with apiBase - 101 vitest tests passing (5 files) - Build: 0 errors, 2.09 MB
78 lines
2.7 KiB
TypeScript
78 lines
2.7 KiB
TypeScript
// nuxt.config.ts – HMS Licht & Ton Frontend Configuration
|
||
import type { NuxtConfig } from "nuxt/schema";
|
||
|
||
export default defineNuxtConfig({
|
||
devtools: { enabled: false },
|
||
modules: ["@nuxtjs/tailwindcss"],
|
||
css: ["~/assets/css/main.css"],
|
||
app: {
|
||
head: {
|
||
htmlAttrs: { lang: "de" },
|
||
meta: [
|
||
{ charset: "utf-8" },
|
||
{ name: "viewport", content: "width=device-width, initial-scale=1" },
|
||
{ name: "robots", content: "noindex, nofollow, noarchive, nosnippet" },
|
||
{ name: "theme-color", content: "#131313" },
|
||
{ name: "description", content: "HMS Licht & Ton – Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport von Tontechnik und Lichttechnik." },
|
||
{ name: "author", content: "Hammerschmidt u. Mössle GbR" },
|
||
],
|
||
link: [
|
||
{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" },
|
||
{ rel: "preconnect", href: "https://fonts.googleapis.com" },
|
||
{ rel: "preconnect", href: "https://fonts.gstatic.com", crossorigin: "" },
|
||
{
|
||
rel: "stylesheet",
|
||
href: "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap",
|
||
},
|
||
],
|
||
script: [
|
||
{
|
||
type: "application/ld+json",
|
||
children: JSON.stringify({
|
||
"@context": "https://schema.org",
|
||
"@type": "LocalBusiness",
|
||
name: "HMS Licht & Ton – Hammerschmidt u. Mössle GbR",
|
||
description: "Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport.",
|
||
address: {
|
||
"@type": "PostalAddress",
|
||
streetAddress: "Grockelhofen 10",
|
||
addressLocality: "Leipheim",
|
||
postalCode: "89340",
|
||
addressCountry: "DE",
|
||
},
|
||
telephone: "+498221204433",
|
||
email: "info@hms-licht-ton.de",
|
||
url: "https://hms.media-on.de",
|
||
areaServed: "Süddeutschland",
|
||
knowsAbout: ["Tontechnik", "Lichttechnik", "Rigging", "Veranstaltungstechnik"],
|
||
}),
|
||
},
|
||
],
|
||
},
|
||
},
|
||
runtimeConfig: {
|
||
apiBase: process.env.API_BASE_URL || "http://localhost:8000",
|
||
public: {
|
||
apiBase: process.env.API_BASE_URL || "http://localhost:8000",
|
||
},
|
||
},
|
||
routeRules: {
|
||
"/mietkatalog": { ssr: true },
|
||
"/mietkatalog/**": { ssr: true },
|
||
"/warenkorb": { ssr: false },
|
||
"/mietanfrage": { ssr: false },
|
||
"/admin": { ssr: false },
|
||
},
|
||
typescript: {
|
||
strict: true,
|
||
typeCheck: false,
|
||
},
|
||
tailwindcss: {
|
||
cssPath: "~/assets/css/main.css",
|
||
configPath: "tailwind.config.ts",
|
||
},
|
||
nitro: {
|
||
compressPublicAssets: true,
|
||
},
|
||
});
|