From 7c4828ca84751ecc904f51aa22985a4dfb4affd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=9Eahan=20Hasret?= Date: Sun, 14 Dec 2025 01:06:11 +0300 Subject: [PATCH] Font Fix --- src/app/globals.css | 28 ++++++++++---- src/app/layout.tsx | 8 ++-- src/app/page.tsx | 88 ++++++++++++++---------------------------- src/i18n/locales/tr.ts | 6 ++- 4 files changed, 57 insertions(+), 73 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index b096574..abe4a86 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -8,19 +8,19 @@ --background: #050B14; --foreground: #E2E8F0; - --zsl-bg: #050B14; + --zsl-bg: #0A192F; --zsl-text: #E2E8F0; --zsl-primary: #00D4FF; --zsl-accent: #FFAA00; - --zsl-card: #0F172A; - --zsl-muted: #94A3B8; + --zsl-card: #112240; + --zsl-muted: #8892b0; } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); + --font-sans: var(--font-inter); + --font-mono: var(--font-rajdhani); --color-zsl-bg: var(--zsl-bg); --color-zsl-text: var(--zsl-text); @@ -29,9 +29,11 @@ --color-zsl-card: var(--zsl-card); --color-zsl-muted: var(--zsl-muted); - --animate-scroll: scroll 40s linear infinite; + --animate-scroll: scroll 60s linear infinite; --animate-pulse-slow: pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite; --animate-grid-move: grid-move 20s linear infinite; + --animate-glow: glow 2s ease-in-out infinite alternate; + --animate-float: float 6s ease-in-out infinite; @keyframes scroll { 0% { transform: translateX(0); } @@ -40,7 +42,17 @@ @keyframes grid-move { 0% { background-position: 0 0; } - 100% { background-position: 50px 50px; } + 100% { background-position: 40px 40px; } + } + + @keyframes glow { + 0% { box-shadow: 0 0 5px #00D4FF; } + 100% { box-shadow: 0 0 20px #00D4FF, 0 0 10px #00D4FF; } + } + + @keyframes float { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-20px); } } } @@ -53,7 +65,7 @@ body { ) rgb(var(--background-start-rgb)); overflow-x: hidden; - font-family: Arial, Helvetica, sans-serif; + font-family: var(--font-sans); } /* Custom Scrollbar */ diff --git a/src/app/layout.tsx b/src/app/layout.tsx index ca5cb56..e3efc82 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,12 +1,12 @@ import type { Metadata, Viewport } from "next"; -import { Inter, Orbitron } from "next/font/google"; +import { Inter, Rajdhani } from "next/font/google"; import { Analytics } from '@vercel/analytics/next'; import { LocaleProvider } from '@/context/LocaleContext'; import React from 'react'; import "./globals.css"; -const inter = Inter({ subsets: ["latin"], variable: "--font-inter" }); -const orbitron = Orbitron({ subsets: ["latin"], variable: "--font-orbitron" }); +const inter = Inter({ subsets: ["latin", "latin-ext"], variable: "--font-inter" }); +const rajdhani = Rajdhani({ subsets: ["latin", "latin-ext"], variable: "--font-rajdhani", weight: ["300", "400", "500", "600", "700"] }); export const viewport: Viewport = { width: 'device-width', @@ -92,7 +92,7 @@ export default function RootLayout({ - + Ana i\u00e7eri\u011fe atla diff --git a/src/app/page.tsx b/src/app/page.tsx index 2c6232f..80653a0 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -15,7 +15,6 @@ import { PartnerLogos } from '@/components/PartnerLogos'; import { ScrollAnimation } from '@/components/ScrollAnimation'; import { CookieBanner } from '@/components/CookieBanner'; import { ProjectModal } from '@/components/ProjectModal'; -import { LanguageSwitcher } from '@/components/LanguageSwitcher'; import { NavPage } from '@/types'; // Social Links @@ -200,38 +199,6 @@ export default function Home() { color: "accent", desc: "Karmaşık sistem ağlarını ve sunucu yapılarını yöneten mimar.", stats: { network: 98, devops: 94, latency: 1 } - }, - { - name: "Fatma Şahiner", - handle: "ALGORITHM", - role: "Software Developer", - color: "primary", - desc: "Temiz kod prensipleriyle çalışan güçlü algoritma geliştiricisi.", - stats: { java: 90, backend: 95, bugs: 0 } - }, - { - name: "Bedirhan Demirhan", - handle: "FRONT_LINE", - role: "Web Developer", - color: "accent", - desc: "Modern web teknolojileriyle dinamik arayüzleri inşa eden uzman.", - stats: { react: 95, css: 100, speed: 90 } - }, - { - name: "Murat Dursun", - handle: "PIXEL_FLOW", - role: "Web Developer", - color: "primary", - desc: "Kullanıcı deneyimini kusursuz koda döken web geliştirici.", - stats: { ux: 95, code: 92, coffee: 80 } - }, - { - name: "Mustafa Çoban", - handle: "NET_DEFENDER", - role: "Cyber Security Expert", - color: "accent", - desc: "Ağ güvenliği ve sızma testlerinde uzmanlaşmış siber güvenlik kalkanı.", - stats: { defense: 99, pentest: 98, firewall: 100 } } ]; @@ -897,28 +864,26 @@ export default function Home() { ))} - {/* Language Switcher */} -
- -
- {/* Mobile Menu Button */} -
- +
+
- {/* Mobile Menu Overlay */} + {/* Mobile Menu */} {isMobileMenuOpen && ( -
- {[ +
+ {[ { page: NavPage.HOME, label: 'ANA SAYFA' }, { page: NavPage.SERVICES, label: 'ÇÖZÜMLER' }, { page: NavPage.PROJECTS, label: 'LAB SONUÇLARI' }, @@ -926,20 +891,23 @@ export default function Home() { { page: NavPage.ABOUT, label: 'HİKAYE' }, { page: NavPage.LAB, label: 'AI LAB' }, { page: NavPage.CONTACT, label: 'BAĞLANTI' } - ].map((item) => ( - - ))} -
+ + ))} +
)} diff --git a/src/i18n/locales/tr.ts b/src/i18n/locales/tr.ts index 2d3fdbd..a308ca5 100644 --- a/src/i18n/locales/tr.ts +++ b/src/i18n/locales/tr.ts @@ -139,4 +139,8 @@ export const tr = { }, } as const; -export type TranslationKeys = typeof tr; +type RecursiveString = { + [K in keyof T]: T[K] extends object ? RecursiveString : string; +}; + +export type TranslationKeys = RecursiveString;