feat: add an option to configure default share expiration (#2283)

* feat: add an option to configure default share expiration
This commit is contained in:
Yunus
2026-08-03 22:26:45 -04:00
committed by GitHub
parent a8bec1ad75
commit 71fc632501
6 changed files with 244 additions and 19 deletions
+22
View File
@@ -471,6 +471,22 @@ export enum HomeFeatureStyle {
SINGLE = 'single',
}
export enum ShareExpirationUnit {
DAY = 'day',
HOUR = 'hour',
MINUTE = 'minute',
MONTH = 'month',
SECOND = 'second',
WEEK = 'week',
YEAR = 'year',
}
const ShareExpirationSchema = z.object({
amount: z.number().int().min(1),
unit: z.nativeEnum(ShareExpirationUnit),
useServerDefault: z.boolean(),
});
const AutoSaveSchema = z.object({
count: z.number().min(0),
enabled: z.boolean(),
@@ -536,6 +552,7 @@ export const GeneralSettingsSchema = z.object({
primaryShade: z.number().min(0).max(9),
qobuz: z.boolean(),
resume: z.boolean(),
shareExpiration: ShareExpirationSchema,
showFavorites: z.boolean(),
showLyricsInSidebar: z.boolean(),
showQueueInSidebar: z.boolean(),
@@ -1315,6 +1332,11 @@ const initialState: SettingsState = {
primaryShade: 6,
qobuz: true,
resume: true,
shareExpiration: {
amount: 1,
unit: ShareExpirationUnit.YEAR,
useServerDefault: false,
},
showFavorites: true,
showLyricsInSidebar: true,
showQueueInSidebar: true,