fix board context management, cleanup

This commit is contained in:
marlon-erler
2026-04-13 19:45:52 +00:00
parent f16059f91a
commit c2da7f4c9b
19 changed files with 63 additions and 89 deletions
+2 -1
View File
@@ -94,7 +94,6 @@ export default class CoreViewModel {
export class Context {
contextId = v4();
contextDebugDescription: string;
keystrokes = new Map<string, () => void>();
handleKeystroke = (e: KeyboardEvent): boolean => {
@@ -112,6 +111,8 @@ export class Context {
registerKeyStroke = (key: string, fn: () => void): void => {
this.keystrokes.set(key, fn);
};
constructor(public contextDebugDescription: string) {}
}
export class ContextHost<T> extends Context {
@@ -13,8 +13,6 @@ import CoreViewModel, { Context } from "./coreViewModel";
import { CommonKeys } from "../../View/keystrokes";
export default class FileTransferViewModel extends Context {
contextDebugDescription = "transfer";
// state
presentedModal: React.State<FileTransferModals | undefined> =
new React.State<any>(undefined);
@@ -173,7 +171,7 @@ export default class FileTransferViewModel extends Context {
// init
constructor(public readonly coreViewModel: CoreViewModel) {
super();
super("file-transfer");
this.coreViewModel.fileTransferModel.fileHandlerManager.addHandler(
this.handleReceivedFile,
@@ -42,7 +42,7 @@ export default class NotificationViewModel {
(chat) => chat.chatModel.info.primaryChannel == notification.chat,
);
chat.open();
chat.selectedPage.value = ChatPageTypes.Messages;
chat.openPage(ChatPageTypes.Messages);
};
// loop
+1 -3
View File
@@ -5,8 +5,6 @@ import { Languages, ThemeSettings } from "../../Model/Global/settingsModel";
import { CommonKeys } from "../../View/keystrokes";
export default class SettingsViewModel extends Context {
contextDebugDescription = "settings";
// state
username: React.State<string> = new React.State("");
usernameInput: React.State<string> = new React.State("");
@@ -73,7 +71,7 @@ export default class SettingsViewModel extends Context {
// init
constructor(public readonly coreViewModel: CoreViewModel) {
super();
super("settings");
this.username.value = coreViewModel.settingsModel.username;
this.usernameInput.value = coreViewModel.settingsModel.username;
+1 -3
View File
@@ -8,8 +8,6 @@ import CoreViewModel, { Context } from "./coreViewModel";
import { CommonKeys } from "../../View/keystrokes";
export default class StorageViewModel extends Context {
contextDebugDescription = "storage";
// state
isShowingStorageModal: React.State<boolean> = new React.State(false);
selectedPath: React.State<string> = new React.State(
@@ -67,7 +65,7 @@ export default class StorageViewModel extends Context {
// init
constructor(public readonly coreViewModel: CoreViewModel) {
super();
super("storage");
this.selectedFileName = React.createProxyState(
[this.selectedPath],