Go server authenticates against Supabase GoTrue (youpc instance) using email+password. Login page with login/register tabs, domain restricted to @hoganlovells.com. Auth middleware protects all routes, refreshes expired tokens via refresh_token cookie. Lime green branding. - internal/auth: Supabase client (sign in, sign up, refresh, sign out), JWT expiry decode, auth middleware, cookie management - internal/handlers: login/register/logout handlers, per-page template parsing to avoid content block collisions - templates/login.html: tabbed login/register form - 30-day HTTP-only session cookies with SameSite=Lax - SUPABASE_URL and SUPABASE_ANON_KEY env vars in docker-compose
86 lines
3.7 KiB
HTML
86 lines
3.7 KiB
HTML
{{define "index.html"}}
|
|
{{template "base" .}}
|
|
{{end}}
|
|
|
|
{{define "content"}}
|
|
<header class="header">
|
|
<div class="container">
|
|
<nav class="nav">
|
|
<a href="/" class="logo">
|
|
<span class="logo-mark">p</span>
|
|
<span class="logo-text">patholo</span>
|
|
</a>
|
|
<div class="nav-right">
|
|
<a href="/logout" class="nav-logout">Abmelden</a>
|
|
<div class="nav-lang">
|
|
<span class="lang-active">DE</span>
|
|
<span class="lang-sep">/</span>
|
|
<span class="lang-inactive">EN</span>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
<section class="hero">
|
|
<div class="container">
|
|
<h1>Patent Knowledge<br><span class="hero-accent">für Hogan Lovells</span></h1>
|
|
<p class="hero-sub">
|
|
Leitfäden, Vorlagen und Dokumente für das HL Patent-Team.
|
|
<br>
|
|
<span class="hero-en">Guides, templates, and documents for the HL patent team.</span>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="sections">
|
|
<div class="container">
|
|
<div class="grid">
|
|
<div class="card">
|
|
<div class="card-icon">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20"/><path d="M8 7h6"/><path d="M8 11h4"/></svg>
|
|
</div>
|
|
<h2>Leitfäden <span class="card-en">Guides</span></h2>
|
|
<p>Praxisleitfäden zu Verfahren vor dem EPA, BPatG und UPC. Schritt-für-Schritt-Anleitungen für typische Workflows.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-icon">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><line x1="10" y1="9" x2="8" y2="9"/></svg>
|
|
</div>
|
|
<h2>Vorlagen <span class="card-en">Templates</span></h2>
|
|
<p>Standardisierte Vorlagen für Schriftsätze, Korrespondenz und interne Dokumente. HL Patents Style Guide.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-icon">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
|
|
</div>
|
|
<h2>Dokumente <span class="card-en">Documents</span></h2>
|
|
<p>Referenzmaterialien, Checklisten und Arbeitshilfen für den Praxisalltag im Patentrecht.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="offices">
|
|
<div class="container">
|
|
<h3>Standorte <span class="card-en">Offices</span></h3>
|
|
<div class="office-list">
|
|
<span>München</span>
|
|
<span>Düsseldorf</span>
|
|
<span>Amsterdam</span>
|
|
<span>London</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<p>© 2026 patholo — Internal use only. Hogan Lovells Patent Practice.</p>
|
|
</div>
|
|
</footer>
|
|
{{end}}
|