From fa8c39c54ceddf6a625b52ee6687cd14330136e1 Mon Sep 17 00:00:00 2001 From: armanvibecoding <219570442+armanvibecoding@users.noreply.github.com> Date: Thu, 6 Aug 2026 00:38:28 +0300 Subject: [PATCH 1/2] Rebrand platform as FitmentOps --- .github/pull_request_template.md | 25 + .github/workflows/ci.yml | 18 +- .../Backend/AutoPartsStore.API/Program.cs | 4 +- .../Services/EmailService.cs | 6 +- .../AutoPartsStore.API/appsettings.json | 8 +- AutoPartsStore/Frontend/client/.env.example | 6 + AutoPartsStore/Frontend/client/index.html | 7 +- .../Frontend/client/package-lock.json | 4 +- AutoPartsStore/Frontend/client/package.json | 2 +- .../Frontend/client/src/components/Footer.jsx | 9 +- .../Frontend/client/src/components/Header.jsx | 5 +- .../client/src/components/SeoHead.jsx | 2 +- .../Frontend/client/src/config/brand.js | 10 + .../Frontend/client/src/pages/AboutPage.jsx | 56 +- .../Frontend/client/src/pages/CareerPage.jsx | 135 +- .../Frontend/client/src/pages/ContactPage.jsx | 173 +-- .../Frontend/client/src/pages/FAQPage.jsx | 259 ++-- .../client/src/pages/ProductDetailPage.jsx | 3 +- .../Frontend/client/src/pages/ReturnsPage.jsx | 144 +- AutoPartsStore/start-backend.bat | 2 +- AutoPartsStore/start-backend.ps1 | 2 +- AutoPartsStore/start-frontend.bat | 2 +- AutoPartsStore/start-frontend.ps1 | 2 +- CONTRIBUTING.md | 65 + parca muh.sln => FitmentOps.sln | 4 +- README.md | 1172 +++-------------- SECURITY.md | 33 + docs/README.tr.md | 141 ++ google.html | Bin 3778 -> 0 bytes search2.html | Bin 8614 -> 0 bytes search_result.html | Bin 199460 -> 0 bytes unnamed.jpg | Bin 105822 -> 0 bytes 32 files changed, 729 insertions(+), 1570 deletions(-) create mode 100644 .github/pull_request_template.md create mode 100644 AutoPartsStore/Frontend/client/src/config/brand.js create mode 100644 CONTRIBUTING.md rename parca muh.sln => FitmentOps.sln (97%) create mode 100644 SECURITY.md create mode 100644 docs/README.tr.md delete mode 100644 google.html delete mode 100644 search2.html delete mode 100644 search_result.html delete mode 100644 unnamed.jpg diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..55f6305 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,25 @@ +## Summary + +Describe the problem and the outcome of this change. + +## Impact + +- Users/operators affected: +- Data or schema impact: +- Configuration impact: +- Compatibility impact: + +## Validation + +- [ ] Relevant automated tests pass +- [ ] Formatting and lint checks pass +- [ ] Dependency and secret scans pass +- [ ] Failure paths were exercised +- [ ] Migration/rollback notes are included when applicable + +## Security and operations + +- Authentication/authorization impact: +- Personal or payment data impact: +- Logging/metrics/alerting impact: +- Rollout and rollback plan: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58c1be7..98d567a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,15 +56,15 @@ jobs: - name: Start frontend for browser smoke working-directory: AutoPartsStore/Frontend/client run: | - npm run dev -- --host 127.0.0.1 --port 4173 --strictPort > "$RUNNER_TEMP/parca-vite.log" 2>&1 & - echo $! > "$RUNNER_TEMP/parca-vite.pid" + npm run dev -- --host 127.0.0.1 --port 4173 --strictPort > "$RUNNER_TEMP/fitmentops-vite.log" 2>&1 & + echo $! > "$RUNNER_TEMP/fitmentops-vite.pid" for attempt in {1..40}; do if curl --fail --silent http://127.0.0.1:4173/ >/dev/null; then exit 0 fi sleep 0.25 done - cat "$RUNNER_TEMP/parca-vite.log" + cat "$RUNNER_TEMP/fitmentops-vite.log" exit 1 - name: Run checkout browser smoke @@ -75,8 +75,8 @@ jobs: - name: Stop frontend browser-smoke server if: always() run: | - if [ -f "$RUNNER_TEMP/parca-vite.pid" ]; then - kill "$(cat "$RUNNER_TEMP/parca-vite.pid")" 2>/dev/null || true + if [ -f "$RUNNER_TEMP/fitmentops-vite.pid" ]; then + kill "$(cat "$RUNNER_TEMP/fitmentops-vite.pid")" 2>/dev/null || true fi - name: Set up .NET @@ -88,16 +88,16 @@ jobs: run: dotnet tool restore - name: Restore backend - run: dotnet restore "parca muh.sln" + run: dotnet restore FitmentOps.sln - name: Audit NuGet dependencies - run: dotnet list "parca muh.sln" package --vulnerable --include-transitive + run: dotnet list FitmentOps.sln package --vulnerable --include-transitive - name: Build backend with warnings as errors - run: dotnet build "parca muh.sln" --configuration Release --no-restore -warnaserror + run: dotnet build FitmentOps.sln --configuration Release --no-restore -warnaserror - name: Verify backend formatting - run: dotnet format "parca muh.sln" --verify-no-changes --no-restore + run: dotnet format FitmentOps.sln --verify-no-changes --no-restore - name: Verify EF Core migration snapshot env: diff --git a/AutoPartsStore/Backend/AutoPartsStore.API/Program.cs b/AutoPartsStore/Backend/AutoPartsStore.API/Program.cs index 7e308cc..e0d17a0 100644 --- a/AutoPartsStore/Backend/AutoPartsStore.API/Program.cs +++ b/AutoPartsStore/Backend/AutoPartsStore.API/Program.cs @@ -119,8 +119,8 @@ ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, - ValidIssuer = builder.Configuration["Jwt:Issuer"] ?? "AutoPartsStore", - ValidAudience = builder.Configuration["Jwt:Audience"] ?? "AutoPartsStoreUsers", + ValidIssuer = builder.Configuration["Jwt:Issuer"] ?? "FitmentOps.API", + ValidAudience = builder.Configuration["Jwt:Audience"] ?? "FitmentOps.Web", IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey)) }; }); diff --git a/AutoPartsStore/Backend/AutoPartsStore.API/Services/EmailService.cs b/AutoPartsStore/Backend/AutoPartsStore.API/Services/EmailService.cs index a3ed3e1..a569cf7 100644 --- a/AutoPartsStore/Backend/AutoPartsStore.API/Services/EmailService.cs +++ b/AutoPartsStore/Backend/AutoPartsStore.API/Services/EmailService.cs @@ -23,7 +23,7 @@ public async Task SendOrderConfirmationEmail(Order order) var body = $@" -

