feat: enhance security headers and optimize asset loading for improved performance and user experience

This commit is contained in:
Ümit Tunç
2026-05-21 22:00:58 +03:00
parent 6d9ffc808b
commit ddf9640222
6 changed files with 70 additions and 46 deletions
@@ -41,11 +41,14 @@ class EnsureSecurityHeaders
// For general sites: geolocation=(), microphone=(), camera=() is often safe.
$response->headers->set('Permissions-Policy', 'geolocation=(), microphone=(), camera=()');
// Cross-Origin-Opener-Policy: isolate browsing context from cross-origin documents
$response->headers->set('Cross-Origin-Opener-Policy', 'same-origin');
// Content-Security-Policy (CSP) - Start with upgrade-insecure-requests to force HTTPS assets
// A full CSP can be tricky and break scripts. 'upgrade-insecure-requests' is safe and good for mixed content.
// We can add 'frame-ancestors' here too if X-Frame-Options is ignored by some.
// If the user wants A+, a basic CSP is often enough.
$csp = "upgrade-insecure-requests; block-all-mixed-content;";
$csp = "upgrade-insecure-requests; block-all-mixed-content; frame-ancestors 'self';";
$response->headers->set('Content-Security-Policy', $csp);
return $response;
Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+10 -5
View File
@@ -57,9 +57,12 @@ $favicon_path = setting('site_favicon');
@stack('structured-data')
<link rel="icon" href="{{ $favicon_path ? (str_starts_with($favicon_path, 'http') ? $favicon_path : asset($favicon_path)) : asset('assets/img/favicon.png') }}">
@stack('head')
<link rel="stylesheet" href="{{ asset('html/style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/fonts/unicons/unicons.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/plugins.css') }}">
<link rel="preload" href="{{ asset('assets/fonts/unicons/unicons.css') }}" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="{{ asset('assets/fonts/unicons/unicons.css') }}"></noscript>
<link rel="preload" href="{{ asset('assets/css/plugins.css') }}" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="{{ asset('assets/css/plugins.css') }}"></noscript>
<link rel="stylesheet" href="{{ asset('assets/css/colors/grape.css') }}">
<link rel="preload" href="{{ asset('assets/css/fonts/urbanist.css') }}" as="style" onload="this.rel='stylesheet'">
<link rel="preload" href="{{ asset('assets/css/fonts/space.css') }}" as="style" onload="this.rel='stylesheet'">
@@ -232,7 +235,9 @@ $favicon_path = setting('site_favicon');
@endif
{{-- Main Content --}}
@yield('content')
<main id="main-content">
@yield('content')
</main>
{{-- Dynamic Footer Template or Static Footer --}}
@php
@@ -278,8 +283,8 @@ $favicon_path = setting('site_favicon');
@include('partials.footer')
@endif
<script src="{{ asset('assets/js/plugins.js') }}"></script>
<script src="{{ asset('assets/js/theme.js') }}"></script>
<script src="{{ asset('assets/js/plugins.js') }}" defer></script>
<script src="{{ asset('assets/js/theme.js') }}" defer></script>
@stack('scripts')
</body>
</html>
+10 -10
View File
@@ -3,16 +3,16 @@
<div class="flex flex-wrap mx-[-15px] !mt-[-30px] xl:!mt-0 lg:!mt-0">
<div class="md:w-4/12 xl:w-3/12 lg:w-3/12 w-full flex-[0_0_auto] !px-[15px] max-w-full xl:!mt-0 lg:!mt-0 !mt-[30px]">
<div class="widget !text-[#cacaca]">
<img class="!mb-4" src="../../assets/img/truncgil-yatay-dark.svg" alt="image" loading="lazy">
<img class="!mb-4" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="{{ setting('site_name', config('app.name')) }}" width="134" height="43" loading="lazy" decoding="async">
<p class="!mb-4">© {{ date('Y') }} {{ t('Trunçgil Teknoloji') }}. <br class="hidden xl:block lg:block !text-[#cacaca]">{{ t('Tüm hakları saklıdır.') }}</p>
<?php $social_media = json_decode(setting('social_links'), true);
?>
<nav class="nav social social-white">
<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 class="nav social social-white" aria-label="{{ t('Sosyal medya') }}">
<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 noreferrer" aria-label="{{ t('Twitter') }}"><i class="uil uil-twitter before:content-['\ed59'] !text-white text-[1rem]" aria-hidden="true"></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 noreferrer" aria-label="{{ t('Facebook') }}"><i class="uil uil-facebook-f before:content-['\eae2'] !text-white text-[1rem]" aria-hidden="true"></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 noreferrer" aria-label="{{ t('GitHub') }}"><i class="uil uil-github before:content-['\eb40'] !text-white text-[1rem]" aria-hidden="true"></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 noreferrer" aria-label="{{ t('Instagram') }}"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]" aria-hidden="true"></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 noreferrer" aria-label="{{ t('YouTube') }}"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]" aria-hidden="true"></i></a>
</nav>
<!-- /.social -->
</div>
@@ -21,7 +21,7 @@
<!-- /column -->
<div class="md:w-4/12 xl:w-3/12 lg:w-3/12 w-full flex-[0_0_auto] !px-[15px] max-w-full xl:!mt-0 lg:!mt-0 !mt-[30px]">
<div class="widget !text-[#cacaca]">
<h4 class="widget-title !text-white !mb-3">{{ t('İletişim') }}</h4>
<p class="widget-title !text-white !mb-3 !text-[1rem] !font-semibold">{!! t('İletişim') !!}</p>
<address class="xl:!pr-20 xxl:!pr-28 not-italic !leading-[inherit] block !mb-4">{{ setting('contact_address') }}</address>
<a class="!text-[#cacaca] hover:!text-[#e31e24]" href="mailto:{{ setting('contact_email') }}">{{ setting('contact_email') }}</a><br> {{ setting('contact_phone') }}
</div>
@@ -30,7 +30,7 @@
<!-- /column -->
<div class="md:w-4/12 xl:w-3/12 lg:w-3/12 w-full flex-[0_0_auto] !px-[15px] max-w-full xl:!mt-0 lg:!mt-0 !mt-[30px]">
<div class="widget !text-[#cacaca]">
<h4 class="widget-title !text-white !mb-3">{{ t('Daha Fazla Bilgi') }}</h4>
<p class="widget-title !text-white !mb-3 !text-[1rem] !font-semibold">{!! t('Daha Fazla Bilgi') !!}</p>
<ul class="pl-0 list-none !mb-0">
<li><a class="!text-[#cacaca] hover:!text-[#e31e24]" href="#">{{ t('Hakkımızda') }}</a></li>
<li class="!mt-[0.35rem]"><a class="!text-[#cacaca] hover:!text-[#e31e24]" href="#">{{ t('Hikayemiz') }}</a></li>
@@ -44,7 +44,7 @@
<!-- /column -->
<div class="md:w-full xl:w-3/12 lg:w-3/12 w-full flex-[0_0_auto] !px-[15px] max-w-full xl:!mt-0 lg:!mt-0 !mt-[30px]">
<div class="widget !text-[#cacaca]">
<h4 class="widget-title !text-white !mb-3">{{ t('Bizimle İletişime Geçin') }}</h4>
<p class="widget-title !text-white !mb-3 !text-[1rem] !font-semibold">{!! t('Bizimle İletişime Geçin') !!}</p>
<p class="!mb-5">{{ t('Yeniliklerden haberdar olmak için bize e-posta adresinizi bırakın.') }}</p>
<div class="newsletter-wrapper">
<!-- Begin Mailchimp Signup Form -->
@@ -4,13 +4,13 @@
<div class="container xl:!flex-row lg:!flex-row !flex-nowrap items-center">
<div class="navbar-brand w-full">
<a href="{{ url('/') }}">
<img src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="{{ setting('site_name', config('app.name')) }}" loading="lazy">
<img src="{{ asset('assets/img/truncgil-yatay.svg') }}" alt="{{ setting('site_name', config('app.name')) }}" width="134" height="43" fetchpriority="high" decoding="async">
</a>
</div>
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
<div class="offcanvas-header xl:!hidden lg:!hidden flex items-center justify-between flex-row p-6">
<a href="{{ url('/') }}">
<img class="!h-[2.2rem]" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="{{ setting('site_name', config('app.name')) }}" loading="lazy">
<img class="!h-[2.2rem]" src="{{ asset('assets/img/truncgil-yatay-dark.svg') }}" alt="{{ setting('site_name', config('app.name')) }}" width="134" height="43" decoding="async">
</a>
<button type="button" class="btn-close !text-white" data-bs-dismiss="offcanvas" aria-label="{{ __('Close') }}"></button>
</div>
@@ -25,16 +25,16 @@
@php $social_media = json_decode(setting('social_links'), true) ?? []; @endphp
<nav class="nav social social-white !mt-4">
@if(!empty($social_media['Twitter']))
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $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 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $social_media['Twitter'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Twitter') }}"><i class="uil uil-twitter before:content-['\ed59'] !text-white text-[1rem]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Facebook']))
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $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 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $social_media['Facebook'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Facebook') }}"><i class="uil uil-facebook-f before:content-['\eae2'] !text-white text-[1rem]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Instagram']))
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $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 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $social_media['Instagram'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Instagram') }}"><i class="uil uil-instagram before:content-['\eb9c'] !text-white text-[1rem]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Youtube']))
<a class="!text-[#cacaca] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener"><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 hover:translate-y-[-0.15rem] m-[0_.7rem_0_0]" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('YouTube') }}"><i class="uil uil-youtube before:content-['\edb5'] !text-white text-[1rem]" aria-hidden="true"></i></a>
@endif
</nav>
</div>
@@ -50,21 +50,21 @@
@php $social_media = json_decode(setting('social_links'), true) ?? []; @endphp
<nav class="nav social social-muted justify-end text-right">
@if(!empty($social_media['Twitter']))
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Twitter'] }}" target="_blank" rel="noopener"><i class="uil uil-twitter before:content-['\ed59'] text-[1rem] !text-[#5daed5]"></i></a>
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Twitter'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Twitter') }}"><i class="uil uil-twitter before:content-['\ed59'] text-[1rem] !text-[#5daed5]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Facebook']))
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Facebook'] }}" target="_blank" rel="noopener"><i class="uil uil-facebook-f before:content-['\eae2'] text-[1rem] !text-[#4470cf]"></i></a>
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Facebook'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Facebook') }}"><i class="uil uil-facebook-f before:content-['\eae2'] text-[1rem] !text-[#4470cf]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Instagram']))
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Instagram'] }}" target="_blank" rel="noopener"><i class="uil uil-instagram before:content-['\eb9c'] text-[1rem] !text-[#d53581]"></i></a>
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Instagram'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('Instagram') }}"><i class="uil uil-instagram before:content-['\eb9c'] text-[1rem] !text-[#d53581]" aria-hidden="true"></i></a>
@endif
@if(!empty($social_media['Youtube']))
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener"><i class="uil uil-youtube before:content-['\edb5'] text-[1rem] !text-[#c8312b]"></i></a>
<a class="m-[0_0_0_.7rem] text-[1rem] transition-all duration-[0.2s] ease-in-out translate-y-0 hover:translate-y-[-0.15rem]" href="{{ $social_media['Youtube'] }}" target="_blank" rel="noopener noreferrer" aria-label="{{ t('YouTube') }}"><i class="uil uil-youtube before:content-['\edb5'] text-[1rem] !text-[#c8312b]" aria-hidden="true"></i></a>
@endif
</nav>
</li>
<li class="nav-item xl:!hidden lg:!hidden">
<button class="hamburger offcanvas-nav-btn" type="button" data-bs-toggle="offcanvas" data-bs-target=".offcanvas-nav"><span></span></button>
<button class="hamburger offcanvas-nav-btn" type="button" data-bs-toggle="offcanvas" data-bs-target=".offcanvas-nav" aria-label="{{ t('Menüyü aç') }}"><span></span></button>
</li>
</ul>
</div>
@@ -1,5 +1,9 @@
@extends('layouts.site', ['header' => 'partials.header-app-development', 'footer' => 'partials.footer'])
@push('head')
<link rel="preload" as="image" href="{{ asset('assets/img/photos/truncgil-mobile-app.webp') }}" type="image/webp" fetchpriority="high">
@endpush
@push('styles')
<style>
.app-dev-section .accordion-wrapper .card-header button.collapsed {
@@ -177,7 +181,7 @@
@endphp
{{-- Hero --}}
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)]" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}">
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)]" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}" style="background-image: url('{{ asset('assets/img/photos/bg23.webp') }}');">
<div class="container pt-24 xl:pt-32 lg:pt-32 md:pt-32 pb-9">
<div class="flex flex-wrap mx-0 !mt-[-50px] items-center text-center lg:text-left xl:text-left">
<div class="xl:w-6/12 lg:w-6/12 xxl:w-5/12 w-full flex-[0_0_auto] max-w-full !relative !mt-[50px]" data-cues="slideInDown" data-group="page-title" data-delay="700">
@@ -190,13 +194,16 @@
{!! t('Trunçgil Teknoloji olarak Android ve iOS uygulamalarını fikirden mağaza yayınına kadar titizlikle hayata geçiriyoruz.') !!}
</p>
<div class="flex flex-wrap justify-center lg:!justify-start xl:!justify-start gap-4 items-center" data-cues="slideInDown" data-group="page-title-buttons" data-delay="1800">
<img src="{{ asset('assets/img/photos/button-google-play.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="Google Play" loading="lazy">
<img src="{{ asset('assets/img/photos/button-appstore.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="App Store" loading="lazy">
<img src="{{ asset('assets/img/photos/button-google-play.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="Google Play" width="135" height="40" loading="lazy" decoding="async">
<img src="{{ asset('assets/img/photos/button-appstore.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="App Store" width="135" height="40" loading="lazy" decoding="async">
</div>
</div>
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] max-w-full !ml-auto !mb-[-10rem] xxl:!mb-[-15rem] !mt-[50px]" data-cues="slideInDown" data-delay="600">
<figure class="m-0 p-0">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/truncgil-mobile-app.png') }}" alt="{!! t('Trunçgil Teknoloji mobil uygulama geliştirme') !!}" loading="lazy">
<picture>
<source srcset="{{ asset('assets/img/photos/truncgil-mobile-app.webp') }}" type="image/webp">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/truncgil-mobile-app.png') }}" alt="{!! t('Trunçgil Teknoloji mobil uygulama geliştirme') !!}" width="735" height="735" fetchpriority="high" decoding="async">
</picture>
</figure>
</div>
</div>
@@ -219,7 +226,7 @@
<div class="lg:w-10/12 xl:w-9/12 xxl:w-8/12 flex-[0_0_auto] !px-[15px] max-w-full !mx-auto !relative">
<img src="{{ asset('assets/img/svg/doodle3.svg') }}" class="!h-[3rem] absolute hidden xl:block lg:block" style="top: -45%; left: 23%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle4.svg') }}" class="h-8 absolute hidden xl:block lg:block" style="top: 6%; right: 2%" alt="" loading="lazy">
<h2 class="!text-[0.8rem] !leading-[1.35] !tracking-[0.02rem] uppercase !text-[#aab0bc] !mb-3">{!! t('Geliştirme Yetkinliklerimiz') !!}</h2>
<h2 class="!text-[0.8rem] !leading-[1.35] !tracking-[0.02rem] uppercase !text-[#74788d] !mb-3">{!! t('Geliştirme Yetkinliklerimiz') !!}</h2>
<h3 class="xl:!text-[2rem] !text-[calc(1.325rem_+_0.9vw)] font-semibold !leading-[1.2] !mb-12 lg:!px-5 xl:!px-0 xxl:!px-6">
{!! t('Trunçgil Teknoloji, uygulamanızı mağazaya hazır hale getirmek için') !!} <span class="text-gradient gradient-7">{!! t('her detayı') !!}</span> {!! t('düşünür.') !!}
</h3>
@@ -232,7 +239,7 @@
@foreach($features as $index => $feature)
<div class="md:w-6/12 lg:w-3/12 xl:w-3/12 w-full flex-[0_0_auto] !px-[15px] xl:!px-[20px] lg:!px-[20px] md:!px-[20px] !mt-[50px] max-w-full">
<div class="svg-bg svg-bg-lg !rounded-[0.8rem] !mb-4 flex items-center justify-center" style="background-color: {{ $featureBgColors[$index] ?? '#f0f0f8' }};">
<i class="uil {{ $feature['icon'] }} !text-[2rem] text-[#343f52]"></i>
<i class="uil {{ $feature['icon'] }} !text-[2rem] text-[#343f52]" aria-hidden="true"></i>
</div>
<h4 class="!text-[1rem]">{!! t($feature['title']) !!}</h4>
</div>
@@ -246,7 +253,7 @@
<div class="md:w-10/12 lg:w-7/12 xl:w-7/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto !relative">
<img src="{{ asset('assets/img/svg/doodle5.svg') }}" class="!w-[5rem] absolute hidden xl:block lg:block" style="bottom: -60%; right: 10%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle6.svg') }}" class="!h-[5rem] !absolute hidden xl:block lg:block" style="top: -40%; left: -5%" alt="" loading="lazy">
<h2 class="!text-[0.8rem] !tracking-[0.02rem] uppercase !text-[#aab0bc] !mb-3 !leading-[1.35]">{!! t('Geliştirme Sürecimiz') !!}</h2>
<h2 class="!text-[0.8rem] !tracking-[0.02rem] uppercase !text-[#74788d] !mb-3 !leading-[1.35]">{!! t('Geliştirme Sürecimiz') !!}</h2>
<h3 class="!text-[calc(1.325rem_+_0.9vw)] font-bold !leading-[1.2] xl:!text-[2rem] !mb-8 xl:!px-6">
{!! t('Trunçgil Teknoloji ile fikirden mağazaya') !!} <span class="text-gradient gradient-7">{!! t('dört adımda') !!}</span> {!! t('ilerleyin.') !!}
</h3>
@@ -258,7 +265,10 @@
<div class="flex flex-wrap mx-[-15px] !mt-[-50px] xl:!mt-0 lg:!mt-0 !text-center items-center">
<div class="md:w-6/12 lg:w-4/12 xl:w-4/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto !mb-[-2.5rem] lg:!mb-0 xl:!mb-0 !mt-[50px] xl:!mt-0 lg:!mt-0">
<figure class="mx-auto">
<img src="{{ asset('assets/img/photos/devices4.png') }}" alt="{!! t('Trunçgil Teknoloji uygulama geliştirme süreci') !!}" loading="lazy">
<picture>
<source srcset="{{ asset('assets/img/photos/devices4.webp') }}" type="image/webp">
<img src="{{ asset('assets/img/photos/devices4.png') }}" alt="{!! t('Trunçgil Teknoloji uygulama geliştirme süreci') !!}" width="373" height="682" loading="lazy" decoding="async">
</picture>
</figure>
</div>
<div class="w-full xl:!hidden lg:!hidden !px-[15px] !mt-[50px]"></div>
@@ -287,14 +297,14 @@
</section>
{{-- FAQ --}}
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 bg-content [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)] app-dev-section" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}">
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 bg-content [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)] app-dev-section" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}" style="background-image: url('{{ asset('assets/img/photos/bg23.webp') }}');">
<div class="container py-[4.5rem] md:pt-24 lg:pt-0 xl:pt-0 xl:pb-[7rem] lg:pb-[7rem] md:pb-[7rem] !relative" style="z-index: 2;">
<div class="flex flex-wrap mx-[-15px]">
<div class="xl:w-11/12 xxl:w-10/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto">
<div class="!relative !mb-12">
<img src="{{ asset('assets/img/svg/doodle7.svg') }}" class="h-7 absolute hidden xl:block lg:block" style="top: -90%; right: -3%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle8.svg') }}" class="!h-[4.5rem] absolute hidden xl:block lg:block" style="top: -20%; left: -12%" alt="" loading="lazy">
<h2 class="!text-[0.8rem] uppercase !text-[#aab0bc] !mb-3 !text-center !leading-[1.35]">{!! t('Sık Sorulan Sorular') !!}</h2>
<h2 class="!text-[0.8rem] uppercase !text-[#74788d] !mb-3 !text-center !leading-[1.35]">{!! t('Sık Sorulan Sorular') !!}</h2>
<h3 class="!text-[calc(1.325rem_+_0.9vw)] font-bold !leading-[1.2] xl:!text-[2rem] !mb-0 lg:!px-8 xl:!px-12 !text-center">
{!! t('Uygulama geliştirme hakkında') !!} <span class="text-gradient gradient-7">{!! t('merak ettikleriniz') !!}</span>
</h3>
@@ -349,7 +359,7 @@
<div class="md:w-11/12 lg:w-9/12 xl:w-8/12 xxl:w-7/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto !relative">
<img src="{{ asset('assets/img/svg/doodle3.svg') }}" class="!h-[3rem] absolute hidden xl:block lg:block" style="top: -20%; right: -12%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle9.svg') }}" class="!h-[7rem] absolute hidden xl:block lg:block" style="bottom: 5%; left: -17%" alt="" loading="lazy">
<h2 class="!text-[0.8rem] uppercase !text-[#aab0bc] !mb-3 !text-center !leading-[1.35]">{!! t('Neden Trunçgil Teknoloji?') !!}</h2>
<h2 class="!text-[0.8rem] uppercase !text-[#74788d] !mb-3 !text-center !leading-[1.35]">{!! t('Neden Trunçgil Teknoloji?') !!}</h2>
<h3 class="!text-[calc(1.325rem_+_0.9vw)] font-bold !leading-[1.2] xl:!text-[2rem] !mb-14 !text-center">
{!! t('Google Play ve App Store\'da başarılı olmanız için') !!} <span class="text-gradient gradient-7">{!! t('6 güçlü neden') !!}</span>
</h3>
@@ -359,7 +369,10 @@
<div class="flex-wrap mx-[-15px] flex items-start !mb-36">
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] !px-[15px] max-w-full xl:!sticky lg:!sticky" style="top: 8rem;">
<figure class="m-0 p-0">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/devices5.png') }}" alt="{!! t('Trunçgil Teknoloji mobil uygulamalar') !!}" loading="lazy">
<picture>
<source srcset="{{ asset('assets/img/photos/devices5.webp') }}" type="image/webp">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/devices5.png') }}" alt="{!! t('Trunçgil Teknoloji mobil uygulamalar') !!}" width="630" height="795" loading="lazy" decoding="async">
</picture>
</figure>
</div>
<div class="xl:w-5/12 lg:w-5/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !ml-auto">
@@ -367,7 +380,7 @@
<div class="flex flex-row !mb-8">
<div>
<div class="svg-bg svg-bg-lg !rounded-[0.8rem] !mr-5 flex items-center justify-center" style="background-color: {{ $item['bg'] }};">
<i class="uil {{ $item['icon'] }} !text-[2rem] text-[#343f52]"></i>
<i class="uil {{ $item['icon'] }} !text-[2rem] text-[#343f52]" aria-hidden="true"></i>
</div>
</div>
<div>
@@ -385,7 +398,7 @@
<img src="{{ asset('assets/img/svg/doodle1.svg') }}" class="h-9 !absolute hidden xl:block lg:block" style="top: 2%; left: 9%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle10.svg') }}" class="h-7 absolute hidden xl:block lg:block" style="top: -45%; left: -17%" alt="" loading="lazy">
<img src="{{ asset('assets/img/svg/doodle11.svg') }}" class="!h-[4rem] absolute hidden xl:block lg:block" style="top: -40%; right: -15%" alt="" loading="lazy">
<h2 class="!text-[0.8rem] !tracking-[0.02rem] uppercase !text-[#aab0bc] !mb-3 !leading-[1.35]">{!! t('Mutlu Müşteriler') !!}</h2>
<h2 class="!text-[0.8rem] !tracking-[0.02rem] uppercase !text-[#74788d] !mb-3 !leading-[1.35]">{!! t('Mutlu Müşteriler') !!}</h2>
<h3 class="!text-[calc(1.325rem_+_0.9vw)] font-bold !leading-[1.2] xl:!text-[2rem] !mb-12 xl:!px-10 xxl:!px-16">
{!! t('Trunçgil Teknoloji ile çalışan müşterilerimizin') !!} <span class="text-gradient gradient-7">{!! t('deneyimleri') !!}</span>
</h3>
@@ -402,7 +415,7 @@
<p>{!! t($testimonial['quote']) !!}</p>
<div class="flex items-center text-left">
<div class="info !pl-0">
<h5 class="!mb-1 text-[.9rem] !leading-[1.5]">{!! e($testimonial['name']) !!}</h5>
<p class="!mb-1 text-[.9rem] !leading-[1.5] !font-semibold">{!! e($testimonial['name']) !!}</p>
<p class="!mb-0 text-[.8rem]">{!! t($testimonial['role']) !!}</p>
</div>
</div>
@@ -417,7 +430,7 @@
</section>
{{-- Bottom CTA --}}
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)]" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}">
<section class="wrapper image-wrapper bg-full bg-image bg-overlay bg-overlay-light-600 [background-size:100%] bg-[center_center] bg-no-repeat bg-scroll relative z-0 before:content-[''] before:block before:absolute before:z-[1] before:w-full before:h-full before:left-0 before:top-0 before:bg-[rgba(255,255,255,.6)]" data-image-src="{{ asset('assets/img/photos/bg23.webp') }}" style="background-image: url('{{ asset('assets/img/photos/bg23.webp') }}');">
<div class="overflow-hidden" style="z-index:1;">
<div class="divider divider-alt !text-[#fefefe] mx-[-0.5rem]">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 100">
@@ -441,14 +454,17 @@
<div class="flex flex-wrap justify-center xl:!justify-start lg:!justify-start gap-3 items-center">
<div class="flex gap-4 items-center">
<img src="{{ asset('assets/img/photos/button-google-play.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="Google Play" loading="lazy">
<img src="{{ asset('assets/img/photos/button-appstore.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="App Store" loading="lazy">
<img src="{{ asset('assets/img/photos/button-google-play.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="Google Play" width="135" height="40" loading="lazy" decoding="async">
<img src="{{ asset('assets/img/photos/button-appstore.svg') }}" class="!h-[4rem] xl:!h-[4.25rem] !rounded-[0.8rem]" alt="App Store" width="135" height="40" loading="lazy" decoding="async">
</div>
</div>
</div>
<div class="xl:w-6/12 lg:w-6/12 w-full flex-[0_0_auto] max-w-full !ml-auto !mt-lg-n15 xl:!mt-[-10rem] lg:!mt-[-5rem] !mt-[50px]">
<figure class="m-0 p-0">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/devices6.png') }}" alt="{!! t('Trunçgil Teknoloji uygulama geliştirme') !!}" loading="lazy">
<picture>
<source srcset="{{ asset('assets/img/photos/devices6.webp') }}" type="image/webp">
<img class="w-full max-w-full !h-auto" src="{{ asset('assets/img/photos/devices6.png') }}" alt="{!! t('Trunçgil Teknoloji uygulama geliştirme') !!}" width="645" height="725" loading="lazy" decoding="async">
</picture>
</figure>
</div>
</div>