package templates import "bookhoard/internal/handlers" templ Devices(user User, devices []handlers.DeviceInfo, pendingRegistrations []PendingRegistrationData, errorMessage string, baseURL string) { Device Management - Bookhoard @Header(user, "/devices")
@Icon("device", "h-5 w-5")

Device Management

Manage your reading devices and sync settings

if len(devices) == 0 {
@Icon("device", "h-7 w-7")

No Devices Yet

Add your reading devices to enable cross-device sync

} if len(devices) > 0 {
for _, device := range devices {
if device.DeviceType == "koreader" { @Icon("book-open", "h-5 w-5") } else if device.DeviceType == "kobo" { @Icon("library", "h-5 w-5") } else if device.DeviceType == "web" { @Icon("globe", "h-5 w-5") } else { @Icon("device", "h-5 w-5") }

{ device.DeviceName }

{ device.DeviceType }

Sync Status if device.SyncEnabled { Enabled } else { Disabled }
Last Sync if device.LastSync != nil { { FormatInTimezone(*device.LastSync, user.Timezone) } } else { Never }
Last Seen if device.LastSeen != nil { { FormatInTimezone(*device.LastSeen, user.Timezone) } } else { Never }

Device Sync Configuration

if device.DeviceType == "kobo" {

Paste this URL into Kobo's api_endpoint setting

} if device.DeviceType == "koreader" {

Enter this token in the KOReader plugin settings

}

Old token will immediately stop working

}
}
if len(pendingRegistrations) > 0 {

Pending Device Registrations

for _, reg := range pendingRegistrations {

{ reg.DeviceName }

{ reg.DeviceType } - Expires in { reg.ExpiresAt }

}
}
@ErrorToast(errorMessage) }