feat: change volume from string to integer type

Parser:
- Change volume type from Option<String> to Option<i32>
- Parse volume as integer to remove leading zeros
- Keep original title with volume info

Indexer:
- Update SQL queries to insert volume as integer
- Add volume column to INSERT and UPDATE statements

API:
- Change BookItem.volume and BookDetails.volume to Option<i32>
- Add natural sorting for books

Backoffice:
- Update volume type to number
- Update book detail page
- Add CSS styles
This commit is contained in:
2026-03-05 23:32:01 +01:00
parent 262c5c9f12
commit 82294a1bee
9 changed files with 190 additions and 18 deletions

View File

@@ -37,9 +37,12 @@ export type BookDto = {
title: string;
author: string | null;
series: string | null;
volume: string | null;
volume: number | null;
language: string | null;
page_count: number | null;
file_path: string | null;
file_format: string | null;
file_parse_status: string | null;
updated_at: string;
};
@@ -54,7 +57,7 @@ export type SearchHitDto = {
title: string;
author: string | null;
series: string | null;
volume: string | null;
volume: number | null;
kind: string;
language: string | null;
};