Parça Mühendisi - Sipariş Onayı

+

FitmentOps - Sipariş Onayı

Merhaba {Encode(order.CustomerName)},

Siparişiniz başarıyla alınmıştır.

@@ -47,7 +47,7 @@ public async Task SendOrderConfirmationEmail(Order order)

Siparişinizi buradan takip edebilirsiniz.

Teşekkür ederiz!

-

Parça Mühendisi

+

FitmentOps

"; @@ -99,7 +99,7 @@ private async Task SendEmail(string toEmail, string subject, string body) var smtpHost = _configuration["EmailSettings:SmtpServer"]; var smtpPortValue = _configuration["EmailSettings:SmtpPort"]; var fromEmail = _configuration["EmailSettings:SenderEmail"]; - var senderName = _configuration["EmailSettings:SenderName"] ?? "Parça Mühendisi"; + var senderName = _configuration["EmailSettings:SenderName"] ?? "FitmentOps"; var username = _configuration["EmailSettings:Username"]; var fromPassword = _configuration["EmailSettings:Password"]; diff --git a/AutoPartsStore/Backend/AutoPartsStore.API/appsettings.json b/AutoPartsStore/Backend/AutoPartsStore.API/appsettings.json index 87a6020..63329f1 100644 --- a/AutoPartsStore/Backend/AutoPartsStore.API/appsettings.json +++ b/AutoPartsStore/Backend/AutoPartsStore.API/appsettings.json @@ -26,11 +26,11 @@ ] }, "ConnectionStrings": { - "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=AutoPartsStoreDb;Trusted_Connection=true;MultipleActiveResultSets=true" + "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=FitmentOpsDb;Trusted_Connection=true;MultipleActiveResultSets=true" }, "Jwt": { - "Issuer": "AutoPartsStore", - "Audience": "AutoPartsStoreUsers" + "Issuer": "FitmentOps.API", + "Audience": "FitmentOps.Web" }, "HostedCheckout": { "ReservationLifetime": "00:15:00" @@ -84,7 +84,7 @@ "SmtpServer": "smtp.gmail.com", "SmtpPort": 587, "SenderEmail": "", - "SenderName": "AutoParts Store", + "SenderName": "FitmentOps", "AdminEmail": "", "Username": "", "Password": "" diff --git a/AutoPartsStore/Frontend/client/.env.example b/AutoPartsStore/Frontend/client/.env.example index 52892ac..606dd0e 100644 --- a/AutoPartsStore/Frontend/client/.env.example +++ b/AutoPartsStore/Frontend/client/.env.example @@ -2,5 +2,11 @@ # Development ortamı için varsayılan değer VITE_API_BASE_URL=http://localhost:5167/api +# Optional public brand/contact settings. Blank values are hidden in the UI. +VITE_SUPPORT_EMAIL= +VITE_SUPPORT_PHONE= +VITE_BUSINESS_ADDRESS= +VITE_CAREER_EMAIL= + # Production ortamı için bu değeri değiştirin: # VITE_API_BASE_URL=https://your-production-api.com/api diff --git a/AutoPartsStore/Frontend/client/index.html b/AutoPartsStore/Frontend/client/index.html index 51a480e..e4bb059 100644 --- a/AutoPartsStore/Frontend/client/index.html +++ b/AutoPartsStore/Frontend/client/index.html @@ -1,10 +1,11 @@ - + - + + - Parça Mühendisi + FitmentOps
diff --git a/AutoPartsStore/Frontend/client/package-lock.json b/AutoPartsStore/Frontend/client/package-lock.json index b4364d9..8664a8d 100644 --- a/AutoPartsStore/Frontend/client/package-lock.json +++ b/AutoPartsStore/Frontend/client/package-lock.json @@ -1,11 +1,11 @@ { - "name": "client", + "name": "fitmentops-web", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "client", + "name": "fitmentops-web", "version": "0.0.0", "dependencies": { "axios": "^1.13.1", diff --git a/AutoPartsStore/Frontend/client/package.json b/AutoPartsStore/Frontend/client/package.json index 8924889..db22901 100644 --- a/AutoPartsStore/Frontend/client/package.json +++ b/AutoPartsStore/Frontend/client/package.json @@ -1,5 +1,5 @@ { - "name": "client", + "name": "fitmentops-web", "private": true, "version": "0.0.0", "type": "module", diff --git a/AutoPartsStore/Frontend/client/src/components/Footer.jsx b/AutoPartsStore/Frontend/client/src/components/Footer.jsx index d9f776c..579f93b 100644 --- a/AutoPartsStore/Frontend/client/src/components/Footer.jsx +++ b/AutoPartsStore/Frontend/client/src/components/Footer.jsx @@ -1,4 +1,5 @@ import { Link } from 'react-router'; +import { brand } from '../config/brand'; const Footer = () => { return ( @@ -35,15 +36,15 @@ const Footer = () => {

İletişim

-

© 2025 Parça Mühendisi. Tüm hakları saklıdır.

+

© {new Date().getFullYear()} {brand.name}. Apache-2.0 lisansı ile sunulur.

diff --git a/AutoPartsStore/Frontend/client/src/components/Header.jsx b/AutoPartsStore/Frontend/client/src/components/Header.jsx index bd543f8..09eae6f 100644 --- a/AutoPartsStore/Frontend/client/src/components/Header.jsx +++ b/AutoPartsStore/Frontend/client/src/components/Header.jsx @@ -4,6 +4,7 @@ import { useCart } from '../context/CartContext'; import { useAuth } from '../context/AuthContext'; import { useWishlist } from '../context/WishlistContext'; import { categoriesAPI, brandsAPI } from '../services/api'; +import { brand } from '../config/brand'; const Header = () => { const { getCartCount } = useCart(); @@ -64,7 +65,7 @@ const Header = () => {
-
Hoş Geldiniz! Yedek Parça Mühendisi
+
{brand.tagline}
{user ? (
@@ -111,7 +112,7 @@ const Header = () => {
- Parça Mühendisi + {brand.name}
diff --git a/AutoPartsStore/Frontend/client/src/components/SeoHead.jsx b/AutoPartsStore/Frontend/client/src/components/SeoHead.jsx index 9712b90..605e5e6 100644 --- a/AutoPartsStore/Frontend/client/src/components/SeoHead.jsx +++ b/AutoPartsStore/Frontend/client/src/components/SeoHead.jsx @@ -50,7 +50,7 @@ const SeoHead = ({ title, description, canonicalPath, structuredData }) => { if (structuredData) { script = document.createElement('script'); script.type = 'application/ld+json'; - script.dataset.parcaMuhendisiSeo = 'true'; + script.dataset.fitmentOpsSeo = 'true'; script.textContent = JSON.stringify(structuredData).replace(/ (typeof value === 'string' ? value.trim() : ''); + +export const brand = Object.freeze({ + name: 'FitmentOps', + tagline: 'Automotive Commerce & Operations Platform', + supportEmail: optionalSetting(import.meta.env.VITE_SUPPORT_EMAIL), + supportPhone: optionalSetting(import.meta.env.VITE_SUPPORT_PHONE), + businessAddress: optionalSetting(import.meta.env.VITE_BUSINESS_ADDRESS), + careerEmail: optionalSetting(import.meta.env.VITE_CAREER_EMAIL), +}); diff --git a/AutoPartsStore/Frontend/client/src/pages/AboutPage.jsx b/AutoPartsStore/Frontend/client/src/pages/AboutPage.jsx index 9601f14..57ea153 100644 --- a/AutoPartsStore/Frontend/client/src/pages/AboutPage.jsx +++ b/AutoPartsStore/Frontend/client/src/pages/AboutPage.jsx @@ -1,3 +1,4 @@ +import { brand } from '../config/brand'; import './InfoPages.css'; const AboutPage = () => { @@ -8,55 +9,44 @@ const AboutPage = () => {
-

Parça Mühendisi - Otomotiv Yedek Parça Uzmanı

+

{brand.name}: doğru parçadan kontrollü operasyona

- Parça Mühendisi olarak, 2010 yılından bu yana otomotiv sektöründe - kaliteli ve güvenilir yedek parça tedariki konusunda müşterilerimize - hizmet vermekteyiz. Türkiye'nin dört bir yanına ulaşan geniş ürün - yelpazemiz ve uzman ekibimizle, aracınız için ihtiyaç duyduğunuz - her türlü yedek parçayı en uygun fiyatlarla sunuyoruz. + {brand.name}, otomotiv satış sonrası pazarı için araç uyumluluğu, + ürün kataloğu, sipariş, ödeme, sevkiyat, iade ve B2B süreçlerini + tek bir operasyon platformunda birleştiren açık kaynaklı bir + yazılım projesidir.

-

Vizyonumuz

+

Ürün yaklaşımı

- Türkiye'nin en güvenilir ve tercih edilen otomotiv yedek parça - tedarikçisi olmak, müşterilerimize en kaliteli ürünleri en hızlı - şekilde ulaştırmak vizyonumuzun temelini oluşturmaktadır. + Platform, doğrulanmamış bir parçayı uyumlu göstermemeyi ve harici + sağlayıcı yapılandırılmadığında işlemleri güvenli biçimde kapalı + tutmayı temel alır. Fitment sonucu; katalog kanıtı, kaynak ve güven + seviyesiyle birlikte değerlendirilir.

-

Misyonumuz

-

- Müşteri memnuniyetini ön planda tutarak, orijinal ve kaliteli - yedek parçaları uygun fiyatlarla sunmak, hızlı ve güvenilir - teslimat ile müşterilerimizin ihtiyaçlarını en iyi şekilde - karşılamaktır. -

-
- -
-

Neden Biz?

+

Platform kapsamı

    -
  • ✓ 15 yıllık sektör tecrübesi
  • -
  • ✓ 10.000+ orijinal ve muadil yedek parça çeşidi
  • -
  • ✓ Türkiye geneline hızlı kargo
  • -
  • ✓ Uzman müşteri hizmetleri ekibi
  • -
  • ✓ Güvenli ödeme seçenekleri
  • -
  • ✓ Kolay iade ve değişim
  • -
  • ✓ Uygun fiyat garantisi
  • +
  • ✓ Araç ağacı, OEM ve interchange kodlarıyla kanıtlı uyumluluk
  • +
  • ✓ Sunucu fiyatlı, idempotent checkout ve stok rezervasyonu
  • +
  • ✓ Ödeme, iade, sevkiyat ve RMA durum makineleri
  • +
  • ✓ Garaj, bakım günlüğü ve parça geçmişi
  • +
  • ✓ B2B fiyatlandırma, RFQ, tedarikçi ve satış kanalı yönetimi
  • +
  • ✓ Rol ayrımlı yönetim, audit zinciri ve operasyonel sağlık
-

Ürün Kalitemiz

+

Yayın durumu

- Tüm ürünlerimiz, uluslararası kalite standartlarına uygun olarak - seçilmekte ve test edilmektedir. Orijinal parça üreticileri ve - güvenilir tedarikçilerle çalışarak, müşterilerimize en kaliteli - ürünleri sunmayı garanti ediyoruz. + Bu sürüm üretim öncesi mühendislik aşamasındadır. Gerçek ödeme, + e-belge, kargo ve pazaryeri işlemleri; sağlayıcı sözleşmeleri, + hukuki kontroller ve sandbox sertifikasyonu tamamlanmadan + etkinleştirilmez.

diff --git a/AutoPartsStore/Frontend/client/src/pages/CareerPage.jsx b/AutoPartsStore/Frontend/client/src/pages/CareerPage.jsx index f995af6..c4f3d0f 100644 --- a/AutoPartsStore/Frontend/client/src/pages/CareerPage.jsx +++ b/AutoPartsStore/Frontend/client/src/pages/CareerPage.jsx @@ -1,130 +1,49 @@ +import { brand } from '../config/brand'; import './InfoPages.css'; const CareerPage = () => { - const openPositions = [ - { - id: 1, - title: 'Satış Danışmanı', - department: 'Satış', - location: 'İstanbul', - type: 'Tam Zamanlı', - description: 'Müşterilerimize yedek parça konusunda danışmanlık yapacak, satış süreçlerini yönetecek deneyimli satış danışmanları arıyoruz.' - }, - { - id: 2, - title: 'Depo Sorumlusu', - department: 'Lojistik', - location: 'İstanbul', - type: 'Tam Zamanlı', - description: 'Depo operasyonlarını yönetecek, stok kontrolü yapacak ve lojistik süreçleri koordine edecek depo sorumlusu aranmaktadır.' - }, - { - id: 3, - title: 'Müşteri Hizmetleri Uzmanı', - department: 'Müşteri Hizmetleri', - location: 'İstanbul', - type: 'Tam Zamanlı', - description: 'Müşteri memnuniyetini ön planda tutarak, telefon ve e-posta kanallarından gelen talepleri karşılayacak uzman arıyoruz.' - }, - { - id: 4, - title: 'Web Developer', - department: 'Bilgi Teknolojileri', - location: 'İstanbul / Uzaktan', - type: 'Tam Zamanlı', - description: 'E-ticaret platformumuzun geliştirilmesi ve bakımı için .NET ve React teknolojilerinde deneyimli yazılım geliştirici aranmaktadır.' - } - ]; - return (
-

Kariyer

+

Kariyer ve Katkı

-

Parça Mühendisi Ailesine Katılın

+

{brand.name} ile otomotiv ticaret altyapısı geliştirin

- Otomotiv sektöründe büyüyen ve gelişen ekibimizin bir parçası olmak - ister misiniz? Parça Mühendisi olarak, yetenekli ve tutkulu - profesyonelleri aramaktayız. Birlikte büyüyelim! + Proje; güvenli e-ticaret, araç uyumluluğu, operasyon otomasyonu ve + gözlemlenebilirlik alanlarında çalışan geliştiricilere açık bir + mühendislik zemini sunar.

-

Neden Parça Mühendisi?

-
    -
  • ✓ Dinamik ve genç çalışma ortamı
  • -
  • ✓ Rekabetçi maaş ve yan haklar
  • -
  • ✓ Kariyer gelişim fırsatları
  • -
  • ✓ Eğitim ve gelişim programları
  • -
  • ✓ Esnek çalışma saatleri
  • -
  • ✓ Performans primi
  • -
  • ✓ Özel sağlık sigortası
  • -
  • ✓ Yemek ve ulaşım desteği
  • -
-
- -
-

Açık Pozisyonlar

-
- {openPositions.map(job => ( -
-
-

{job.title}

- {job.type} -
-
- 📋 {job.department} - 📍 {job.location} -
-

{job.description}

- -
- ))} -
-
- -
-

Başvuru Süreci

-
-
-
1
-

Başvuru

-

İlgilendiğiniz pozisyon için başvurunuzu yapın

-
-
-
2
-

Değerlendirme

-

İnsan Kaynakları ekibimiz başvurunuzu inceler

-
-
-
3
-

Görüşme

-

Uygun adaylarla telefon veya yüz yüze görüşme

-
-
-
4
-

Değerlendirme

-

Teknik ve kişisel yetkinlik değerlendirmesi

-
-
-
5
-

Teklif

-

Başarılı adaylara iş teklifi sunulur

-
-
+

Açık pozisyonlar

+

+ Şu anda doğrulanmış bir açık pozisyon yayınlanmamıştır. Yeni bir + pozisyon oluştuğunda rol, lokasyon, çalışma biçimi ve başvuru + kanalı bu sayfada açıkça belirtilir. +

+ {brand.careerEmail && ( +

+ Kariyer iletişimi: {brand.careerEmail} +

+ )}
-

İletişim

+

Açık kaynak katkısı

- Kariyer fırsatları hakkında daha fazla bilgi almak için:
- E-posta: kariyer@parcamuhendisi.com
- Telefon: 0850 123 45 67 + Kod katkıları için repository içindeki katkı rehberini ve açık + issue’ları inceleyebilirsiniz.

+ + GitHub repository’sini aç +
diff --git a/AutoPartsStore/Frontend/client/src/pages/ContactPage.jsx b/AutoPartsStore/Frontend/client/src/pages/ContactPage.jsx index 94a13b9..5abfcb1 100644 --- a/AutoPartsStore/Frontend/client/src/pages/ContactPage.jsx +++ b/AutoPartsStore/Frontend/client/src/pages/ContactPage.jsx @@ -1,32 +1,33 @@ import { useState } from 'react'; +import { brand } from '../config/brand'; import './InfoPages.css'; +const initialForm = { + name: '', + email: '', + subject: '', + message: '', +}; + const ContactPage = () => { - const [formData, setFormData] = useState({ - name: '', - email: '', - phone: '', - subject: '', - message: '' - }); - - const handleChange = (e) => { - setFormData({ - ...formData, - [e.target.name]: e.target.value - }); + const [formData, setFormData] = useState(initialForm); + + const handleChange = (event) => { + setFormData((current) => ({ + ...current, + [event.target.name]: event.target.value, + })); }; - const handleSubmit = (e) => { - e.preventDefault(); - alert('Mesajınız alındı! En kısa sürede size dönüş yapacağız.'); - setFormData({ - name: '', - email: '', - phone: '', - subject: '', - message: '' - }); + const handleSubmit = (event) => { + event.preventDefault(); + if (!brand.supportEmail) return; + + const subject = encodeURIComponent(`[${brand.name}] ${formData.subject}`); + const body = encodeURIComponent( + `Ad Soyad: ${formData.name}\nE-posta: ${formData.email}\n\n${formData.message}` + ); + window.location.href = `mailto:${brand.supportEmail}?subject=${subject}&body=${body}`; }; return ( @@ -37,112 +38,74 @@ const ContactPage = () => {
-

İletişim Bilgileri

- -
-
📞
-
-

Telefon

-

0850 123 45 67

-

Hafta içi 09:00 - 18:00

+

Destek kanalları

+ + {brand.supportEmail ? ( +
+
✉️
+
+

E-posta

+ {brand.supportEmail} +
-
- -
-
✉️
-
-

E-posta

-

info@parcamuhendisi.com

-

24 saat içinde yanıt

+ ) : ( +

+ Bu ortam için destek e-postası henüz yapılandırılmamıştır. + Operatör, VITE_SUPPORT_EMAIL değerini tanımladığında + iletişim formu etkinleşir. +

+ )} + + {brand.supportPhone && ( +
+
📞
+
+

Telefon

+

{brand.supportPhone}

+
-
- -
-
📍
-
-

Adres

-

Atatürk Mahallesi

-

Otomotiv Caddesi No: 123

-

Kadıköy / İstanbul

+ )} + + {brand.businessAddress && ( +
+
📍
+
+

Adres

+

{brand.businessAddress}

+
-
- -
-
⏰
-
-

Çalışma Saatleri

-

Pazartesi - Cuma: 09:00 - 18:00

-

Cumartesi: 09:00 - 15:00

-

Pazar: Kapalı

-
-
+ )}
-

Bize Ulaşın

+

Destek e-postası oluştur

- +
- -
- -
- - +
- +
- +