diff --git a/package.json b/package.json
index 0385dd9a..e733284e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "d2-checklist",
- "version": "24.2.2",
+ "version": "24.2.3",
"manifest": "226342.24.06.19.1730-2-bnet.56014",
"license": "MIT",
"scripts": {
diff --git a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html
index 553fae2f..136185be 100644
--- a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html
+++ b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html
@@ -9,6 +9,7 @@
{{title$|async}}
+
Filter
@@ -19,6 +20,10 @@ {{title$|async}}
+
+ Search Patterns By Name
+
+
diff --git a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts
index 551e7743..777e45c4 100644
--- a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts
+++ b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts
@@ -51,6 +51,7 @@ export class SpecialTriumphListComponent extends ChildComponent {
public rows$: BehaviorSubject = new BehaviorSubject([]);
public showCrafted$: BehaviorSubject = new BehaviorSubject(false);
public craftedFilter = 'TODO';
+ public craftedWildCardFilter = '';
public craftedFilterChoices = [
{
name: 'Todo (Not Crafted + Incomplete)',
@@ -115,31 +116,38 @@ export class SpecialTriumphListComponent extends ChildComponent {
this.sort$.next(this.sort$.getValue());
}
+ private filterPatternName(t: TriumphRecordNode): boolean {
+ if (this.craftedWildCardFilter == '') {
+ return true;
+ }
+ return t.name.toLowerCase().includes(this.craftedWildCardFilter.toLowerCase());
+ }
+
public shouldShow(t: TriumphRecordNode): boolean {
if (this.showCrafted$.getValue()) {
if (this.craftedFilter=='TODO') {
if (!t.complete || (t.complete && t.crafted?.length==0)) {
- return true;
+ return this.filterPatternName(t);
}
} else if (this.craftedFilter=='INCOMPLETE') {
if (!t.complete) {
- return true;
+ return this.filterPatternName(t);
}
} else if (this.craftedFilter=='NOT_CRAFTED') {
if (t.complete && t.crafted.length==0) {
- return true;
+ return this.filterPatternName(t);
}
} else if (this.craftedFilter=='CRAFTED') {
if (t.complete && t.crafted.length>0) {
- return true;
+ return this.filterPatternName(t);
}
} else if (this.craftedFilter=='ATTUNE_TO_CRAFT') {
if (!t.complete && t.redborder.length>0) {
- return true;
+ return this.filterPatternName(t);
}
}
else if (this.craftedFilter=='ALL') {
- return true;
+ return this.filterPatternName(t);
}
return false;
} else {