feat: Çözümler bölümü + mobil menü; admin parser düzeltmeleri

- Çözümler: solutions tablosu, /cozumler liste + detay sayfası, anasayfa
  bölümü, tam admin CRUD (/admin/cozumler), header & footer linkleri,
  projelerde solution_slug ilişkisi, services-grid genelleştirildi
- Mobil menü (hamburger drawer) eklendi — header artık < lg'de gezilebilir
- Site ayarları parser: textarea CRLF (\r\n) normalizasyonu — neden biz,
  süreç adımları, değerler ve SSS blokları artık doğru parçalanıyor
- homepage_faq + garanti (title/description/items) saveSiteSettings'e
  bağlandı (daha önce hiç kaydedilmiyordu)
This commit is contained in:
egecankomur
2026-06-02 18:21:58 +03:00
parent f49df9cbeb
commit 2e001680bf
21 changed files with 1191 additions and 27 deletions
+19
View File
@@ -15,6 +15,20 @@ export interface ServiceRow extends AwRow {
hero_image?: string | null;
}
// İşletmelere sunulan çözümler — Hizmetler ile birebir aynı yapı, ayrı tablo.
export interface SolutionRow extends AwRow {
slug: string;
title: string;
description: string;
icon?: string | null;
order?: number | null;
featured?: boolean | null;
content?: string | null;
features?: string[] | null;
faq?: string[] | null; // each item is JSON: {"q":"...","a":"..."}
hero_image?: string | null;
}
export interface FaqItem {
q: string;
a: string;
@@ -36,6 +50,7 @@ export interface ProjectRow extends AwRow {
industry?: string | null;
duration?: string | null;
service_slug?: string | null;
solution_slug?: string | null;
metrics?: string[] | null; // JSON {"value":"+150%","label":"Trafik artışı"}
}
@@ -106,6 +121,10 @@ export interface SiteSettingsRow extends AwRow {
services_title?: string | null;
services_description?: string | null;
solutions_eyebrow?: string | null;
solutions_title?: string | null;
solutions_description?: string | null;
projects_eyebrow?: string | null;
projects_title?: string | null;
projects_description?: string | null;