diff --git a/src/data/api/index.ts b/src/data/api/index.ts index 4e580f3..85bf746 100644 --- a/src/data/api/index.ts +++ b/src/data/api/index.ts @@ -10,7 +10,8 @@ import type { DonationPlatform, CryptoWallet, Social, - Info + Info, + CompatiblePackage } from '$lib/types'; export type ReposData = { repositories: Repository[] }; @@ -44,7 +45,7 @@ async function patches(): Promise { // gets packages and patch count for (let i = 0; i < json.patches.length; i++) { - json.patches[i].compatiblePackages.forEach((pkg: Patch) => { + json.patches[i].compatiblePackages?.forEach((pkg: CompatiblePackage) => { packagesWithCount[pkg.name] = (packagesWithCount[pkg.name] || 0) + 1; }); } diff --git a/src/lib/types.ts b/src/lib/types.ts index 82ffe75..98dfe28 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -12,11 +12,10 @@ export interface Repository { export interface Patch { name: string; description: string; - version: string; - excluded: boolean; - dependencies: string[]; - options: PatchOption[]; compatiblePackages: CompatiblePackage[]; + use: boolean; + requiresIntegrations: boolean; + options: PatchOption[]; } export interface CompatiblePackage { @@ -26,10 +25,10 @@ export interface CompatiblePackage { export interface PatchOption { key: string; + default: any; title: string; description: string; required: boolean; - choices: string[]; } export interface Asset { diff --git a/src/routes/patches/+page.svelte b/src/routes/patches/+page.svelte index 477ea48..0f627c2 100644 --- a/src/routes/patches/+page.svelte +++ b/src/routes/patches/+page.svelte @@ -47,11 +47,11 @@ if (pkg === '') { return false; } - return !!patch.compatiblePackages.find((compat) => compat.name === pkg); + return !!patch.compatiblePackages?.find((compat) => compat.name === pkg); } - function searchString(str: string, term: string, filter: RegExp) { - return str.toLowerCase().replace(filter, '').includes(term); + function searchString(str?: string, term: string, filter: RegExp) { + return str?.toLowerCase().replace(filter, '').includes(term); } function filter(patches: Patch[], pkg: string, search?: string): Patch[] { @@ -70,7 +70,7 @@ return ( searchString(patch.description, search, /\s/g) || searchString(patch.name, search, /\s/g) || - patch.compatiblePackages.find((x) => searchString(x.name, search, /\./g)) + patch.compatiblePackages?.find((x) => searchString(x.name, search, /\./g)) ); } return true; diff --git a/src/routes/patches/PatchItem.svelte b/src/routes/patches/PatchItem.svelte index 0260e40..59ba050 100644 --- a/src/routes/patches/PatchItem.svelte +++ b/src/routes/patches/PatchItem.svelte @@ -7,7 +7,7 @@ export let patch: Patch; export let showAllVersions: boolean; - const hasPatchOptions = !!patch.options.length; + const hasPatchOptions = !!patch.options?.length; let expanded: boolean = false; @@ -26,28 +26,30 @@ dropdown {/if} -
{patch.description}
+ {#if patch.description} +
{patch.description}
+ {/if}