From 4194ec69d1dbd51e253a55f626ca686f3150e091 Mon Sep 17 00:00:00 2001 From: Joe Milazzo Date: Fri, 12 Apr 2024 16:34:49 -0500 Subject: [PATCH] New Wiki Launch (#2848) --- UI/Web/src/app/_models/wiki.ts | 22 ++++++++++++++++ .../directory-picker.component.ts | 3 ++- .../admin/dashboard/dashboard.component.html | 2 +- .../admin/dashboard/dashboard.component.ts | 2 ++ .../app/admin/license/license.component.html | 10 +++++--- .../app/admin/license/license.component.ts | 2 ++ .../manage-alerts.component.html | 2 +- .../manage-alerts/manage-alerts.component.ts | 6 ++--- .../manage-settings.component.html | 2 +- .../manage-settings.component.ts | 13 ++++++---- .../bookmarks/bookmarks.component.html | 2 +- .../bookmarks/bookmarks.component.ts | 3 +++ .../edit-series-relation.component.html | 2 +- .../edit-series-relation.component.ts | 3 ++- .../all-collections.component.html | 2 +- .../all-collections.component.ts | 2 ++ .../reading-lists.component.html | 2 +- .../reading-lists/reading-lists.component.ts | 3 +++ .../import-cbl-modal.component.html | 2 +- .../import-cbl-modal.component.ts | 2 ++ .../update-notification-modal.component.ts | 7 +++--- .../customize-dashboard-modal.component.html | 2 +- .../customize-dashboard-modal.component.ts | 7 ++++-- .../manage-external-sources.component.html | 2 +- .../manage-external-sources.component.ts | 2 ++ .../side-nav/side-nav.component.html | 2 +- .../side-nav/side-nav.component.ts | 25 +++++++++---------- .../library-settings-modal.component.html | 6 ++--- .../library-settings-modal.component.ts | 3 ++- UI/Web/src/assets/langs/cs.json | 2 +- openapi.json | 2 +- 31 files changed, 98 insertions(+), 49 deletions(-) create mode 100644 UI/Web/src/app/_models/wiki.ts diff --git a/UI/Web/src/app/_models/wiki.ts b/UI/Web/src/app/_models/wiki.ts new file mode 100644 index 000000000..de5b6d4f8 --- /dev/null +++ b/UI/Web/src/app/_models/wiki.ts @@ -0,0 +1,22 @@ +export enum WikiLink { + Customize = 'https://wiki.kavitareader.com/guides/features/customization', + CustomizeExternalSource = 'https://wiki.kavitareader.com/guides/features/customization#external-source', + ReadingLists = 'https://wiki.kavitareader.com/guides/features/readinglists', + Collections = 'https://wiki.kavitareader.com/guides/features/collections', + SeriesRelationships = 'https://wiki.kavitareader.com/guides/features/relationships', + Bookmarks = 'https://wiki.kavitareader.com/guides/features/bookmarks', + DataCollection = 'https://wiki.kavitareader.com/troubleshooting/faq#q-does-kavita-collect-any-data-on-me', + MediaIssues = 'https://wiki.kavitareader.com/guides/admin-settings/media#media-issues', + KavitaPlusDiscordId = 'https://wiki.kavitareader.com/guides/admin-settings/kavita+#discord-id', + KavitaPlus = 'https://wiki.kavitareader.com/guides/admin-settings/kavita+', + KavitaPlusFAQ = 'https://wiki.kavitareader.com/kavita+/faq', + ReadingListCBL = 'https://wiki.kavitareader.com/guides/features/readinglists#creating-a-reading-list-via-cbl', + Donation = 'https://wiki.kavitareader.com/donating', + Updating = 'https://wiki.kavitareader.com/guides/updating', + ManagingFiles = 'https://wiki.kavitareader.com/guides/scanner/managefiles', + Scanner = 'https://wiki.kavitareader.com/guides/scanner', + ScannerExclude = 'https://wiki.kavitareader.com/guides/admin-settings/libraries#exclude-patterns', + Library = 'https://wiki.kavitareader.com/guides/admin-settings/libraries', + UpdateNative = 'https://wiki.kavitareader.com/guides/updating/updating-native', + UpdateDocker = 'https://wiki.kavitareader.com/guides/updating/updating-docker' +} diff --git a/UI/Web/src/app/admin/_modals/directory-picker/directory-picker.component.ts b/UI/Web/src/app/admin/_modals/directory-picker/directory-picker.component.ts index 2340bdba5..6fa717720 100644 --- a/UI/Web/src/app/admin/_modals/directory-picker/directory-picker.component.ts +++ b/UI/Web/src/app/admin/_modals/directory-picker/directory-picker.component.ts @@ -7,6 +7,7 @@ import { LibraryService } from '../../../_services/library.service'; import { NgIf, NgFor, NgClass } from '@angular/common'; import { ReactiveFormsModule, FormsModule } from '@angular/forms'; import {TranslocoDirective} from "@ngneat/transloco"; +import {WikiLink} from "../../../_models/wiki"; export interface DirectoryPickerResult { @@ -27,7 +28,7 @@ export class DirectoryPickerComponent implements OnInit { /** * Url to give more information about selecting directories. Passing nothing will suppress. */ - @Input() helpUrl: string = 'https://wiki.kavitareader.com/en/guides/first-time-setup#adding-a-library-to-kavita'; + @Input() helpUrl: string = WikiLink.Library; currentRoot = ''; folders: DirectoryDto[] = []; diff --git a/UI/Web/src/app/admin/dashboard/dashboard.component.html b/UI/Web/src/app/admin/dashboard/dashboard.component.html index 16ded7f27..9e7302015 100644 --- a/UI/Web/src/app/admin/dashboard/dashboard.component.html +++ b/UI/Web/src/app/admin/dashboard/dashboard.component.html @@ -34,7 +34,7 @@ -

{{t('kavita+-desc-part-1')}} {{t('kavita+-desc-part-2')}} {{t('kavita+-desc-part-3')}} FAQ

+

{{t('kavita+-desc-part-1')}} {{t('kavita+-desc-part-2')}} {{t('kavita+-desc-part-3')}} FAQ

{{t('kavita+-requirement')}} {{t('kavita+-releases')}}

diff --git a/UI/Web/src/app/admin/dashboard/dashboard.component.ts b/UI/Web/src/app/admin/dashboard/dashboard.component.ts index d550d451e..b3e7ae2cf 100644 --- a/UI/Web/src/app/admin/dashboard/dashboard.component.ts +++ b/UI/Web/src/app/admin/dashboard/dashboard.component.ts @@ -19,6 +19,7 @@ import { SideNavCompanionBarComponent } from '../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component'; import {translate, TranslocoDirective, TranslocoService} from "@ngneat/transloco"; +import {WikiLink} from "../../_models/wiki"; enum TabID { General = '', @@ -51,6 +52,7 @@ export class DashboardComponent implements OnInit { protected readonly navService = inject(NavService); private readonly titleService = inject(Title); protected readonly TabID = TabID; + protected readonly WikiLink = WikiLink; tabs: Array<{title: string, fragment: string}> = [ diff --git a/UI/Web/src/app/admin/license/license.component.html b/UI/Web/src/app/admin/license/license.component.html index 5efa58ef2..8c9f7a75f 100644 --- a/UI/Web/src/app/admin/license/license.component.html +++ b/UI/Web/src/app/admin/license/license.component.html @@ -83,13 +83,15 @@
- Help + Help @if (formGroup.dirty || formGroup.touched) {
-
- {{t('discord-validation')}} -
+ @if (formGroup.get('discordId')?.errors?.pattern) { +
+ {{t('discord-validation')}} +
+ }
}
diff --git a/UI/Web/src/app/admin/license/license.component.ts b/UI/Web/src/app/admin/license/license.component.ts index 0e1c520a4..718f5bbd9 100644 --- a/UI/Web/src/app/admin/license/license.component.ts +++ b/UI/Web/src/app/admin/license/license.component.ts @@ -15,6 +15,7 @@ import { NgIf } from '@angular/common'; import {environment} from "../../../environments/environment"; import {translate, TranslocoDirective} from "@ngneat/transloco"; import {catchError} from "rxjs"; +import {WikiLink} from "../../_models/wiki"; @Component({ selector: 'app-license', @@ -30,6 +31,7 @@ export class LicenseComponent implements OnInit { private readonly toastr = inject(ToastrService); private readonly confirmService = inject(ConfirmService); protected readonly accountService = inject(AccountService); + protected readonly WikiLink = WikiLink; formGroup: FormGroup = new FormGroup({}); isViewMode: boolean = true; diff --git a/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.html b/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.html index 9a035ce9e..828348feb 100644 --- a/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.html +++ b/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.html @@ -1,5 +1,5 @@ -

{{t('description-part-1')}} {{t('description-part-2')}}

+

{{t('description-part-1')}} {{t('description-part-2')}}

diff --git a/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.ts b/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.ts index 3f00f44b2..99d4a681f 100644 --- a/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.ts +++ b/UI/Web/src/app/admin/manage-alerts/manage-alerts.component.ts @@ -21,6 +21,7 @@ import { FilterPipe } from '../../_pipes/filter.pipe'; import { LoadingComponent } from '../../shared/loading/loading.component'; import { NgIf, NgFor } from '@angular/common'; import {TranslocoDirective} from "@ngneat/transloco"; +import {WikiLink} from "../../_models/wiki"; @Component({ selector: 'app-manage-alerts', @@ -34,10 +35,12 @@ export class ManageAlertsComponent implements OnInit { @Output() alertCount = new EventEmitter(); @ViewChildren(SortableHeader) headers!: QueryList>; + private readonly serverService = inject(ServerService); private readonly messageHub = inject(MessageHubService); private readonly cdRef = inject(ChangeDetectorRef); private readonly destroyRef = inject(DestroyRef); + protected readonly WikiLink = WikiLink; messageHubUpdate$ = this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef), filter(m => m.event === EVENTS.ScanSeries), shareReplay()); currentSort = new BehaviorSubject>({column: 'extension', direction: 'asc'}); @@ -49,9 +52,6 @@ export class ManageAlertsComponent implements OnInit { filter: new FormControl('', []) }); - - constructor() {} - ngOnInit(): void { this.loadData(); diff --git a/UI/Web/src/app/admin/manage-settings/manage-settings.component.html b/UI/Web/src/app/admin/manage-settings/manage-settings.component.html index 06af00124..548626a2c 100644 --- a/UI/Web/src/app/admin/manage-settings/manage-settings.component.html +++ b/UI/Web/src/app/admin/manage-settings/manage-settings.component.html @@ -184,7 +184,7 @@
-

{{t('allow-stats-tooltip-part-1')}}wiki {{t('allow-stats-tooltip-part-2')}}

+

{{t('allow-stats-tooltip-part-1')}}wiki {{t('allow-stats-tooltip-part-2')}}

diff --git a/UI/Web/src/app/admin/manage-settings/manage-settings.component.ts b/UI/Web/src/app/admin/manage-settings/manage-settings.component.ts index 118766e3a..dd96efd93 100644 --- a/UI/Web/src/app/admin/manage-settings/manage-settings.component.ts +++ b/UI/Web/src/app/admin/manage-settings/manage-settings.component.ts @@ -8,6 +8,7 @@ import {ServerSettings} from '../_models/server-settings'; import {NgbTooltip} from '@ng-bootstrap/ng-bootstrap'; import {NgFor, NgIf, NgTemplateOutlet, TitleCasePipe} from '@angular/common'; import {TranslocoModule, TranslocoService} from "@ngneat/transloco"; +import {WikiLink} from "../../_models/wiki"; const ValidIpAddress = /^(\s*((([12]?\d{1,2}\.){3}[12]?\d{1,2})|(([\da-f]{0,4}\:){0,7}([\da-f]{0,4})))\s*\,)*\s*((([12]?\d{1,2}\.){3}[12]?\d{1,2})|(([\da-f]{0,4}\:){0,7}([\da-f]{0,4})))\s*$/i; @@ -21,15 +22,17 @@ const ValidIpAddress = /^(\s*((([12]?\d{1,2}\.){3}[12]?\d{1,2})|(([\da-f]{0,4}\: }) export class ManageSettingsComponent implements OnInit { + private readonly translocoService = inject(TranslocoService); + private readonly cdRef = inject(ChangeDetectorRef); + private readonly settingsService = inject(SettingsService); + private readonly toastr = inject(ToastrService); + private readonly serverService = inject(ServerService); + protected readonly WikiLink = WikiLink; + serverSettings!: ServerSettings; settingsForm: FormGroup = new FormGroup({}); taskFrequencies: Array = []; logLevels: Array = []; - private readonly translocoService = inject(TranslocoService); - private readonly cdRef = inject(ChangeDetectorRef); - - constructor(private settingsService: SettingsService, private toastr: ToastrService, - private serverService: ServerService) { } ngOnInit(): void { this.settingsService.getTaskFrequencies().pipe(take(1)).subscribe(frequencies => { diff --git a/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.html b/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.html index 721c879c4..32024aabd 100644 --- a/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.html +++ b/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.html @@ -25,7 +25,7 @@ - {{t('no-data')}} {{t('no-data-2')}} + {{t('no-data')}} {{t('no-data-2')}} diff --git a/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.ts b/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.ts index 2e72e01f1..68775efd9 100644 --- a/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.ts +++ b/UI/Web/src/app/bookmark/_components/bookmarks/bookmarks.component.ts @@ -33,6 +33,7 @@ import { SideNavCompanionBarComponent } from '../../../sidenav/_components/side- import {translate, TranslocoDirective, TranslocoService} from "@ngneat/transloco"; import {SeriesFilterV2} from "../../../_models/metadata/v2/series-filter-v2"; import {Title} from "@angular/platform-browser"; +import {WikiLink} from "../../../_models/wiki"; @Component({ selector: 'app-bookmarks', @@ -59,6 +60,8 @@ export class BookmarksComponent implements OnInit { public readonly bulkSelectionService = inject(BulkSelectionService); public readonly imageService = inject(ImageService); + protected readonly WikiLink = WikiLink; + bookmarks: Array = []; series: Array = []; loadingBookmarks: boolean = false; diff --git a/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.html b/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.html index 98d02f323..538387ada 100644 --- a/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.html +++ b/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.html @@ -2,7 +2,7 @@

- {{t('description-part-1')}} {{t('description-part-2')}} + {{t('description-part-1')}} {{t('description-part-2')}}

diff --git a/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.ts b/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.ts index 63273a18c..99bcd46b2 100644 --- a/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.ts +++ b/UI/Web/src/app/cards/edit-series-relation/edit-series-relation.component.ts @@ -24,6 +24,7 @@ import {TypeaheadComponent} from "../../typeahead/_components/typeahead.componen import {CommonModule} from "@angular/common"; import {TranslocoModule} from "@ngneat/transloco"; import {RelationshipPipe} from "../../_pipes/relationship.pipe"; +import {WikiLink} from "../../_models/wiki"; interface RelationControl { series: {id: number, name: string} | undefined; // Will add type as well @@ -55,6 +56,7 @@ export class EditSeriesRelationComponent implements OnInit { private readonly searchService = inject(SearchService); public readonly imageService = inject(ImageService); protected readonly RelationKind = RelationKind; + protected readonly WikiLink = WikiLink; @Input({required: true}) series!: Series; /** @@ -188,5 +190,4 @@ export class EditSeriesRelationComponent implements OnInit { this.seriesService.updateRelationships(this.series.id, adaptations, characters, contains, others, prequels, sequels, sideStories, spinOffs, alternativeSettings, alternativeVersions, doujinshis, editions, annuals).subscribe(() => {}); } - } diff --git a/UI/Web/src/app/collections/_components/all-collections/all-collections.component.html b/UI/Web/src/app/collections/_components/all-collections/all-collections.component.html index ed2ec8992..4143e9c4a 100644 --- a/UI/Web/src/app/collections/_components/all-collections/all-collections.component.html +++ b/UI/Web/src/app/collections/_components/all-collections/all-collections.component.html @@ -27,7 +27,7 @@ {{t('no-data')}} @if(isAdmin$ | async) { - {{t('create-one-part-1')}} {{t('create-one-part-2')}} + {{t('create-one-part-1')}} {{t('create-one-part-2')}} } diff --git a/UI/Web/src/app/collections/_components/all-collections/all-collections.component.ts b/UI/Web/src/app/collections/_components/all-collections/all-collections.component.ts index 1ee7b1412..66a005584 100644 --- a/UI/Web/src/app/collections/_components/all-collections/all-collections.component.ts +++ b/UI/Web/src/app/collections/_components/all-collections/all-collections.component.ts @@ -41,6 +41,7 @@ import {BulkSelectionService} from "../../../cards/bulk-selection.service"; import {SeriesCardComponent} from "../../../cards/series-card/series-card.component"; import {ActionService} from "../../../_services/action.service"; import {KEY_CODES} from "../../../shared/_services/utility.service"; +import {WikiLink} from "../../../_models/wiki"; @Component({ @@ -69,6 +70,7 @@ export class AllCollectionsComponent implements OnInit { public readonly actionService = inject(ActionService); protected readonly ScrobbleProvider = ScrobbleProvider; + protected readonly WikiLink = WikiLink; isLoading: boolean = true; collections: UserCollection[] = []; diff --git a/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.html b/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.html index eb82370d5..4b018865f 100644 --- a/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.html +++ b/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.html @@ -22,7 +22,7 @@ - {{t('no-data')}} {{t('create-one-part-1')}} {{t('create-one-part-2')}}. + {{t('no-data')}} {{t('create-one-part-1')}} {{t('create-one-part-2')}}. diff --git a/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.ts b/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.ts index 58d91edf9..4fb54d7f5 100644 --- a/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.ts +++ b/UI/Web/src/app/reading-list/_components/reading-lists/reading-lists.component.ts @@ -20,6 +20,7 @@ import { SideNavCompanionBarComponent } from '../../../sidenav/_components/side- import {translate, TranslocoDirective, TranslocoService} from "@ngneat/transloco"; import {CardActionablesComponent} from "../../../_single-module/card-actionables/card-actionables.component"; import {Title} from "@angular/platform-browser"; +import {WikiLink} from "../../../_models/wiki"; @Component({ selector: 'app-reading-lists', @@ -31,6 +32,8 @@ import {Title} from "@angular/platform-browser"; }) export class ReadingListsComponent implements OnInit { + protected readonly WikiLink = WikiLink; + lists: ReadingList[] = []; loadingLists = false; pagination!: Pagination; diff --git a/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.html b/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.html index a119adc9c..9e47a0320 100644 --- a/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.html +++ b/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.html @@ -156,7 +156,7 @@
- Help + Help
diff --git a/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.ts b/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.ts index 43df5764c..1911d9d5a 100644 --- a/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.ts +++ b/UI/Web/src/app/reading-list/_modals/import-cbl-modal/import-cbl-modal.component.ts @@ -17,6 +17,7 @@ import {SafeHtmlPipe} from "../../../_pipes/safe-html.pipe"; import {CblConflictReasonPipe} from "../../../_pipes/cbl-conflict-reason.pipe"; import {CblImportResultPipe} from "../../../_pipes/cbl-import-result.pipe"; import {translate, TranslocoDirective} from "@ngneat/transloco"; +import {WikiLink} from "../../../_models/wiki"; interface FileStep { fileName: string; @@ -48,6 +49,7 @@ export class ImportCblModalComponent { protected readonly CblImportResult = CblImportResult; protected readonly Step = Step; + protected readonly WikiLink = WikiLink; @ViewChild('fileUpload') fileUpload!: ElementRef; diff --git a/UI/Web/src/app/shared/update-notification/update-notification-modal.component.ts b/UI/Web/src/app/shared/update-notification/update-notification-modal.component.ts index 6e0dc697d..9b77f4dbc 100644 --- a/UI/Web/src/app/shared/update-notification/update-notification-modal.component.ts +++ b/UI/Web/src/app/shared/update-notification/update-notification-modal.component.ts @@ -4,6 +4,7 @@ import { UpdateVersionEvent } from 'src/app/_models/events/update-version-event' import {CommonModule} from "@angular/common"; import {SafeHtmlPipe} from "../../_pipes/safe-html.pipe"; import {TranslocoDirective} from "@ngneat/transloco"; +import {WikiLink} from "../../_models/wiki"; @Component({ @@ -17,15 +18,15 @@ import {TranslocoDirective} from "@ngneat/transloco"; export class UpdateNotificationModalComponent implements OnInit { @Input({required: true}) updateData!: UpdateVersionEvent; - updateUrl: string = 'https://wiki.kavitareader.com/en/install/windows-install#updating-kavita'; + updateUrl: string = WikiLink.UpdateNative; constructor(public modal: NgbActiveModal) { } ngOnInit() { if (this.updateData.isDocker) { - this.updateUrl = 'https://wiki.kavitareader.com/en/install/docker-install#updating-kavita'; + this.updateUrl = WikiLink.UpdateDocker; } else { - this.updateUrl = 'https://wiki.kavitareader.com/en/install/windows-install#updating-kavita'; + this.updateUrl = WikiLink.UpdateNative; } } diff --git a/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.html b/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.html index f6fb73443..95076c6fd 100644 --- a/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.html +++ b/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.html @@ -35,7 +35,7 @@
diff --git a/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.ts b/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.ts index b0b5d8615..97e16c100 100644 --- a/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.ts +++ b/UI/Web/src/app/sidenav/_components/customize-dashboard-modal/customize-dashboard-modal.component.ts @@ -15,6 +15,7 @@ import {CustomizeDashboardStreamsComponent} from "../customize-dashboard-streams import {CustomizeSidenavStreamsComponent} from "../customize-sidenav-streams/customize-sidenav-streams.component"; import {ManageExternalSourcesComponent} from "../manage-external-sources/manage-external-sources.component"; import {ManageSmartFiltersComponent} from "../manage-smart-filters/manage-smart-filters.component"; +import {WikiLink} from "../../../_models/wiki"; enum TabID { Dashboard = 'dashboard', @@ -35,13 +36,15 @@ enum TabID { }) export class CustomizeDashboardModalComponent { - activeTab = TabID.SideNav; - private readonly cdRef = inject(ChangeDetectorRef); public readonly utilityService = inject(UtilityService); private readonly modal = inject(NgbActiveModal); + protected readonly TabID = TabID; protected readonly Breakpoint = Breakpoint; + protected readonly WikiLink = WikiLink; + + activeTab = TabID.SideNav; close() { this.modal.close(); diff --git a/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.html b/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.html index 68cb3e24e..c0a4ff1f9 100644 --- a/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.html +++ b/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.html @@ -1,7 +1,7 @@

{{t('description')}} - {{t('help-link')}} + {{t('help-link')}}

diff --git a/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.ts b/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.ts index ec53e2831..743fecd8f 100644 --- a/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.ts +++ b/UI/Web/src/app/sidenav/_components/manage-external-sources/manage-external-sources.component.ts @@ -10,6 +10,7 @@ import {ExternalSource} from "../../../_models/sidenav/external-source"; import {ExternalSourceService} from "../../../_services/external-source.service"; import {FilterPipe} from "../../../_pipes/filter.pipe"; import {SmartFilter} from "../../../_models/metadata/v2/smart-filter"; +import {WikiLink} from "../../../_models/wiki"; @Component({ selector: 'app-manage-external-sources', @@ -24,6 +25,7 @@ export class ManageExternalSourcesComponent { externalSources: Array = []; private readonly cdRef = inject(ChangeDetectorRef); private readonly externalSourceService = inject(ExternalSourceService); + protected readonly WikiLink = WikiLink; listForm: FormGroup = new FormGroup({ 'filterQuery': new FormControl('', []) diff --git a/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.html b/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.html index b85a14f20..2f261f39b 100644 --- a/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.html +++ b/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.html @@ -73,6 +73,6 @@
- +
diff --git a/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.ts b/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.ts index 0fa95a3b0..c1051f5e4 100644 --- a/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.ts +++ b/UI/Web/src/app/sidenav/_components/side-nav/side-nav.component.ts @@ -33,6 +33,7 @@ import {SideNavStreamType} from "../../../_models/sidenav/sidenav-stream-type.en import { ImportMalCollectionModalComponent } from "../../../collections/_components/import-mal-collection-modal/import-mal-collection-modal.component"; +import {WikiLink} from "../../../_models/wiki"; @Component({ selector: 'app-side-nav', @@ -44,8 +45,19 @@ import { }) export class SideNavComponent implements OnInit { + protected readonly SideNavStreamType = SideNavStreamType; + private readonly router = inject(Router); + private readonly utilityService = inject(UtilityService); + private readonly messageHub = inject(MessageHubService); + private readonly actionService = inject(ActionService); + public readonly navService = inject(NavService); + private readonly cdRef = inject(ChangeDetectorRef); + private readonly ngbModal = inject(NgbModal); + private readonly imageService = inject(ImageService); + public readonly accountService = inject(AccountService); private readonly destroyRef = inject(DestroyRef); private readonly actionFactoryService = inject(ActionFactoryService); + protected readonly WikiLink = WikiLink; cachedData: SideNavStream[] | null = null; actions: ActionItem[] = this.actionFactoryService.getLibraryActions(this.handleAction.bind(this)); @@ -63,18 +75,6 @@ export class SideNavComponent implements OnInit { showAll: boolean = false; totalSize = 0; - protected readonly SideNavStreamType = SideNavStreamType; - private readonly router = inject(Router); - private readonly utilityService = inject(UtilityService); - private readonly messageHub = inject(MessageHubService); - private readonly actionService = inject(ActionService); - public readonly navService = inject(NavService); - private readonly cdRef = inject(ChangeDetectorRef); - private readonly ngbModal = inject(NgbModal); - private readonly imageService = inject(ImageService); - public readonly accountService = inject(AccountService); - - private showAllSubject = new BehaviorSubject(false); showAll$ = this.showAllSubject.asObservable(); @@ -230,5 +230,4 @@ export class SideNavComponent implements OnInit { this.cdRef.markForCheck(); this.showAllSubject.next(false); } - } diff --git a/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.html b/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.html index b3771bbb6..3db6de2c7 100644 --- a/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.html +++ b/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.html @@ -74,10 +74,10 @@
-

{{t('help-us-part-1')}}{{t('help-us-part-2')}} {{t('help-us-part-3')}}

+

{{t('help-us-part-1')}}{{t('help-us-part-2')}} {{t('help-us-part-3')}}

-

{{t('naming-conventions-part-1')}}{{t('naming-conventions-part-2')}} {{t('naming-conventions-part-3')}}

+

{{t('naming-conventions-part-1')}}{{t('naming-conventions-part-2')}} {{t('naming-conventions-part-3')}}

@@ -123,7 +123,7 @@
- {{t('exclude-patterns-tooltip')}}{{t('help')}} + {{t('exclude-patterns-tooltip')}}{{t('help')}}
diff --git a/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts b/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts index e1e97304e..63de44c41 100644 --- a/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts +++ b/UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts @@ -45,6 +45,7 @@ import {DefaultDatePipe} from "../../../_pipes/default-date.pipe"; import {allFileTypeGroup, FileTypeGroup} from "../../../_models/library/file-type-group.enum"; import {FileTypeGroupPipe} from "../../../_pipes/file-type-group.pipe"; import {EditListComponent} from "../../../shared/edit-list/edit-list.component"; +import {WikiLink} from "../../../_models/wiki"; enum TabID { General = 'general-tab', @@ -75,6 +76,7 @@ export class LibrarySettingsModalComponent implements OnInit { protected readonly LibraryType = LibraryType; protected readonly Breakpoint = Breakpoint; protected readonly TabID = TabID; + protected readonly WikiLink = WikiLink; public readonly utilityService = inject(UtilityService); public readonly modal = inject(NgbActiveModal); @@ -361,5 +363,4 @@ export class LibrarySettingsModalComponent implements OnInit { return false; // Advanced are optional } } - } diff --git a/UI/Web/src/assets/langs/cs.json b/UI/Web/src/assets/langs/cs.json index 54b73091f..21d7b9e3c 100644 --- a/UI/Web/src/assets/langs/cs.json +++ b/UI/Web/src/assets/langs/cs.json @@ -576,7 +576,7 @@ "title": "Nezůstaňte pozadu!", "subtitle": "Zdá se, že vaše instalace je více než {{počet}} verzí pozadu!", "description-1": "Zvažte prosím aktualizaci, abyste používali nejnovější verzi systému Kavita.", - "description-2": "Podívejte se na naši wiki, kde najdete pokyny k aktualizaci.", + "description-2": "Podívejte se na naši wiki, kde najdete pokyny k aktualizaci.", "description-3": "Pokud máte nějaký konkrétní důvod, proč jste ještě neaktualizovali, rádi bychom věděli, co vás drží na zastaralé verzi! Zastavte se na našem discordu a dejte nám vědět, co vám brání v aktualizaci." }, "book-line-overlay": { diff --git a/openapi.json b/openapi.json index 338c18aca..19325e13f 100644 --- a/openapi.json +++ b/openapi.json @@ -7,7 +7,7 @@ "name": "GPL-3.0", "url": "https://github.com/Kareadita/Kavita/blob/develop/LICENSE" }, - "version": "0.7.14.15" + "version": "0.7.14.16" }, "servers": [ {