fix null undefined types

This commit is contained in:
Simon 2025-01-09 23:59:29 +07:00
parent f6b5de00df
commit bf38cdc7f0
No known key found for this signature in database
GPG Key ID: 2C15AA5E89985DD4
5 changed files with 534 additions and 520 deletions

View File

@ -2,27 +2,27 @@ import APIClient from '../../functions/APIClient';
export type AppSettingsConfigType = {
subscriptions: {
channel_size: number;
live_channel_size: number;
shorts_channel_size: number;
channel_size: number | null;
live_channel_size: number | null;
shorts_channel_size: number | null;
auto_start: boolean;
};
downloads: {
limit_speed: number | undefined;
sleep_interval: number;
autodelete_days: number;
format: string | undefined;
format_sort: string | undefined;
limit_speed: number | null;
sleep_interval: number | null;
autodelete_days: number | null;
format: string | null;
format_sort: string | null;
add_metadata: boolean;
add_thumbnail: boolean;
subtitle: string | undefined;
subtitle_source: boolean | string;
subtitle: string | null;
subtitle_source: string | null;
subtitle_index: boolean;
comment_max: string | undefined;
comment_max: string | null;
comment_sort: string;
cookie_import: boolean;
throttledratelimit: number | undefined;
extractor_lang: string | undefined;
throttledratelimit: number | null;
extractor_lang: string | null;
integrate_ryd: boolean;
integrate_sponsorblock: boolean;
};

View File

@ -5,7 +5,7 @@ type InputTextProps = {
setValue:
| React.Dispatch<React.SetStateAction<string | null>>
| React.Dispatch<React.SetStateAction<number | null>>;
oldValue: string | number | undefined;
oldValue: string | number | null;
updateCallback: (arg0: string, arg1: string | boolean | number | null) => void;
};
@ -36,9 +36,7 @@ const InputConfig = ({ type, name, value, setValue, oldValue, updateCallback }:
<button onClick={() => setValue(oldValue as any)}>Cancel</button>
</>
)}
{oldValue !== undefined && (
<button onClick={() => updateCallback(name, null)}>reset</button>
)}
{oldValue !== null && <button onClick={() => updateCallback(name, null)}>reset</button>}
</div>
</div>
);

View File

@ -60,16 +60,20 @@ const ChannelAbout = () => {
const channelResponse = await loadChannelById(channelId);
setChannelResponse(channelResponse);
setDownloadFormat(channelResponse?.data?.channel_overwrites?.download_format || null);
setAutoDeleteAfter(channelResponse?.data?.channel_overwrites?.autodelete_days);
setIndexPlaylists(channelResponse?.data?.channel_overwrites?.index_playlists || false);
setEnableSponsorblock(channelResponse?.data?.channel_overwrites?.integrate_sponsorblock);
setPageSizeVideo(channelResponse?.data?.channel_overwrites?.subscriptions_channel_size);
setDownloadFormat(channelResponse?.data?.channel_overwrites?.download_format ?? null);
setAutoDeleteAfter(channelResponse?.data?.channel_overwrites?.autodelete_days ?? null);
setIndexPlaylists(channelResponse?.data?.channel_overwrites?.index_playlists ?? null);
setEnableSponsorblock(
channelResponse?.data?.channel_overwrites?.integrate_sponsorblock ?? null,
);
setPageSizeVideo(
channelResponse?.data?.channel_overwrites?.subscriptions_channel_size ?? null,
);
setPageSizeShorts(
channelResponse?.data?.channel_overwrites?.subscriptions_shorts_channel_size,
channelResponse?.data?.channel_overwrites?.subscriptions_shorts_channel_size ?? null,
);
setPageSizeStreams(
channelResponse?.data?.channel_overwrites?.subscriptions_live_channel_size,
channelResponse?.data?.channel_overwrites?.subscriptions_live_channel_size ?? null,
);
setRefresh(false);
@ -244,7 +248,7 @@ const ChannelAbout = () => {
name="download_format"
value={downloadFormat}
setValue={setDownloadFormat}
oldValue={channel.channel_overwrites?.download_format}
oldValue={channel.channel_overwrites?.download_format ?? null}
updateCallback={handleUpdateConfig}
/>
</div>
@ -257,7 +261,7 @@ const ChannelAbout = () => {
name="autodelete_days"
value={autoDeleteAfter}
setValue={setAutoDeleteAfter}
oldValue={channel.channel_overwrites?.autodelete_days}
oldValue={channel.channel_overwrites?.autodelete_days ?? null}
updateCallback={handleUpdateConfig}
/>
</div>
@ -300,7 +304,7 @@ const ChannelAbout = () => {
</p>
</div>
<div>
{enableSponsorblock !== undefined ? (
{enableSponsorblock !== null ? (
<div className="toggle">
<div className="toggleBox">
<input
@ -345,7 +349,7 @@ const ChannelAbout = () => {
name="subscriptions_channel_size"
value={pageSizeVideo}
setValue={setPageSizeVideo}
oldValue={channel.channel_overwrites?.subscriptions_channel_size}
oldValue={channel.channel_overwrites?.subscriptions_channel_size ?? null}
updateCallback={handleUpdateConfig}
/>
</div>
@ -358,7 +362,7 @@ const ChannelAbout = () => {
name="subscriptions_shorts_channel_size"
value={pageSizeShorts}
setValue={setPageSizeShorts}
oldValue={channel.channel_overwrites?.subscriptions_shorts_channel_size}
oldValue={channel.channel_overwrites?.subscriptions_shorts_channel_size ?? null}
updateCallback={handleUpdateConfig}
/>
</div>
@ -371,7 +375,7 @@ const ChannelAbout = () => {
name="subscriptions_live_channel_size"
value={pageSizeStreams}
setValue={setPageSizeStreams}
oldValue={channel.channel_overwrites?.subscriptions_live_channel_size}
oldValue={channel.channel_overwrites?.subscriptions_live_channel_size ?? null}
updateCallback={handleUpdateConfig}
/>
</div>

View File

@ -19,7 +19,7 @@ type ChannelOverwritesType = {
download_format?: string;
autodelete_days?: number;
index_playlists?: boolean;
integrate_sponsorblock?: boolean;
integrate_sponsorblock?: boolean | null;
subscriptions_channel_size?: number;
subscriptions_live_channel_size?: number;
subscriptions_shorts_channel_size?: number;

File diff suppressed because it is too large Load Diff