Müşteri Görüşleri Sayfası & Genel Düzenlemeler

* Yeni Sayfa: Kurumsal menüsü altına modern tasarımlı 'Müşteri Görüşleri' sayfası eklendi.\n* Düzeltme: Kitaplar sayfasındaki renk döngüsü hatası giderildi ve eksik Google Play linki eklendi.\n* Temizlik: Proje dizinindeki gereksiz bakım dosyaları silindi.
This commit is contained in:
Muhammet Güler
2026-02-04 17:32:38 +03:00
parent 2f9fb14bac
commit e4ca3b228b
6 changed files with 143 additions and 52 deletions
-20
View File
@@ -1,20 +0,0 @@
<?php
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
use App\Models\User;
$user = User::where('email', 'admin@truncgil.com')->first();
if (!$user) {
echo "User not found!\n";
exit(1);
}
echo "User: {$user->name} ({$user->email})\n";
echo "Roles: " . $user->roles->pluck('name')->implode(', ') . "\n";
echo "Permissions: " . $user->getAllPermissions()->pluck('name')->implode(', ') . "\n";
echo "Is Super Admin: " . ($user->hasRole('super_admin') ? 'YES' : 'NO') . "\n";
+2
View File
@@ -15,7 +15,9 @@ class DatabaseSeeder extends Seeder
{ {
// Settings seed // Settings seed
$this->call([ $this->call([
LanguageSeeder::class,
SettingSeeder::class, SettingSeeder::class,
PageSeeder::class,
]); ]);
// User::factory(10)->create(); // User::factory(10)->create();
+18
View File
@@ -131,6 +131,24 @@ class PageSeeder extends Seeder
] ]
); );
// 2.5 Müşteri Görüşleri (Child of Kurumsal)
Page::updateOrCreate(
['slug' => 'musteri-gorusleri'],
[
'author_id' => $author->id,
'parent_id' => $corporate->id,
'title' => 'Müşteri Görüşleri',
'excerpt' => 'Müşterilerimizin hakkımızdaki düşünceleri',
'content' => null,
'template' => 'corporate.testimonials',
'status' => 'published',
'is_homepage' => false,
'show_in_menu' => true,
'sort_order' => 5,
'published_at' => now(),
]
);
// 3. Ürünlerimiz (Mega Menu Target) // 3. Ürünlerimiz (Mega Menu Target)
Page::updateOrCreate( Page::updateOrCreate(
['slug' => 'urunlerimiz'], ['slug' => 'urunlerimiz'],
-28
View File
@@ -1,28 +0,0 @@
<?php
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
use App\Models\User;
use Spatie\Permission\Models\Role;
// İlk kullanıcıyı al
$user = User::first();
if (!$user) {
echo "No user found!\n";
exit(1);
}
echo "User found: {$user->email}\n";
// Super admin rolü var mı kontrol et
$superAdminRole = Role::firstOrCreate(['name' => 'super_admin']);
// Kullanıcıya rolü ata
$user->assignRole($superAdminRole);
echo "Super admin role assigned successfully!\n";
echo "User: {$user->name} ({$user->email})\n";
@@ -48,7 +48,7 @@
'GANs ve Projeler' 'GANs ve Projeler'
], ],
'image' => 'assets/img/photos/tensorflow-book-real.jpg', 'image' => 'assets/img/photos/tensorflow-book-real.jpg',
// 'google_play_link' => '...' // Link removed 'google_play_link' => 'https://play.google.com/store/books/details/%C3%9CM%C4%B0T_TUN%C3%87_TENSORFLOW_%C4%B0LE_DER%C4%B0N_%C3%96%C4%9ERENME?id=X8gqEAAAQBAJ'
], ],
[ [
'id' => 2, 'id' => 2,
@@ -93,10 +93,11 @@
@foreach($books as $index => $book) @foreach($books as $index => $book)
@php @php
// Alternate styles // Dynamic style cycling
$styleKey = ($index % 2 == 0) ? 'leaf' : 'aqua'; $styleKeys = array_keys($styles);
$styleKey = $styleKeys[$index % count($styleKeys)];
$style = $styles[$styleKey]; $style = $styles[$styleKey];
$reverse = ($index % 2 != 0); $reverse = ($index % 2 != 0); // Keep alternation for layout but decouple from style
// Split topics into 2 columns // Split topics into 2 columns
$topicChunks = array_chunk($book['topics'], ceil(count($book['topics']) / 2)); $topicChunks = array_chunk($book['topics'], ceil(count($book['topics']) / 2));
@@ -0,0 +1,118 @@
@extends('layouts.site')
@section('content')
{{-- Unified Hero & Testimonials Section --}}
<section class="wrapper image-wrapper bg-image bg-overlay bg-overlay-400" data-image-src="{{ asset('assets/img/photos/bg18.png') }}">
{{-- Inline style override to ensure background image works if JS fails --}}
<style>
.wrapper.bg-image[data-image-src] {
background-image: url("{{ asset('assets/img/photos/bg18.png') }}");
}
</style>
<div class="container pt-24 pb-24 xl:pt-32 xl:pb-32 lg:pt-32 lg:pb-32 md:pt-32 md:pb-32">
{{-- Hero Header --}}
<div class="row mb-12 text-center">
<div class="col-md-10 col-lg-8 col-xl-7 col-xxl-6 mx-auto">
<h1 class="display-1 !mb-4 !text-[3rem] font-bold tracking-tight text-white">{!! t('Müşteri Görüşleri') !!}</h1>
<p class="lead !text-[1.2rem] !leading-[1.6] font-medium mb-0 max-w-2xl mx-auto text-white opacity-90">
{!! t('Bizi müşterilerimizden dinleyin. Birlikte yazdığımız başarı hikayeleri.') !!}
</p>
</div>
<!-- /column -->
</div>
<!-- /.row -->
{{-- Testimonials Slider --}}
<div class="swiper-container dots-closer dots-light dots-light-75" data-margin="30" data-dots="true" data-items-xl="3" data-items-md="2" data-items-xs="1">
<div class="swiper">
<div class="swiper-wrapper">
{{-- Müşteri 1: Stellar Construction --}}
<div class="swiper-slide">
<div class="item-inner">
<div class="card border-0 h-full" style="background-color: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 10px 30px rgba(0,0,0,0.05);">
<div class="card-body flex-[1_1_auto] p-[40px]">
<span class="ratings inline-block relative w-20 h-[0.8rem] text-[0.9rem] leading-none before:text-[rgba(0,0,0,0.1)] five !mb-4" style="color: #fcc032;"></span>
<blockquote class="!text-[1rem] !leading-[1.7] font-medium m-[0_0_1rem] !mb-0 text-[#1e293b]">
<p>{!! t('Dijital dönüşüm yolculuğumuzda yanımızda oldukları için mutluyuz. Profesyonel yaklaşımları ve çözüm odaklı çalışmaları ile projelerimize değer kattılar.') !!}</p>
<div class="flex items-center text-left mt-6">
<div class="info p-0">
<h5 class="!mb-0 text-[#1e293b] !font-bold !text-[1.05rem]">Kerem Can Azak</h5>
<p class="!mb-0 !text-[0.85rem] text-[#1e293b] opacity-70">Stellar Construction</p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
{{-- Müşteri 2: Dijimind Akademi --}}
<div class="swiper-slide">
<div class="item-inner">
<div class="card border-0 h-full" style="background-color: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 10px 30px rgba(0,0,0,0.05);">
<div class="card-body flex-[1_1_auto] p-[40px]">
<span class="ratings inline-block relative w-20 h-[0.8rem] text-[0.9rem] leading-none before:text-[rgba(0,0,0,0.1)] five !mb-4" style="color: #fcc032;"></span>
<blockquote class="!text-[1rem] !leading-[1.7] font-medium m-[0_0_1rem] !mb-0 text-[#1e293b]">
<p>{!! t('Eğitim teknolojileri alanındaki vizyoner bakış açıları ve teknik altyapı konusundaki uzmanlıkları sayesinde hedeflediğimiz kitleye çok daha etkili bir şekilde ulaştık.') !!}</p>
<div class="flex items-center text-left mt-6">
<div class="info p-0">
<h5 class="!mb-0 text-[#1e293b] !font-bold !text-[1.05rem]">Servet Demir</h5>
<p class="!mb-0 !text-[0.85rem] text-[#1e293b] opacity-70">Dijimind Akademi</p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
{{-- Müşteri 3: Rhapsode Akademik Yayınevi --}}
<div class="swiper-slide">
<div class="item-inner">
<div class="card border-0 h-full" style="background-color: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 10px 30px rgba(0,0,0,0.05);">
<div class="card-body flex-[1_1_auto] p-[40px]">
<span class="ratings inline-block relative w-20 h-[0.8rem] text-[0.9rem] leading-none before:text-[rgba(0,0,0,0.1)] five !mb-4" style="color: #fcc032;"></span>
<blockquote class="!text-[1rem] !leading-[1.7] font-medium m-[0_0_1rem] !mb-0 text-[#1e293b]">
<p>{!! t('Akademik yayıncılık süreçlerimizi dijitalleştirirken sundukları yenilikçi çözümler ve hızlı destekleri için teşekkür ederiz. Güvenilir bir iş ortağı.') !!}</p>
<div class="flex items-center text-left mt-6">
<div class="info p-0">
<h5 class="!mb-0 text-[#1e293b] !font-bold !text-[1.05rem]">A. Cezmi Savaş</h5>
<p class="!mb-0 !text-[0.85rem] text-[#1e293b] opacity-70">Rhapsode Akademik Yayınevi</p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<!--/.swiper-wrapper -->
</div>
<!-- /.swiper -->
</div>
<!-- /.swiper-container -->
</div>
</section>
{{-- /Unified Section --}}
@endsection
@push('scripts')
<script>
document.addEventListener('DOMContentLoaded', function() {
var bgImages = document.querySelectorAll('.bg-image[data-image-src]');
bgImages.forEach(function(elem) {
var src = elem.getAttribute('data-image-src');
elem.style.backgroundImage = 'url(' + src + ')';
});
});
</script>
@endpush