change message filter icon when filter active

This commit is contained in:
marlon-erler
2026-04-12 11:58:45 +00:00
parent 3806be067e
commit bbc9e327bc
6 changed files with 53 additions and 10 deletions
+2 -2
View File
@@ -133,7 +133,7 @@ export default class ChatMessageViewModel {
this.loadData();
this.messagePageViewModel.reactionFilter.subscribe((content) => {
console.log(content, content==undefined)
console.log(content, content == undefined);
if (content == undefined) {
this.isHidden.value = false;
return;
@@ -168,6 +168,6 @@ export default class ChatMessageViewModel {
}
this.isHidden.value = count == 0;
})
});
}
}
+9 -1
View File
@@ -19,6 +19,7 @@ export default class MessagePageViewModel {
searchViewModel: SearchViewModel<ChatMessageViewModel>;
isFilterModalOpen = new React.State<boolean>(false);
reactionFilter = new React.State<ReactionSymbols | undefined>(undefined);
isFilterActive: React.State<boolean>;
composingMessage: React.State<string> = new React.State("");
@@ -98,7 +99,7 @@ export default class MessagePageViewModel {
revokeReactionFilter = (): void => {
this.reactionFilter.value = undefined;
}
};
setReactionFilter = (content: ReactionSymbols): void => {
this.reactionFilter.value = content;
@@ -136,5 +137,12 @@ export default class MessagePageViewModel {
(chatMessageViewModel) => [chatMessageViewModel.body.value],
new React.ListState(),
);
this.isFilterActive = React.createProxyState(
[this.searchViewModel.appliedQuery, this.reactionFilter],
() =>
this.searchViewModel.appliedQuery.value != "" ||
this.reactionFilter.value != undefined,
);
}
}
+2 -2
View File
@@ -8,8 +8,8 @@ export default class SearchViewModel<T> {
getStringsOfObject: (object: T) => string[];
// state
appliedQuery: React.State<string> = new React.State("");
searchInput: React.State<string> = new React.State("");
appliedQuery = new React.State<string>("");
searchInput = new React.State<string>("");
matchingObjects: React.ListState<T>;
suggestions: React.ListState<string>;