feat: implement scoped and mobile search in ViewHeader

This commit is contained in:
neon
2026-04-15 22:20:40 -06:00
parent 586f5b080b
commit 97207cd66f
26 changed files with 433 additions and 60 deletions
-1
View File
@@ -19,4 +19,3 @@ export type WriteLogEntry = {
durationMs: number | null;
errorMessage: string | null;
};
+7 -26
View File
@@ -16,41 +16,22 @@ export const NotificationType = {
FileWriteBackFailed: "file_write_back_failed",
} as const;
export type NotificationType =
(typeof NotificationType)[keyof typeof NotificationType];
export type NotificationType = (typeof NotificationType)[keyof typeof NotificationType];
export const NOTIFICATION_CATEGORIES = {
scanning: [NotificationType.ScanCompleted, NotificationType.ScanFailed],
metadata: [
NotificationType.MetadataFetchCompleted,
NotificationType.MetadataFetchFailed,
],
bookBucket: [
NotificationType.BookBucketReady,
NotificationType.BookBucketFinalized,
],
authorEnrichment: [
NotificationType.AuthorEnrichmentCompleted,
NotificationType.AuthorEnrichmentFailed,
],
metadata: [NotificationType.MetadataFetchCompleted, NotificationType.MetadataFetchFailed],
bookBucket: [NotificationType.BookBucketReady, NotificationType.BookBucketFinalized],
authorEnrichment: [NotificationType.AuthorEnrichmentCompleted, NotificationType.AuthorEnrichmentFailed],
email: [NotificationType.EmailSent, NotificationType.EmailFailed],
koboSync: [NotificationType.KoboSyncCompleted],
migration: [
NotificationType.MigrationCompleted,
NotificationType.MigrationFailed,
],
fileWriteBack: [
NotificationType.FileWriteBackCompleted,
NotificationType.FileWriteBackFailed,
],
migration: [NotificationType.MigrationCompleted, NotificationType.MigrationFailed],
fileWriteBack: [NotificationType.FileWriteBackCompleted, NotificationType.FileWriteBackFailed],
} as const;
export type NotificationCategory = keyof typeof NOTIFICATION_CATEGORIES;
export const NOTIFICATION_CATEGORY_LABELS: Record<
NotificationCategory,
string
> = {
export const NOTIFICATION_CATEGORY_LABELS: Record<NotificationCategory, string> = {
scanning: "Library Scanning",
metadata: "Metadata Fetching",
bookBucket: "Book Bucket",
+1
View File
@@ -159,4 +159,5 @@ export type BookQuery = {
sort: SortSpec[];
pagination: { page: number; size: number };
collapseSeries?: boolean;
q?: string;
};