mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
Compatability with new settings service
This commit is contained in:
parent
2e0d36c4d9
commit
a67443c195
@ -1,6 +1,6 @@
|
|||||||
import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';
|
import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';
|
||||||
import { DOCUMENT } from '@angular/common';
|
import { DOCUMENT } from '@angular/common';
|
||||||
import { GENERAL_SETTINGS } from 'src/app/data/storage-keys';
|
import { SettingsService, SETTINGS_KEYS } from './settings.service';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
@ -8,22 +8,26 @@ import { GENERAL_SETTINGS } from 'src/app/data/storage-keys';
|
|||||||
export class AppViewService {
|
export class AppViewService {
|
||||||
private renderer: Renderer2;
|
private renderer: Renderer2;
|
||||||
|
|
||||||
constructor(rendererFactory: RendererFactory2, @Inject(DOCUMENT) private document) {
|
constructor(
|
||||||
|
private settings: SettingsService,
|
||||||
|
private rendererFactory: RendererFactory2,
|
||||||
|
@Inject(DOCUMENT) private document
|
||||||
|
) {
|
||||||
this.renderer = rendererFactory.createRenderer(null, null);
|
this.renderer = rendererFactory.createRenderer(null, null);
|
||||||
|
|
||||||
this.updateDarkModeSettings()
|
this.updateDarkModeSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
updateDarkModeSettings() {
|
updateDarkModeSettings() {
|
||||||
let darkModeUseSystem = JSON.parse(localStorage.getItem(GENERAL_SETTINGS.DARK_MODE_USE_SYSTEM)) && GENERAL_SETTINGS.DARK_MODE_USE_SYSTEM_DEFAULT
|
let darkModeUseSystem = this.settings.get(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM)
|
||||||
let darkModeEnabled = JSON.parse(localStorage.getItem(GENERAL_SETTINGS.DARK_MODE_ENABLED)) || GENERAL_SETTINGS.DARK_MODE_ENABLED_DEFAULT
|
let darkModeEnabled = this.settings.get(SETTINGS_KEYS.DARK_MODE_ENABLED)
|
||||||
|
|
||||||
if (darkModeUseSystem) {
|
if (darkModeUseSystem) {
|
||||||
this.renderer.addClass(this.document.body, 'color-scheme-system')
|
this.renderer.addClass(this.document.body, 'color-scheme-system')
|
||||||
this.renderer.removeClass(this.document.body, 'color-scheme-dark')
|
this.renderer.removeClass(this.document.body, 'color-scheme-dark')
|
||||||
} else {
|
} else {
|
||||||
this.renderer.removeClass(this.document.body, 'color-scheme-system')
|
this.renderer.removeClass(this.document.body, 'color-scheme-system')
|
||||||
darkModeEnabled ? this.renderer.addClass(this.document.body, 'color-scheme-dark') : this.renderer.removeClass(this.document.body, 'dark-mode')
|
darkModeEnabled ? this.renderer.addClass(this.document.body, 'color-scheme-dark') : this.renderer.removeClass(this.document.body, 'color-scheme-dark')
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,16 @@ export const SETTINGS_KEYS = {
|
|||||||
BULK_EDIT_CONFIRMATION_DIALOGS: 'general-settings:bulk-edit:confirmation-dialogs',
|
BULK_EDIT_CONFIRMATION_DIALOGS: 'general-settings:bulk-edit:confirmation-dialogs',
|
||||||
BULK_EDIT_APPLY_ON_CLOSE: 'general-settings:bulk-edit:apply-on-close',
|
BULK_EDIT_APPLY_ON_CLOSE: 'general-settings:bulk-edit:apply-on-close',
|
||||||
DOCUMENT_LIST_SIZE: 'general-settings:documentListSize',
|
DOCUMENT_LIST_SIZE: 'general-settings:documentListSize',
|
||||||
|
DARK_MODE_USE_SYSTEM: 'general-settings:dark-mode:use-system',
|
||||||
|
DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled'
|
||||||
}
|
}
|
||||||
|
|
||||||
const SETTINGS: PaperlessSettings[] = [
|
const SETTINGS: PaperlessSettings[] = [
|
||||||
{key: SETTINGS_KEYS.BULK_EDIT_CONFIRMATION_DIALOGS, type: "boolean", default: true},
|
{key: SETTINGS_KEYS.BULK_EDIT_CONFIRMATION_DIALOGS, type: "boolean", default: true},
|
||||||
{key: SETTINGS_KEYS.BULK_EDIT_APPLY_ON_CLOSE, type: "boolean", default: false},
|
{key: SETTINGS_KEYS.BULK_EDIT_APPLY_ON_CLOSE, type: "boolean", default: false},
|
||||||
{key: SETTINGS_KEYS.DOCUMENT_LIST_SIZE, type: "number", default: 50}
|
{key: SETTINGS_KEYS.DOCUMENT_LIST_SIZE, type: "number", default: 50},
|
||||||
|
{key: SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, type: "boolean", default: true},
|
||||||
|
{key: SETTINGS_KEYS.DARK_MODE_ENABLED, type: "boolean", default: false}
|
||||||
]
|
]
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user