Files
citrus/resources/views/front/products/finance.blade.php
T

510 lines
27 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@extends('layouts.site')
@php
use Illuminate\Support\Facades\Storage;
$header = 'front.products.finance_header';
@endphp
@section('title', $product->translate('title') ?? 'Trunçgil Finance')
@php
$landingData = $product->landing_page_data ?? [];
$hero = $landingData['hero'] ?? [];
$features = $landingData['features'] ?? [];
$howItWorks = $landingData['how_it_works'] ?? [];
$steps = $howItWorks['steps'] ?? [];
$faqs = $landingData['faqs'] ?? [];
$currentLang = app()->getLocale();
// Helper function for translations
$getTranslated = function($item, $key, $default = '') use ($currentLang) {
if (isset($item["{$key}_{$currentLang}"])) {
return $item["{$key}_{$currentLang}"];
}
return $item[$key] ?? $default;
};
@endphp
@push('styles')
<style>
/* Green-Tuned Premium Dark Theme Core Styles */
:root {
--primary: #00e676 !important;
--primary-rgb: 0, 230, 118 !important;
}
body {
background-color: #0b0f0d !important;
color: #e2e8f0 !important;
font-family: 'Space Grotesk', 'Urbanist', sans-serif !important;
}
.btn-primary {
background-color: #00e676 !important;
border-color: #00e676 !important;
color: #0b0f0d !important;
font-weight: 600 !important;
}
.btn-primary:hover {
background-color: #00b359 !important;
border-color: #00b359 !important;
color: #0b0f0d !important;
}
.finance-dark-page {
background: radial-gradient(circle at 50% 0%, rgba(0, 230, 118, 0.08) 0%, rgba(11, 15, 13, 0) 50%),
radial-gradient(circle at 100% 50%, rgba(0, 230, 118, 0.04) 0%, rgba(11, 15, 13, 0) 40%),
#0b0f0d;
overflow-x: hidden;
}
/* Glow Gradients matching Emerald/Green */
.text-glow-gradient {
background: linear-gradient(135deg, #ffffff 0%, #a7f3d0 50%, #34d399 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.text-green-glow {
color: #00e676 !important;
text-shadow: 0 0 12px rgba(0, 230, 118, 0.35);
}
/* Elegant Glassmorphism Cards */
.glass-card {
background: rgba(18, 26, 22, 0.55);
backdrop-filter: blur(16px);
border: 1px solid rgba(0, 230, 118, 0.08) !important;
border-radius: 1rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-card:hover {
transform: translateY(-4px);
border-color: rgba(0, 230, 118, 0.25) !important;
box-shadow: 0 12px 35px rgba(0, 230, 118, 0.1);
}
/* Active dynamic pulse */
.pulse-dot-green {
width: 8px;
height: 8px;
background-color: #00e676;
border-radius: 50%;
display: inline-block;
box-shadow: 0 0 0 0 rgba(0, 230, 118, 0.7);
animation: pulse-green 1.8s infinite;
}
@keyframes pulse-green {
0% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(0, 230, 118, 0.7);
}
70% {
transform: scale(1);
box-shadow: 0 0 0 8px rgba(0, 230, 118, 0);
}
100% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(0, 230, 118, 0);
}
}
/* Code editor tab styles matching Green Theme */
.code-editor-header {
background: #0f1411;
border-top-left-radius: 0.75rem;
border-top-right-radius: 0.75rem;
padding: 0.75rem 1.25rem;
border-bottom: 1px solid rgba(0, 230, 118, 0.08);
display: flex;
justify-content: space-between;
align-items: center;
}
.code-editor-body {
background: #050807;
border-bottom-left-radius: 0.75rem;
border-bottom-right-radius: 0.75rem;
padding: 1.5rem;
font-family: 'Fira Code', 'Courier New', Courier, monospace;
font-size: 0.85rem;
color: #cbd5e1;
overflow-x: auto;
}
.nav-tabs-code .nav-link {
color: #8892b0;
border: none;
padding: 0.4rem 1rem;
border-radius: 0.375rem;
font-weight: 500;
font-size: 0.85rem;
transition: all 0.2s ease;
}
.nav-tabs-code .nav-link.active {
color: #00e676 !important;
background: rgba(0, 230, 118, 0.1) !important;
}
/* Accordions inside dark theme */
.accordion-dark .accordion-item {
background: rgba(18, 26, 22, 0.3) !important;
border: 1px solid rgba(0, 230, 118, 0.05) !important;
border-radius: 0.75rem !important;
overflow: hidden;
margin-bottom: 1rem;
}
.accordion-dark .accordion-button {
background: transparent !important;
color: #e2e8f0 !important;
box-shadow: none !important;
font-weight: 600;
}
.accordion-dark .accordion-button:not(.collapsed) {
color: #00e676 !important;
}
.accordion-dark .accordion-button::after {
filter: brightness(0) invert(1);
}
.accordion-dark .accordion-body {
color: #94a3b8 !important;
border-top: 1px solid rgba(0, 230, 118, 0.05);
}
</style>
@endpush
@section('content')
<div class="finance-dark-page">
{{-- Hero Section designed exactly like demo3.html --}}
<section class="wrapper bg-[#0c120f] opacity-100 angled lower-start relative border-0
before:content-[''] before:block before:absolute before:z-0 before:border-y-transparent before:border-[#0c120f] before:border-0 before:border-solid before:right-0
after:bottom-[-4rem] after:content-[''] after:block after:absolute after:z-0 after:border-l-[100vw] after:border-r-transparent after:border-b-[4rem] after:border-y-transparent after:border-[#0c120f] after:border-0 after:border-solid after:right-0">
<div class="container pt-7 xl:pt-12 lg:pt-12 md:pt-12 pb-8 relative z-10">
<div class="flex flex-wrap mx-0 !mt-[-50px] items-center">
{{-- LEFT COLUMN: Title & Rates (Döviz, Altın, Kripto tek yerde şeklinde) --}}
<div class="lg:w-6/12 xl:w-6/12 w-full flex-[0_0_auto] max-w-full px-0 !mt-[50px]">
<div class="d-flex align-items-center gap-2 mb-3">
<span class="pulse-dot-green" aria-hidden="true"></span>
<span class="text-green-glow fs-13 font-bold uppercase tracking-wider">{!! t('Canlı Finansal Veri Servisi') !!}</span>
</div>
<h1 class="display-3 font-bold !leading-[1.15] text-white !mb-4 text-glow-gradient">
{!! t('Altın, Döviz ve Kripto Paralar') !!} <br>
<span class="text-green-glow">{!! t('Tek Bir API Uç Noktasında!') !!}</span>
</h1>
<p class="lead !text-[1.15rem] !leading-[1.5] text-slate-300 !mb-6 pr-lg-12">
{!! t('Trunçgil Finance ile gecikmesiz, anlık ve yüksek frekanslı tüm altın fiyatlarını, serbest piyasa döviz kurlarını ve popüler kripto para birimlerini tek bir noktadan entegre edin.') !!}
</p>
{{-- Rates Showcase (Tek Yerde) --}}
<div class="glass-card p-5 !mb-7" style="background: rgba(12, 18, 15, 0.7); max-width: 490px;">
<div class="row g-4">
<div class="col-6">
<div class="d-flex align-items-center gap-2">
<span class="w-2.5 h-2.5 rounded-circle bg-warning d-inline-block"></span>
<div>
<div class="text-slate-400 fs-11 uppercase font-bold">{!! t('Gram Altın') !!}</div>
<div class="text-white font-bold fs-15 font-mono" id="gold-try">₺3.142,45</div>
</div>
</div>
</div>
<div class="col-6">
<div class="d-flex align-items-center gap-2">
<span class="w-2.5 h-2.5 rounded-circle bg-info d-inline-block"></span>
<div>
<div class="text-slate-400 fs-11 uppercase font-bold">USD / TRY</div>
<div class="text-white font-bold fs-15 font-mono" id="usd-try">₺34.8250</div>
</div>
</div>
</div>
<div class="col-6">
<div class="d-flex align-items-center gap-2">
<span class="w-2.5 h-2.5 rounded-circle bg-primary d-inline-block"></span>
<div>
<div class="text-slate-400 fs-11 uppercase font-bold">EUR / TRY</div>
<div class="text-white font-bold fs-15 font-mono" id="eur-try">₺37.2480</div>
</div>
</div>
</div>
<div class="col-6">
<div class="d-flex align-items-center gap-2">
<span class="w-2.5 h-2.5 rounded-circle d-inline-block" style="background-color: #00e676;"></span>
<div>
<div class="text-slate-400 fs-11 uppercase font-bold">BTC / USD</div>
<div class="text-white font-bold fs-15 font-mono" id="btc-usd">$98,425.00</div>
</div>
</div>
</div>
</div>
</div>
<div class="d-flex flex-wrap gap-3">
<a href="https://finance.truncgil.com/docs" target="_blank" class="btn btn-primary px-6 py-3 rounded">
<i class="uil uil-code-branch me-1"></i> {!! t('API Entegrasyonu') !!}
</a>
<a href="{{ route('page.show', ['slug' => 'iletisim']) }}" class="btn btn-outline-glow px-6 py-3 rounded">
{!! t('Özel Teklif Alın') !!}
</a>
</div>
</div>
{{-- RIGHT COLUMN: Floating Fetched Logo --}}
<div class="lg:w-5/12 xl:w-5/12 w-full flex-[0_0_auto] max-w-full px-0 !mt-[50px] lg:!ml-[8.33333333%] xl:!ml-[8.33333333%] !mb-[-8rem] relative z-[3]">
<div class="!relative">
<figure class="!rounded-[1rem] !shadow-[0_0.25rem_2.5rem_rgba(0,230,118,0.15)] overflow-hidden" style="background: rgba(18, 26, 22, 0.6); border: 1px solid rgba(0, 230, 118, 0.15);">
<div class="p-12 text-center">
@if(!empty($hero['featured_image']))
<img class="img-fluid drop-shadow-lg mx-auto" src="{{ Storage::url($hero['featured_image']) }}" alt="Trunçgil Finance Logo" style="max-height: 140px;">
@else
<img class="img-fluid drop-shadow-lg mx-auto" src="https://finance.truncgil.com/img/logo.svg" alt="Trunçgil Finance Logo" style="max-height: 140px;">
@endif
<div class="mt-8 text-center">
<span class="badge bg-soft-success text-success rounded-pill px-4 py-2 fs-12 border border-success-20">API v4 STABLE</span>
</div>
</div>
</figure>
</div>
</div>
</div>
</div>
</section>
{{-- Advantages and API Benefits Section --}}
<section class="wrapper bg-[#0b0f0d] pt-36 pb-24 xl:pb-32 lg:pb-32 md:pb-32 relative z-10">
<div class="container">
<div class="row text-center mb-16">
<div class="col-lg-8 mx-auto">
<h2 class="text-green-glow uppercase tracking-wider fs-13 font-bold mb-3">{!! t('API Avantajları & Sıfır Kesinti') !!}</h2>
<h3 class="display-4 font-bold text-glow-gradient">{!! t('Geliştiriciler İçin Sınırsız Özgürlük') !!}</h3>
</div>
</div>
<div class="row g-6 text-center">
{{-- Advantage 1: No Auth Required --}}
<div class="col-md-4">
<div class="glass-card p-8 h-100 flex flex-col justify-between">
<div>
<div class="w-12 h-12 rounded-circle bg-success-soft flex items-center justify-center mx-auto mb-5 text-success fs-24">
<i class="uil uil-unlock"></i>
</div>
<h4 class="fs-18 font-bold text-white mb-3">{!! t('No Auth Required (Sıfır Kurulum)') !!}</h4>
<p class="text-slate-400 fs-14 mb-0">
{!! t('Başlamak için karmaşık kayıt süreçlerine, token/key yönetimlerine gerek yok. Standart JSON uç noktalarımıza doğrudan istek atarak saniyeler içinde çalışın.') !!}
</p>
</div>
</div>
</div>
{{-- Advantage 2: Totally Free --}}
<div class="col-md-4">
<div class="glass-card p-8 h-100 flex flex-col justify-between">
<div>
<div class="w-12 h-12 rounded-circle bg-success-soft flex items-center justify-center mx-auto mb-5 text-success fs-24">
<i class="uil uil-gift"></i>
</div>
<h4 class="fs-18 font-bold text-white mb-3">{!! t('%100 Ücretsiz Kullanım') !!}</h4>
<p class="text-slate-400 fs-14 mb-0">
{!! t('Geliştirici dostu yapımız gereği, tüm kişisel ve prototip projelerinizde altın döviz verilerimizi hiçbir kullanım ücreti ödemeden özgürce çekebilirsiniz.') !!}
</p>
</div>
</div>
</div>
{{-- Advantage 3: Dockerized Private Deployments --}}
<div class="col-md-4">
<div class="glass-card p-8 h-100 flex flex-col justify-between">
<div>
<div class="w-12 h-12 rounded-circle bg-success-soft flex items-center justify-center mx-auto mb-5 text-success fs-24">
<i class="uil uil-layer-group"></i>
</div>
<h4 class="fs-18 font-bold text-white mb-3">{!! t('Özel Dockerize Kurulum') !!}</h4>
<p class="text-slate-400 fs-14 mb-0">
{!! t('Kurumsal işletmeniz için yüksek hacimli istek, sıfır ağ gecikmesi ve izole veri akışı gerekiyorsa, size özel Docker paketimizle sistemi kendi sunucularınıza kurabiliriz.') !!}
</p>
</div>
</div>
</div>
</div>
</div>
</section>
{{-- Interactive Code Playground --}}
<section class="wrapper bg-[#0c120f] py-20 relative z-10 border-top border-white-5">
<div class="container">
<div class="row align-items-center g-10">
<div class="col-lg-5">
<h2 class="text-green-glow uppercase tracking-wider fs-13 font-bold mb-3">{!! t('Geliştirici Dostu Yapı') !!}</h2>
<h3 class="display-4 font-bold text-glow-gradient mb-5">{!! t('Kodunuza Saniyeler İçinde Bağlayın') !!}</h3>
<p class="text-slate-300 fs-16 mb-6">
{!! t('Modern RESTful JSON standartlarında sunulan temiz çıktı modelimiz sayesinde, en sevdiğiniz programlama dilinde anında istek atın ve verileri işleyin.') !!}
</p>
<ul class="list-unstyled space-y-3 mb-8">
<li class="d-flex align-items-center gap-3">
<i class="uil uil-check-circle text-green-glow fs-18"></i>
<span>{!! t('Kimlik Doğrulama Gerekmez (No-Auth)') !!}</span>
</li>
<li class="d-flex align-items-center gap-3">
<i class="uil uil-check-circle text-green-glow fs-18"></i>
<span>{!! t('Milisaniyeler Hızında JSON Çıktısı') !!}</span>
</li>
</ul>
<a href="https://finance.truncgil.com/docs" target="_blank" class="btn btn-primary px-6 py-3 rounded">
{!! t('API Dokümantasyonunu İncele') !!} <i class="uil uil-arrow-right ms-1"></i>
</a>
</div>
{{-- Interactive Tabs and Code Code Editor --}}
<div class="col-lg-7">
<div class="nav nav-tabs nav-tabs-code mb-4 gap-2" id="code-tabs" role="tablist">
<button class="nav-link active" id="tab-js-btn" data-bs-toggle="tab" data-bs-target="#tab-js" type="button" role="tab" aria-selected="true">JavaScript</button>
<button class="nav-link" id="tab-php-btn" data-bs-toggle="tab" data-bs-target="#tab-php" type="button" role="tab" aria-selected="false">PHP (cURL)</button>
<button class="nav-link" id="tab-python-btn" data-bs-toggle="tab" data-bs-target="#tab-python" type="button" role="tab" aria-selected="false">Python</button>
</div>
<div class="tab-content">
{{-- JavaScript --}}
<div class="tab-pane fade show active" id="tab-js" role="tabpanel" aria-labelledby="tab-js-btn">
<div class="code-editor-header">
<div>
<span class="code-dot code-dot-red" aria-hidden="true"></span>
<span class="code-dot code-dot-yellow" aria-hidden="true"></span>
<span class="code-dot code-dot-green" aria-hidden="true"></span>
<span class="text-slate-400 fs-12">finance.js</span>
</div>
<button class="btn btn-sm btn-outline-glow rounded px-3 py-1 fs-12" onclick="navigator.clipboard.writeText(document.getElementById('code-js').innerText); alert('Copied!');">
<i class="uil uil-copy me-1"></i> {!! t('Kopyala') !!}
</button>
</div>
<pre class="code-editor-body m-0" id="code-js"><code><span class="text-warning">fetch</span>(<span class="text-success">'https://finance.truncgil.com/v4/today.json'</span>)
.<span class="text-warning">then</span>(response => response.<span class="text-warning">json</span>())
.<span class="text-warning">then</span>(data => {
<span class="text-info">console</span>.<span class="text-warning">log</span>(<span class="text-success">'Dolar/TRY:'</span>, data.USD.Buying);
<span class="text-info">console</span>.<span class="text-warning">log</span>(<span class="text-success">'Gram Altın:'</span>, data.Gold_Gram.Selling);
})
.<span class="text-warning">catch</span>(error => <span class="text-info">console</span>.<span class="text-warning">error</span>(<span class="text-success">'Hata:'</span>, error));</code></pre>
</div>
{{-- PHP --}}
<div class="tab-pane fade" id="tab-php" role="tabpanel" aria-labelledby="tab-php-btn">
<div class="code-editor-header">
<div>
<span class="code-dot code-dot-red" aria-hidden="true"></span>
<span class="code-dot code-dot-yellow" aria-hidden="true"></span>
<span class="code-dot code-dot-green" aria-hidden="true"></span>
<span class="text-slate-400 fs-12">finance.php</span>
</div>
<button class="btn btn-sm btn-outline-glow rounded px-3 py-1 fs-12" onclick="navigator.clipboard.writeText(document.getElementById('code-php').innerText); alert('Copied!');">
<i class="uil uil-copy me-1"></i> {!! t('Kopyala') !!}
</button>
</div>
<pre class="code-editor-body m-0" id="code-php"><code><span class="text-info">&lt;?php</span>
<span class="text-warning">$ch</span> = <span class="text-warning">curl_init</span>(<span class="text-success">'https://finance.truncgil.com/v4/today.json'</span>);
<span class="text-warning">curl_setopt</span>(<span class="text-warning">$ch</span>, CURLOPT_RETURNTRANSFER, <span class="text-info">true</span>);
<span class="text-warning">$response</span> = <span class="text-warning">curl_exec</span>(<span class="text-warning">$ch</span>);
<span class="text-warning">$data</span> = <span class="text-warning">json_decode</span>(<span class="text-warning">$response</span>, <span class="text-info">true</span>);
<span class="text-info">echo</span> <span class="text-success">"Altın Satış: "</span> . <span class="text-warning">$data</span>[<span class="text-success">'Gold_Gram'</span>][<span class="text-success">'Selling'</span>];
<span class="text-warning">curl_close</span>(<span class="text-warning">$ch</span>);</code></pre>
</div>
{{-- Python --}}
<div class="tab-pane fade" id="tab-python" role="tabpanel" aria-labelledby="tab-python-btn">
<div class="code-editor-header">
<div>
<span class="code-dot code-dot-red" aria-hidden="true"></span>
<span class="code-dot code-dot-yellow" aria-hidden="true"></span>
<span class="code-dot code-dot-green" aria-hidden="true"></span>
<span class="text-slate-400 fs-12">finance.py</span>
</div>
<button class="btn btn-sm btn-outline-glow rounded px-3 py-1 fs-12" onclick="navigator.clipboard.writeText(document.getElementById('code-python').innerText); alert('Copied!');">
<i class="uil uil-copy me-1"></i> {!! t('Kopyala') !!}
</button>
</div>
<pre class="code-editor-body m-0" id="code-python"><code><span class="text-warning">import</span> requests
response = requests.<span class="text-warning">get</span>(<span class="text-success">'https://finance.truncgil.com/v4/today.json'</span>)
data = response.<span class="text-warning">json</span>()
<span class="text-warning">print</span>(<span class="text-success">f"Dolar Alış: {data['USD']['Buying']}"</span>)
<span class="text-warning">print</span>(<span class="text-success">f"Gram Altın Satış: {data['Gold_Gram']['Selling']}"</span>)</code></pre>
</div>
</div>
</div>
</div>
</div>
</section>
{{-- Bottom CTA Section targeting Docker deployments --}}
<section class="wrapper bg-[#0b0f0d] py-20 relative z-10 border-top border-white-5 text-center">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h2 class="display-3 font-bold text-white mb-4">{!! t('Özel & Dockerize Çözümler') !!}</h2>
<p class="lead fs-18 text-slate-300 mb-8 max-w-xl mx-auto">
{!! t('Yüksek performanslı veri havuzu, sınırsız sorgulama hacmi ve sıfır dış sunucu bağımlılığı için Trunçgil Finance altyapısını Dockerize olarak kendi yerel mimarinize kuralım.') !!}
</p>
<div class="d-flex justify-content-center gap-3 flex-wrap">
<a href="{{ route('page.show', ['slug' => 'iletisim']) }}" class="btn btn-primary px-8 py-3 rounded">
{!! t('Docker Kurulumu İçin İletişime Geçin') !!} <i class="uil uil-comment-alt-dots ms-1"></i>
</a>
<a href="https://finance.truncgil.com/" target="_blank" class="btn btn-outline-glow px-8 py-3 rounded">
{!! t('Detayları Gör') !!}
</a>
</div>
</div>
</div>
</div>
</section>
</div>
@push('scripts')
<script>
document.addEventListener('DOMContentLoaded', function() {
// Live rates simulation matching green vibes
function startRateDynamics() {
const goldTryEl = document.getElementById('gold-try');
const usdTryEl = document.getElementById('usd-try');
const eurTryEl = document.getElementById('eur-try');
const btcUsdEl = document.getElementById('btc-usd');
setInterval(() => {
if (goldTryEl) {
const current = parseFloat(goldTryEl.innerText.replace('₺', '').replace('.', '').replace(',', '.'));
const osc = (Math.random() - 0.48) * 0.75;
const next = current + osc;
goldTryEl.innerText = '₺' + next.toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
if (usdTryEl) {
const current = parseFloat(usdTryEl.innerText.replace('₺', '').replace(',', '.'));
const osc = (Math.random() - 0.5) * 0.0015;
const next = current + osc;
usdTryEl.innerText = '₺' + next.toLocaleString('tr-TR', { minimumFractionDigits: 4, maximumFractionDigits: 4 });
}
if (eurTryEl) {
const current = parseFloat(eurTryEl.innerText.replace('₺', '').replace(',', '.'));
const osc = (Math.random() - 0.51) * 0.0018;
const next = current + osc;
eurTryEl.innerText = '₺' + next.toLocaleString('tr-TR', { minimumFractionDigits: 4, maximumFractionDigits: 4 });
}
if (btcUsdEl) {
const current = parseFloat(btcUsdEl.innerText.replace('$', '').replace(',', ''));
const osc = (Math.random() - 0.45) * 5.5;
const next = current + osc;
btcUsdEl.innerText = '$' + next.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
}, 2000);
}
startRateDynamics();
});
</script>
@endpush
@endsection