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")

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" { 📖 } else if device.DeviceType == "kobo" { 📚 } else if device.DeviceType == "web" { 🌐 } else { 📱 }

{ device.DeviceName }

{ device.DeviceType }

Sync Status if device.SyncEnabled { @Icon("check", "h-3.5 w-3.5") Enabled } else { @Icon("close", "h-3.5 w-3.5") 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

}

@Icon("alert", "h-3 w-3") 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) }