Yōten: A social tracker for your language learning journey built on the atproto.
1package views
2
3import (
4 "yoten.app/internal/server/views/layouts"
5 "yoten.app/internal/server/views/partials"
6)
7
8templ ResourcesPage(params ResourcesPageParams) {
9 @layouts.Base(layouts.BaseParams{Title: "resources"}) {
10 @partials.Header(partials.HeaderProps{User: params.User})
11 <div class="container mx-auto px-4 py-8 max-w-2xl">
12 <div class="flex flex-col sm:flex-row sm:items-center justify-between mb-8 gap-4">
13 <div>
14 <h1 class="text-3xl font-bold">Custom Resources</h1>
15 <p class="text-text-muted mt-1">Create and manage your personalized study resources</p>
16 </div>
17 <a href="/resource/new" class="btn btn-primary w-auto">
18 <i class="w-4 h-4" data-lucide="plus"></i>
19 <span>Create Resource</span>
20 </a>
21 </div>
22 <div class="flex flex-col gap-6">
23 if len(params.Resources) == 0 {
24 <div class="text-center py-12">
25 <p class="text-text text-lg">No custom resources yet</p>
26 <p class="text-text-muted">Create your first custom resource to personalize your study tracking</p>
27 </div>
28 } else {
29 for _, resource := range params.Resources {
30 @partials.Resource(partials.ResourceProps{
31 Resource: resource,
32 })
33 }
34 }
35 </div>
36 </div>
37 }
38}