Files
paliad/templates/index.html
m 21bf56dc20 feat: add Supabase password auth with @hoganlovells.com restriction
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
2026-04-14 16:34:17 +02:00

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>&copy; 2026 patholo &mdash; Internal use only. Hogan Lovells Patent Practice.</p>
</div>
</footer>
{{end}}