Files
booklore/booklore-ui/src/app/settings/settings.component.html
2025-08-30 17:02:35 -06:00

83 lines
3.4 KiB
HTML

@if (userService.userState$ | async; as userState) {
@if (userState.user) {
<div class="rounded-xl overflow-hidden">
<p-tabs [(value)]="activeTab" scrollable>
<p-tablist>
<p-tab [value]="SettingsTab.ReaderSettings">
<i class="pi pi-book"></i> Reader
</p-tab>
<p-tab [value]="SettingsTab.ViewPreferences">
<i class="pi pi-desktop"></i> View
</p-tab>
@if (userState.user.permissions.admin) {
<p-tab [value]="SettingsTab.MetadataSettings">
<i class="pi pi-sliders-h"></i> Metadata
</p-tab>
<p-tab [value]="SettingsTab.ApplicationSettings">
<i class="pi pi-cog"></i> Application
</p-tab>
<p-tab [value]="SettingsTab.UserManagement">
<i class="pi pi-users"></i> User
</p-tab>
<p-tab [value]="SettingsTab.EmailSettings">
<i class="pi pi-envelope"></i> Email
</p-tab>
<p-tab [value]="SettingsTab.NamingPattern">
<i class="pi pi-sitemap"></i> Patterns
</p-tab>
<p-tab [value]="SettingsTab.AuthenticationSettings">
<i class="pi pi-lock"></i> Authentication
</p-tab>
<p-tab [value]="SettingsTab.Opds">
<i class="pi pi-globe"></i> OPDS (Deprecated)
</p-tab>
}
<p-tab [value]="SettingsTab.OpdsV2">
<i class="pi pi-globe"></i> OPDS V2
</p-tab>
<p-tab [value]="SettingsTab.DeviceSettings">
<i class="pi pi-mobile"></i> Devices
</p-tab>
</p-tablist>
<p-tabpanels>
<p-tabpanel [value]="SettingsTab.ReaderSettings">
<app-reader-preferences></app-reader-preferences>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.ViewPreferences">
<app-view-preferences-parent></app-view-preferences-parent>
</p-tabpanel>
@if (userState.user.permissions.admin) {
<p-tabpanel [value]="SettingsTab.MetadataSettings">
<app-metadata-settings-component></app-metadata-settings-component>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.ApplicationSettings">
<app-global-preferences></app-global-preferences>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.UserManagement">
<app-user-management></app-user-management>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.EmailSettings">
<app-email></app-email>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.NamingPattern">
<app-file-naming-pattern></app-file-naming-pattern>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.AuthenticationSettings">
<app-authentication-settings></app-authentication-settings>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.Opds">
<app-opds-settings></app-opds-settings>
</p-tabpanel>
}
<p-tabpanel [value]="SettingsTab.OpdsV2">
<app-opds-settings-v2></app-opds-settings-v2>
</p-tabpanel>
<p-tabpanel [value]="SettingsTab.DeviceSettings">
<app-device-settings-component></app-device-settings-component>
</p-tabpanel>
</p-tabpanels>
</p-tabs>
</div>
}
}