Merge branch 'dev' into fix/issue-603

This commit is contained in:
jonaswinkler
2021-02-26 22:25:33 +01:00
25 changed files with 3499 additions and 427 deletions

View File

@@ -70,12 +70,14 @@ import localeFr from '@angular/common/locales/fr';
import localeNl from '@angular/common/locales/nl';
import localeDe from '@angular/common/locales/de';
import localePt from '@angular/common/locales/pt';
import localeIt from '@angular/common/locales/it';
import localeEnGb from '@angular/common/locales/en-GB';
registerLocaleData(localeFr)
registerLocaleData(localeNl)
registerLocaleData(localeDe)
registerLocaleData(localePt, "pt-BR")
registerLocaleData(localeIt)
registerLocaleData(localeEnGb)
@NgModule({

View File

@@ -1,7 +1,7 @@
<div class="card mb-3 shadow-sm" [class.card-selected]="selected" [class.document-card]="selectable">
<div class="row no-gutters">
<div class="col-md-2 d-none d-lg-block doc-img-background rounded-left" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
<img [src]="getThumbUrl()" class="card-img doc-img border-right rounded-left">
<img [src]="getThumbUrl()" class="card-img doc-img border-right rounded-left" [class.inverted]="getIsThumbInverted()">
<div style="top: 0; left: 0" class="position-absolute border-right border-bottom bg-light p-1" [class.document-card-check]="!selected">
<div class="custom-control custom-checkbox">

View File

@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { PaperlessDocument } from 'src/app/data/paperless-document';
import { DocumentService } from 'src/app/services/rest/document.service';
import { SettingsService, SETTINGS_KEYS } from 'src/app/services/settings.service';
@Component({
selector: 'app-document-card-large',
@@ -10,7 +11,7 @@ import { DocumentService } from 'src/app/services/rest/document.service';
})
export class DocumentCardLargeComponent implements OnInit {
constructor(private documentService: DocumentService, private sanitizer: DomSanitizer) { }
constructor(private documentService: DocumentService, private sanitizer: DomSanitizer, private settingsService: SettingsService) { }
@Input()
selected = false
@@ -53,6 +54,10 @@ export class DocumentCardLargeComponent implements OnInit {
ngOnInit(): void {
}
getIsThumbInverted() {
return this.settingsService.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)
}
getDetailsAsString() {
if (typeof this.details === 'string') {
return this.details.substring(0, 500)

View File

@@ -1,7 +1,7 @@
<div class="col p-2 h-100">
<div class="card h-100 shadow-sm document-card" [class.card-selected]="selected">
<div class="border-bottom doc-img-container" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
<img class="card-img doc-img rounded-top" [src]="getThumbUrl()">
<img class="card-img doc-img rounded-top" [class.inverted]="getIsThumbInverted()" [src]="getThumbUrl()">
<div class="border-right border-bottom bg-light p-1 rounded document-card-check">
<div class="custom-control custom-checkbox">

View File

@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { map } from 'rxjs/operators';
import { PaperlessDocument } from 'src/app/data/paperless-document';
import { DocumentService } from 'src/app/services/rest/document.service';
import { SettingsService, SETTINGS_KEYS } from 'src/app/services/settings.service';
@Component({
selector: 'app-document-card-small',
@@ -10,7 +11,7 @@ import { DocumentService } from 'src/app/services/rest/document.service';
})
export class DocumentCardSmallComponent implements OnInit {
constructor(private documentService: DocumentService) { }
constructor(private documentService: DocumentService, private settingsService: SettingsService) { }
@Input()
selected = false
@@ -32,6 +33,10 @@ export class DocumentCardSmallComponent implements OnInit {
ngOnInit(): void {
}
getIsThumbInverted() {
return this.settingsService.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)
}
getThumbUrl() {
return this.documentService.getThumbUrl(this.document.id)
}

View File

@@ -96,6 +96,7 @@
<div class="col">
<app-input-check i18n-title title="Use system settings" formControlName="darkModeUseSystem"></app-input-check>
<app-input-check [hidden]="settingsForm.value.darkModeUseSystem" i18n-title title="Enable dark mode" formControlName="darkModeEnabled"></app-input-check>
<app-input-check i18n-title title="Invert Thumbnails in dark mode" formControlName="darkModeInvertThumbs"></app-input-check>
</div>
</div>

View File

@@ -21,6 +21,7 @@ export class SettingsComponent implements OnInit {
'documentListItemPerPage': new FormControl(this.settings.get(SETTINGS_KEYS.DOCUMENT_LIST_SIZE)),
'darkModeUseSystem': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM)),
'darkModeEnabled': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_ENABLED)),
'darkModeInvertThumbs': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)),
'useNativePdfViewer': new FormControl(this.settings.get(SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER)),
'savedViews': this.savedViewGroup,
'displayLanguage': new FormControl(this.settings.getLanguage()),
@@ -74,6 +75,7 @@ export class SettingsComponent implements OnInit {
this.settings.set(SETTINGS_KEYS.DOCUMENT_LIST_SIZE, this.settingsForm.value.documentListItemPerPage)
this.settings.set(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, this.settingsForm.value.darkModeUseSystem)
this.settings.set(SETTINGS_KEYS.DARK_MODE_ENABLED, (this.settingsForm.value.darkModeEnabled == true).toString())
this.settings.set(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED, (this.settingsForm.value.darkModeInvertThumbs == true).toString())
this.settings.set(SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, this.settingsForm.value.useNativePdfViewer)
this.settings.set(SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale)
this.settings.set(SETTINGS_KEYS.DATE_FORMAT, this.settingsForm.value.dateFormat)

View File

@@ -26,6 +26,7 @@ export const SETTINGS_KEYS = {
DOCUMENT_LIST_SIZE: 'general-settings:documentListSize',
DARK_MODE_USE_SYSTEM: 'general-settings:dark-mode:use-system',
DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled',
DARK_MODE_THUMB_INVERTED: 'general-settings:dark-mode:thumb-inverted',
USE_NATIVE_PDF_VIEWER: 'general-settings:document-details:native-pdf-viewer',
DATE_LOCALE: 'general-settings:date-display:date-locale',
DATE_FORMAT: 'general-settings:date-display:date-format',
@@ -41,6 +42,7 @@ const SETTINGS: PaperlessSettings[] = [
{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},
{key: SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED, type: "boolean", default: true},
{key: SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, type: "boolean", default: false},
{key: SETTINGS_KEYS.DATE_LOCALE, type: "string", default: ""},
{key: SETTINGS_KEYS.DATE_FORMAT, type: "string", default: "mediumDate"},
@@ -90,7 +92,8 @@ export class SettingsService {
{code: "de", name: $localize`German`, englishName: "German", dateInputFormat: "dd.mm.yyyy"},
{code: "nl", name: $localize`Dutch`, englishName: "Dutch", dateInputFormat: "dd-mm-yyyy"},
{code: "fr", name: $localize`French`, englishName: "French", dateInputFormat: "dd/mm/yyyy"},
{code: "pt-br", name: $localize`Portuguese (Brazil)`, englishName: "Portuguese (Brazil)", dateInputFormat: "dd/mm/yyyy"}
{code: "pt-br", name: $localize`Portuguese (Brazil)`, englishName: "Portuguese (Brazil)", dateInputFormat: "dd/mm/yyyy"},
{code: "it", name: $localize`Italian`, englishName: "Italian", dateInputFormat: "dd/mm/yyyy"}
]
}

View File

@@ -478,7 +478,7 @@
<target>Möchten Sie das Tag &quot;<x equiv-text="object.name" id="PH"/>&quot; wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
@@ -990,7 +990,7 @@
<target>Neues Tag erstellen</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
<context context-type="linenumber">21</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="5872175735754226507">
@@ -998,7 +998,7 @@
<target>Tag bearbeiten</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
@@ -1006,7 +1006,7 @@
<target>Posteingangs-Tag</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
<context context-type="linenumber">21</context>
<context context-type="linenumber">13</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
@@ -1014,7 +1014,7 @@
<target>Ein Tag mit dieser Option wird automatisch allen neuen Dokumenten zugewiesen.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
<context context-type="linenumber">21</context>
<context context-type="linenumber">13</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="6672809941092516947">
@@ -1288,7 +1288,7 @@
<target>Letzte 7 Tage</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="4463380307954693363">
@@ -1296,7 +1296,7 @@
<target>Letzten Monat</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="8697368973702409683">
@@ -1304,7 +1304,7 @@
<target>Letzte 3 Monate</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="3566342898065860218">
@@ -1312,7 +1312,7 @@
<target>Letztes Jahr</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
@@ -1328,7 +1328,7 @@
<target>Vor</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
<context context-type="linenumber">29</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
@@ -1829,7 +1829,7 @@
<target>Ungültiges Datum.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
<context context-type="linenumber">13</context>
<context context-type="linenumber">14</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="2807800733729323332">
@@ -1904,12 +1904,20 @@
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="2935232983274991580">
<source>Italian</source>
<target>Italienisch</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="4912706592792948707">
<source>ISO 8601</source>
<target>ISO 8601</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="2119857572761283468">
@@ -2092,110 +2100,6 @@
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="2056433880533904076">
<source>Light blue</source>
<target>Blau, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">6</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="4082253113407591781">
<source>Blue</source>
<target>Blau</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="1143414876575720034">
<source>Light green</source>
<target>Grün, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">8</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="119581980963263815">
<source>Green</source>
<target>Grün</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">9</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="3250646524116252719">
<source>Light red</source>
<target>Rot, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">10</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="1628552745302385832">
<source>Red </source>
<target>Rot</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">11</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="5479028842846122610">
<source>Light orange</source>
<target>Orange, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="8598918991528773310">
<source>Orange</source>
<target>Orange</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">13</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="1789283185177957430">
<source>Light violet</source>
<target>Violet, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">14</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="2682868487071320453">
<source>Violet</source>
<target>Violet</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="1449010446077321264">
<source>Brown</source>
<target>Braun</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="30300572504753589">
<source>Black</source>
<target>Schwarz</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">17</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="461048771215121187">
<source>Light grey</source>
<target>Grau, hell</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit datatype="html" id="4561076822163447092">
<source>Create new item</source>
<target>Neues Element erstellen</target>

File diff suppressed because it is too large Load Diff

View File

@@ -143,15 +143,18 @@ $border-color-dark-mode: #47494f;
.doc-img {
mix-blend-mode: normal;
filter: invert(95%) hue-rotate(180deg);
border-radius: 0;
border-color: $bg-dark-mode;
filter: invert(10%);
&.border-right {
border-right: none !important;
}
}
.doc-img.inverted {
filter: invert(95%) hue-rotate(180deg);
}
.card-selected .doc-img {
mix-blend-mode: luminosity;
}