8cb836e16c
Replace all if/else chains keyed on provider type strings with a descriptor-driven architecture. Each provider type (immich, gitea, planka, scheduler, nut, google_photos) has a descriptor in frontend/src/lib/providers/ that declares config fields, event tracking fields, collection metadata, validation, and hooks. Components now use getDescriptor(type) and render dynamically. Dashboard provider card shows provider name + type when global filter is active. Grid-items derived from registry.
25 lines
451 B
TypeScript
25 lines
451 B
TypeScript
import type { ProviderDescriptor } from './types';
|
|
|
|
export const schedulerDescriptor: ProviderDescriptor = {
|
|
type: 'scheduler',
|
|
defaultName: 'Scheduler',
|
|
icon: 'mdiClockOutline',
|
|
hasUrl: false,
|
|
|
|
configFields: [],
|
|
|
|
buildConfig() {
|
|
return { config: {} };
|
|
},
|
|
|
|
hasConfigChanged() {
|
|
return false;
|
|
},
|
|
|
|
eventFields: [
|
|
{ key: 'track_scheduled_message', label: 'trackingConfig.scheduledMessage', default: true },
|
|
],
|
|
|
|
collectionMeta: null,
|
|
};
|