Merge pull request 'minor v1.3.0' (#8) from develop into main

Reviewed-on: #8
This commit is contained in:
Julian Krauser 2025-04-21 11:39:52 +00:00
commit 20ff5d9f2c
8 changed files with 9411 additions and 6143 deletions

View file

@ -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

View file

@ -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";

View file

@ -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 }}

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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"
} }

View file

@ -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>

View file

@ -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: [],
};