diff --git a/src/lib/api/adapters/artifact.adapter.ts b/src/lib/api/adapters/artifact.adapter.ts index ed9e02f1..9665c5e4 100644 --- a/src/lib/api/adapters/artifact.adapter.ts +++ b/src/lib/api/adapters/artifact.adapter.ts @@ -44,6 +44,11 @@ export interface CollectionArtifactListParams { artifactId?: string proficiency?: number rarity?: 'standard' | 'quirk' + // Skill filters - each slot accepts array of modifier IDs (OR logic within slot, AND across slots) + skill1?: number[] + skill2?: number[] + skill3?: number[] + skill4?: number[] } /** @@ -260,6 +265,22 @@ export class ArtifactAdapter extends BaseAdapter { }) } + /** + * Deletes multiple collection artifacts in a single batch request + */ + async deleteCollectionArtifactsBatch(ids: string[]): Promise<{ deleted: number }> { + if (ids.length === 0) return { deleted: 0 } + + const response = await this.request<{ + meta: { deleted: number } + }>('/collection/artifacts/batch_destroy', { + method: 'DELETE', + body: { ids } + }) + + return response.meta + } + // ============================================ // Grid Artifacts (Equipped on Characters) // ============================================ diff --git a/src/routes/(app)/[username]/collection/artifacts/+page.svelte b/src/routes/(app)/[username]/collection/artifacts/+page.svelte index dbb05440..f4bda99d 100644 --- a/src/routes/(app)/[username]/collection/artifacts/+page.svelte +++ b/src/routes/(app)/[username]/collection/artifacts/+page.svelte @@ -1,32 +1,121 @@