mirror of
https://github.com/C9Glax/tranga-website.git
synced 2025-04-19 14:53:20 +02:00
Custom Chapter Naming Scheme
https://github.com/C9Glax/tranga/issues/92
This commit is contained in:
parent
e3ad70c0a9
commit
b0cbb416d6
@ -58,4 +58,12 @@ export default class BackendSettings {
|
|||||||
static async UpdateAprilFoolsToggle(apiUri: string, value: boolean) {
|
static async UpdateAprilFoolsToggle(apiUri: string, value: boolean) {
|
||||||
return patchData(`${apiUri}/v2/Settings/AprilFoolsMode`, value);
|
return patchData(`${apiUri}/v2/Settings/AprilFoolsMode`, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async GetChapterNamingScheme(apiUri: string) : Promise<string> {
|
||||||
|
return getData(`${apiUri}/v2/Settings/ChapterNamingScheme`).then((state) => state as unknown as string);
|
||||||
|
}
|
||||||
|
|
||||||
|
static async UpdateChapterNamingScheme(apiUri: string, value: string) {
|
||||||
|
return patchData(`${apiUri}/v2/Settings/ChapterNamingScheme`, value);
|
||||||
|
}
|
||||||
}
|
}
|
@ -26,6 +26,7 @@ export default function Settings({ backendConnected, apiUri, frontendSettings, s
|
|||||||
const [notificationConnectors, setNotificationConnectors] = useState<INotificationConnector[]>([]);
|
const [notificationConnectors, setNotificationConnectors] = useState<INotificationConnector[]>([]);
|
||||||
const [mangaConnectors,setMangaConnectors] = useState<IMangaConnector[]>([]);
|
const [mangaConnectors,setMangaConnectors] = useState<IMangaConnector[]>([]);
|
||||||
const [localLibraries, setLocalLibraries] = useState<ILocalLibrary[]>([]);
|
const [localLibraries, setLocalLibraries] = useState<ILocalLibrary[]>([]);
|
||||||
|
const [chapterNamingScheme, setChapterNamingScheme] = useState<string>("");
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if(!backendConnected)
|
if(!backendConnected)
|
||||||
@ -74,6 +75,14 @@ export default function Settings({ backendConnected, apiUri, frontendSettings, s
|
|||||||
<h3>Default Job-Interval</h3>
|
<h3>Default Job-Interval</h3>
|
||||||
<input type="time" min="00:30" max="23:59" defaultValue={dateToStr(new Date(frontendSettings.jobInterval))} onChange={(e) => setFrontendSettings({...frontendSettings, jobInterval: new Date(e.currentTarget.valueAsNumber-60*60*1000) ?? frontendSettings.jobInterval})}/>
|
<input type="time" min="00:30" max="23:59" defaultValue={dateToStr(new Date(frontendSettings.jobInterval))} onChange={(e) => setFrontendSettings({...frontendSettings, jobInterval: new Date(e.currentTarget.valueAsNumber-60*60*1000) ?? frontendSettings.jobInterval})}/>
|
||||||
</div>
|
</div>
|
||||||
|
<div className={"settings-chapterNamingScheme"}>
|
||||||
|
<h3>Chapter Naming-Scheme</h3>
|
||||||
|
<input type={"text"} placeholder={backendSettings?.chapterNamingScheme} onChange={(e) => setChapterNamingScheme(e.target.value)} />
|
||||||
|
<button type={"button"} onClick={() => {
|
||||||
|
setLoadingBackend(true);
|
||||||
|
BackendSettings.UpdateChapterNamingScheme(apiUri, chapterNamingScheme).finally(() => setLoadingBackend(false));
|
||||||
|
}}>Submit</button>
|
||||||
|
</div>
|
||||||
<div className="settings-bwimages">
|
<div className="settings-bwimages">
|
||||||
<h3>B/W Images</h3>
|
<h3>B/W Images</h3>
|
||||||
<Toggle defaultChecked={backendSettings ? backendSettings.bwImages : false} disabled={backendSettings ? false : !loadingBackend}
|
<Toggle defaultChecked={backendSettings ? backendSettings.bwImages : false} disabled={backendSettings ? false : !loadingBackend}
|
||||||
|
@ -14,4 +14,5 @@ export default interface IBackendSettings {
|
|||||||
compression: number;
|
compression: number;
|
||||||
bwImages: boolean;
|
bwImages: boolean;
|
||||||
startNewJobTimeoutMs: number;
|
startNewJobTimeoutMs: number;
|
||||||
|
chapterNamingScheme: string;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user