import { Component, Input, OnDestroy, OnInit } from '@angular/core'
import { AuthService, Notifier, ServerService, UserService } from '@app/core'
import { FormReactive, FormValidatorService } from '@app/shared/shared-forms'
+import { capitalizeFirstLetter } from '@root-helpers/string'
import { HTMLServerConfig, User, UserUpdateMe } from '@shared/models'
@Component({
formValuesWatcher: Subscription
+ defaultThemeLabel = $localize`Light/Orange`
+
private serverConfig: HTMLServerConfig
constructor (
})
if (this.reactiveUpdate) {
- this.formValuesWatcher = this.form.valueChanges.subscribe(val => this.updateInterfaceSettings())
+ this.formValuesWatcher = this.form.valueChanges.subscribe(() => this.updateInterfaceSettings())
}
})
}
this.formValuesWatcher?.unsubscribe()
}
+ getDefaultThemeLabel () {
+ const theme = this.serverConfig.theme.default
+
+ if (theme === 'default') return this.defaultThemeLabel
+
+ return theme
+ }
+
+ capitalizeFirstLetter (str: string) {
+ return capitalizeFirstLetter(str)
+ }
+
updateInterfaceSettings () {
const theme = this.form.value['theme']
}
if (this.authService.isLoggedIn()) {
- this.userService.updateMyProfile(details).subscribe(
- () => {
- this.authService.refreshUserInformation()
-
- if (this.notifyOnUpdate) this.notifier.success($localize`Interface settings updated.`)
- },
-
- err => this.notifier.error(err.message)
- )
- } else {
- this.userService.updateMyAnonymousProfile(details)
- if (this.notifyOnUpdate) this.notifier.success($localize`Interface settings updated.`)
+ this.userService.updateMyProfile(details)
+ .subscribe({
+ next: () => {
+ this.authService.refreshUserInformation()
+
+ if (this.notifyOnUpdate) this.notifier.success($localize`Interface settings updated.`)
+ },
+
+ error: err => this.notifier.error(err.message)
+ })
+
+ return
}
+
+ this.userService.updateMyAnonymousProfile(details)
+ if (this.notifyOnUpdate) this.notifier.success($localize`Interface settings updated.`)
}
}