Add admin_users.templ for user management interface with delete, password reset, and edit capabilities. Add profile.templ and related components for user profile management. Remove admin_profile.templ. Update all templates to use new consolidated API endpoints.
146 lines
2.5 KiB
Go
146 lines
2.5 KiB
Go
package templates
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/a-h/templ"
|
|
)
|
|
|
|
type User struct {
|
|
ID string
|
|
Username string
|
|
Email string
|
|
Role string
|
|
Theme string
|
|
FirstName string
|
|
LastName string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type PageData struct {
|
|
User User
|
|
CurrentPage string
|
|
}
|
|
|
|
type CollectionData struct {
|
|
ID string
|
|
Name string
|
|
Description string
|
|
Color string
|
|
Icon string
|
|
}
|
|
|
|
type LibraryData struct {
|
|
ID string
|
|
Name string
|
|
Description string
|
|
TypeName string
|
|
}
|
|
|
|
type PendingRegistrationData struct {
|
|
RegistrationID string
|
|
DeviceName string
|
|
DeviceType string
|
|
ExpiresAt string
|
|
}
|
|
|
|
type ConflictData struct {
|
|
ID string
|
|
MediaItemID string
|
|
MediaItemTitle string
|
|
ConflictType string
|
|
ResolutionStatus string
|
|
CreatedAt string
|
|
ResolutionData map[string]interface{}
|
|
ResolvedBy string
|
|
ResolvedAt string
|
|
}
|
|
|
|
type QueueItemData struct {
|
|
ID string
|
|
DeviceID string
|
|
DeviceName string
|
|
DeviceType string
|
|
SyncType string
|
|
Status string
|
|
Priority int32
|
|
Attempts int32
|
|
CreatedAt string
|
|
}
|
|
|
|
type DeviceShelfMappingData struct {
|
|
ID string
|
|
CollectionID string
|
|
CollectionName string
|
|
DeviceShelfName string
|
|
SyncDirection string
|
|
CreatedAt string
|
|
}
|
|
|
|
type UnlinkedBookData struct {
|
|
ProgressID string
|
|
DeviceID string
|
|
DeviceType string
|
|
DeviceName string
|
|
FilePath string
|
|
SHA256 string
|
|
TitleFromDevice string
|
|
LastSyncTime string
|
|
ConfidenceScore float64
|
|
PotentialMatches []PotentialMatchData
|
|
}
|
|
|
|
type PotentialMatchData struct {
|
|
MediaItemID string
|
|
Title string
|
|
Author string
|
|
CoverImagePath string
|
|
MatchMethod string
|
|
Confidence float64
|
|
}
|
|
|
|
// Documentation types
|
|
type Navigation struct {
|
|
Sections []NavSection
|
|
}
|
|
|
|
type NavSection struct {
|
|
Title string
|
|
Items []NavItem
|
|
Collapsed bool
|
|
}
|
|
|
|
type NavItem struct {
|
|
Title string
|
|
URL string
|
|
Icon string
|
|
}
|
|
|
|
type Document struct {
|
|
Title string
|
|
Content string
|
|
TOC []TOCItem
|
|
Breadcrumb []BreadcrumbItem
|
|
Category string
|
|
SourceFile string
|
|
}
|
|
|
|
type TOCItem struct {
|
|
Level int
|
|
Title string
|
|
Anchor string
|
|
}
|
|
|
|
type BreadcrumbItem struct {
|
|
Title string
|
|
URL string
|
|
}
|
|
|
|
// UnsafeHTML is used for rendering raw HTML (like rendered markdown)
|
|
type UnsafeHTML string
|
|
|
|
// ToComponent converts UnsafeHTML to a templ Component
|
|
func (u UnsafeHTML) ToComponent() templ.Component {
|
|
return templ.Raw(string(u))
|
|
}
|