diff --git a/app/[locale]/page.brutalist-backup.tsx.txt b/app/[locale]/page.brutalist-backup.tsx.txt new file mode 100644 index 0000000..78d7441 --- /dev/null +++ b/app/[locale]/page.brutalist-backup.tsx.txt @@ -0,0 +1,612 @@ +'use client' + +import { useRef } from 'react' +import { motion, useInView } from 'framer-motion' +import ContactForm from '@/components/contact-form' + +/* ─── Design system tokens (Industrial / Swiss Print) ─────────────────── */ +const T = { + bg: '#F4F4F0', + ink: '#0A0A0A', + inkSoft: 'rgba(10,10,10,0.6)', + inkFaint: 'rgba(10,10,10,0.38)', + red: '#E61919', + divider: 'rgba(10,10,10,0.16)', + dividerHv: 'rgba(10,10,10,0.9)', + fontHead: '"Archivo", sans-serif', + fontMono: '"JetBrains Mono", monospace', +} + +/* ─── Reveal animation ─────────────────────────────────────────────────── */ +function Reveal({ children, className = '', delay = 0 }: { + children: React.ReactNode; className?: string; delay?: number +}) { + const ref = useRef(null) + const inView = useInView(ref, { once: true, margin: '-80px' }) + return ( + + {children} + + ) +} + +/* ─── Rail nav ──────────────────────────────────────────────────────────── */ +const RAIL_ITEMS = [ + { id: '02', href: '#is-akisi' }, + { id: '03', href: '#farklilasim' }, + { id: '04', href: '#ozellikler' }, + { id: '05', href: '#fiyatlandirma' }, + { id: '06', href: '#guven' }, + { id: '07', href: '#iletisim' }, +] + +/* ─── Component ─────────────────────────────────────────────────────────── */ +export default function HomePage() { + return ( +
+ + {/* ── Inline fonts + global rules ── */} + + +
+ + {/* ── Left rail ── */} +
+ {RAIL_ITEMS.map(item => ( + { e.currentTarget.style.color = T.red }} + onMouseLeave={e => { e.currentTarget.style.color = T.inkFaint }} + > + {item.id} + + ))} +
+ + {/* ══════════════════════════════ NAV ═════════════════════════════ */} + + + {/* ══════════════════════════════ HERO ════════════════════════════ */} +
+ + + + DOC-01 // DEĞER ÖNERMESİ + + +
+
+ +

+ DOSYANIZI OKUR, + SİZİNLE TARTIŞIR. +

+
+ +

+ AyrisLegal, yüklediğiniz dava dosyasını analiz eden, içtihat bulan ve dilekçe taslağı çıkaran bir yapay zeka çalışma ortağı — pasif bir arama motoru değil, dosya üzerinde sizinle muhakeme eden bir meslektaş. +

+
+ + +

+ >>> Şu an erken erişim aşamasındayız — kurucu ekiple doğrudan görüşün. +

+
+
+ + {/* Hero right: process log panel */} + +
+
+ PROCESS LOG + ● LIVE +
+
+ {[ + { t: '00:01', s: 'DOSYA YÜKLENDİ', done: true }, + { t: '00:04', s: 'AI ANALİZ EDİYOR…', done: true }, + { t: '00:09', s: 'ARGÜMAN DEĞERLENDİRMESİ', done: true }, + { t: '00:13', s: 'EMSAL: YARGITAY 2024/1234', done: true }, + { t: '00:21', s: 'DİLEKÇE TASLAĞI OLUŞTURULDU', done: true, final: true }, + ].map((row, i) => ( +
+ [{row.t}] + {row.s} + {row.final ? 'OK' : '✓'} +
+ ))} +
+
+
+
+
+ + {/* ══════════════════════════════ STATS ═══════════════════════════ */} +
+ {[ + { value: '01', label: 'SABİT FİYAT, TÜM AVUKATLARA' }, + { value: '40.000 ₺', label: 'YILLIK, GİZLİ ÜCRET YOK' }, + { value: '5', label: 'MAHKEME KAYNAĞI TEK EKRANDA' }, + { value: '7/24', label: 'DOSYANIZLA ÇALIŞAN ORTAK' }, + ].map((s) => ( +
+
{s.value}
+
{s.label}
+
+ ))} +
+ + {/* ══════════════════════════════ PROBLEM ═════════════════════════ */} +
+ + DOC-02 // BUGÜNÜN İŞ AKIŞI +

+ Dosya, arama, şablon, tekrar. +

+
+
+ +
+ 01 / BUGÜN +

+ Dosya incelemesi bir programda, içtihat araması ayrı bir siteye açılan sekmede, dilekçe taslağı eski bir Word şablonunda. Her adımda bağlam yeniden kurulur, saatler kaybolur. +

+
+
+ +
+ 02 / AYRISLEGAL İLE +

+ Tek bir çalışma alanı: dosyanızı yükleyin, AyrisLegal ile tartışın, içtihat bulun, dilekçe taslağı üretin — hepsi aynı ekranda, bağlamı hiç kaybetmeden. +

+
+
+
+
+ + {/* ══════════════════════════════ DIFFERENTIATOR ══════════════════ */} +
+ + DOC-03 // TARTIŞMA ODAKLI YAPAY ZEKA + +
+ +
+

+ Bulmakla yetinmez, tartışır. +

+

+ Çoğu hukuk yazılımı özet çıkarır ya da anahtar kelimeyle arar. AyrisLegal dosyanızdaki argümanı okur, zayıf noktasını sorar, karşı görüş üretir, sizi ikna etmeye çalışır — ya da ikna olur. +

+

+ >>> Aşağıdaki panel, bu tartışmanın nasıl göründüğünü gösteren temsili bir tasarımdır. +

+
+
+ + {/* Chat simulation as terminal transcript */} + +
+
+ [AVUKAT] +

Müvekkilin haklı olduğunu düşünüyorum, mülkiyet devri geçerli.

+
+
+ + [AYRISLEGAL // İTİRAZ] + +

Devir tarihinde tapuda şerh var — bu, iyi niyet iddianızı zayıflatabilir. Şerhin kaldırılış tarihini kontrol ettiniz mi?

+
+
+ [AVUKAT] +

Haklısınız — 3 emsal kararla bu noktayı destekleyelim.

+
+
+
+
+
+ + {/* ══════════════════════════════ FEATURES ════════════════════════ */} +
+ + DOC-04 // PLATFORM +

+ Bir avukatın ihtiyaç duyduğu şeyler. +

+

+ Dosyayı yükleyin — gerisini AyrisLegal üstlenir: okur, çapraz sorgular, strateji kurar, içtihat bulur, dilekçeyi yazar. +

+
+ + {/* — 04.1 Dosya Analizi — */} + +
+ 04.1 + Dosya Analizi + +
+
+
+ +
+ ÇELİŞKİ AVCISI 🚨 +

İfadeleri çapraz sorgular

+

Özellikle ceza dosyalarında: müşteki, sanık ve tanıkların karakol, savcılık ve mahkeme aşamalarındaki beyanlarını karşılaştırır, çelişen ifadeleri kırmızı alarmla işaretler.

+
+
+ +
+ DOSYA ÖZETİ +

Yüzlerce sayfayı tek raporda toplar

+

Tüm iddia, savunma ve delilleri birleştirip olay örgüsü, yargılama süreci ve son durumu anlatan yapılandırılmış bir rapor çıkarır.

+
+
+ +
+ DOSYA RÖNTGENİ +

Gözden kaçanı bulur

+

Olası usul eksikliklerini, zamanaşımı risklerini ve toplanmamış delilleri tarar.

+
+
+ +
+ DAVA STRATEJİSİ +

Yol haritası çıkarır

+

Zayıf noktalar, karşı tarafın açıkları, usul hataları ve talep edilmesi gereken deliller için müvekkile özel strateji üretir.

+
+
+ +
+ MÜZAKERE VE ARABULUCULUK +

Pazarlık marjını hesaplar

+

Kazanma/kaybetme olasılığını, yargılama masrafı, süre ve riskleri değerlendirip arabuluculuk için en mantıklı marjı sunar.

+
+
+
+ + {/* — 04.2 Otomasyon ve Araçlar — */} + +
+ 04.2 + Otomasyon ve Araçlar + +
+
+
+ +
+ TAKVİM & SÜRELER +

Kesin süreleri kaçırmazsınız

+

Duruşma tarihlerini ve kesin süreleri (cevap dilekçesi, istinaf vb.) dosyadan tespit edip takvime işler ve takibini yapar.

+
+
+ +
+ DİLEKÇE HAZIRLAMA +

Tek tıkla hazır taslak

+

Süre tutum, mazeret ve vekaletname sunma dilekçelerini saniyeler içinde hazırlar; hepsi "Dilekçeler" sekmesinde arşivlenir ve anında düzenlenebilir.

+
+
+
+ + {/* — 04.3 İnteraktif Yapay Zeka — */} + +
+ 04.3 + İnteraktif Yapay Zeka + +
+
+
+ +
+ AYRISLEGAL'E SOR +

Dosyaya özel sohbet

+

"İddianamede bahsedilen bıçak kime aitmiş?" gibi dosyaya özel sorularınızı, tüm evrakların bağlamını bilen bir chat bot yanıtlar.

+
+
+ +
+ DİJİTAL STAJYER +

Uzun soluklu görevler devreder

+

Sanal bir hukuk stajyerine görev verir gibi, araştırma ve metin yazım görevlerini AyrisLegal'a atayabilirsiniz.

+
+
+ +
+ SİMÜLATÖR +

Duruşma provası yapar

+

Mahkemeye çıkmadan önce yapay zeka "Hakim", "Savcı" veya "Karşı Taraf Avukatı" rolüne girer; savunmanızı olası sorulara karşı önceden dener.

+
+
+
+ + {/* — 04.4 İçtihat Araştırma — */} + +
+ 04.4 + İçtihat Araştırma + +
+
+
+ +
+ SEMANTİK EMSAL ARAMA +

Anlamla arar, kelimeyle değil

+

Anahtar kelime eşleşmesinin ötesinde, vektörel arama ile konuya en uygun Yargıtay, Danıştay ve BAM kararlarını getirir.

+
+
+ +
+ MAHKEME FİLTRELERİ +

Kaynağa göre daraltır

+

Aramaları Yargıtay, Bölge Adliye Mahkemesi, AYM gibi belirli kurumlara göre filtreler.

+
+
+ +
+ HIZLI KOPYALAMA +

Dilekçeye anında aktarır

+

Okuma ekranındaki kararlar veya bölümler tek tıkla kopyalanıp dilekçelere entegre edilir.

+
+
+
+ + {/* — 04.5 UYAP Entegrasyonu — */} + +
+ 04.5 + UYAP Entegrasyonu + +
+
+ +
+ CHROME EKLENTİSİ +

Manuel indir-yükle derdi yok

+

+ AyrisLegal, bir web eklentisi aracılığıyla doğrudan UYAP portalıyla haberleşir: taraf bilgilerini, mahkeme bilgilerini, esas numarasını ve safahatı otomatik çeker. + Evraklar UYAP üzerinden okunup doğrudan AyrisLegal'a aktarılır; arka planda OCR ile içerikleri metne dönüştürülüp yapay zekanın analiz edebileceği hale getirilir. +

+
+
+
+ + {/* ══════════════════════════════ PRICING ═════════════════════════ */} +
+ + DOC-05 // FİYATLANDIRMA +

+ İhtiyacınıza uygun modeller. +

+
+ +
+ + {/* ── Bireysel ── */} + +
+
+ {['01','02','03','04','05'].map(t => ( + {t} + ))} +
+
+

40.000 ₺

+

Bireysel Avukat / Yıl

+

+ Serbest çalışan avukatlar için tasarlanmış yapay zeka çalışma ortağı. +

+
+
    + {['Sınırsız dosya analizi', 'AI tartışma ortağı', 'İçtihat arama', 'Dilekçe taslağı üretimi'].map(item => ( +
  • + > + {item} +
  • + ))} +
+ Demo Talep Et +
+
+
+ + {/* ── Büro ── */} + +
+
Ekip Çalışması
+
+ {['01','02','03','04','05'].map(t => ( + {t} + ))} +
+
+

Hukuk Bürosu

+

Özel Fiyatlandırma

+

+ Tüm ekibiniz için paylaşımlı çalışma alanı, dosya yönetimi ve özel entegrasyonlar. +

+
+
    + {['Tüm bireysel özellikler', 'Ekip içi dosya paylaşımı', 'Ortak içtihat havuzu', 'Kurucu ekiple özel destek'].map(item => ( +
  • + > + {item} +
  • + ))} +
+ (e.currentTarget.style.background = T.ink)} + onMouseLeave={e => (e.currentTarget.style.background = T.red)} + >İletişime Geçin +
+
+
+ +
+
+ + {/* ══════════════════════════════ TRUST ═══════════════════════════ */} +
+ + DOC-06 // GÜVEN VE VERİ GÜVENLİĞİ +

+ Dosyalarınız sizin kalır. +

+

+ Bir dava dosyası, bir avukatın elindeki en hassas belgedir. AyrisLegal'ı bu bilinçle kuruyoruz. +

+
+
+ {[ + { title: 'YEREL ŞİFRELİ SAKLAMA', desc: 'Lisans ve hassas veriler, işletim sisteminizin kendi güvenli depolama katmanıyla (Keychain / DPAPI) şifrelenir.' }, + { title: 'KENDİ GOOGLE DRIVE’INIZA YEDEKLEME', desc: 'Otomatik yedekleme bizim sunucularımıza değil, sizin kendi Drive hesabınıza yapılır — sadece siz erişebilirsiniz.' }, + { title: 'SADECE SİZİN ANALİZİNİZ İÇİN', desc: 'Yüklediğiniz belgeler başka kullanıcılarla veya üçüncü taraflarla paylaşılmaz.' }, + { title: 'SON KARAR HER ZAMAN SİZDE', desc: 'AyrisLegal bir karar organı değildir — analiz, taslak ve öneri üretir. Mesleki sorumluluk gereği tüm çıktılar imzadan önce sizin incelemenizden geçer.' }, + ].map((item, i) => ( + +
+ 0{i + 1} +

{item.title}

+

{item.desc}

+
+
+ ))} +
+
+ + {/* ══════════════════════════════ FAQ ══════════════════════════════ */} +
+ + DOC-06.5 // SIK SORULAN SORULAR +

+ Muhtemelen bunları soracaksınız. +

+
+
+ {[ + { q: 'Müvekkil dosyalarım nerede saklanıyor, kim görebilir?', a: 'Belgeler yerel şifreli depolamada tutulur, yedekleme bizim değil sizin kendi Google Drive hesabınıza yapılır. Başka kullanıcı veya üçüncü tarafla paylaşılmaz.' }, + { q: 'Yapay zeka yanlış bir şey söylerse sorumluluk kimde?', a: 'AyrisLegal karar organı değildir — analiz, taslak ve öneri üretir. Ürettiği emsal kararlar gerçek esas/karar numaralarıyla gelir, kaynağından doğrulanabilir. Nihai değerlendirme ve imza her zaman sizde kalır.' }, + { q: 'UYAP şifremi AyrisLegal ile paylaşmam gerekiyor mu?', a: 'Hayır. UYAP eklentisi, tarayıcınızda zaten açık olan oturumu kullanır — kimlik bilgileriniz hiçbir zaman AyrisLegal sunucularına iletilmez ya da saklanmaz.' }, + { q: 'Büromdaki diğer avukatlarla paylaşabilir miyim?', a: 'Şu an platform bireysel avukat için tasarlandı. Ekip/büro paylaşımı yol haritamızda — Hukuk Bürosu planı için iletişime geçin, ihtiyacınıza göre konuşalım.' }, + ].map((item) => ( + +
+

{item.q}

+

{item.a}

+
+
+ ))} +
+
+ + {/* ══════════════════════════════ CONTACT ═════════════════════════ */} +
+ + DOC-07 // ERKEN ERİŞİM + +
+ +
+

+ Şu an müşteri referansı göstermiyoruz — kasıtlı olarak. +

+

+ AyrisLegal yeni. Sahte ya da ödünç yorumlar yerine dürüst olmayı seçtik: platformu kurucu ekiple birlikte, doğrudan geri bildiriminizle şekillendiriyoruz. Demo talep edin, ilk kullanan avukatlardan biri olun. +

+
    + {['Formu doldurun', 'Kurucu ekipten biri sizi arar', '15 dakikalık canlı demoda dosyanızla test edersiniz'].map((step, i) => ( +
  • + 0{i + 1} + {step} +
  • + ))} +
+
+
+ VERIFIED + FOUNDER +
+ KURUCU EKİP MÜHRÜ +
+
+
+ + + +
+
+ + {/* ══════════════════════════════ FOOTER ══════════════════════════ */} +
+ AYRISLEGAL™ — AYRIS TECH'İN BİR ÜRÜNÜDÜR. + + © {new Date().getFullYear()} AYRISLEGAL ·{' '} + + CREATED BY AYRIS.TECH + + +
+
+ ) +} diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index 78d7441..09385cc 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -1,34 +1,34 @@ 'use client' -import { useRef } from 'react' -import { motion, useInView } from 'framer-motion' +import React, { useRef, useState } from 'react' +import { motion, useInView, useMotionValue, useTransform, useSpring } from 'framer-motion' +import { + ArrowRight, FileText, Search, MessageSquare, ShieldCheck, Cloud, Lock, + CheckCircle2, Sparkles, Scale, GraduationCap, AlertTriangle, + FolderOpen, Landmark, Users2, ChevronRight, +} from 'lucide-react' import ContactForm from '@/components/contact-form' -/* ─── Design system tokens (Industrial / Swiss Print) ─────────────────── */ -const T = { - bg: '#F4F4F0', - ink: '#0A0A0A', - inkSoft: 'rgba(10,10,10,0.6)', - inkFaint: 'rgba(10,10,10,0.38)', - red: '#E61919', - divider: 'rgba(10,10,10,0.16)', - dividerHv: 'rgba(10,10,10,0.9)', - fontHead: '"Archivo", sans-serif', - fontMono: '"JetBrains Mono", monospace', -} +/* ───────────────────────────────────────────────────────────────────────── + Brand tokens — AyrisLegal kırmızısı (#E61919) tek aksan renk, nötr taban + zinc skalası. Referans görsellerdeki turuncu/lacivert paletle kasıtlı + olarak hiçbir ortak nokta yok (başka bir şirketin kimliği). + ───────────────────────────────────────────────────────────────────────── */ +const ACCENT = '#E61919' +const ACCENT_DARK = '#B8140F' +const ACCENT_SOFT = '#FDEEEC' -/* ─── Reveal animation ─────────────────────────────────────────────────── */ function Reveal({ children, className = '', delay = 0 }: { children: React.ReactNode; className?: string; delay?: number }) { const ref = useRef(null) - const inView = useInView(ref, { once: true, margin: '-80px' }) + const inView = useInView(ref, { once: true, margin: '-60px' }) return ( {children} @@ -36,576 +36,559 @@ function Reveal({ children, className = '', delay = 0 }: { ) } -/* ─── Rail nav ──────────────────────────────────────────────────────────── */ -const RAIL_ITEMS = [ - { id: '02', href: '#is-akisi' }, - { id: '03', href: '#farklilasim' }, - { id: '04', href: '#ozellikler' }, - { id: '05', href: '#fiyatlandirma' }, - { id: '06', href: '#guven' }, - { id: '07', href: '#iletisim' }, +/* Magnetic CTA — useMotionValue/useTransform dışında hiçbir React state + kullanmıyor (skill kuralı: sürekli hover animasyonu için useState yasak). */ +function MagneticButton({ href, children, variant = 'solid' }: { + href: string; children: React.ReactNode; variant?: 'solid' | 'outline' +}) { + const x = useMotionValue(0) + const y = useMotionValue(0) + const springX = useSpring(x, { stiffness: 150, damping: 15, mass: 0.5 }) + const springY = useSpring(y, { stiffness: 150, damping: 15, mass: 0.5 }) + const tx = useTransform(springX, v => v) + const ty = useTransform(springY, v => v) + + const handleMove = (e: React.MouseEvent) => { + const rect = e.currentTarget.getBoundingClientRect() + x.set((e.clientX - rect.left - rect.width / 2) * 0.25) + y.set((e.clientY - rect.top - rect.height / 2) * 0.25) + } + const handleLeave = () => { x.set(0); y.set(0) } + + const base = 'inline-flex items-center justify-center gap-2 rounded-full px-7 py-3.5 text-[15px] font-semibold transition-colors active:scale-[0.98]' + const style = variant === 'solid' + ? { background: ACCENT, color: '#fff' } + : { background: '#fff', color: '#18181B', border: '1.5px solid rgb(228 228 231)' } + + return ( + { if (variant === 'solid') (e.currentTarget as HTMLElement).style.background = ACCENT_DARK }} + onMouseOut={e => { if (variant === 'solid') (e.currentTarget as HTMLElement).style.background = ACCENT }} + > + {children} + + ) +} + +/* Sürekli nabız atan "canlı" gösterge — izole, memoized, parent'ı + yeniden render etmez (performance guardrail). */ +const LivePulse = React.memo(function LivePulse() { + return ( + + + + + ) +}) + +function BrowserFrame({ children }: { children: React.ReactNode }) { + return ( +
+
+ + + + ayrislegal.com +
+
{children}
+
+ ) +} + +const NAV_LINKS = [ + { label: 'Özellikler', href: '#tanisin' }, + { label: 'Fiyatlar', href: '#fiyatlandirma' }, + { label: 'SSS', href: '#sss' }, + { label: 'İletişim', href: '#iletisim' }, ] -/* ─── Component ─────────────────────────────────────────────────────────── */ export default function HomePage() { - return ( -
+ const [pricingYearly, setPricingYearly] = useState(true) - {/* ── Inline fonts + global rules ── */} + return ( +
-
- - {/* ── Left rail ── */} - - {/* ══════════════════════════════ NAV ═════════════════════════════ */} -