feat(settings): add media hosting settings and provider-based upload gating

This commit is contained in:
plebeius
2026-02-17 18:57:54 +08:00
parent 45a6ff0bab
commit 96f11b3e26
46 changed files with 448 additions and 55 deletions
+25
View File
@@ -0,0 +1,25 @@
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
export const MEDIA_HOSTING_PROVIDERS = [{ id: 'catbox', name: 'Catbox', url: 'https://catbox.moe' }] as const;
export type MediaHostingSelection = (typeof MEDIA_HOSTING_PROVIDERS)[number]['id'] | 'none' | string;
interface MediaHostingStore {
selectedProvider: MediaHostingSelection;
setSelectedProvider: (provider: string) => void;
}
const useMediaHostingStore = create<MediaHostingStore>()(
persist(
(set) => ({
selectedProvider: 'catbox',
setSelectedProvider: (provider) => set({ selectedProvider: provider }),
}),
{
name: 'media-hosting-storage',
},
),
);
export default useMediaHostingStore;