philippurbschat.de/home/views/inc/header.php

65 lines
No EOL
3.5 KiB
PHP
Raw Permalink 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.

<?php
// SEO & Meta Setup
$baseUrl = rtrim(Config::get('BASE_URL', 'https://philippurbschat.de/'), '/');
$currentPath = isset($_GET['url']) ? '/' . rtrim($_GET['url'], '/') : '';
$canonicalUrl = $baseUrl . $currentPath;
$pageTitle = isset($title) ? $title . ' | Philipp Urbschat' : 'Philipp Urbschat Developer, Designer, Problem Solver';
// Particle Logic
$isFirstVisit = !isset($_SESSION['particles_initialized']);
$_SESSION['particles_initialized'] = true;
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#020617">
<title><?= htmlspecialchars($pageTitle) ?></title>
<meta name="title" content="<?= htmlspecialchars($pageTitle) ?>">
<meta name="description" content="Developer, Designer, Punkrocker, Problem Solver. Digital with zero Bullshit.">
<meta property="og:type" content="website">
<meta property="og:url" content="<?= htmlspecialchars($canonicalUrl) ?>">
<meta property="og:title" content="<?= htmlspecialchars($pageTitle) ?>">
<meta property="og:description" content="Developer, Designer, Punkrocker, Problem Solver.">
<link rel="canonical" href="<?= htmlspecialchars($canonicalUrl) ?>">
<link rel="preload" href="/fonts/outfit-v15-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/jetbrains-mono-v24-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/css/app.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="shortcut icon" href="/favicon.ico">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Philipp Urbschat",
"jobTitle": "Webentwickler & Designer",
"url": "<?= htmlspecialchars($baseUrl) ?>",
"knowsAbout": ["Webentwicklung", "Frontend Design", "Backend Development", "SEO", "Datenanalyse", "AI Integrations"]
}
</script>
</head>
<body class="text-slate-300 min-h-screen flex flex-col relative selection-pink font-sans">
<div class="crt-overlay"></div>
<div class="noise"></div>
<div class="bg-glow"></div>
<div class="fixed inset-0 overflow-hidden pointer-events-none z-0">
<div class="absolute top-[-20%] left-[-10%] w-[60%] h-[60%] bg-indigo-900/10 rounded-full animate-blob"></div>
<div class="absolute bottom-[-20%] right-[-10%] w-[70%] h-[70%] bg-slate-900/30 rounded-full animate-blob" style="animation-delay: -5s;"></div>
<div class="absolute top-[10%] right-[10%] w-[50%] h-[50%] bg-blue-900/5 rounded-full animate-blob" style="animation-delay: -10s;"></div>
<?php
for($i = 0; $i < 15; $i++) {
$duration = rand(15, 30);
$delay = $isFirstVisit ? rand(0, 20) : rand(-$duration, 0);
$style = sprintf(
'width: %dpx; height: %dpx; left: %d%%; bottom: -20px; opacity: %.2f; --p-duration: %ds; --p-delay: %ds;',
rand(1, 3), rand(1, 3), rand(0, 100), rand(10, 40) / 100, $duration, $delay
);
echo "<div class=\"particle\" style=\"{$style}\"></div>\n";
}
?>
</div>
<?php Flash::display(); ?>
<main class="grow flex items-start justify-center p-6 relative z-10">