Marketing packages now use localized name/description data plus seeded placeholder-

driven breakdown tables, with frontend/cards/dialog updated accordingly (database/
  migrations/2025_10_17_000001_add_description_table_to_packages.php, database/
  migrations/2025_10_17_000002_add_translation_columns_to_packages.php, database/seeders/PackageSeeder.php, app/
  Http/Controllers/MarketingController.php, resources/js/pages/marketing/Packages.tsx).
  Filament Package resource gains locale tabs, markdown editor, numeric/toggle inputs, and simplified feature
  management (app/Filament/Resources/PackageResource.php, app/Filament/Resources/PackageResource/Pages/
  CreatePackage.php, .../EditPackage.php).
  Legal pages now render markdown-backed content inside the main layout via a new controller/view route setup and
  updated footer links (app/Http/Controllers/LegalPageController.php, routes/web.php, resources/views/partials/
  footer.blade.php, resources/js/pages/legal/Show.tsx, remove old static pages).
  Translation files and shared assets updated to cover new marketing/legal strings and styling tweaks (public/
  lang/*/marketing.json, resources/lang/*/marketing.php, resources/css/app.css, resources/js/admin/components/
  LanguageSwitcher.tsx).
This commit is contained in:
Codex Agent
2025-10-17 21:20:54 +02:00
parent 25e8f0511b
commit 48a2974152
30 changed files with 1702 additions and 711 deletions

View File

@@ -119,6 +119,108 @@
font-display: swap;
}
/* Basic typography styling for rendered markdown (prose) without Tailwind plugin */
.prose {
color: rgb(55 65 81);
font-family: var(--font-sans-marketing);
line-height: 1.75;
max-width: 100%;
}
.prose.prose-slate {
color: rgb(51 65 85);
}
.prose :where(p, ul, ol, blockquote, pre, table, figure) {
margin-bottom: 1.25em;
}
.prose h1 {
font-family: var(--font-display);
font-size: clamp(2.25rem, 4vw, 3rem);
line-height: 1.1;
margin-top: 0;
margin-bottom: 0.75em;
}
.prose h2 {
font-family: var(--font-display);
font-size: clamp(1.875rem, 3vw, 2.5rem);
line-height: 1.2;
margin-top: 1.6em;
margin-bottom: 0.6em;
}
.prose h3 {
font-size: clamp(1.5rem, 2.5vw, 2rem);
font-weight: 600;
line-height: 1.25;
margin-top: 1.4em;
margin-bottom: 0.5em;
}
.prose h4 {
font-size: 1.25rem;
font-weight: 600;
margin-top: 1.2em;
margin-bottom: 0.4em;
}
.prose p {
margin: 0 0 1.25em;
}
.prose a {
color: rgb(236 72 153);
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: 4px;
}
.prose strong {
font-weight: 600;
}
.prose ul,
.prose ol {
padding-left: 1.5em;
}
.prose ul {
list-style-type: disc;
}
.prose ol {
list-style-type: decimal;
}
.prose blockquote {
border-left: 4px solid rgba(236, 72, 153, 0.4);
color: rgb(75 85 99);
font-style: italic;
margin-left: 0;
padding-left: 1.25em;
}
.prose table {
border-collapse: collapse;
width: 100%;
}
.prose table th,
.prose table td {
border: 1px solid rgba(148, 163, 184, 0.6);
padding: 0.75em;
text-align: left;
}
.prose code {
background-color: rgba(148, 163, 184, 0.15);
border-radius: 0.375rem;
font-family: 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
padding: 0.15em 0.35em;
}
@layer utilities {
.font-display {
font-family: var(--font-display);