Skip to content

Commit 9bc3bea

Browse files
committed
Fixed the WIP sub object code
1 parent 139cf83 commit 9bc3bea

File tree

2 files changed

+48
-44
lines changed

2 files changed

+48
-44
lines changed

src/api/APIModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export abstract class APIModel {
2020
abstract getById(id: string): Promise<MediaTypeModel>;
2121

2222
hasType(type: MediaType): boolean {
23-
if (this.types.contains(type) && !(this.plugin.settings[((`${this.apiName}"."${type}`)) as keyof MediaDbPluginSettings] === false)) {
23+
if (this.types.contains(type) && (Boolean((this.plugin.settings.apiToggle as any)?.[this.apiName]?.[type] as MediaDbPluginSettings) === true || (this.plugin.settings.apiToggle as any)?.[this.apiName]?.[type] as MediaDbPluginSettings === undefined)) {
2424
return true;
2525
}
2626
}

src/settings/Settings.ts

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,23 @@ export interface MediaDbPluginSettings {
1919
openNoteInNewTab: boolean;
2020
useDefaultFrontMatter: boolean;
2121
enableTemplaterIntegration: boolean;
22-
OMDbAPI: {
23-
movie: boolean,
24-
series: boolean,
25-
game: boolean
26-
};
27-
MALAPI: {
28-
movie: boolean,
29-
series: boolean
30-
};
31-
SteamAPI: {
32-
game: boolean
33-
};
34-
MobyGamesAPI: {
35-
game: boolean
36-
};
22+
apiToggle: {
23+
OMDbAPI: {
24+
movie: boolean;
25+
series: boolean;
26+
game: boolean;
27+
},
28+
MALAPI: {
29+
movie: boolean;
30+
series: boolean;
31+
},
32+
SteamAPI: {
33+
game: boolean;
34+
},
35+
MobyGamesAPI: {
36+
game: boolean;
37+
}
38+
},
3739
movieTemplate: string;
3840
seriesTemplate: string;
3941
mangaTemplate: string;
@@ -83,20 +85,22 @@ const DEFAULT_SETTINGS: MediaDbPluginSettings = {
8385
openNoteInNewTab: true,
8486
useDefaultFrontMatter: true,
8587
enableTemplaterIntegration: false,
86-
OMDbAPI: {
87-
movie: true,
88-
game: true,
89-
series: true,
90-
},
91-
MALAPI: {
92-
movie: true,
93-
series: true,
94-
},
95-
SteamAPI: {
96-
game: true,
97-
},
98-
MobyGamesAPI: {
99-
game: true,
88+
apiToggle: {
89+
OMDbAPI: {
90+
movie: true,
91+
series: true,
92+
game: true,
93+
},
94+
MALAPI: {
95+
movie: true,
96+
series: true,
97+
},
98+
SteamAPI: {
99+
game: true,
100+
},
101+
MobyGamesAPI: {
102+
game: true,
103+
}
100104
},
101105
movieTemplate: '',
102106
seriesTemplate: '',
@@ -295,17 +299,17 @@ export class MediaDbSettingTab extends PluginSettingTab {
295299
.setName('OMDb API')
296300
.setDesc('Use OMDb API for movies.')
297301
.addToggle(cb => {
298-
cb.setValue(this.plugin.settings.OMDbAPI.movie).onChange(data => {
299-
this.plugin.settings.OMDbAPI.movie = data;
302+
cb.setValue(this.plugin.settings.apiToggle.OMDbAPI.movie).onChange(data => {
303+
this.plugin.settings.apiToggle.OMDbAPI.movie = data;
300304
this.plugin.saveSettings();
301305
});
302306
});
303307
new Setting(containerEl)
304308
.setName('MAL API')
305309
.setDesc('Use MAL API for movies.')
306310
.addToggle(cb => {
307-
cb.setValue(this.plugin.settings.MALAPI.movie).onChange(data => {
308-
this.plugin.settings.MALAPI.movie = data;
311+
cb.setValue(this.plugin.settings.apiToggle.MALAPI.movie).onChange(data => {
312+
this.plugin.settings.apiToggle.MALAPI.movie = data;
309313
this.plugin.saveSettings();
310314
});
311315
});
@@ -314,17 +318,17 @@ export class MediaDbSettingTab extends PluginSettingTab {
314318
.setName('OMDb API')
315319
.setDesc('Use OMDb API for series.')
316320
.addToggle(cb => {
317-
cb.setValue(this.plugin.settings.OMDbAPI.series).onChange(data => {
318-
this.plugin.settings.OMDbAPI.series = data;
321+
cb.setValue(this.plugin.settings.apiToggle.OMDbAPI.series).onChange(data => {
322+
this.plugin.settings.apiToggle.OMDbAPI.series = data;
319323
this.plugin.saveSettings();
320324
});
321325
});
322326
new Setting(containerEl)
323327
.setName('MAL API')
324328
.setDesc('Use MAL API for series.')
325329
.addToggle(cb => {
326-
cb.setValue(this.plugin.settings.MALAPI.series).onChange(data => {
327-
this.plugin.settings.MALAPI.series = data;
330+
cb.setValue(this.plugin.settings.apiToggle.MALAPI.series).onChange(data => {
331+
this.plugin.settings.apiToggle.MALAPI.series = data;
328332
this.plugin.saveSettings();
329333
});
330334
});
@@ -333,26 +337,26 @@ export class MediaDbSettingTab extends PluginSettingTab {
333337
.setName('OMDb API')
334338
.setDesc('Use OMDb API for games.')
335339
.addToggle(cb => {
336-
cb.setValue(this.plugin.settings.OMDbAPI.game).onChange(data => {
337-
this.plugin.settings.OMDbAPI.game = data;
340+
cb.setValue(this.plugin.settings.apiToggle.OMDbAPI.game).onChange(data => {
341+
this.plugin.settings.apiToggle.OMDbAPI.game = data;
338342
this.plugin.saveSettings();
339343
});
340344
});
341345
new Setting(containerEl)
342346
.setName('Steam API')
343347
.setDesc('Use OMDb API for games.')
344348
.addToggle(cb => {
345-
cb.setValue(this.plugin.settings.SteamAPI.game).onChange(data => {
346-
this.plugin.settings.SteamAPI.game = data;
349+
cb.setValue(this.plugin.settings.apiToggle.SteamAPI.game).onChange(data => {
350+
this.plugin.settings.apiToggle.SteamAPI.game = data;
347351
this.plugin.saveSettings();
348352
});
349353
});
350354
new Setting(containerEl)
351355
.setName('MobyGames API')
352356
.setDesc('Use MobyGames API for games.')
353357
.addToggle(cb => {
354-
cb.setValue(this.plugin.settings.MobyGamesAPI.game).onChange(data => {
355-
this.plugin.settings.MobyGamesAPI.game = data;
358+
cb.setValue(this.plugin.settings.apiToggle.MobyGamesAPI.game).onChange(data => {
359+
this.plugin.settings.apiToggle.MobyGamesAPI.game = data;
356360
this.plugin.saveSettings();
357361
});
358362
});

0 commit comments

Comments
 (0)