Initial commit: Animexe Laravel platform
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
@extends('frontend.layouts.app')
|
||||
@section('title', 'Aktivasyon Kodu Gir — Animexe Premium')
|
||||
@push('styles')
|
||||
<style>
|
||||
#pg{background:#06060d;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px 60px}
|
||||
.act-card{
|
||||
width:100%;max-width:480px;
|
||||
background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);
|
||||
border-radius:24px;padding:44px 40px 40px;position:relative;overflow:hidden;
|
||||
}
|
||||
.act-card::before{
|
||||
content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
|
||||
width:280px;height:200px;border-radius:50%;
|
||||
background:radial-gradient(rgba(0,245,255,.1),transparent 70%);
|
||||
pointer-events:none;
|
||||
}
|
||||
.act-icon{
|
||||
width:64px;height:64px;border-radius:18px;margin:0 auto 20px;
|
||||
background:linear-gradient(135deg,rgba(0,245,255,.15),rgba(184,77,255,.12));
|
||||
border:1px solid rgba(0,245,255,.2);
|
||||
display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#00f5ff;
|
||||
position:relative;z-index:1;
|
||||
}
|
||||
.act-title{font-size:1.4rem;font-weight:900;color:#fff;text-align:center;margin-bottom:6px;position:relative;z-index:1}
|
||||
.act-sub{font-size:.85rem;color:rgba(255,255,255,.4);text-align:center;margin-bottom:32px;line-height:1.6;position:relative;z-index:1}
|
||||
.act-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:8px}
|
||||
.act-input{
|
||||
width:100%;background:rgba(255,255,255,.06);border:1.5px solid rgba(0,245,255,.2);
|
||||
border-radius:14px;padding:16px 20px;color:#fff;font-size:1.1rem;font-weight:800;
|
||||
letter-spacing:.18em;text-align:center;text-transform:uppercase;outline:none;
|
||||
font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;
|
||||
}
|
||||
.act-input::placeholder{letter-spacing:.05em;font-weight:400;text-transform:none;font-size:.9rem;color:rgba(255,255,255,.25)}
|
||||
.act-input:focus{border-color:#00f5ff;box-shadow:0 0 0 4px rgba(0,245,255,.1)}
|
||||
.act-input.is-invalid{border-color:#ff2d7d!important;box-shadow:0 0 0 4px rgba(255,45,125,.1)!important}
|
||||
.act-error{
|
||||
display:flex;align-items:center;gap:7px;
|
||||
padding:11px 14px;border-radius:10px;margin-top:10px;
|
||||
background:rgba(255,45,125,.08);border:1px solid rgba(255,45,125,.2);
|
||||
font-size:.82rem;color:#ff2d7d;font-weight:600;
|
||||
}
|
||||
.act-btn{
|
||||
width:100%;padding:15px;border-radius:14px;border:none;cursor:pointer;font-family:inherit;
|
||||
font-size:.95rem;font-weight:800;letter-spacing:.03em;margin-top:18px;
|
||||
background:linear-gradient(135deg,#00f5ff 0%,#0080ff 60%,#b84dff 100%);
|
||||
color:#06060d;box-shadow:0 0 30px rgba(0,245,255,.2),0 6px 20px rgba(0,0,0,.4);
|
||||
transition:transform .15s,box-shadow .15s;
|
||||
}
|
||||
.act-btn:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(0,245,255,.35),0 8px 28px rgba(0,0,0,.5)}
|
||||
.act-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:rgba(255,255,255,.18);font-size:.75rem}
|
||||
.act-divider::before,.act-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
|
||||
.act-back{
|
||||
display:flex;align-items:center;justify-content:center;gap:7px;
|
||||
padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
|
||||
background:rgba(255,255,255,.04);color:rgba(255,255,255,.5);
|
||||
font-size:.84rem;font-weight:700;text-decoration:none;transition:all .15s;
|
||||
}
|
||||
.act-back:hover{border-color:rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.08)}
|
||||
.act-hint{
|
||||
margin-top:20px;padding:12px 16px;border-radius:10px;
|
||||
background:rgba(0,245,255,.04);border:1px solid rgba(0,245,255,.1);
|
||||
font-size:.76rem;color:rgba(255,255,255,.35);line-height:1.55;text-align:center;
|
||||
}
|
||||
.act-hint strong{color:rgba(0,245,255,.7)}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div id="pg">
|
||||
<div class="act-card">
|
||||
<div class="act-icon"><i class="bi bi-key-fill"></i></div>
|
||||
<h1 class="act-title">Aktivasyon Kodu Gir</h1>
|
||||
<p class="act-sub">Satın alma sonrası aldığın kodu girerek Premium üyeliğini hemen aktifleştir.</p>
|
||||
|
||||
@guest
|
||||
<div style="text-align:center;padding:8px 0 16px">
|
||||
<a href="{{ route('frontend.login') }}?next={{ urlencode(route('premium.activate')) }}"
|
||||
style="display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:12px;background:linear-gradient(135deg,#00f5ff,#b84dff);color:#06060d;font-weight:800;font-size:.9rem;text-decoration:none">
|
||||
<i class="bi bi-box-arrow-in-right"></i> Giriş Yap
|
||||
</a>
|
||||
<div style="margin-top:12px;font-size:.78rem;color:rgba(255,255,255,.3)">
|
||||
Hesabın yoksa <a href="{{ route('frontend.register') }}" style="color:#00f5ff;font-weight:700">kayıt ol</a>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<form method="POST" action="{{ route('premium.activate.redeem') }}">
|
||||
@csrf
|
||||
<div class="act-label">Aktivasyon Kodu</div>
|
||||
<input type="text" name="code" id="act-inp"
|
||||
class="act-input {{ $errors->has('code') ? 'is-invalid' : '' }}"
|
||||
placeholder="XXXX-XXXX-XXXX"
|
||||
value="{{ old('code') }}"
|
||||
maxlength="32" autocomplete="off" autocapitalize="characters" spellcheck="false"
|
||||
autofocus>
|
||||
@if($errors->has('code'))
|
||||
<div class="act-error"><i class="bi bi-exclamation-circle-fill"></i> {{ $errors->first('code') }}</div>
|
||||
@endif
|
||||
<button type="submit" class="act-btn">
|
||||
<i class="bi bi-lightning-charge-fill me-1"></i> Aktifleştir
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<div class="act-hint">
|
||||
Kod formatı: <strong>XXXX-XXXX-XXXX</strong> (büyük harf + tire)<br>
|
||||
Kodu doğru girdiğinden emin ol. Büyük/küçük harf fark etmez.
|
||||
</div>
|
||||
@endguest
|
||||
|
||||
<div class="act-divider">veya</div>
|
||||
<a href="{{ route('premium.plans') }}" class="act-back">
|
||||
<i class="bi bi-arrow-left"></i> Premium Planlarına Dön
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@auth
|
||||
<script>
|
||||
(function(){
|
||||
const inp = document.getElementById('act-inp');
|
||||
if(!inp) return;
|
||||
inp.addEventListener('input', function(){
|
||||
let v = this.value.replace(/[^A-Za-z0-9]/g,'').toUpperCase();
|
||||
const parts = v.match(/.{1,4}/g) || [];
|
||||
this.value = parts.join('-').slice(0, 14);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
@endauth
|
||||
@endsection
|
||||
@@ -0,0 +1,662 @@
|
||||
@extends('frontend.layouts.app')
|
||||
@section('title', 'Animexe Premium — Anime Deneyimini Zirveye Taşı')
|
||||
@section('meta_description', 'Animexe Premium ile reklamsız izle, özel kozmotikler kazan, erken erişim fırsatlarından yararlan.')
|
||||
@push('styles')
|
||||
<style>
|
||||
:root{--prm-cyan:#00f5ff;--prm-pink:#ff2d7d;--prm-purple:#b84dff;--prm-gold:#ffd60a;--prm-bg:#06060d}
|
||||
|
||||
/* ── Genel ── */
|
||||
#pg{background:var(--prm-bg);min-height:100vh}
|
||||
.prm-wrap{max-width:1160px;margin:0 auto;padding:0 20px 80px}
|
||||
|
||||
/* ── Hero ── */
|
||||
.prm-hero{
|
||||
position:relative;text-align:center;
|
||||
padding:100px 20px 80px;overflow:hidden;
|
||||
}
|
||||
.prm-hero-bg{
|
||||
position:absolute;inset:0;z-index:0;
|
||||
background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,245,255,.09) 0%,transparent 70%),
|
||||
radial-gradient(ellipse 50% 40% at 80% 30%,rgba(184,77,255,.07) 0%,transparent 60%),
|
||||
radial-gradient(ellipse 40% 30% at 20% 60%,rgba(255,45,125,.06) 0%,transparent 60%);
|
||||
}
|
||||
/* Yıldız parçacıkları */
|
||||
.prm-stars{position:absolute;inset:0;z-index:0;pointer-events:none}
|
||||
.prm-stars span{
|
||||
position:absolute;width:2px;height:2px;border-radius:50%;
|
||||
background:#fff;animation:twinkle var(--d,3s) ease-in-out infinite var(--delay,0s);
|
||||
opacity:0;
|
||||
}
|
||||
@keyframes twinkle{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}
|
||||
|
||||
.prm-hero-inner{position:relative;z-index:1}
|
||||
.prm-hero-badge{
|
||||
display:inline-flex;align-items:center;gap:7px;
|
||||
padding:6px 16px;border-radius:30px;
|
||||
background:rgba(0,245,255,.08);border:1px solid rgba(0,245,255,.25);
|
||||
font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
|
||||
color:var(--prm-cyan);margin-bottom:24px;
|
||||
}
|
||||
.prm-hero-badge i{font-size:.85rem}
|
||||
.prm-hero-title{
|
||||
font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;line-height:1.15;
|
||||
margin-bottom:16px;letter-spacing:-.02em;
|
||||
}
|
||||
.prm-hero-title .grad{
|
||||
background:linear-gradient(120deg,var(--prm-cyan) 0%,var(--prm-purple) 50%,var(--prm-pink) 100%);
|
||||
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
|
||||
}
|
||||
.prm-hero-sub{font-size:1.08rem;color:rgba(255,255,255,.5);max-width:560px;margin:0 auto 40px;line-height:1.65}
|
||||
.prm-hero-stats{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
|
||||
.prm-stat{display:flex;flex-direction:column;align-items:center;gap:2px}
|
||||
.prm-stat-val{font-size:1.5rem;font-weight:900;color:#fff;line-height:1}
|
||||
.prm-stat-lbl{font-size:.7rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em}
|
||||
|
||||
/* ── Aktivasyon başarı banner ── */
|
||||
.prm-success-banner{
|
||||
display:flex;align-items:center;gap:14px;
|
||||
padding:16px 22px;border-radius:14px;margin-bottom:32px;
|
||||
background:rgba(50,220,100,.08);border:1px solid rgba(50,220,100,.3);
|
||||
animation:slideDown .4s ease;
|
||||
}
|
||||
@keyframes slideDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
|
||||
.prm-success-banner i{font-size:1.6rem;color:#32dc64;flex-shrink:0}
|
||||
.prm-success-banner strong{color:#32dc64;font-size:.95rem;display:block;margin-bottom:2px}
|
||||
.prm-success-banner span{font-size:.8rem;color:rgba(255,255,255,.5)}
|
||||
|
||||
/* ── Planlar grid ── */
|
||||
.prm-section-lbl{
|
||||
text-align:center;margin-bottom:48px;
|
||||
}
|
||||
.prm-section-lbl h2{font-size:1.6rem;font-weight:800;color:#fff;margin-bottom:8px}
|
||||
.prm-section-lbl p{font-size:.9rem;color:rgba(255,255,255,.4)}
|
||||
|
||||
.prm-plans{
|
||||
display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
|
||||
margin-bottom:72px;
|
||||
}
|
||||
@media(max-width:900px){.prm-plans{grid-template-columns:1fr}}
|
||||
|
||||
.prm-card{
|
||||
position:relative;border-radius:20px;padding:32px 26px 28px;
|
||||
background:rgba(255,255,255,.03);
|
||||
border:1px solid rgba(255,255,255,.08);
|
||||
transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
|
||||
display:flex;flex-direction:column;
|
||||
}
|
||||
.prm-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.15);box-shadow:0 20px 60px rgba(0,0,0,.4)}
|
||||
.prm-card.featured{
|
||||
background:linear-gradient(145deg,rgba(0,245,255,.06) 0%,rgba(184,77,255,.05) 60%,rgba(255,45,125,.05) 100%);
|
||||
border-color:rgba(0,245,255,.3);
|
||||
box-shadow:0 0 0 1px rgba(0,245,255,.1),0 20px 60px rgba(0,245,255,.08);
|
||||
}
|
||||
.prm-card.featured:hover{box-shadow:0 0 0 1px rgba(0,245,255,.2),0 28px 70px rgba(0,245,255,.14)}
|
||||
|
||||
/* Badge */
|
||||
.prm-card-badge{
|
||||
position:absolute;top:-13px;left:50%;transform:translateX(-50%);
|
||||
padding:4px 18px;border-radius:20px;font-size:.7rem;font-weight:800;
|
||||
letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
|
||||
background:linear-gradient(90deg,var(--prm-cyan),var(--prm-purple));
|
||||
color:#06060d;box-shadow:0 0 20px rgba(0,245,255,.3);
|
||||
}
|
||||
.prm-card-badge.gold{background:linear-gradient(90deg,#ffd60a,#ff9f0a);box-shadow:0 0 20px rgba(255,214,10,.3)}
|
||||
.prm-card-badge.pink{background:linear-gradient(90deg,var(--prm-pink),var(--prm-purple));box-shadow:0 0 20px rgba(255,45,125,.3)}
|
||||
|
||||
/* Plan içerik */
|
||||
.prm-plan-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4);margin-bottom:10px}
|
||||
.prm-plan-price-wrap{margin-bottom:6px;line-height:1}
|
||||
.prm-plan-price{font-size:2.8rem;font-weight:900;color:#fff;letter-spacing:-.04em}
|
||||
.prm-plan-currency{font-size:1.2rem;font-weight:700;color:rgba(255,255,255,.6);vertical-align:top;margin-top:8px;display:inline-block}
|
||||
.prm-plan-period{font-size:.8rem;color:rgba(255,255,255,.35);margin-top:4px}
|
||||
.prm-plan-per-day{font-size:.72rem;color:rgba(255,255,255,.25);margin-bottom:4px}
|
||||
.prm-plan-trial{
|
||||
display:inline-flex;align-items:center;gap:5px;
|
||||
padding:3px 10px;border-radius:10px;
|
||||
background:rgba(255,214,10,.1);border:1px solid rgba(255,214,10,.25);
|
||||
font-size:.7rem;font-weight:700;color:#ffd60a;margin-bottom:18px;
|
||||
}
|
||||
.prm-divider{height:1px;background:rgba(255,255,255,.07);margin:18px 0}
|
||||
|
||||
/* Feature list */
|
||||
.prm-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px;flex:1}
|
||||
.prm-features li{display:flex;align-items:flex-start;gap:9px;font-size:.83rem;color:rgba(255,255,255,.65);line-height:1.4}
|
||||
.prm-features li i.bi-check-circle-fill{color:var(--prm-cyan);font-size:.85rem;flex-shrink:0;margin-top:1px}
|
||||
.prm-features li i.bi-x-circle{color:rgba(255,255,255,.15);font-size:.85rem;flex-shrink:0;margin-top:1px}
|
||||
.prm-features li.dim{color:rgba(255,255,255,.2)}
|
||||
|
||||
/* CTA Buton */
|
||||
.prm-btn-buy{
|
||||
display:flex;align-items:center;justify-content:center;gap:8px;
|
||||
width:100%;padding:13px;border-radius:12px;border:none;
|
||||
font-size:.9rem;font-weight:800;cursor:pointer;font-family:inherit;
|
||||
text-decoration:none;letter-spacing:.02em;
|
||||
transition:transform .15s,box-shadow .15s,opacity .15s;
|
||||
margin-top:auto;
|
||||
}
|
||||
.prm-btn-buy:hover{transform:translateY(-2px)}
|
||||
.prm-btn-buy.primary{
|
||||
background:linear-gradient(135deg,var(--prm-cyan) 0%,#0080ff 60%,var(--prm-purple) 100%);
|
||||
color:#06060d;box-shadow:0 0 30px rgba(0,245,255,.25),0 6px 20px rgba(0,0,0,.4);
|
||||
}
|
||||
.prm-btn-buy.primary:hover{box-shadow:0 0 40px rgba(0,245,255,.4),0 8px 28px rgba(0,0,0,.5)}
|
||||
.prm-btn-buy.outline{
|
||||
background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
|
||||
color:rgba(255,255,255,.75);
|
||||
}
|
||||
.prm-btn-buy.outline:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.25);color:#fff}
|
||||
.prm-btn-buy.active-plan{
|
||||
background:rgba(50,220,100,.08);border:1px solid rgba(50,220,100,.3);
|
||||
color:#32dc64;cursor:default;
|
||||
}
|
||||
.prm-btn-buy.active-plan:hover{transform:none}
|
||||
.prm-btn-buy.disabled{
|
||||
background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
|
||||
color:rgba(255,255,255,.2);cursor:not-allowed;
|
||||
}
|
||||
.prm-btn-buy.disabled:hover{transform:none}
|
||||
|
||||
/* ── Nasıl Çalışır ── */
|
||||
.prm-how{
|
||||
display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
|
||||
margin-bottom:72px;background:rgba(255,255,255,.04);
|
||||
border:1px solid rgba(255,255,255,.07);border-radius:20px;overflow:hidden;
|
||||
}
|
||||
@media(max-width:700px){.prm-how{grid-template-columns:1fr}}
|
||||
.prm-how-step{
|
||||
padding:32px 28px;position:relative;
|
||||
background:rgba(6,6,13,.6);
|
||||
}
|
||||
.prm-how-step:not(:last-child)::after{
|
||||
content:'';position:absolute;right:0;top:20%;bottom:20%;
|
||||
width:1px;background:rgba(255,255,255,.07);
|
||||
}
|
||||
@media(max-width:700px){.prm-how-step:not(:last-child)::after{display:none}}
|
||||
.prm-how-num{
|
||||
width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
|
||||
font-size:1.1rem;font-weight:900;margin-bottom:16px;
|
||||
}
|
||||
.prm-how-num.c1{background:rgba(0,245,255,.12);color:var(--prm-cyan)}
|
||||
.prm-how-num.c2{background:rgba(184,77,255,.12);color:var(--prm-purple)}
|
||||
.prm-how-num.c3{background:rgba(50,220,100,.12);color:#32dc64}
|
||||
.prm-how-step h3{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:8px}
|
||||
.prm-how-step p{font-size:.8rem;color:rgba(255,255,255,.4);line-height:1.6;margin:0}
|
||||
|
||||
/* ── Aktivasyon Kutusu ── */
|
||||
.prm-activate-box{
|
||||
border-radius:20px;padding:44px 36px;margin-bottom:72px;
|
||||
background:linear-gradient(135deg,rgba(0,245,255,.04),rgba(184,77,255,.03));
|
||||
border:1px solid rgba(0,245,255,.15);
|
||||
text-align:center;position:relative;overflow:hidden;
|
||||
}
|
||||
.prm-activate-box::before{
|
||||
content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);
|
||||
width:300px;height:200px;border-radius:50%;
|
||||
background:radial-gradient(rgba(0,245,255,.08),transparent 70%);
|
||||
pointer-events:none;
|
||||
}
|
||||
.prm-activate-box h2{font-size:1.45rem;font-weight:800;color:#fff;margin-bottom:8px}
|
||||
.prm-activate-box p{font-size:.88rem;color:rgba(255,255,255,.4);margin-bottom:28px;line-height:1.6}
|
||||
.prm-code-form{display:flex;gap:10px;max-width:500px;margin:0 auto;flex-wrap:wrap;justify-content:center}
|
||||
.prm-code-input{
|
||||
flex:1;min-width:220px;
|
||||
background:rgba(255,255,255,.06);border:1px solid rgba(0,245,255,.25);
|
||||
border-radius:12px;padding:14px 18px;color:#fff;font-size:1rem;font-weight:700;
|
||||
letter-spacing:.12em;text-align:center;text-transform:uppercase;outline:none;
|
||||
font-family:inherit;transition:border-color .2s,box-shadow .2s;
|
||||
}
|
||||
.prm-code-input::placeholder{letter-spacing:.05em;font-weight:400;text-transform:none;font-size:.88rem;color:rgba(255,255,255,.3)}
|
||||
.prm-code-input:focus{border-color:var(--prm-cyan);box-shadow:0 0 0 3px rgba(0,245,255,.12)}
|
||||
.prm-code-input.is-invalid{border-color:var(--prm-pink)!important;box-shadow:0 0 0 3px rgba(255,45,125,.1)!important}
|
||||
.prm-code-btn{
|
||||
padding:14px 28px;border-radius:12px;border:none;cursor:pointer;font-family:inherit;
|
||||
font-size:.9rem;font-weight:800;letter-spacing:.03em;
|
||||
background:linear-gradient(135deg,var(--prm-cyan),var(--prm-purple));
|
||||
color:#06060d;box-shadow:0 0 24px rgba(0,245,255,.2);
|
||||
transition:transform .15s,box-shadow .15s;
|
||||
}
|
||||
.prm-code-btn:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(0,245,255,.35)}
|
||||
.prm-code-error{
|
||||
width:100%;text-align:center;font-size:.8rem;color:var(--prm-pink);
|
||||
margin-top:8px;font-weight:600;
|
||||
}
|
||||
.prm-activate-login-note{
|
||||
margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.3);
|
||||
}
|
||||
.prm-activate-login-note a{color:var(--prm-cyan);text-decoration:none;font-weight:700}
|
||||
.prm-activate-login-note a:hover{text-decoration:underline}
|
||||
|
||||
/* ── Özellik Showcase ── */
|
||||
.prm-features-grid{
|
||||
display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:72px;
|
||||
}
|
||||
@media(max-width:700px){.prm-features-grid{grid-template-columns:1fr}}
|
||||
.prm-feat-cat{
|
||||
background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);
|
||||
border-radius:16px;padding:24px;
|
||||
}
|
||||
.prm-feat-cat-hdr{
|
||||
display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;
|
||||
border-bottom:1px solid rgba(255,255,255,.06);
|
||||
}
|
||||
.prm-feat-cat-icon{
|
||||
width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;
|
||||
font-size:1rem;flex-shrink:0;
|
||||
}
|
||||
.prm-feat-cat-hdr h3{font-size:.9rem;font-weight:800;color:#fff;margin:0}
|
||||
.prm-feat-list{display:flex;flex-direction:column;gap:10px}
|
||||
.prm-feat-item{display:flex;align-items:flex-start;gap:10px}
|
||||
.prm-feat-item-icon{
|
||||
width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
|
||||
font-size:.75rem;flex-shrink:0;margin-top:1px;
|
||||
}
|
||||
.prm-feat-item-body{flex:1;min-width:0}
|
||||
.prm-feat-item-name{font-size:.82rem;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:2px}
|
||||
.prm-feat-item-desc{font-size:.72rem;color:rgba(255,255,255,.35);line-height:1.45}
|
||||
|
||||
/* Kozmetik Preview */
|
||||
.prm-cosmetics{
|
||||
margin-bottom:72px;text-align:center;
|
||||
}
|
||||
.prm-cosmetics-title{font-size:1.35rem;font-weight:800;color:#fff;margin-bottom:8px}
|
||||
.prm-cosmetics-sub{font-size:.85rem;color:rgba(255,255,255,.35);margin-bottom:36px}
|
||||
.prm-cosmetics-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:28px}
|
||||
|
||||
/* Username color chips */
|
||||
.uc-chip{
|
||||
padding:5px 16px;border-radius:20px;font-size:.82rem;font-weight:700;
|
||||
background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
|
||||
cursor:default;white-space:nowrap;
|
||||
}
|
||||
|
||||
/* Frame badges */
|
||||
.frame-badge{
|
||||
width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
|
||||
font-size:1.2rem;font-weight:800;color:#fff;position:relative;
|
||||
}
|
||||
.frame-badge::before{
|
||||
content:'';position:absolute;inset:-3px;border-radius:50%;
|
||||
animation:frame-spin 3s linear infinite;
|
||||
}
|
||||
@keyframes frame-spin{to{transform:rotate(360deg)}}
|
||||
.frame-badge.fr-neon::before{background:conic-gradient(#00f5ff,#b84dff,#00f5ff)}
|
||||
.frame-badge.fr-fire::before{background:conic-gradient(#ff6b35,#ff2d7d,#ff8c00,#ff6b35)}
|
||||
.frame-badge.fr-galaxy::before{background:conic-gradient(#7c3aed,#b84dff,#4a1d96,#7c3aed)}
|
||||
.frame-badge.fr-gold::before{background:conic-gradient(#ffd700,#ff8c00,#ffd700)}
|
||||
.frame-badge.fr-sakura::before{background:conic-gradient(#ff9ec4,#ff2d7d,#ffd6e7,#ff9ec4)}
|
||||
.frame-badge.fr-rainbow::before{background:conic-gradient(#f00,#ff8c00,#ffd700,#0c0,#08f,#8b00ff,#f08,#f00)}
|
||||
.frame-badge.fr-ice::before{background:conic-gradient(#a8edff,#60cfff,#a8edff)}
|
||||
.frame-badge-inner{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:#111;display:flex;align-items:center;justify-content:center;font-size:.65rem;text-align:center;padding:2px;color:rgba(255,255,255,.7)}
|
||||
|
||||
/* Comment bg preview */
|
||||
.cb-preview{
|
||||
padding:10px 16px;border-radius:10px;font-size:.8rem;color:#fff;font-weight:600;
|
||||
white-space:nowrap;position:relative;overflow:hidden;
|
||||
}
|
||||
.cb-preview::before{content:'';position:absolute;inset:0;opacity:.7}
|
||||
.cb-fire::before{background:linear-gradient(135deg,#ff6b35,#ff2d7d)}
|
||||
.cb-aurora::before{background:linear-gradient(135deg,#00c8d4,#b84dff)}
|
||||
.cb-stars::before{background:linear-gradient(135deg,#1a1a3a,#4a1d96)}
|
||||
.cb-sakura::before{background:linear-gradient(135deg,#ff9ec4,#ff2d7d)}
|
||||
.cb-neon::before{background:linear-gradient(135deg,#00f5ff,#0040ff)}
|
||||
.cb-galaxy::before{background:linear-gradient(135deg,#0a0020,#7c3aed)}
|
||||
.cb-ice::before{background:linear-gradient(135deg,#a8edff,#006fbf)}
|
||||
.cb-preview span{position:relative;z-index:1}
|
||||
|
||||
/* ── FAQ ── */
|
||||
.prm-faq{margin-bottom:48px}
|
||||
.prm-faq h2{font-size:1.35rem;font-weight:800;color:#fff;margin-bottom:28px;text-align:center}
|
||||
.prm-faq-item{
|
||||
border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;
|
||||
}
|
||||
.prm-faq-q{
|
||||
display:flex;align-items:center;justify-content:space-between;
|
||||
padding:16px 4px;cursor:pointer;font-size:.9rem;font-weight:700;color:rgba(255,255,255,.75);
|
||||
transition:color .15s;user-select:none;
|
||||
background:none;border:none;width:100%;text-align:left;font-family:inherit;
|
||||
gap:12px;
|
||||
}
|
||||
.prm-faq-q:hover{color:#fff}
|
||||
.prm-faq-q i{flex-shrink:0;transition:transform .25s ease;color:rgba(255,255,255,.3)}
|
||||
.prm-faq-item.open .prm-faq-q i{transform:rotate(45deg);color:var(--prm-cyan)}
|
||||
.prm-faq-a{
|
||||
max-height:0;overflow:hidden;
|
||||
transition:max-height .3s ease,padding .3s ease;
|
||||
font-size:.84rem;color:rgba(255,255,255,.45);line-height:1.7;padding:0 4px;
|
||||
}
|
||||
.prm-faq-item.open .prm-faq-a{max-height:200px;padding-bottom:16px}
|
||||
|
||||
/* ── Mevcut Plan Banner ── */
|
||||
.prm-active-banner{
|
||||
display:flex;align-items:center;gap:16px;padding:18px 24px;border-radius:14px;
|
||||
background:rgba(0,245,255,.06);border:1px solid rgba(0,245,255,.2);margin-bottom:36px;
|
||||
flex-wrap:wrap;
|
||||
}
|
||||
.prm-active-banner i{font-size:1.8rem;color:var(--prm-cyan);flex-shrink:0}
|
||||
.prm-active-banner-body{flex:1;min-width:0}
|
||||
.prm-active-banner-title{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:2px}
|
||||
.prm-active-banner-sub{font-size:.78rem;color:rgba(255,255,255,.4)}
|
||||
.prm-active-banner-action{flex-shrink:0}
|
||||
.prm-active-banner-action a{
|
||||
padding:9px 20px;border-radius:10px;border:1px solid rgba(0,245,255,.3);
|
||||
background:rgba(0,245,255,.07);color:var(--prm-cyan);font-size:.8rem;font-weight:700;
|
||||
text-decoration:none;transition:all .15s;white-space:nowrap;display:inline-block;
|
||||
}
|
||||
.prm-active-banner-action a:hover{background:rgba(0,245,255,.14);border-color:var(--prm-cyan)}
|
||||
|
||||
@media(max-width:600px){
|
||||
.prm-hero{padding:72px 16px 56px}
|
||||
.prm-activate-box{padding:32px 20px}
|
||||
.prm-how-step{padding:24px 20px}
|
||||
.prm-card{padding:26px 20px 22px}
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div id="pg">
|
||||
<div class="prm-hero">
|
||||
<div class="prm-hero-bg"></div>
|
||||
<div class="prm-stars" id="prm-stars"></div>
|
||||
<div class="prm-hero-inner">
|
||||
<div class="prm-hero-badge"><i class="bi bi-stars"></i> Animexe Premium</div>
|
||||
<h1 class="prm-hero-title">
|
||||
Anime deneyimini<br><span class="grad">zirveye taşı</span>
|
||||
</h1>
|
||||
<p class="prm-hero-sub">
|
||||
Reklamsız izleme, özel profil kozmetikleri, erken bölüm erişimi ve daha fazlası — hepsi tek bir Premium üyelikte.
|
||||
</p>
|
||||
<div class="prm-hero-stats">
|
||||
<div class="prm-stat"><span class="prm-stat-val">∞</span><span class="prm-stat-lbl">İçerik</span></div>
|
||||
<div class="prm-stat"><span class="prm-stat-val">{{ count($featureGroups ?? []) > 0 ? array_sum(array_map(fn($g) => count($g['perks']), $featureGroups)) : '20+' }}</span><span class="prm-stat-lbl">Özel Özellik</span></div>
|
||||
<div class="prm-stat"><span class="prm-stat-val">7/24</span><span class="prm-stat-lbl">Destek</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="prm-wrap">
|
||||
|
||||
{{-- Aktivasyon başarı mesajı --}}
|
||||
@if(session('activation_success'))
|
||||
<div class="prm-success-banner">
|
||||
<i class="bi bi-patch-check-fill"></i>
|
||||
<div>
|
||||
<strong>Premium aktif! 🎉 {{ session('activation_success.plan') }} planına hoş geldin.</strong>
|
||||
<span>Üyeliğin {{ session('activation_success.expires_at') }} tarihine kadar geçerli.</span>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Mevcut premium kullanıcı banner --}}
|
||||
@auth
|
||||
@if(auth()->user()->isPremium())
|
||||
<div class="prm-active-banner">
|
||||
<i class="bi bi-shield-fill-check"></i>
|
||||
<div class="prm-active-banner-body">
|
||||
<div class="prm-active-banner-title">Premium üyeliğin aktif 🎉</div>
|
||||
<div class="prm-active-banner-sub">
|
||||
Bitiş tarihi: {{ auth()->user()->premium_expires_at?->format('d MMMM Y') ?? auth()->user()->premium_expires_at?->format('d.m.Y') }}
|
||||
· Süre uzatmak için aşağıdan yeni bir plan satın alabilirsin.
|
||||
</div>
|
||||
</div>
|
||||
<div class="prm-active-banner-action">
|
||||
<a href="{{ route('profile') }}"><i class="bi bi-person-circle me-1"></i>Profili Gör</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endauth
|
||||
|
||||
{{-- Planlar --}}
|
||||
@if(count($plans ?? []) > 0)
|
||||
<div class="prm-section-lbl">
|
||||
<h2>Planını Seç</h2>
|
||||
<p>Tüm planlar aynı özellikleri içerir — süre ne kadar uzunsa o kadar tasarruf edersin.</p>
|
||||
</div>
|
||||
<div class="prm-plans">
|
||||
@foreach($plans as $idx => $plan)
|
||||
@php
|
||||
$isFeatured = $plan->badge_label && $idx == 1 || ($plan->badge_label && str_contains(strtolower($plan->badge_label), 'popül'));
|
||||
$isActive = auth()->check() && auth()->user()->subscriptions()->where('plan_id', $plan->id)->where('status','active')->exists();
|
||||
$perDay = $plan->duration_days > 0 ? round($plan->price / $plan->duration_days, 2) : 0;
|
||||
$accentCls = $isFeatured ? 'featured' : '';
|
||||
@endphp
|
||||
<div class="prm-card {{ $accentCls }}">
|
||||
@if($plan->badge_label)
|
||||
@php
|
||||
$badgeCls = match(true) {
|
||||
str_contains(strtolower($plan->badge_label), 'değer') => 'gold',
|
||||
str_contains(strtolower($plan->badge_label), 'popül') => '',
|
||||
default => 'pink',
|
||||
};
|
||||
@endphp
|
||||
<div class="prm-card-badge {{ $badgeCls }}">{{ $plan->badge_label }}</div>
|
||||
@endif
|
||||
|
||||
<div class="prm-plan-name">{{ $plan->name }}</div>
|
||||
<div class="prm-plan-price-wrap">
|
||||
<span class="prm-plan-currency">₺</span><span class="prm-plan-price">{{ number_format($plan->price, 0, ',', '.') }}</span>
|
||||
</div>
|
||||
<div class="prm-plan-period">
|
||||
@if($plan->duration_days >= 365)
|
||||
{{ intdiv($plan->duration_days, 365) }} yıl
|
||||
@elseif($plan->duration_days >= 30)
|
||||
{{ intdiv($plan->duration_days, 30) }} ay
|
||||
@else
|
||||
{{ $plan->duration_days }} gün
|
||||
@endif
|
||||
· Günde ≈ ₺{{ $perDay }}
|
||||
</div>
|
||||
|
||||
@if($plan->trial_days)
|
||||
<div class="prm-plan-trial"><i class="bi bi-gift-fill"></i> İlk {{ $plan->trial_days }} gün ücretsiz!</div>
|
||||
@endif
|
||||
|
||||
<div class="prm-divider"></div>
|
||||
|
||||
@if(count($plan->features ?? []) > 0)
|
||||
<ul class="prm-features">
|
||||
@foreach($plan->features as $feat)
|
||||
<li><i class="bi bi-check-circle-fill"></i> {{ $feat }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
@if($isActive)
|
||||
<a class="prm-btn-buy active-plan"><i class="bi bi-check-circle-fill"></i> Mevcut Planın</a>
|
||||
@elseif($plan->purchase_link)
|
||||
<a href="{{ $plan->purchase_link }}" target="_blank" rel="noopener" class="prm-btn-buy {{ $isFeatured ? 'primary' : 'outline' }}">
|
||||
<i class="bi bi-bag-fill"></i> Satın Al
|
||||
</a>
|
||||
@else
|
||||
<span class="prm-btn-buy disabled"><i class="bi bi-clock"></i> Yakında</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Nasıl Çalışır --}}
|
||||
<div class="prm-section-lbl">
|
||||
<h2>Nasıl Çalışır?</h2>
|
||||
<p>Üç adımda premium üyeliğini aktifleştir.</p>
|
||||
</div>
|
||||
<div class="prm-how">
|
||||
<div class="prm-how-step">
|
||||
<div class="prm-how-num c1"><i class="bi bi-1-circle-fill"></i></div>
|
||||
<h3>Paket Seç & Öde</h3>
|
||||
<p>Yukarıdaki planlardan birini seç, "Satın Al" butonuna tıkla ve güvenli ödeme sayfasına yönlendir. Ödemeyi tamamla.</p>
|
||||
</div>
|
||||
<div class="prm-how-step">
|
||||
<div class="prm-how-num c2"><i class="bi bi-2-circle-fill"></i></div>
|
||||
<h3>Aktivasyon Kodunu Al</h3>
|
||||
<p>Ödemen onaylandıktan sonra sana özel bir aktivasyon kodu gönderilir. Bu kodu saklaman yeterli.</p>
|
||||
</div>
|
||||
<div class="prm-how-step">
|
||||
<div class="prm-how-num c3"><i class="bi bi-3-circle-fill"></i></div>
|
||||
<h3>Kodu Gir, Keyfini Çıkar</h3>
|
||||
<p>Aşağıdaki kutuya aktivasyon kodunu gir. Anında aktif olur, tüm premium ayrıcalıklar hesabına yüklenir!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Aktivasyon Kutusu --}}
|
||||
<div class="prm-activate-box" id="activate">
|
||||
<h2>Aktivasyon Kodun Var mı?</h2>
|
||||
<p>Satın alma sonrası aldığın kodu girerek Premium üyeliğini hemen aktifleştir.</p>
|
||||
|
||||
@auth
|
||||
<form method="POST" action="{{ route('premium.activate.redeem') }}" class="prm-code-form">
|
||||
@csrf
|
||||
<input type="text" name="code" id="prm-code-inp" class="prm-code-input {{ $errors->has('code') ? 'is-invalid' : '' }}"
|
||||
placeholder="XXXX-XXXX-XXXX" maxlength="32" autocomplete="off" autocapitalize="characters"
|
||||
value="{{ old('code') }}" spellcheck="false">
|
||||
<button type="submit" class="prm-code-btn"><i class="bi bi-lightning-fill me-1"></i>Aktifleştir</button>
|
||||
@if($errors->has('code'))
|
||||
<div class="prm-code-error"><i class="bi bi-exclamation-circle me-1"></i>{{ $errors->first('code') }}</div>
|
||||
@endif
|
||||
</form>
|
||||
@else
|
||||
<form class="prm-code-form">
|
||||
<input type="text" class="prm-code-input" placeholder="XXXX-XXXX-XXXX" disabled>
|
||||
<button type="button" onclick="window.location.href='{{ route('frontend.register') }}?next={{ urlencode(route('premium.activate')) }}'" class="prm-code-btn">
|
||||
<i class="bi bi-person-plus-fill me-1"></i>Giriş Yap & Aktifleştir
|
||||
</button>
|
||||
</form>
|
||||
<div class="prm-activate-login-note">
|
||||
Aktivasyon kodu kullanmak için <a href="{{ route('frontend.register') }}">üye olman</a> veya <a href="{{ route('frontend.login') }}">giriş yapman</a> gerekiyor.
|
||||
</div>
|
||||
@endauth
|
||||
</div>
|
||||
|
||||
{{-- Özellikler Showcase --}}
|
||||
@if(count($featureGroups ?? []) > 0)
|
||||
<div class="prm-section-lbl">
|
||||
<h2>Premium Ayrıcalıklar</h2>
|
||||
<p>Premium üyeliğinle birlikte gelen tüm özellikler.</p>
|
||||
</div>
|
||||
<div class="prm-features-grid">
|
||||
@foreach($featureGroups as $group)
|
||||
@php
|
||||
$colors = [
|
||||
'Profil' => ['bg'=>'rgba(184,77,255,.12)','color'=>'#b84dff','icon'=>'bi-person-circle'],
|
||||
'İzleme' => ['bg'=>'rgba(0,245,255,.12)','color'=>'#00f5ff','icon'=>'bi-play-circle-fill'],
|
||||
'Sosyal' => ['bg'=>'rgba(255,45,125,.12)','color'=>'#ff2d7d','icon'=>'bi-chat-heart-fill'],
|
||||
'Hesap' => ['bg'=>'rgba(255,214,10,.12)','color'=>'#ffd60a','icon'=>'bi-shield-fill-check'],
|
||||
];
|
||||
$c = $colors[$group['label']] ?? ['bg'=>'rgba(255,255,255,.08)','color'=>'#fff','icon'=>'bi-star-fill'];
|
||||
@endphp
|
||||
<div class="prm-feat-cat">
|
||||
<div class="prm-feat-cat-hdr">
|
||||
<div class="prm-feat-cat-icon" style="background:{{ $c['bg'] }};color:{{ $c['color'] }}">
|
||||
<i class="bi {{ $c['icon'] }}"></i>
|
||||
</div>
|
||||
<h3>{{ $group['label'] }}</h3>
|
||||
</div>
|
||||
<div class="prm-feat-list">
|
||||
@foreach(array_slice($group['perks'], 0, 6) as $perk)
|
||||
<div class="prm-feat-item">
|
||||
<div class="prm-feat-item-icon" style="background:{{ $c['bg'] }};color:{{ $c['color'] }}">
|
||||
<i class="bi {{ $perk['icon'] ?? 'bi-check' }}"></i>
|
||||
</div>
|
||||
<div class="prm-feat-item-body">
|
||||
<div class="prm-feat-item-name">{{ $perk['name'] }}</div>
|
||||
@if(!empty($perk['desc']))<div class="prm-feat-item-desc">{{ $perk['desc'] }}</div>@endif
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Kozmetik Preview --}}
|
||||
<div class="prm-cosmetics">
|
||||
<div class="prm-cosmetics-title">Profilini Kişiselleştir</div>
|
||||
<div class="prm-cosmetics-sub">Premium üyeler için özel görsel özelleştirmeler</div>
|
||||
|
||||
<div style="display:flex;flex-wrap:wrap;gap:32px;justify-content:center;margin-bottom:36px">
|
||||
<div style="text-align:center">
|
||||
<div style="font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:14px">Profil Çerçeveleri</div>
|
||||
<div style="display:flex;gap:14px;flex-wrap:wrap;justify-content:center">
|
||||
@foreach(['neon','fire','galaxy','gold','sakura','rainbow','ice'] as $fr)
|
||||
<div class="frame-badge fr-{{ $fr }}">
|
||||
<div class="frame-badge-inner">{{ Str::upper(substr($fr,0,2)) }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align:center">
|
||||
<div style="font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:14px">Yorum Arka Planları</div>
|
||||
<div style="display:flex;gap:8px;flex-wrap:wrap;justify-content:center">
|
||||
@foreach(['fire'=>'Ateş','aurora'=>'Aurora','stars'=>'Yıldız','sakura'=>'Sakura','neon'=>'Neon','galaxy'=>'Galaksi','ice'=>'Buz'] as $bg => $lbl)
|
||||
<div class="cb-preview cb-{{ $bg }}"><span>{{ $lbl }}</span></div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="text-align:center">
|
||||
<div style="font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:14px">Kullanıcı Adı Renkleri</div>
|
||||
<div style="display:flex;gap:8px;flex-wrap:wrap;justify-content:center">
|
||||
@foreach([
|
||||
['gradient'=>'linear-gradient(90deg,#00f5ff,#0080ff)','name'=>'Okyanus'],
|
||||
['gradient'=>'linear-gradient(90deg,#ff2d7d,#b84dff)','name'=>'Galaksi'],
|
||||
['gradient'=>'linear-gradient(90deg,#ffd700,#ff8c00)','name'=>'Altın'],
|
||||
['gradient'=>'linear-gradient(90deg,#32dc64,#00c8d4)','name'=>'Orman'],
|
||||
['gradient'=>'linear-gradient(90deg,#ff6b35,#ff2d7d)','name'=>'Ateş'],
|
||||
['gradient'=>'linear-gradient(90deg,#a8edff,#006fbf)','name'=>'Buz'],
|
||||
['gradient'=>'linear-gradient(90deg,#b84dff,#7c3aed)','name'=>'Mor'],
|
||||
] as $uc)
|
||||
<span class="uc-chip" style="background:{{ $uc['gradient'] }};-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-color:rgba(255,255,255,.12)">{{ $uc['name'] }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- FAQ --}}
|
||||
<div class="prm-faq">
|
||||
<h2>Sık Sorulan Sorular</h2>
|
||||
@foreach([
|
||||
['s'=>'Ödeme yaptıktan sonra nasıl aktifleştiririm?','c'=>'Ödemen onaylandıktan sonra sana aktivasyon kodu gönderilir. Bu sayfadaki "Aktivasyon Kodun Var mı?" kısmına kodu girip "Aktifleştir" butonuna tıklaman yeterli.'],
|
||||
['s'=>'Mevcut Premium üyeliğim varken başka bir kod girebilir miyim?','c'=>'Evet! Mevcut üyelik süren bitmeden kod girersen süreler üst üste eklenir (stack). Hiç süre kaybetmezsin.'],
|
||||
['s'=>'Aktivasyon kodum çalışmıyorsa ne yapmalıyım?','c'=>'Kodu büyük harflerle ve tire işaretleriyle birlikte girdiğinden emin ol (XXXX-XXXX-XXXX). Sorun devam ederse destek hattına başvur.'],
|
||||
['s'=>'Premium üyeliğimi iptal edebilir miyim?','c'=>'Premium üyeliğin süre tabanlıdır; otomatik yenileme yoktur. Süre dolunca normal hesabına dönersin.'],
|
||||
['s'=>'Premium özellikler hangi cihazlarda çalışır?','c'=>'Tüm cihazlarda (bilgisayar, tablet, telefon) çalışır. Hesabına giriş yaptığın her yerde premium ayrıcalıklarını kullanabilirsin.'],
|
||||
] as $faq)
|
||||
<div class="prm-faq-item">
|
||||
<button class="prm-faq-q" onclick="this.closest('.prm-faq-item').classList.toggle('open')">
|
||||
<span>{{ $faq['s'] }}</span>
|
||||
<i class="bi bi-plus-lg"></i>
|
||||
</button>
|
||||
<div class="prm-faq-a">{{ $faq['c'] }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
</div>{{-- /prm-wrap --}}
|
||||
</div>{{-- /pg --}}
|
||||
|
||||
<script>
|
||||
// Yıldız parçacıkları
|
||||
(function(){
|
||||
const c = document.getElementById('prm-stars');
|
||||
if(!c) return;
|
||||
for(let i=0;i<60;i++){
|
||||
const s = document.createElement('span');
|
||||
s.style.cssText = `left:${Math.random()*100}%;top:${Math.random()*100}%;--d:${2+Math.random()*4}s;--delay:-${Math.random()*4}s`;
|
||||
c.appendChild(s);
|
||||
}
|
||||
})();
|
||||
|
||||
// Kod input: otomatik büyük harf + tire formatı
|
||||
(function(){
|
||||
const inp = document.getElementById('prm-code-inp');
|
||||
if(!inp) return;
|
||||
inp.addEventListener('input', function(){
|
||||
let v = this.value.replace(/[^A-Za-z0-9]/g,'').toUpperCase();
|
||||
const parts = v.match(/.{1,4}/g) || [];
|
||||
this.value = parts.join('-').slice(0, 14);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user