Files
2025-12-18 13:55:18 -06:00

61 lines
2.4 KiB
HTML

{{ define "user" }}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{ .ViewedUser.Handle }} - ATCR</title>
<!-- Open Graph -->
<meta property="og:title" content="{{ .ViewedUser.Handle }} - ATCR">
<meta property="og:description" content="Container images by {{ .ViewedUser.Handle }} on ATCR">
<meta property="og:image" content="https://{{ .RegistryURL }}/og/u/{{ .ViewedUser.Handle }}">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:type" content="profile">
<meta property="og:url" content="https://{{ .RegistryURL }}/u/{{ .ViewedUser.Handle }}">
<meta property="og:site_name" content="ATCR">
<!-- Twitter Card (used by Discord) -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{ .ViewedUser.Handle }} - ATCR">
<meta name="twitter:description" content="Container images by {{ .ViewedUser.Handle }} on ATCR">
<meta name="twitter:image" content="https://{{ .RegistryURL }}/og/u/{{ .ViewedUser.Handle }}">
{{ template "head" . }}
</head>
<body>
{{ template "nav" . }}
<main class="container">
<div class="home-page">
<div class="user-profile">
{{ if .ViewedUser.Avatar }}
<img src="{{ .ViewedUser.Avatar }}" alt="{{ .ViewedUser.Handle }}" class="profile-avatar">
{{ else if .HasProfile }}
<div class="profile-avatar-placeholder">{{ firstChar .ViewedUser.Handle }}</div>
{{ else }}
<div class="profile-avatar-placeholder">?</div>
{{ end }}
<h1>{{ .ViewedUser.Handle }}</h1>
</div>
{{ if not .HasProfile }}
<div class="empty-state">
<p>This user hasn't set up their ATCR profile yet.</p>
</div>
{{ else if .Repositories }}
<div class="featured-grid">
{{ range .Repositories }}
{{ template "repo-card" . }}
{{ end }}
</div>
{{ else }}
<div class="empty-state">
<p>No images yet.</p>
</div>
{{ end }}
</div>
</main>
<!-- Modal container for HTMX -->
<div id="modal"></div>
</body>
</html>
{{ end }}