Merge pull request #20 from truncgil/muhammetguler
Page errors on the "Our Books" page have been corrected.
This commit is contained in:
@@ -12,6 +12,13 @@ class PagePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function before(AuthUser $user, $ability)
|
||||
{
|
||||
if ($user->hasRole('super_admin')) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public function viewAny(AuthUser $authUser): bool
|
||||
{
|
||||
return $authUser->can('ViewAny:Page');
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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";
|
||||
@@ -33,7 +33,7 @@ class PageSeeder extends Seeder
|
||||
'template' => 'home',
|
||||
'status' => 'published',
|
||||
'is_homepage' => true,
|
||||
'show_in_menu' => true,
|
||||
'show_in_menu' => false,
|
||||
'sort_order' => 1,
|
||||
'published_at' => now(),
|
||||
'meta_title' => 'Truncgil Teknoloji - Kurumsal',
|
||||
@@ -54,7 +54,7 @@ class PageSeeder extends Seeder
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 2,
|
||||
'sort_order' => 1,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
@@ -95,6 +95,42 @@ class PageSeeder extends Seeder
|
||||
]
|
||||
);
|
||||
|
||||
// 2.3 Kitaplarımız (Child of Kurumsal)
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'kitaplarimiz'],
|
||||
[
|
||||
'author_id' => $author->id,
|
||||
'parent_id' => $corporate->id,
|
||||
'title' => 'Kitaplarımız',
|
||||
'excerpt' => 'Yayınladığımız kitaplar',
|
||||
'content' => null,
|
||||
'template' => 'books.books',
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 3,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 2.4 Banka Bilgilerimiz (Child of Kurumsal)
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'banka-bilgilerimiz'],
|
||||
[
|
||||
'author_id' => $author->id,
|
||||
'parent_id' => $corporate->id,
|
||||
'title' => 'Banka Bilgilerimiz',
|
||||
'excerpt' => 'Banka hesap bilgilerimiz',
|
||||
'content' => '<p>Banka hesap bilgilerimiz burada yer alacaktır.</p>',
|
||||
'template' => 'generic',
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 4,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 3. Ürünlerimiz (Mega Menu Target)
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'urunlerimiz'],
|
||||
@@ -107,12 +143,46 @@ class PageSeeder extends Seeder
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 2,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 4. Kariyer
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'kariyer'],
|
||||
[
|
||||
'author_id' => $author->id,
|
||||
'title' => 'Kariyer',
|
||||
'excerpt' => 'Kariyer fırsatları',
|
||||
'content' => '<p>Kariyer içeriği...</p>',
|
||||
'template' => 'generic',
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 3,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 4. Blog
|
||||
// 5. Neler Yaparız
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'neler-yapariz'],
|
||||
[
|
||||
'author_id' => $author->id,
|
||||
'title' => 'Neler Yaparız',
|
||||
'excerpt' => 'Hizmetlerimiz ve çözümlerimiz',
|
||||
'content' => null,
|
||||
'template' => 'neler-yapariz',
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 4,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 6. Blog
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'blog'],
|
||||
[
|
||||
@@ -124,12 +194,12 @@ class PageSeeder extends Seeder
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 4,
|
||||
'sort_order' => 5,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
// 5. İletişim
|
||||
// 7. İletişim
|
||||
Page::updateOrCreate(
|
||||
['slug' => 'iletisim'],
|
||||
[
|
||||
@@ -141,7 +211,7 @@ class PageSeeder extends Seeder
|
||||
'status' => 'published',
|
||||
'is_homepage' => false,
|
||||
'show_in_menu' => true,
|
||||
'sort_order' => 5,
|
||||
'sort_order' => 6,
|
||||
'published_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?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";
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 682 KiB |
@@ -18,15 +18,17 @@ $menuItems = \App\Models\Page::with(['children' => function ($query) {
|
||||
->orderBy('title', 'asc')
|
||||
->get();
|
||||
|
||||
$midPoint = ceil($menuItems->count() / 2);
|
||||
$leftMenuItems = $menuItems->slice(0, $midPoint);
|
||||
$rightMenuItems = $menuItems->slice($midPoint);
|
||||
// Check if we're on homepage - multiple checks for reliability
|
||||
$currentRoute = request()->route() ? request()->route()->getName() : null;
|
||||
$currentPath = request()->path();
|
||||
$isHomepage = $currentRoute === 'homepage' || $currentPath === '/' || request()->is('/');
|
||||
@endphp
|
||||
<header class="relative wrapper !bg-[#edf2fc]">
|
||||
<nav class="navbar navbar-expand-lg center-logo transparent position-absolute navbar-dark">
|
||||
<div class="container justify-between items-center">
|
||||
<header class="relative wrapper {{ $isHomepage ? '!bg-[#edf2fc]' : '!bg-white' }}">
|
||||
<nav class="navbar navbar-expand-lg {{ $isHomepage ? 'center-logo transparent position-absolute navbar-dark' : 'navbar-light !bg-white !shadow-sm' }}">
|
||||
<div class="container {{ $isHomepage ? 'justify-between' : 'flex justify-between' }} items-center">
|
||||
<!-- Mobile Header -->
|
||||
<div class="flex flex-row w-full justify-between items-center xl:!hidden lg:!hidden">
|
||||
<div class="navbar-brand"><a href="./">
|
||||
<div class="navbar-brand"><a href="/">
|
||||
<img class="logo-dark" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="image">
|
||||
<img class="logo-light" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="image">
|
||||
</a></div>
|
||||
@@ -36,34 +38,31 @@ $rightMenuItems = $menuItems->slice($midPoint);
|
||||
<button class="hamburger offcanvas-nav-btn"><span></span></button>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<!-- /.navbar-other -->
|
||||
</div>
|
||||
<!-- /.flex -->
|
||||
|
||||
<!-- Desktop Header -->
|
||||
@if($isHomepage)
|
||||
<!-- Homepage Layout (Center Logo) -->
|
||||
<div class="navbar-collapse-wrapper flex flex-row items-center w-full">
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-header lg:mx-auto xl:mx-auto order-0 lg:!order-1 lg:!px-[5rem] xl:!order-1 xl:!px-[5rem] p-[1.5rem] !flex items-center justify-between flex-row">
|
||||
<a class="transition-none hidden lg:!flex xl:!flex" href="./"><img class="logo-dark" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="image">
|
||||
<a class="transition-none hidden lg:!flex xl:!flex" href="/"><img class="logo-dark" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="image">
|
||||
<img class="logo-light" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="image"></a>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="w-full order-1 lg:!order-none lg:!flex xl:!order-none xl:!flex offcanvas-body">
|
||||
<ul class="navbar-nav lg:!ml-auto xl:!ml-auto">
|
||||
@foreach($leftMenuItems as $item)
|
||||
@foreach($menuItems->slice(0, ceil($menuItems->count() / 2)) as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<div class="w-full order-3 lg:!order-2 lg:!flex xl:!order-2 xl:!flex offcanvas-body">
|
||||
<ul class="navbar-nav lg:!mr-auto xl:!mr-auto">
|
||||
@foreach($rightMenuItems as $item)
|
||||
@foreach($menuItems->slice(ceil($menuItems->count() / 2)) as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<div class="offcanvas-body xl:!hidden lg:!hidden order-4 !mt-auto">
|
||||
<div class="offcanvas-footer">
|
||||
@@ -78,16 +77,66 @@ $rightMenuItems = $menuItems->slice($midPoint);
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Instagram']) ? $social_media['Instagram'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Youtube']) ? $social_media['Youtube'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]"></i></a>
|
||||
</nav>
|
||||
<!-- /.social -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.navbar-collapse-wrapper -->
|
||||
@else
|
||||
<!-- Other Pages Layout (Logo Left, Menu Center, Social Right) -->
|
||||
<div class="navbar-collapse-wrapper flex flex-row items-center w-full justify-between hidden lg:!flex xl:!flex">
|
||||
<!-- Logo on Left -->
|
||||
<div class="navbar-brand">
|
||||
<a href="/">
|
||||
<img class="!h-[2.5rem]" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="Truncgil Teknoloji">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Menu in Center -->
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-body flex justify-center">
|
||||
<ul class="navbar-nav flex-row items-center gap-1">
|
||||
@foreach($menuItems as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Social Media & Language on Right -->
|
||||
<div class="flex items-center gap-4">
|
||||
<nav class="nav social flex items-center gap-2">
|
||||
<?php $social_media = json_decode(setting('social_links'), true); ?>
|
||||
@if(!empty($social_media['Twitter']))
|
||||
<a class="!text-[#5daed5] hover:!text-[#3b9ec9] text-[1.1rem] transition-colors" href="{{ $social_media['Twitter'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-twitter"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Facebook']))
|
||||
<a class="!text-[#4470cf] hover:!text-[#3259b8] text-[1.1rem] transition-colors" href="{{ $social_media['Facebook'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-facebook-f"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Github']))
|
||||
<a class="!text-[#343a40] hover:!text-[#23272b] text-[1.1rem] transition-colors" href="{{ $social_media['Github'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-github"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Instagram']))
|
||||
<a class="!text-[#d53581] hover:!text-[#c12570] text-[1.1rem] transition-colors" href="{{ $social_media['Instagram'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-instagram"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Youtube']))
|
||||
<a class="!text-[#c8312b] hover:!text-[#b02822] text-[1.1rem] transition-colors" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-youtube"></i>
|
||||
</a>
|
||||
@endif
|
||||
</nav>
|
||||
<x-custom.language-selector />
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
<!-- /.navbar -->
|
||||
</header>
|
||||
|
||||
@@ -18,57 +18,54 @@ $menuItems = \App\Models\Page::with(['children' => function ($query) {
|
||||
->orderBy('title', 'asc')
|
||||
->get();
|
||||
|
||||
$midPoint = ceil($menuItems->count() / 2);
|
||||
$leftMenuItems = $menuItems->slice(0, $midPoint);
|
||||
$rightMenuItems = $menuItems->slice($midPoint);
|
||||
// Check if we're on homepage - multiple checks for reliability
|
||||
$currentRoute = request()->route() ? request()->route()->getName() : null;
|
||||
$currentPath = request()->path();
|
||||
$isHomepage = $currentRoute === 'homepage' || $currentPath === '/' || request()->is('/');
|
||||
@endphp
|
||||
<header class="relative wrapper !bg-[#edf2fc]">
|
||||
<nav class="navbar navbar-expand-lg center-logo transparent position-absolute navbar-dark">
|
||||
<div class="container justify-between items-center">
|
||||
<header class="relative wrapper {{ $isHomepage ? '!bg-[#edf2fc]' : '!bg-white' }}">
|
||||
<nav class="navbar navbar-expand-lg {{ $isHomepage ? 'center-logo transparent position-absolute navbar-dark' : 'navbar-light !bg-white !shadow-sm' }}">
|
||||
<div class="container {{ $isHomepage ? 'justify-between' : 'flex justify-between' }} items-center">
|
||||
<!-- Mobile Header -->
|
||||
<div class="flex flex-row w-full justify-between items-center xl:!hidden lg:!hidden">
|
||||
<div class="navbar-brand"><a href="{{url("./")}}">
|
||||
<img class="logo-dark" src="{{url("assets/img/truncgil-yatay.svg")}}" alt="image">
|
||||
<img class="logo-light" src="{{url("assets/img/truncgil-yatay-dark.svg")}}" alt="image">
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="navbar-brand"><a href="/">
|
||||
<img class="logo-dark" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="image">
|
||||
<img class="logo-light" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="image">
|
||||
</a></div>
|
||||
<div class="navbar-other !ml-auto">
|
||||
<ul class="navbar-nav flex-row items-center">
|
||||
<li class="nav-item xl:!hidden lg:!hidden">
|
||||
<button class="hamburger offcanvas-nav-btn"><span></span></button>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<!-- /.navbar-other -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.flex -->
|
||||
<!-- Desktop Header -->
|
||||
@if($isHomepage)
|
||||
<!-- Homepage Layout (Center Logo) -->
|
||||
<div class="navbar-collapse-wrapper flex flex-row items-center w-full">
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-header lg:mx-auto xl:mx-auto order-0 lg:!order-1 lg:!px-[5rem] xl:!order-1 xl:!px-[5rem] p-[1.5rem] !flex items-center justify-between flex-row">
|
||||
<a class="transition-none hidden lg:!flex xl:!flex" href="./"><img class="logo-dark" src="assets/img/truncgil-yatay.svg" alt="image">
|
||||
<img class="logo-light" src="assets/img/truncgil-yatay-dark.svg" alt="image"></a>
|
||||
<a class="transition-none hidden lg:!flex xl:!flex" href="/"><img class="logo-dark" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="image">
|
||||
<img class="logo-light" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="image"></a>
|
||||
<div class="" style="position: relative; left:5px">
|
||||
@include("components.custom.language-selector")
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full order-1 lg:!order-none lg:!flex xl:!order-none xl:!flex offcanvas-body">
|
||||
<ul class="navbar-nav lg:!ml-auto xl:!ml-auto">
|
||||
@foreach($leftMenuItems as $item)
|
||||
@foreach($menuItems->slice(0, ceil($menuItems->count() / 2)) as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<div class="w-full order-3 lg:!order-2 lg:!flex xl:!order-2 xl:!flex offcanvas-body">
|
||||
<ul class="navbar-nav lg:!mr-auto xl:!mr-auto">
|
||||
@foreach($rightMenuItems as $item)
|
||||
@foreach($menuItems->slice(ceil($menuItems->count() / 2)) as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
<!-- /.navbar-nav -->
|
||||
</div>
|
||||
<div class="offcanvas-body xl:!hidden lg:!hidden order-4 !mt-auto">
|
||||
<div class="offcanvas-footer">
|
||||
@@ -77,22 +74,99 @@ $rightMenuItems = $menuItems->slice($midPoint);
|
||||
<br> <a href="tel:{{setting('contact_phone')}}">{{setting('contact_phone')}}</a> <br>
|
||||
<nav class="nav social social-white !mt-4">
|
||||
<?php $social_media = json_decode(setting('social_links'), true); ?>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="#"><i class="uil uil-twitter before:content-['\ed59'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="#"><i class="uil uil-facebook-f before:content-['\eae2'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="#"><i class="uil uil-dribbble before:content-['\eaa2'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="#"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="#"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Twitter']) ? $social_media['Twitter'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-twitter before:content-['\ed59'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Facebook']) ? $social_media['Facebook'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-facebook-f before:content-['\eae2'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Github']) ? $social_media['Github'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-github before:content-['\eb40'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Instagram']) ? $social_media['Instagram'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Youtube']) ? $social_media['Youtube'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]"></i></a>
|
||||
</nav>
|
||||
<!-- /.social -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.navbar-collapse-wrapper -->
|
||||
@else
|
||||
<!-- Other Pages Layout (Logo Left, Menu Center, Social Right) -->
|
||||
<div class="navbar-collapse-wrapper flex flex-row items-center w-full justify-between hidden lg:!flex xl:!flex">
|
||||
<!-- Logo on Left -->
|
||||
<div class="navbar-brand">
|
||||
<a href="/">
|
||||
<img class="!h-[2.5rem]" src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="Truncgil Teknoloji">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Menu in Center -->
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-body flex justify-center">
|
||||
<ul class="navbar-nav flex-row items-center gap-1">
|
||||
@foreach($menuItems as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Social Media & Language on Right -->
|
||||
<div class="flex items-center gap-4">
|
||||
<nav class="nav social flex items-center gap-2">
|
||||
<?php $social_media = json_decode(setting('social_links'), true); ?>
|
||||
@if(!empty($social_media['Twitter']))
|
||||
<a class="!text-[#5daed5] hover:!text-[#3b9ec9] text-[1.1rem] transition-colors" href="{{ $social_media['Twitter'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-twitter"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Facebook']))
|
||||
<a class="!text-[#4470cf] hover:!text-[#3259b8] text-[1.1rem] transition-colors" href="{{ $social_media['Facebook'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-facebook-f"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Github']))
|
||||
<a class="!text-[#343a40] hover:!text-[#23272b] text-[1.1rem] transition-colors" href="{{ $social_media['Github'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-github"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Instagram']))
|
||||
<a class="!text-[#d53581] hover:!text-[#c12570] text-[1.1rem] transition-colors" href="{{ $social_media['Instagram'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-instagram"></i>
|
||||
</a>
|
||||
@endif
|
||||
@if(!empty($social_media['Youtube']))
|
||||
<a class="!text-[#c8312b] hover:!text-[#b02822] text-[1.1rem] transition-colors" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener">
|
||||
<i class="uil uil-youtube"></i>
|
||||
</a>
|
||||
@endif
|
||||
</nav>
|
||||
@include("components.custom.language-selector")
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mobile Menu for Non-Homepage -->
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start lg:!hidden xl:!hidden">
|
||||
<div class="offcanvas-body">
|
||||
<ul class="navbar-nav">
|
||||
@foreach($menuItems as $item)
|
||||
<x-front.menu-item :item="$item" />
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
<div class="offcanvas-body !mt-auto">
|
||||
<div class="offcanvas-footer">
|
||||
<div>
|
||||
<a href="mailto:{{setting('contact_email')}}" class="link-inverse">{{setting('contact_email')}}</a>
|
||||
<br> <a href="tel:{{setting('contact_phone')}}">{{setting('contact_phone')}}</a> <br>
|
||||
<nav class="nav social social-white !mt-4">
|
||||
<?php $social_media = json_decode(setting('social_links'), true); ?>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Twitter']) ? $social_media['Twitter'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-twitter before:content-['\ed59'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Facebook']) ? $social_media['Facebook'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-facebook-f before:content-['\eae2'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Github']) ? $social_media['Github'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-github before:content-['\eb40'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Instagram']) ? $social_media['Instagram'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]"></i></a>
|
||||
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 motion-reduce:transition-none hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ !empty($social_media['Youtube']) ? $social_media['Youtube'] : '#' }}" target="_blank" rel="noopener"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]"></i></a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
<!-- /.navbar -->
|
||||
</header>
|
||||
@@ -0,0 +1,27 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('title', t('Kitaplarımız'))
|
||||
|
||||
@push('styles')
|
||||
@include('templates.books.css.main')
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="grow shrink-0">
|
||||
|
||||
{{-- Hero Section --}}
|
||||
@include('templates.books.sections.hero')
|
||||
|
||||
{{-- Features Section (Book Showcase) --}}
|
||||
@include('templates.books.sections.features')
|
||||
|
||||
{{-- Contact Section --}}
|
||||
@include('templates.books.sections.contact')
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
@include('templates.books.js.global')
|
||||
@include('templates.books.js.slider')
|
||||
@endpush
|
||||
@@ -0,0 +1,8 @@
|
||||
<style>
|
||||
/* Custom book page styles */
|
||||
.book-card .card-img-top {
|
||||
height: 300px;
|
||||
object-fit: cover;
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,4 @@
|
||||
<script>
|
||||
// Global JS for books page
|
||||
console.log('Global Books JS loaded');
|
||||
</script>
|
||||
@@ -0,0 +1,4 @@
|
||||
<script>
|
||||
// Slider functionality can be added here
|
||||
console.log('Slider JS loaded');
|
||||
</script>
|
||||
@@ -0,0 +1,6 @@
|
||||
<nav class="inline-block" aria-label="breadcrumb">
|
||||
<ol class="breadcrumb flex flex-wrap bg-[none] p-0 !rounded-none list-none !mb-[20px]">
|
||||
<li class="breadcrumb-item flex !text-[#60697b]"><a class="!text-white hover:text-white" href="/">{{ t('Anasayfa') }}</a></li>
|
||||
<li class="breadcrumb-item flex !text-white !pl-2 before:font-normal before:!flex before:items-center before:text-[rgba(255,255,255,.5)] before:content-['\e931'] before:text-[0.9rem] before:-mt-px before:!pr-2 before:font-Unicons active" aria-current="page">{{ t('Kitaplarımız') }}</li>
|
||||
</ol>
|
||||
</nav>
|
||||
@@ -0,0 +1,235 @@
|
||||
{{-- Books List (Vertical) --}}
|
||||
<div class="flex flex-wrap mx-[-15px] mt-[-40px]">
|
||||
|
||||
@php
|
||||
// Kullanıcıdan gelecek veriler için 3 adet yer tutucu
|
||||
$books = [
|
||||
[
|
||||
'id' => 1,
|
||||
'title' => 'TENSORFLOW İLE DERİN ÖĞRENME',
|
||||
'author' => 'Ümit Tunç / İ. Halil Sanduvaç',
|
||||
'description' => 'Sıkı durun, sizinle derin bir yolculuğa çıkacağız. Bu yolculukta şoförümüz siz, muavininiz biz olacağız. Yapay zeka ve derin öğrenme hususundaki örneklerle belirlediğimiz bu kaynak ile hem bu işin matematiğini, hem de tasarım aşamasına kadar olan aşamaları göreceksiniz.',
|
||||
'full_description' => 'Sıkı durun, sizinle derin bir yolculuğa çıkacağız.
|
||||
Bu yolculukta şoförümüz siz, muavininiz biz olacağız.
|
||||
Yapay zeka ve derin öğrenme hususundaki örneklerle belirlediğimiz bu kaynak ile hem bu işin matematiğini, hem de tasarım aşamasına kadar olan aşamaları göreceksiniz. Günlük hayatta kullanılan canlı örneklerle ilham verebileceğini düşündüğümüz çalışmaları sizlerin huzuruna büyük bir özveriyle sunmanın gururunu yaşıyoruz.
|
||||
Belki de gelecekteki yeni mesleğinizin adını koyacağınız, belki de hayal gücünüzü pekiştireceğiniz, belki de yeni bir girişimin basamaklarını atacağınız bu güzide eseri yalnızca okumakla ve faydalanmakla kalmayın; yazarı olan ve bu alanda çalışmalar yapan bizlere de projelerinizi, hayallerinizi ve girişimlerinizi gönderin. Hatta bizlere iş teklifinde dahi bulunabilirsiniz. Sizlerden gelen harika fikirleri büyük bir heyecan ile bekliyoruz.
|
||||
Ülkemiz adına iyi şeyler üretmeyi amaç edinmiş ve farklı düşünen geleceğin yapay zeka uzmanlarına yararlı olması ümidiyle…
|
||||
Gelişen yeni dünyada yapay zeka ve derin öğrenme isimlerini daha sık duyuyor, bu husustaki girişim hikayelerine daha fazla rastlıyoruz. Biz, bu hikayelerin kendi ülkemizde de daha fazla olmasını ümit ederek özenle hazırlanmış bir kaynak sunmanın heyecanı içerisindeyiz. Yapay zekaya ilgi duyan ve bu konuda teknik bir donanıma sahip olmak isteyen kişilerin bir baş ucu kaynağı niteliğinde olacağını düşündüğümüz bu eser, günümüzdeki en popüler dillerden olan Python alt yapısıyla TensorFlow\'un inceliklerini öğreten ve canlı örnekle siz değerli geliştiricilerin hizmetine sunulmuştur.
|
||||
Yapay zeka ve derin öğrenmenin temellerini atıp ileriye taşıyabileceğiniz uygulama temelli bu kitap ile yapay zeka teorisini benimseyecek, hem de pratiği ve uygulama alanlarını pekiştirerek yapay zeka dünyasına adım atmış olacaksınız.',
|
||||
'topics' => [
|
||||
'Yapay Zeka (Artificial Intelligence)',
|
||||
'Derin Öğrenme (Deep Learning)',
|
||||
'Yapay Nöronlar (Artificial Neurons)',
|
||||
'Derin Öğrenme Katmanları (Deep Learning Layers)',
|
||||
'Konvolüsyonel Sinir Ağları (Convolutional Networks)',
|
||||
'Görüntü İşleme (Image Processing)',
|
||||
'HaarCascade',
|
||||
'Makine Öğrenmesi (Machine Learning)',
|
||||
'Tensorflow',
|
||||
'OpenCV',
|
||||
'Nesne Tanıma (Object Detection)',
|
||||
'Derin Öğrenme Modeli Üretme',
|
||||
'Veri Artırma (Data Augmentation)',
|
||||
'Veri Setleri (Datasets)',
|
||||
'Üretken Rakip Ağlar (GANs)',
|
||||
'Keras',
|
||||
'Optik Kağıt Tanıma Projesi',
|
||||
'Mnist Veri Seti Oluşturma Projesi'
|
||||
],
|
||||
'image' => 'assets/img/photos/tensorflow-book-real.jpg',
|
||||
'year' => 'Yapay Zeka',
|
||||
'isbn' => '9786052118566',
|
||||
'pages' => '160',
|
||||
'dimensions' => '15 x 21 cm'
|
||||
],
|
||||
[
|
||||
'id' => 2,
|
||||
'title' => 'PHP İLE E-TİCARET KAPILARI',
|
||||
'author' => 'Ümit Tunç',
|
||||
'description' => 'Günümüz dünyasında gittikçe büyüyen sektörlerden biri olan sanal mağazacılık, birden bire toplumlarda yeni yeni öğretiler, kavramlar meydana getirmiştir. Kendinizi bu yeniliklere adapte edebilmek için çeşitli kavramlar öğrenilmelidir.',
|
||||
'full_description' => 'Günümüz dünyasında gittikçe büyüyen sektörlerden biri olan sanal mağazacılık, birden bire toplumlarda yeni yeni öğretiler, kavramlar meydana getirmiştir. Kendinizi bu yeniliklere adapte edebilmek için çeşitli kavramlar öğrenilmelidir. Mesela bir programlama dili. Bunu da öğrenmeniz yetmiyor. Veritabanı programcılığını da öğrenmeniz gerekli. Maalesef ki bunlarla da iş bitmiyor. Bunları sağlam bir projeye dönüştürebilmeniz ise yoğun bir çalışma ve birikim gerektiriyor. Bu birikimi edinebilmek için Türkçe kaynaklar yetersiz kalıyor.
|
||||
|
||||
Kuruluşu doğru yapmak ve olası hataların önüne geçmek için bu videoyu seyredebilirsiniz: <a href="http://www.youtube.com/watch?v=KXIELW-nVsw" target="_blank" class="text-[#e31e24] font-medium hover:underline">http://www.youtube.com/watch?v=KXIELW-nVsw</a>
|
||||
|
||||
İşte bu alanda eksiklikleri giderebilmek için, yazılan bu kaynak ile adeta öğrenmeyi zevk haline getireceksiniz. Ezber bozacak metotlar içeren bu kitap size farklı bir bakış açısıyla e-ticaret yazılımını öğretebileceği gibi; bir projenin geliştirilebilirliği bakımından çeşitli örnekler de sunacak. Sözü ve kodu fazla uzatmadan kestirme bir yol izleyen kitap; hedef pazarı gittikçe büyüyen bu sektörün kapılarını da size ardına kadar açacaktır.',
|
||||
'topics' => [
|
||||
'Az Kod Çok İş',
|
||||
'Navicat for MySQL',
|
||||
'Kobetik',
|
||||
'MySQL Fonksiyonları',
|
||||
'Stored Procedure',
|
||||
'Web Tasarımı ve Site Şablonu',
|
||||
'Üyelik İşlemleri',
|
||||
'MD5 ile Kriptolama İşlemleri',
|
||||
'Mail Onaylama İşlemleri',
|
||||
'Yönetici İşlemleri',
|
||||
'Sayfalandırma İşlemleri',
|
||||
'Ürünler ve Kategoriler',
|
||||
'Arama Motoru',
|
||||
'jSon Verilerini Sıralamak',
|
||||
'Sipariş İşlemleri',
|
||||
'Satın Alma İşlemleri',
|
||||
'3D Secure (Sanal POS) İşlemleri',
|
||||
'EFT / Havale ile Ödeme',
|
||||
'Güvenlik Önlemleri',
|
||||
'SSL Sertifikaları',
|
||||
'HTML5 ve Görsel Estetik',
|
||||
'Varitabanı Oluşturma',
|
||||
'SQL Injection',
|
||||
'Dosyaları Uzak Sunucuya Gönderme',
|
||||
'Alan Adı ve Barındırma',
|
||||
'Klasör Erişim İzinleri'
|
||||
],
|
||||
'image' => 'assets/img/photos/php-eticaret-book.jpg',
|
||||
'year' => 'E-Ticaret',
|
||||
'isbn' => '978-605-5201-333',
|
||||
'pages' => '440',
|
||||
'dimensions' => '15 x 21 cm',
|
||||
'google_play_link' => 'https://play.google.com/store/books/details/%C3%9Cmit_TUN%C3%87_PHP_%C4%B0LE_E_T%C4%B0CARET_KAPILARI?id=aPK3DwAAQBAJ'
|
||||
],
|
||||
[
|
||||
'id' => 3,
|
||||
'title' => 'ADOBE PREMIERE PRO CC',
|
||||
'author' => 'Ümit Tunç',
|
||||
'description' => 'Video editörlüğü hangi açıdan bakılırsa bakılsın bir kişinin mutlaka alaka duyması gerekli olan bir konu. Günümüz dünyasında değişen medya anlayışıyla artık haberler çok uzun yazılardan ziyade görsellerle zenginleştiriliyor.',
|
||||
'full_description' => 'Video editörlüğü hangi açıdan bakılırsa bakılsın bir kişinin mutlaka alaka duyması gerekli olan bir konu. Günümüz dünyasında değişen medya anlayışıyla artık haberler çok uzun yazılardan ziyade görsellerle zenginleştiriliyor. Kitaplar sesli kitaba dönüştürülüyor. Anlatılması gerekli olan hususlar görüntülü ve sesli ortamlar hâline getirilip çeşitli kanallar ile önümüze servis ediliyor. Peki, bütün bunlar nasıl yapılıyor?
|
||||
|
||||
Kendi haberlerinizi hazırlayacağınız, kliplerinizi çekeceğiniz, kitaplarınızı seslendirip görüntülü ortamlara dönüştüreceğiniz, Green Box, Blue Box gibi teknolojileri kullanarak film terminolojisini kavrayacağınız bilgiler, özenle hazırlanmış bu harika kaynağın içerisinde. Sayısal ses ve sayısal video alanında kurgu ve montaj tekniklerinin eğitim videoları ile desteklenerek açıklayıcı bir biçimde anlatıldığı bu kitap, mutlaka kütüphanenizin ön raflarında bulunması gerekli olan bir kaynaktır.',
|
||||
'topics' => [
|
||||
'Hareketli Çekilen Görüntüyü Stabilize Etmek (Stabilize Motion)',
|
||||
'Adobe Audition ile Ses Montajı',
|
||||
'Kurgu ve Montaj Estetiği',
|
||||
'Greenbox Görüntülerle Çalışmak',
|
||||
'Haber ve Film Montajı Teknikleri',
|
||||
'Ses Kaydında Dikkat Edilmesi Gerekenler',
|
||||
'Hızlı Ses Montajı',
|
||||
'Hızlı Video Montajı',
|
||||
'Sayısal Ses',
|
||||
'Sayısal Video',
|
||||
'Animasyon Tekniği ve Geçiş Efektleri',
|
||||
'Yazı Animasyonları',
|
||||
'Şekil Animasyonları',
|
||||
'Frame, KeyFrame Kavramları',
|
||||
'Render Yöntemleri ve Video Formatları',
|
||||
'Timeline İşlemleri',
|
||||
'Time Remapping Kavramı',
|
||||
'Crawl ve Roll Yazılar',
|
||||
'Color Correction'
|
||||
],
|
||||
'image' => 'assets/img/photos/adobe-premiere-book.jpg',
|
||||
'year' => 'Video Montaj',
|
||||
'isbn' => '978-605-5201-456',
|
||||
'pages' => '312',
|
||||
'dimensions' => '15 x 21 cm',
|
||||
'google_play_link' => 'https://play.google.com/store/books/details/%C3%9Cmit_Tun%C3%A7_ADOBE_PREMIERE_PRO_CC?id=it1TDwAAQBAJ'
|
||||
]
|
||||
];
|
||||
@endphp
|
||||
|
||||
@foreach($books as $book)
|
||||
<div class="w-full flex-[0_0_auto] px-[15px] mt-[40px]">
|
||||
<div class="card !shadow-[0_0.25rem_1.75rem_rgba(30,34,40,0.07)] h-full overflow-hidden group hover:!shadow-[0_0.5rem_2rem_rgba(30,34,40,0.15)] transition-all duration-300">
|
||||
<div class="flex flex-wrap md:flex-nowrap h-full">
|
||||
|
||||
{{-- Book Image (Left Side) --}}
|
||||
<div class="md:w-4/12 lg:w-3/12 w-full shrink-0 relative bg-gray-50 flex items-center justify-center border-r border-gray-100">
|
||||
<figure class="h-full w-full !m-0 overflow-hidden flex items-center justify-center p-6">
|
||||
<img class="max-h-[350px] w-auto object-contain shadow-md transform group-hover:scale-105 transition-all duration-500 rounded"
|
||||
src="{{ asset($book['image']) }}"
|
||||
alt="{{ $book['title'] }}"
|
||||
onerror="this.onerror=null;this.src='{{ asset('assets/img/photos/bs1.jpg') }}';">
|
||||
</figure>
|
||||
<div class="absolute top-4 left-4">
|
||||
<span class="inline-flex items-center justify-center px-3 py-1 rounded bg-[#e31e24] text-white text-[0.7rem] font-bold uppercase tracking-wider shadow-sm">
|
||||
{{ $book['year'] }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Book Content (Right Side) --}}
|
||||
<div class="md:w-8/12 lg:w-9/12 w-full flex flex-col p-6 lg:p-10">
|
||||
<div class="post-header mb-2">
|
||||
<div class="flex items-center justify-between mb-2">
|
||||
<div class="text-xs text-gray-400 font-mono bg-gray-100 px-2 py-1 rounded">
|
||||
ISBN: {{ $book['isbn'] }}
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="post-title h2 !mb-1 !text-[1.6rem] font-bold text-[#343f52]">
|
||||
<a href="#" class="hover:text-[#e31e24] transition-colors">{{ $book['title'] }}</a>
|
||||
</h2>
|
||||
<div class="text-[#60697b] text-base mb-4 font-medium">
|
||||
<i class="uil uil-pen text-[#e31e24] mr-1"></i> {{ $book['author'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Attributes --}}
|
||||
<div class="flex flex-wrap gap-4 text-xs text-gray-500 mb-5 border-y border-gray-100 py-3">
|
||||
@if(isset($book['pages']) && $book['pages'] != '-')
|
||||
<div class="flex items-center gap-2" title="{{ t('Sayfa Sayısı') }}">
|
||||
<i class="uil uil-file-alt text-[#e31e24] text-base"></i>
|
||||
<span>{{ $book['pages'] }} {{ t('Sayfa') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
@if(isset($book['dimensions']) && $book['dimensions'] != '-')
|
||||
<div class="flex items-center gap-2" title="{{ t('Boyutlar') }}">
|
||||
<i class="uil uil-ruler text-[#e31e24] text-base"></i>
|
||||
<span>{{ $book['dimensions'] }}</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="content mb-6 flex-grow">
|
||||
<div x-data="{ expanded: false }" class="relative">
|
||||
<div class="transition-all duration-500 overflow-hidden"
|
||||
:style="expanded ? 'max-height: 2000px' : 'max-height: 90px'">
|
||||
<p class="text-[#60697b] leading-relaxed mb-0 whitespace-pre-line text-[0.95rem]">{!! $book['full_description'] ?: $book['description'] !!}</p>
|
||||
</div>
|
||||
|
||||
{{-- Fade Overlay --}}
|
||||
<div x-show="!expanded"
|
||||
class="absolute bottom-0 left-0 w-full h-12 bg-gradient-to-t from-white to-transparent pointer-events-none">
|
||||
</div>
|
||||
|
||||
<button @click="expanded = !expanded"
|
||||
class="text-[#e31e24] font-bold text-xs hover:underline mt-2 focus:outline-none flex items-center gap-1 uppercase tracking-wider">
|
||||
<span x-text="expanded ? '{{ t('Daha Az Göster') }}' : '{{ t('Devamını Oku') }}'"></span>
|
||||
<i class="uil" :class="expanded ? 'uil-angle-up' : 'uil-angle-down'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Topics List --}}
|
||||
@if(!empty($book['topics']))
|
||||
<div class="topics mt-auto pt-4 border-t border-gray-100">
|
||||
<h4 class="text-xs font-bold text-[#343f52] mb-3 uppercase tracking-wide opacity-70">{{ t('Konu Başlıkları') }}</h4>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
@foreach(array_slice($book['topics'], 0, 8) as $topic)
|
||||
<span class="text-[0.65rem] bg-gray-50 text-gray-600 px-2 py-1 rounded border border-gray-100 hover:bg-[#e31e24] hover:text-white hover:border-[#e31e24] transition-colors cursor-default">{{ $topic }}</span>
|
||||
@endforeach
|
||||
@if(count($book['topics']) > 8)
|
||||
<span class="text-[0.65rem] text-[#e31e24] px-2 py-1 font-bold">+{{ count($book['topics']) - 8 }} {{ t('daha') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="meta flex flex-wrap items-center justify-end gap-3 mt-6">
|
||||
@if(isset($book['google_play_link']))
|
||||
<a href="{{ $book['google_play_link'] }}" target="_blank" class="inline-flex items-center gap-3 px-5 py-3 bg-black text-white rounded-md hover:bg-gray-800 transition-all hover:translate-y-[-2px] hover:shadow-lg group-hover:bg-[#e31e24]">
|
||||
<i class="uil uil-google-play text-2xl"></i>
|
||||
<div class="flex flex-col leading-none">
|
||||
<span class="text-[0.6rem] uppercase tracking-wider text-white/70 mb-1">Google Play'de</span>
|
||||
<span class="text-sm font-bold">E-Kitap Olarak İncele</span>
|
||||
</div>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
{{-- Book Categories Filter --}}
|
||||
<div class="flex flex-wrap mx-[-15px] !mb-10">
|
||||
<div class="w-full flex-[0_0_auto] !px-[15px] max-w-full !text-center">
|
||||
<ul class="flex flex-wrap justify-center mb-0 list-none pl-0 gap-2">
|
||||
<li><a href="#" class="btn btn-sm btn-soft-primary !rounded-[50rem] hover:translate-y-[-0.15rem] transition-all">{{ t('Tümü') }}</a></li>
|
||||
<li><a href="#" class="btn btn-sm btn-soft-ash !rounded-[50rem] hover:translate-y-[-0.15rem] transition-all">{{ t('Akademik') }}</a></li>
|
||||
<li><a href="#" class="btn btn-sm btn-soft-ash !rounded-[50rem] hover:translate-y-[-0.15rem] transition-all">{{ t('Edebiyat') }}</a></li>
|
||||
<li><a href="#" class="btn btn-sm btn-soft-ash !rounded-[50rem] hover:translate-y-[-0.15rem] transition-all">{{ t('Çocuk') }}</a></li>
|
||||
<li><a href="#" class="btn btn-sm btn-soft-ash !rounded-[50rem] hover:translate-y-[-0.15rem] transition-all">{{ t('Bilim') }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,44 @@
|
||||
<section class="wrapper bg-[rgba(255,255,255)] opacity-100">
|
||||
<div class="container pt-20 pb-20 xl:pb-28 lg:pb-28 md:pb-28">
|
||||
<div class="flex flex-wrap mx-[-7.5px] items-center">
|
||||
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] px-[7.5px] max-w-full">
|
||||
<figure class="m-0 p-0"><img class="w-auto" src="{{ asset('assets/img/illustrations/3d3.png') }}" alt="image"></figure>
|
||||
</div>
|
||||
<!--/column -->
|
||||
<div class="xl:w-5/12 lg:w-5/12 w-full flex-[0_0_auto] px-[7.5px] max-w-full xl:!ml-[8.33333333%] lg:!ml-[8.33333333%]">
|
||||
<h2 class="!text-[0.8rem] !tracking-[0.02rem] !leading-[1.35] uppercase text-gradient gradient-1 !mb-3">{{ t('İletişim') }}</h2>
|
||||
<h3 class="xl:!text-[1.9rem] !text-[calc(1.315rem_+_0.78vw)] font-semibold !leading-[1.25] !tracking-[normal] !mb-8">{{ t('Sorularınız için bizimle iletişime geçin.') }}</h3>
|
||||
<div class="flex flex-row">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 255.84" data-inject-url="{{ asset('assets/img/icons/solid/pin.svg') }}" class="svg-inject icon-svg !w-[1.8rem] !h-[1.8rem] solid-duo text-[#e31e24] !mt-1 !mr-4"><path class="fill-secondary" d="M10.67 255.84a10.68 10.68 0 01-7.54-18.23l86.08-86a10.67 10.67 0 1115.08 15.1l-86.08 86a10.61 10.61 0 01-7.54 3.13z"></path><path class="fill-primary" d="M250.54 80.72L175.12 5.29a19.12 19.12 0 00-26.4 0L138.3 15.71a27.18 27.18 0 00-6.61 27.93A11.25 11.25 0 01129 55.21L98.38 85.79a13.3 13.3 0 01-9.38 3.9H76.46a29.11 29.11 0 00-20.73 8.59l-5.06 5.06a18.66 18.66 0 000 26.4l75.42 75.42a18.64 18.64 0 0026.4 0l5.06-5.07a29.12 29.12 0 008.59-20.73v-12.5a13.43 13.43 0 013.91-9.42l30.57-30.58a11.24 11.24 0 0111.57-2.74 27.14 27.14 0 0027.92-6.6l10.42-10.42a18.65 18.65 0 000-26.38z"></path></svg>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="!mb-0">{{ t('Adres') }}</h5>
|
||||
<address class=" not-italic !leading-[inherit] !mb-4">{{ t(setting('contact_address', 'Adres bilgisi yakında')) }}</address>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-row">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256.01 256" data-inject-url="{{ asset('assets/img/icons/solid/rotary.svg') }}" class="svg-inject icon-svg !w-[1.8rem] !h-[1.8rem] solid-duo text-[#e31e24] !mt-1 !mr-4"><path class="fill-secondary" d="M128 106.67a128.15 128.15 0 00-128 128A21.36 21.36 0 0021.34 256h213.32A21.36 21.36 0 00256 234.67c0-70.57-57.42-128-128-128zM128 224a42.67 42.67 0 1142.67-42.67A42.71 42.71 0 01128 224z"></path><path class="fill-primary" d="M33.45 117.34a22.89 22.89 0 01-12.56-3.69 50.7 50.7 0 01-6.61-5.12A43.84 43.84 0 01.74 68.3C5.45 43.31 33.27 27.06 53.8 17A169.32 169.32 0 01128 0c34.77 0 69.86 10.62 96.26 29.14 11.95 8.4 26.22 20.11 30.4 36.41a44 44 0 01-12.93 43 49.9 49.9 0 01-6.49 5 23.84 23.84 0 01-26.87-.76L171.1 86.18c-8.32-5.94-11.64-16.42-8.08-25.52.19-.53.41-1 .64-1.56a113 113 0 00-71.33 0l.67 1.54c3.57 9.1.22 19.6-8.08 25.52l-37.3 26.61a24.15 24.15 0 01-14.14 4.57z"></path></svg>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="!mb-0">{{ t('Telefon') }}</h5>
|
||||
<p>{{ t(setting('contact_phone', 'Telefon bilgisi yakında')) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-row">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 202.66" data-inject-url="{{ asset('assets/img/icons/solid/emails.svg') }}" class="svg-inject icon-svg !w-[1.8rem] !h-[1.8rem] solid-duo text-[#e31e24] !mt-1 !mr-4"><path class="fill-primary" d="M192 0H21.33A21.36 21.36 0 000 21.33v96a21.36 21.36 0 0021.33 21.33H192a21.36 21.36 0 0021.33-21.33v-96A21.36 21.36 0 00192 0zm0 48l-73.6 37.12A25.12 25.12 0 01106.67 88a24.39 24.39 0 01-11.84-3L21.34 48V30.08l80.85 40.75a9.64 9.64 0 008.85.11l81-40.86z"></path><path class="fill-secondary" d="M234.67 64v53.33A42.72 42.72 0 01192 160H42.67v21.33A21.36 21.36 0 0064 202.66h170.67A21.36 21.36 0 00256 181.33v-96A21.36 21.36 0 00234.67 64z"></path></svg>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="!mb-0">{{ t('E-mail') }}</h5>
|
||||
<p class="!mb-0"><a href="mailto:{{ t(setting('contact_email', 'E-mail bilgisi yakında')) }}" class="!text-[#60697b] hover:!text-[#60697b]">{{ t(setting('contact_email', 'E-mail bilgisi yakında')) }}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--/column -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</section>
|
||||
@@ -0,0 +1,165 @@
|
||||
<section class="wrapper !bg-[#ffffff]">
|
||||
<div class="container pt-20 xl:pt-28 lg:pt-28 md:pt-28 pb-16 xl:pb-20 lg:pb-20 md:pb-20">
|
||||
|
||||
@php
|
||||
// Mapping specific styles for the zigzag layout loop
|
||||
$styles = [
|
||||
'leaf' => [
|
||||
'class_suffix' => 'leaf',
|
||||
'main_color' => '#7cb798',
|
||||
'bg_color' => '#e7f2ec',
|
||||
'shape_color' => '#f0eaf6',
|
||||
'shape_class' => 'bg-line leaf',
|
||||
'btn_class' => 'btn-soft-leaf',
|
||||
],
|
||||
'aqua' => [
|
||||
'class_suffix' => 'aqua',
|
||||
'main_color' => '#54a8c7',
|
||||
'bg_color' => '#e0eff5',
|
||||
'shape_color' => '#fae6e7',
|
||||
'shape_class' => 'bg-line aqua',
|
||||
'btn_class' => 'btn-soft-aqua',
|
||||
],
|
||||
'purple' => [ // Adding more for variety if needed, falling back to leaf/aqua
|
||||
'class_suffix' => 'purple',
|
||||
'main_color' => '#9d7ad2',
|
||||
'bg_color' => '#f2eef9',
|
||||
'shape_color' => '#eaddf0',
|
||||
'shape_class' => 'bg-line purple',
|
||||
'btn_class' => 'btn-soft-purple',
|
||||
]
|
||||
];
|
||||
|
||||
$books = [
|
||||
[
|
||||
'id' => 1,
|
||||
'title' => 'TENSORFLOW İLE DERİN ÖĞRENME',
|
||||
'author' => 'Ümit Tunç / İ. Halil Sanduvaç',
|
||||
'description' => 'Sıkı durun, sizinle derin bir yolculuğa çıkacağız. Bu yolculukta şoförümüz siz, muavininiz biz olacağız. Yapay zeka ve derin öğrenme hususundaki örneklerle belirlediğimiz bu kaynak ile hem bu işin matematiğini, hem de tasarım aşamasına kadar olan aşamaları göreceksiniz.',
|
||||
'full_description' => 'Yapay zeka ve derin öğrenme hususundaki örneklerle belirlediğimiz bu kaynak ile hem bu işin matematiğini, hem de tasarım aşamasına kadar olan aşamaları göreceksiniz. Günlük hayatta kullanılan canlı örneklerle ilham verebileceğini düşündüğümüz çalışmaları sizlerin huzuruna büyük bir özveriyle sunmanın gururunu yaşıyoruz.',
|
||||
'topics' => [
|
||||
'Yapay Zeka & Derin Öğrenme',
|
||||
'Yapay Nöronlar & Katmanlar',
|
||||
'Konvolüsyonel Sinir Ağları',
|
||||
'Görüntü İşleme & HaarCascade',
|
||||
'Makine Öğrenmesi & Tensorflow',
|
||||
'OpenCV & Nesne Tanıma',
|
||||
'Veri Artırma & Setleri',
|
||||
'GANs ve Projeler'
|
||||
],
|
||||
'image' => 'assets/img/photos/tensorflow-book-real.jpg',
|
||||
// 'google_play_link' => '...' // Link removed
|
||||
],
|
||||
[
|
||||
'id' => 2,
|
||||
'title' => 'PHP İLE E-TİCARET KAPILARI',
|
||||
'author' => 'Ümit Tunç',
|
||||
'description' => 'Günümüz dünyasında gittikçe büyüyen sektörlerden biri olan sanal mağazacılık, birden bire toplumlarda yeni yeni öğretiler, kavramlar meydana getirmiştir. Kendinizi bu yeniliklere adapte edebilmek için çeşitli kavramlar öğrenilmelidir.',
|
||||
'full_description' => 'Ezber bozacak metotlar içeren bu kitap size farklı bir bakış açısıyla e-ticaret yazılımını öğretebileceği gibi; bir projenin geliştirilebilirliği bakımından çeşitli örnekler de sunacak. Sözü ve kodu fazla uzatmadan kestirme bir yol izleyen kitap; hedef pazarı gittikçe büyüyen bu sektörün kapılarını da size ardına kadar açacaktır.',
|
||||
'topics' => [
|
||||
'Az Kod Çok İş & Kobetik',
|
||||
'MySQL Fonksiyonları & SP',
|
||||
'Web Tasarımı & Şablonlar',
|
||||
'Üyelik & Kriptolama',
|
||||
'Sepet & Sipariş İşlemleri',
|
||||
'3D Secure & Güvenlik',
|
||||
'SSL & SEO',
|
||||
'Yönetim Paneli Geliştirme'
|
||||
],
|
||||
'image' => 'assets/img/photos/php-eticaret-book.jpg',
|
||||
'google_play_link' => 'https://play.google.com/store/books/details/%C3%9Cmit_TUN%C3%87_PHP_%C4%B0LE_E_T%C4%B0CARET_KAPILARI?id=aPK3DwAAQBAJ'
|
||||
],
|
||||
[
|
||||
'id' => 3,
|
||||
'title' => 'ADOBE PREMIERE PRO CC',
|
||||
'author' => 'Ümit Tunç',
|
||||
'description' => 'Video editörlüğü hangi açıdan bakılırsa bakılsın bir kişinin mutlaka alaka duyması gerekli olan bir konu. Günümüz dünyasında değişen medya anlayışıyla artık haberler çok uzun yazılardan ziyade görsellerle zenginleştiriliyor.',
|
||||
'full_description' => 'Kendi haberlerinizi hazırlayacağınız, kliplerinizi çekeceğiniz, kitaplarınızı seslendirip görüntülü ortamlara dönüştüreceğiniz harika bir kaynak. Sayısal ses ve sayısal video alanında kurgu ve montaj tekniklerinin eğitim videoları ile desteklenerek anlatıldığı bu kitap, mutlaka kütüphanenizin ön raflarında bulunması gereklidir.',
|
||||
'topics' => [
|
||||
'Görüntü Stabilize Etmek',
|
||||
'Adobe Audition & Ses Montajı',
|
||||
'Kurgu ve Montaj Estetiği',
|
||||
'Greenbox & Bluebox',
|
||||
'Haber ve Film Montajı',
|
||||
'Animasyon & Geçiş Efektleri',
|
||||
'Timeline & Keyframe',
|
||||
'Render & Formatlar'
|
||||
],
|
||||
'image' => 'assets/img/photos/adobe-premiere-book.jpg',
|
||||
'google_play_link' => 'https://play.google.com/store/books/details/%C3%9Cmit_Tun%C3%A7_ADOBE_PREMIERE_PRO_CC?id=it1TDwAAQBAJ'
|
||||
]
|
||||
];
|
||||
@endphp
|
||||
|
||||
@foreach($books as $index => $book)
|
||||
@php
|
||||
// Alternate styles
|
||||
$styleKey = ($index % 2 == 0) ? 'leaf' : 'aqua';
|
||||
$style = $styles[$styleKey];
|
||||
$reverse = ($index % 2 != 0);
|
||||
|
||||
// Split topics into 2 columns
|
||||
$topicChunks = array_chunk($book['topics'], ceil(count($book['topics']) / 2));
|
||||
@endphp
|
||||
|
||||
<div class="flex flex-wrap mx-[-15px] xl:mx-[-35px] lg:mx-[-20px] !mt-[-50px] {{ $loop->last ? '' : '!mb-[4.5rem] xl:!mb-[8rem] lg:!mb-[8rem] md:!mb-[8rem]' }} items-center">
|
||||
|
||||
{{-- Image Column --}}
|
||||
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] xl:!px-[35px] lg:!px-[20px] !px-[15px] max-w-full !mt-[50px] !relative {{ $reverse ? 'xl:!order-2 lg:!order-2' : '' }}">
|
||||
|
||||
{{-- Decorative Shapes --}}
|
||||
@if(!$reverse)
|
||||
<div class="shape {{ $style['shape_class'] }} !rounded-[50%] rellax !w-[7rem] !h-[7rem] !absolute z-[1] opacity-50" data-rellax-speed="1" style="top: -2rem; right: -0.6rem;"></div>
|
||||
<div class="shape !rounded-[50%] rellax !w-[7rem] !h-[7rem] !absolute z-[1] opacity-50" data-rellax-speed="1" style="bottom: -2rem; left: -0.4rem; background-color: {{ $style['shape_color'] }};"></div>
|
||||
@else
|
||||
<div class="shape {{ $style['shape_class'] }} !rounded-[50%] rellax !w-[7rem] !h-[7rem] !absolute z-[1] opacity-50" data-rellax-speed="1" style="top: -2rem; left: -0.6rem;"></div>
|
||||
<div class="shape !rounded-[50%] rellax !w-[7rem] !h-[7rem] !absolute z-[1] opacity-50" data-rellax-speed="1" style="bottom: -2rem; right: -0.4rem; background-color: {{ $style['shape_color'] }};"></div>
|
||||
@endif
|
||||
|
||||
<figure class="!rounded-[.4rem] !mb-0 shadow-lg group overflow-hidden">
|
||||
<img class="!rounded-[.4rem] w-full h-auto object-cover transform group-hover:scale-105 transition-transform duration-500" src="{{ asset($book['image']) }}" alt="{{ $book['title'] }}">
|
||||
</figure>
|
||||
</div>
|
||||
<!--/column -->
|
||||
|
||||
{{-- Content Column --}}
|
||||
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] xl:!px-[35px] lg:!px-[20px] !px-[15px] max-w-full !mt-[50px] {{ $reverse ? 'xl:!order-1 lg:!order-1' : '' }}">
|
||||
<h3 class="!text-[calc(1.305rem_+_0.66vw)] font-bold xl:!text-[1.8rem] !leading-[1.3] !mb-2">{{ $book['title'] }}</h3>
|
||||
<div class="text-[#e31e24] font-medium mb-4 uppercase tracking-wide text-sm">{{ $book['author'] }}</div>
|
||||
|
||||
<p class="!mb-5 text-gray-600 leading-relaxed">{{ $book['full_description'] }}</p>
|
||||
|
||||
<div class="flex flex-wrap mx-[-15px] !mt-[-15px]">
|
||||
@foreach($topicChunks as $chunk)
|
||||
<div class="xl:w-6/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mt-[15px]">
|
||||
<ul class="pl-0 list-none bullet-bg bullet-{{ $style['class_suffix'] }} !mb-0">
|
||||
@foreach($chunk as $liIndex => $topic)
|
||||
<li class="{{ $liIndex > 0 ? '!mt-3' : '' }} relative !pl-6">
|
||||
<span>
|
||||
<i class="uil uil-check !w-4 !h-4 text-[0.8rem] leading-none !tracking-[normal] text-center table absolute rounded-[100%] left-0 top-[0.2rem] before:align-middle before:table-cell before:content-['\e9dd']" style="color: {{ $style['main_color'] }}; background-color: {{ $style['bg_color'] }};"></i>
|
||||
</span>
|
||||
<span class="text-sm text-gray-700">{{ $topic }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<!--/.row -->
|
||||
|
||||
<div class="flex items-center gap-3 mt-8">
|
||||
@if(isset($book['google_play_link']))
|
||||
<a href="{{ $book['google_play_link'] }}" target="_blank" class="btn !rounded-[50rem] !mb-0 !mr-0 hover:translate-y-[-2px] transition-transform" style="background-color: {{ $style['bg_color'] }}; color: {{ $style['main_color'] }};">
|
||||
{{ t('İncele & Satın Al') }}
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--/column -->
|
||||
</div>
|
||||
<!--/.row -->
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,13 @@
|
||||
<section class="wrapper !bg-[#f6f7f9]">
|
||||
<div class="container py-[4.5rem] xl:!py-24 lg:!py-24 md:!py-24">
|
||||
<div class="flex flex-wrap mx-[-15px]">
|
||||
<div class="xl:w-10/12 lg:w-10/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto !text-center">
|
||||
<h2 class="!text-[calc(1.305rem_+_0.66vw)] font-bold xl:!text-[1.8rem] !leading-[1.3] !mb-3">{{ t('Kitaplarımız Hakkında Bilgi Almak İster misiniz?') }}</h2>
|
||||
<p class="lead !leading-[1.65] text-[0.9rem] font-medium !mb-6">{{ t('Yayınlarımız hakkında detaylı bilgi almak için bizimle iletişime geçebilirsiniz.') }}</p>
|
||||
<a href="/iletisim" class="btn btn-primary !text-white !bg-[#e31e24] border-[#e31e24] hover:text-white hover:bg-[#c31217] hover:!border-[#c31217] !rounded-[50rem] hover:translate-y-[-0.15rem] hover:shadow-[0_0.25rem_0.75rem_rgba(30,34,40,0.15)]">
|
||||
{{ t('İletişime Geçin') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,15 @@
|
||||
<section class="wrapper" style="background-color: #1e293b;">
|
||||
<div class="container pt-10 pb-10 xl:pt-14 lg:pt-14 md:pt-14 xl:pb-12 lg:pb-12 md:pb-12 text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-lg-8 col-xl-7 col-xxl-6 mx-auto">
|
||||
<h1 class="display-1 !mb-3 !text-[2.5rem] font-bold tracking-tight" style="color: #ffffff;">{!! t('Kitaplarımız') !!}</h1>
|
||||
<p class="lead !text-[1.1rem] !leading-[1.6] font-medium mb-0 max-w-2xl mx-auto" style="color: #cbd5e1;">
|
||||
{!! t('Geleceği şekillendiren teknolojileri, uzman kalemlerden derinlemesine öğrenin.') !!}
|
||||
</p>
|
||||
</div>
|
||||
<!-- /column -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</section>
|
||||
@@ -0,0 +1 @@
|
||||
@include('templates.books.books')
|
||||
Reference in New Issue
Block a user