From ea02be99a714e03687b603848f4157e1150aa817 Mon Sep 17 00:00:00 2001 From: Viren070 Date: Sun, 15 Jun 2025 16:31:03 +0100 Subject: [PATCH] feat: add social options to various presets --- packages/core/src/presets/animeKitsu.ts | 12 +++++++++++ packages/core/src/presets/comet.ts | 16 +++++++++++++++ packages/core/src/presets/dcUniverse.ts | 10 ++++++++++ packages/core/src/presets/debridio.ts | 9 +++++++++ packages/core/src/presets/debridioTmdb.ts | 2 ++ packages/core/src/presets/debridioTv.ts | 2 ++ packages/core/src/presets/debridioTvdb.ts | 2 ++ .../core/src/presets/debridioWatchtower.ts | 2 ++ packages/core/src/presets/dmmCast.ts | 7 +++++++ .../core/src/presets/doctorWhoUniverse.ts | 9 +++++++++ packages/core/src/presets/easynewsPlus.ts | 20 +++++++++++++++++++ packages/core/src/presets/easynewsPlusPlus.ts | 16 +++++++++++++++ packages/core/src/presets/jackettio.ts | 9 +++++++++ packages/core/src/presets/marvel.ts | 10 ++++++++++ packages/core/src/presets/mediafusion.ts | 9 +++++++++ packages/core/src/presets/nuviostreams.ts | 10 ++++++++++ packages/core/src/presets/starWarsUniverse.ts | 10 ++++++++++ packages/core/src/presets/streamfusion.ts | 13 ++++++++++++ .../core/src/presets/streamingCatalogs.ts | 13 ++++++++++++ packages/core/src/presets/stremthruStore.ts | 14 +++++++++++++ packages/core/src/presets/stremthruTorz.ts | 14 +++++++++++++ packages/core/src/presets/tmdbCollections.ts | 10 ++++++++++ packages/core/src/presets/torbox.ts | 7 +++++++ 23 files changed, 226 insertions(+) diff --git a/packages/core/src/presets/animeKitsu.ts b/packages/core/src/presets/animeKitsu.ts index 45335011..a387a1d4 100644 --- a/packages/core/src/presets/animeKitsu.ts +++ b/packages/core/src/presets/animeKitsu.ts @@ -15,6 +15,18 @@ export class AnimeKitsuPreset extends Preset { supportedResources, Env.DEFAULT_ANIME_KITSU_TIMEOUT ), + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/TheBeastLT/stremio-kitsu-anime', + }, + ], + }, ]; return { diff --git a/packages/core/src/presets/comet.ts b/packages/core/src/presets/comet.ts index 518424da..11414578 100644 --- a/packages/core/src/presets/comet.ts +++ b/packages/core/src/presets/comet.ts @@ -82,6 +82,22 @@ export class CometPreset extends Preset { default: undefined, emptyIsUndefined: true, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/g0ldyy/comet', + }, + { + id: 'ko-fi', + url: 'https://ko-fi.com/g0ldyy', + }, + ], + }, ]; return { diff --git a/packages/core/src/presets/dcUniverse.ts b/packages/core/src/presets/dcUniverse.ts index 303171c5..20a7ed6b 100644 --- a/packages/core/src/presets/dcUniverse.ts +++ b/packages/core/src/presets/dcUniverse.ts @@ -75,6 +75,16 @@ export class DcUniversePreset extends Preset { options: this.catalogs, default: this.catalogs.map((catalog) => catalog.value), }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/tapframe/addon-dc' }, + { id: 'buymeacoffee', url: 'https://buymeacoffee.com/tapframe' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/debridio.ts b/packages/core/src/presets/debridio.ts index ee775366..bcd967ed 100644 --- a/packages/core/src/presets/debridio.ts +++ b/packages/core/src/presets/debridio.ts @@ -4,6 +4,14 @@ import { Env, SERVICE_DETAILS } from '../utils'; import { constants, ServiceId } from '../utils'; import { StreamParser } from '../parser'; +export const debridioSocialOption: Option = { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [{ id: 'website', url: 'https://debridio.com' }], +}; + export class DebridioPreset extends Preset { static override get METADATA() { const supportedServices: ServiceId[] = [constants.EASYDEBRID_SERVICE]; @@ -15,6 +23,7 @@ export class DebridioPreset extends Preset { supportedResources, Env.DEFAULT_DEBRIDIO_TIMEOUT ), + debridioSocialOption, // { // id: 'services', // name: 'Services', diff --git a/packages/core/src/presets/debridioTmdb.ts b/packages/core/src/presets/debridioTmdb.ts index 9c0d749a..ced8f179 100644 --- a/packages/core/src/presets/debridioTmdb.ts +++ b/packages/core/src/presets/debridioTmdb.ts @@ -1,6 +1,7 @@ import { Addon, Option, UserData } from '../db'; import { Preset, baseOptions } from './preset'; import { constants, Env, FULL_LANGUAGE_MAPPING } from '../utils'; +import { debridioSocialOption } from './debridio'; export class DebridioTmdbPreset extends Preset { static override get METADATA() { @@ -37,6 +38,7 @@ export class DebridioTmdbPreset extends Preset { })), required: false, }, + debridioSocialOption, ]; return { diff --git a/packages/core/src/presets/debridioTv.ts b/packages/core/src/presets/debridioTv.ts index 607b7ce4..746c285b 100644 --- a/packages/core/src/presets/debridioTv.ts +++ b/packages/core/src/presets/debridioTv.ts @@ -1,6 +1,7 @@ import { Addon, Option, UserData } from '../db'; import { Preset, baseOptions } from './preset'; import { constants, Env } from '../utils'; +import { debridioSocialOption } from './debridio'; export class DebridioTvPreset extends Preset { static override get METADATA() { @@ -55,6 +56,7 @@ export class DebridioTvPreset extends Preset { options: channels, default: channels.map((channel) => channel.value), }, + debridioSocialOption, ]; return { diff --git a/packages/core/src/presets/debridioTvdb.ts b/packages/core/src/presets/debridioTvdb.ts index 5d6c3d31..e9daa321 100644 --- a/packages/core/src/presets/debridioTvdb.ts +++ b/packages/core/src/presets/debridioTvdb.ts @@ -1,6 +1,7 @@ import { Addon, Option, UserData } from '../db'; import { Preset, baseOptions } from './preset'; import { constants, Env } from '../utils'; +import { debridioSocialOption } from './debridio'; export class DebridioTvdbPreset extends Preset { static override get METADATA() { @@ -23,6 +24,7 @@ export class DebridioTvdbPreset extends Preset { type: 'password', required: true, }, + debridioSocialOption, ]; return { diff --git a/packages/core/src/presets/debridioWatchtower.ts b/packages/core/src/presets/debridioWatchtower.ts index a343f33b..1babf6e4 100644 --- a/packages/core/src/presets/debridioWatchtower.ts +++ b/packages/core/src/presets/debridioWatchtower.ts @@ -2,6 +2,7 @@ import { Addon, Option, ParsedStream, Stream, UserData } from '../db'; import { Preset, baseOptions } from './preset'; import { constants, Env } from '../utils'; import { FileParser, StreamParser } from '../parser'; +import { debridioSocialOption } from './debridio'; class DebridioWatchtowerStreamParser extends StreamParser { parse(stream: Stream): ParsedStream { @@ -86,6 +87,7 @@ export class DebridioWatchtowerPreset extends Preset { type: 'password', required: true, }, + debridioSocialOption, ]; return { diff --git a/packages/core/src/presets/dmmCast.ts b/packages/core/src/presets/dmmCast.ts index 2b48ea36..6e17a6f6 100644 --- a/packages/core/src/presets/dmmCast.ts +++ b/packages/core/src/presets/dmmCast.ts @@ -95,6 +95,13 @@ export class DMMCastPreset extends Preset { value: resource, })), }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [{ id: 'website', url: 'https://debridmediamanager.com' }], + }, ]; return { diff --git a/packages/core/src/presets/doctorWhoUniverse.ts b/packages/core/src/presets/doctorWhoUniverse.ts index b2cc5dad..0f714387 100644 --- a/packages/core/src/presets/doctorWhoUniverse.ts +++ b/packages/core/src/presets/doctorWhoUniverse.ts @@ -32,6 +32,15 @@ export class DoctorWhoUniversePreset extends Preset { supportedResources, Env.DEFAULT_DOCTOR_WHO_UNIVERSE_TIMEOUT ), + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/nubblyn/whoniverse' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/easynewsPlus.ts b/packages/core/src/presets/easynewsPlus.ts index 89c5ec54..0f1c404a 100644 --- a/packages/core/src/presets/easynewsPlus.ts +++ b/packages/core/src/presets/easynewsPlus.ts @@ -30,6 +30,26 @@ export class EasynewsPlusPreset extends EasynewsPreset { ], Env.DEFAULT_EASYNEWS_PLUS_TIMEOUT || Env.DEFAULT_TIMEOUT ), + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/sleeyax/stremio-easynews-addon', + }, + { + id: 'patreon', + url: 'https://patreon.com/sleeyax', + }, + { + id: 'buymeacoffee', + url: 'https://buymeacoffee.com/sleeyax', + }, + ], + }, ], }; } diff --git a/packages/core/src/presets/easynewsPlusPlus.ts b/packages/core/src/presets/easynewsPlusPlus.ts index ecf2d298..41a80a81 100644 --- a/packages/core/src/presets/easynewsPlusPlus.ts +++ b/packages/core/src/presets/easynewsPlusPlus.ts @@ -58,6 +58,22 @@ export class EasynewsPlusPlusPreset extends EasynewsPreset { required: true, default: false, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/panteLx/easynews-plus-plus', + }, + { + id: 'buymeacoffee', + url: 'https://buymeacoffee.com/pantel', + }, + ], + }, ], }; } diff --git a/packages/core/src/presets/jackettio.ts b/packages/core/src/presets/jackettio.ts index 6b8dc7d8..59786cbe 100644 --- a/packages/core/src/presets/jackettio.ts +++ b/packages/core/src/presets/jackettio.ts @@ -71,6 +71,15 @@ export class JackettioPreset extends Preset { default: undefined, emptyIsUndefined: true, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/Telkaoss/jackettio' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/marvel.ts b/packages/core/src/presets/marvel.ts index 5ea5d9b4..1949170a 100644 --- a/packages/core/src/presets/marvel.ts +++ b/packages/core/src/presets/marvel.ts @@ -51,6 +51,16 @@ export class MarvelPreset extends Preset { options: this.catalogs, default: this.catalogs.map((catalog) => catalog.value), }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/joaogonp/addon-marvel' }, + { id: 'buymeacoffee', url: 'https://buymeacoffee.com/joaogonp' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/mediafusion.ts b/packages/core/src/presets/mediafusion.ts index 9b4ac9b9..4040f9fd 100644 --- a/packages/core/src/presets/mediafusion.ts +++ b/packages/core/src/presets/mediafusion.ts @@ -222,6 +222,15 @@ export class MediaFusionPreset extends Preset { default: undefined, emptyIsUndefined: true, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/mhdzumair/MediaFusion' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/nuviostreams.ts b/packages/core/src/presets/nuviostreams.ts index 686c8a2c..0cbb5dcd 100644 --- a/packages/core/src/presets/nuviostreams.ts +++ b/packages/core/src/presets/nuviostreams.ts @@ -139,6 +139,16 @@ export class NuvioStreamsPreset extends Preset { required: false, default: true, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/tapframe/NuvioStreaming' }, + { id: 'ko-fi', url: 'https://ko-fi.com/tapframe' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/starWarsUniverse.ts b/packages/core/src/presets/starWarsUniverse.ts index ec4c4a65..3d306ab9 100644 --- a/packages/core/src/presets/starWarsUniverse.ts +++ b/packages/core/src/presets/starWarsUniverse.ts @@ -78,6 +78,16 @@ export class StarWarsUniversePreset extends Preset { options: this.catalogs, default: this.catalogs.map((catalog) => catalog.value), }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/tapframe/addon-star-wars' }, + { id: 'ko-fi', url: 'https://ko-fi.com/tapframe' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/streamfusion.ts b/packages/core/src/presets/streamfusion.ts index 809694f8..547300cc 100644 --- a/packages/core/src/presets/streamfusion.ts +++ b/packages/core/src/presets/streamfusion.ts @@ -95,6 +95,19 @@ export class StreamFusionPreset extends Preset { default: undefined, emptyIsUndefined: true, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/Telkaoss/stream-fusion', + }, + { id: 'discord', url: 'https://discord.gg/ZhWvKVmTuh' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/streamingCatalogs.ts b/packages/core/src/presets/streamingCatalogs.ts index 64fcd152..82db3d9b 100644 --- a/packages/core/src/presets/streamingCatalogs.ts +++ b/packages/core/src/presets/streamingCatalogs.ts @@ -115,6 +115,19 @@ export class StreamingCatalogsPreset extends Preset { options: this.catalogs, default: ['nfx', 'hbm', 'dnp', 'amp', 'atp'], }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/rleroi/Stremio-Streaming-Catalogs-Addon', + }, + { id: 'ko-fi', url: 'https://ko-fi.com/rab1t' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/stremthruStore.ts b/packages/core/src/presets/stremthruStore.ts index 586268ed..5f37b40f 100644 --- a/packages/core/src/presets/stremthruStore.ts +++ b/packages/core/src/presets/stremthruStore.ts @@ -49,6 +49,20 @@ export class StremthruStorePreset extends Preset { description: 'Enable web DL', type: 'boolean', }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/MunifTanjim/stremthru', + }, + { id: 'buymeacoffee', url: 'https://buymeacoffee.com/muniftanjim' }, + { id: 'patreon', url: 'https://patreon.com/MunifTanjim' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/stremthruTorz.ts b/packages/core/src/presets/stremthruTorz.ts index 8acac92c..a9d07eca 100644 --- a/packages/core/src/presets/stremthruTorz.ts +++ b/packages/core/src/presets/stremthruTorz.ts @@ -61,6 +61,20 @@ export class StremthruTorzPreset extends Preset { type: 'boolean', default: false, }, + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { + id: 'github', + url: 'https://github.com/MunifTanjim/stremthru', + }, + { id: 'buymeacoffee', url: 'https://buymeacoffee.com/muniftanjim' }, + { id: 'patreon', url: 'https://patreon.com/MunifTanjim' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/tmdbCollections.ts b/packages/core/src/presets/tmdbCollections.ts index bf23e047..d46ab967 100644 --- a/packages/core/src/presets/tmdbCollections.ts +++ b/packages/core/src/presets/tmdbCollections.ts @@ -51,6 +51,16 @@ export class TmdbCollectionsPreset extends Preset { })), required: false, }, + // https://github.com/youchi1/tmdb-collections/ + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [ + { id: 'github', url: 'https://github.com/youchi1/tmdb-collections' }, + ], + }, ]; return { diff --git a/packages/core/src/presets/torbox.ts b/packages/core/src/presets/torbox.ts index 321f695c..21cb7ebd 100644 --- a/packages/core/src/presets/torbox.ts +++ b/packages/core/src/presets/torbox.ts @@ -89,6 +89,13 @@ export class TorboxAddonPreset extends Preset { const options: Option[] = [ ...baseOptions('TorBox', supportedResources, Env.DEFAULT_TORBOX_TIMEOUT), + { + id: 'socials', + name: '', + description: '', + type: 'socials', + socials: [{ id: 'website', url: 'https://torbox.app' }], + }, ]; return {