Compare commits
5 commits
58a26cfb02
...
20ff5d9f2c
Author | SHA1 | Date | |
---|---|---|---|
20ff5d9f2c | |||
e718f3fe35 | |||
af10b7d238 | |||
5e2fd6f682 | |||
900203c845 |
8 changed files with 9411 additions and 6143 deletions
|
@ -1,4 +1,4 @@
|
||||||
FROM node:18-alpine AS build
|
FROM node:22-alpine AS build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ COPY . /app
|
||||||
|
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
FROM node:18-alpine AS prod
|
FROM node:22-alpine AS prod
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
@tailwind base;
|
@import "tailwindcss";
|
||||||
@tailwind components;
|
|
||||||
@tailwind utilities;
|
@theme {
|
||||||
|
--color-primary: #b22222;
|
||||||
|
--color-darkgray: #2b292a;
|
||||||
|
--color-lightgray: #e3dfdf;
|
||||||
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: "ConthraxSemiBold";
|
font-family: "ConthraxSemiBold";
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
v-for="sublink in navbar_sub_items"
|
v-for="sublink in navbar_sub_items"
|
||||||
:key="sublink.id"
|
:key="sublink.id"
|
||||||
:to="`/${params?.[0]}/${sublink.URL}`"
|
:to="`/${params?.[0]}/${sublink.URL}`"
|
||||||
:class="sublink.URL == params?.[1] && !params[2] ? 'active' : ''"
|
:class="sublink.URL == params?.[1] ? 'active' : ''"
|
||||||
class="w-fit"
|
class="w-fit"
|
||||||
>
|
>
|
||||||
{{ sublink.name }}
|
{{ sublink.name }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import tailwindcss from "@tailwindcss/vite";
|
||||||
|
|
||||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
export default defineNuxtConfig({
|
export default defineNuxtConfig({
|
||||||
app: {
|
app: {
|
||||||
|
@ -18,17 +20,14 @@ export default defineNuxtConfig({
|
||||||
|
|
||||||
css: ["~/assets/app.css", "~/assets/ConthraxSemiBold.css"],
|
css: ["~/assets/app.css", "~/assets/ConthraxSemiBold.css"],
|
||||||
|
|
||||||
postcss: {
|
|
||||||
plugins: {
|
|
||||||
tailwindcss: {},
|
|
||||||
autoprefixer: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
compatibilityDate: "2024-04-03",
|
compatibilityDate: "2024-04-03",
|
||||||
devtools: { enabled: false },
|
devtools: { enabled: false },
|
||||||
modules: ["@nuxtjs/strapi", "@nuxt/image"],
|
modules: ["@nuxtjs/strapi", "@nuxt/image"],
|
||||||
|
|
||||||
|
vite: {
|
||||||
|
plugins: [tailwindcss()],
|
||||||
|
},
|
||||||
|
|
||||||
strapi: {
|
strapi: {
|
||||||
url: process.env.PUBLIC_STRAPI_URL,
|
url: process.env.PUBLIC_STRAPI_URL,
|
||||||
prefix: "/api",
|
prefix: "/api",
|
||||||
|
|
15479
package-lock.json
generated
15479
package-lock.json
generated
File diff suppressed because it is too large
Load diff
14
package.json
14
package.json
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"name": "nuxt-app",
|
"name": "ff-webpage-landing",
|
||||||
|
"version": "1.2.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"description": "Feuerwehr/Verein Webseite",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
|
@ -12,14 +14,12 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nuxt/image": "^1.8.1",
|
"@nuxt/image": "^1.8.1",
|
||||||
"@nuxtjs/strapi": "^2.0.0",
|
"@nuxtjs/strapi": "^2.0.0",
|
||||||
"nuxt": "^3.13.2",
|
"@tailwindcss/vite": "^4.1.4",
|
||||||
|
"nuxt": "^3.16.2",
|
||||||
"vue": "latest",
|
"vue": "latest",
|
||||||
"vue-router": "latest"
|
"vue-router": "latest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^10.4.20",
|
"tailwindcss": "^4.1.4"
|
||||||
"postcss": "^8.4.47",
|
}
|
||||||
"tailwindcss": "^3.4.14"
|
|
||||||
},
|
|
||||||
"version": "1.2.2"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
|
{{ collectionDetail }}
|
||||||
<NuxtLayout name="default">
|
<NuxtLayout name="default">
|
||||||
<NotFound v-if="notFound" />
|
<NotFound v-if="notFound" />
|
||||||
<ContentBuilder v-else-if="showContentBuilder" :hero="page?.hero" :content="page?.content" />
|
<ContentBuilder v-else-if="showContentBuilder" :hero="page?.hero" :content="page?.content" />
|
||||||
|
@ -48,7 +49,7 @@ const { data: pages } = await useAsyncData("pages", () =>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
...(active_page_id.value == "" ? { slug: params[0], ref_only_access: true } : {}),
|
...(active_page_id.value == "" ? { slug: params.join("_"), ref_only_access: false } : {}),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -57,11 +58,11 @@ const page = computed(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
let detail = ref<Article | Operation | Event | Vehicle | undefined>(undefined);
|
let detail = ref<Article | Operation | Event | Vehicle | undefined>(undefined);
|
||||||
const searchDetail = computed(() => {
|
const collectionDetail = computed(() => {
|
||||||
if (!active_sub_item.value) return params[1];
|
if (!active_sub_item.value) return params[1];
|
||||||
return params[2];
|
return params[2];
|
||||||
});
|
});
|
||||||
if (searchDetail.value) {
|
if (collectionDetail.value) {
|
||||||
let collectionOfDetail = [
|
let collectionOfDetail = [
|
||||||
...new Set(
|
...new Set(
|
||||||
page.value?.content
|
page.value?.content
|
||||||
|
@ -88,12 +89,12 @@ if (searchDetail.value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const notFound = computed(() => {
|
const notFound = computed(() => {
|
||||||
if (searchDetail.value) return !detail.value;
|
if (collectionDetail.value && detail.value) return !detail.value;
|
||||||
else return active_page_id.value == "" && !page.value?.content && !page.value?.hero;
|
else return active_page_id.value == "" && !page.value?.content && !page.value?.hero;
|
||||||
});
|
});
|
||||||
|
|
||||||
const showContentBuilder = computed(() => {
|
const showContentBuilder = computed(() => {
|
||||||
if (searchDetail.value) return !detail.value;
|
if (collectionDetail.value && detail.value) return !detail.value;
|
||||||
else return !!page.value?.content || !!page.value?.hero;
|
else return !!page.value?.content || !!page.value?.hero;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
export default {
|
|
||||||
content: [
|
|
||||||
"./components/**/*.{js,vue,ts}",
|
|
||||||
"./layouts/**/*.vue",
|
|
||||||
"./pages/**/*.vue",
|
|
||||||
"./plugins/**/*.{js,ts}",
|
|
||||||
"./app.vue",
|
|
||||||
"./error.vue",
|
|
||||||
],
|
|
||||||
theme: {
|
|
||||||
extend: {
|
|
||||||
colors: {
|
|
||||||
primary: "#B22222",
|
|
||||||
darkgray: "#2B292A",
|
|
||||||
lightgray: "#E3DFDF",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
plugins: [],
|
|
||||||
};
|
|
Loading…
Add table
Reference in a new issue