Development 4.4.2 #8

Merged
th.guenther merged 17 commits from development-4.4.2 into main 2026-06-21 23:31:27 +02:00
6 changed files with 146 additions and 2 deletions
Showing only changes of commit a8205a4f96 - Show all commits
@@ -0,0 +1,20 @@
<?php
namespace App\Domains\Legal\Controllers;
use App\Providers\InertiaProvider;
use App\Scopes\CommonController;
use Illuminate\Http\Request;
use Inertia\Response;
class GdprController extends CommonController
{
public function __invoke(Request $request): Response
{
$inertiaProvider = new InertiaProvider('Legal/LegalPage', [
'title' => 'Datenschutzerklärung',
'content' => $this->tenant->gdpr_text ?? '',
]);
return $inertiaProvider->render();
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Domains\Legal\Controllers;
use App\Providers\InertiaProvider;
use App\Scopes\CommonController;
use Illuminate\Http\Request;
use Inertia\Response;
class ImpressController extends CommonController
{
public function __invoke(Request $request): Response
{
$inertiaProvider = new InertiaProvider('Legal/LegalPage', [
'title' => 'Impressum',
'content' => $this->tenant->impress_text ?? '',
]);
return $inertiaProvider->render();
}
}
+11
View File
@@ -0,0 +1,11 @@
<?php
use App\Domains\Legal\Controllers\ImpressController;
use App\Domains\Legal\Controllers\GdprController;
use App\Middleware\IdentifyTenant;
use Illuminate\Support\Facades\Route;
Route::middleware(IdentifyTenant::class)->group(function () {
Route::get('/impress', ImpressController::class);
Route::get('/gdpr', GdprController::class);
});
+83
View File
@@ -0,0 +1,83 @@
<script setup>
import AppLayout from "../../../../resources/js/layouts/AppLayout.vue";
import ShadowedBox from "../../../Views/Components/ShadowedBox.vue";
const props = defineProps({
title: String,
content: String,
})
</script>
<template>
<AppLayout :title="props.title">
<ShadowedBox class="legal-page-box">
<h2 class="legal-page-title">{{ props.title }}</h2>
<div class="legal-page-content" v-html="props.content"></div>
</ShadowedBox>
</AppLayout>
</template>
<style scoped>
.legal-page-box {
width: 95%;
margin: 20px auto;
padding: 20px;
overflow-x: hidden;
}
.legal-page-title {
font-size: 1.5rem;
margin: 0 0 20px 0;
color: #333;
border-bottom: 2px solid #e5e7eb;
padding-bottom: 12px;
}
.legal-page-content {
line-height: 1.7;
color: #374151;
word-wrap: break-word;
overflow-wrap: break-word;
}
.legal-page-content :deep(img) {
max-width: 100%;
height: auto;
}
.legal-page-content :deep(table) {
width: 100%;
overflow-x: auto;
display: block;
}
.legal-page-content :deep(a) {
color: #2563eb;
word-break: break-all;
}
.legal-page-content :deep(h1),
.legal-page-content :deep(h2),
.legal-page-content :deep(h3) {
margin-top: 1.5em;
margin-bottom: 0.5em;
color: #1f2937;
}
.legal-page-content :deep(p) {
margin-bottom: 1em;
}
@media (max-width: 639px) {
.legal-page-box {
width: 100%;
margin: 0;
padding: 16px 12px;
border-radius: 0;
}
.legal-page-title {
font-size: 1.2rem;
}
}
</style>
+11 -2
View File
@@ -172,8 +172,8 @@ const props = defineProps({
<div class="footer-inner"> <div class="footer-inner">
<span>Version {{ globalProps.version }}</span> <span>Version {{ globalProps.version }}</span>
<span class="footer-hide-mobile">mareike Modernes Anmeldesystem und richtig einfache Kostenerfassung</span> <span class="footer-hide-mobile">mareike Modernes Anmeldesystem und richtig einfache Kostenerfassung</span>
<span>Impressum</span> <a href="/impress" class="footer-link">Impressum</a>
<span>Datenschutzerklärung</span> <a href="/gdpr" class="footer-link">Datenschutzerklärung</a>
<span>&copy; 2022 2026</span> <span>&copy; 2022 2026</span>
</div> </div>
</footer> </footer>
@@ -407,6 +407,15 @@ const props = defineProps({
align-items: center; align-items: center;
} }
.footer-link {
color: #ffffff;
text-decoration: none;
}
.footer-link:hover {
text-decoration: underline;
}
/* ─── Direktlink zum aktuellen Event ─── */ /* ─── Direktlink zum aktuellen Event ─── */
.current-event-link { .current-event-link {
display: none; /* per Default ausgeblendet nur auf Mobile sichtbar */ display: none; /* per Default ausgeblendet nur auf Mobile sichtbar */
+1
View File
@@ -23,6 +23,7 @@ require_once __DIR__ . '/../app/Domains/Event/Routes/web.php';
require_once __DIR__ . '/../app/Domains/Event/Routes/api.php'; require_once __DIR__ . '/../app/Domains/Event/Routes/api.php';
require_once __DIR__ . '/../app/Domains/Budget/Routes/web.php'; require_once __DIR__ . '/../app/Domains/Budget/Routes/web.php';
require_once __DIR__ . '/../app/Domains/Budget/Routes/api.php'; require_once __DIR__ . '/../app/Domains/Budget/Routes/api.php';
require_once __DIR__ . '/../app/Domains/Legal/Routes/web.php';
Route::get('/LKvDUqWl', function () { Route::get('/LKvDUqWl', function () {