Compare commits
No commits in common. "20ff5d9f2ca69e8b92fe31968fb613fedca5e73e" and "58a26cfb02db6ddd24f294367325d571e6800b3a" have entirely different histories.
20ff5d9f2c
...
58a26cfb02
8 changed files with 6119 additions and 9387 deletions
|
@ -1,4 +1,4 @@
|
||||||
FROM node:22-alpine AS build
|
FROM node:18-alpine AS build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ COPY . /app
|
||||||
|
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
FROM node:22-alpine AS prod
|
FROM node:18-alpine AS prod
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
@import "tailwindcss";
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
@theme {
|
@tailwind utilities;
|
||||||
--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] ? 'active' : ''"
|
:class="sublink.URL == params?.[1] && !params[2] ? 'active' : ''"
|
||||||
class="w-fit"
|
class="w-fit"
|
||||||
>
|
>
|
||||||
{{ sublink.name }}
|
{{ sublink.name }}
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
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: {
|
||||||
|
@ -20,14 +18,17 @@ 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",
|
||||||
|
|
15411
package-lock.json
generated
15411
package-lock.json
generated
File diff suppressed because it is too large
Load diff
14
package.json
14
package.json
|
@ -1,8 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ff-webpage-landing",
|
"name": "nuxt-app",
|
||||||
"version": "1.2.2",
|
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Feuerwehr/Verein Webseite",
|
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
|
@ -14,12 +12,14 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nuxt/image": "^1.8.1",
|
"@nuxt/image": "^1.8.1",
|
||||||
"@nuxtjs/strapi": "^2.0.0",
|
"@nuxtjs/strapi": "^2.0.0",
|
||||||
"@tailwindcss/vite": "^4.1.4",
|
"nuxt": "^3.13.2",
|
||||||
"nuxt": "^3.16.2",
|
|
||||||
"vue": "latest",
|
"vue": "latest",
|
||||||
"vue-router": "latest"
|
"vue-router": "latest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"tailwindcss": "^4.1.4"
|
"autoprefixer": "^10.4.20",
|
||||||
}
|
"postcss": "^8.4.47",
|
||||||
|
"tailwindcss": "^3.4.14"
|
||||||
|
},
|
||||||
|
"version": "1.2.2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<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" />
|
||||||
|
@ -49,7 +48,7 @@ const { data: pages } = await useAsyncData("pages", () =>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
...(active_page_id.value == "" ? { slug: params.join("_"), ref_only_access: false } : {}),
|
...(active_page_id.value == "" ? { slug: params[0], ref_only_access: true } : {}),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -58,11 +57,11 @@ const page = computed(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
let detail = ref<Article | Operation | Event | Vehicle | undefined>(undefined);
|
let detail = ref<Article | Operation | Event | Vehicle | undefined>(undefined);
|
||||||
const collectionDetail = computed(() => {
|
const searchDetail = computed(() => {
|
||||||
if (!active_sub_item.value) return params[1];
|
if (!active_sub_item.value) return params[1];
|
||||||
return params[2];
|
return params[2];
|
||||||
});
|
});
|
||||||
if (collectionDetail.value) {
|
if (searchDetail.value) {
|
||||||
let collectionOfDetail = [
|
let collectionOfDetail = [
|
||||||
...new Set(
|
...new Set(
|
||||||
page.value?.content
|
page.value?.content
|
||||||
|
@ -89,12 +88,12 @@ if (collectionDetail.value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const notFound = computed(() => {
|
const notFound = computed(() => {
|
||||||
if (collectionDetail.value && detail.value) return !detail.value;
|
if (searchDetail.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 (collectionDetail.value && detail.value) return !detail.value;
|
if (searchDetail.value) return !detail.value;
|
||||||
else return !!page.value?.content || !!page.value?.hero;
|
else return !!page.value?.content || !!page.value?.hero;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
21
tailwind.config.js
Normal file
21
tailwind.config.js
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
/** @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