2022-12-01 13:07:23 +01:00
|
|
|
import Component from "./component.js";
|
2024-12-23 14:21:43 +02:00
|
|
|
import appContext, { CommandListener, CommandListenerData } from "./app_context.js";
|
2020-03-01 15:19:16 +01:00
|
|
|
|
2024-12-23 14:21:43 +02:00
|
|
|
export type Screen = "detail" | "tree";
|
|
|
|
|
|
|
|
export default class MobileScreenSwitcherExecutor extends Component
|
|
|
|
implements CommandListener<"setActiveScreen">
|
|
|
|
{
|
|
|
|
private activeScreen?: Screen;
|
|
|
|
|
|
|
|
setActiveScreenCommand({screen}: CommandListenerData<"setActiveScreen">) {
|
2020-03-01 15:19:16 +01:00
|
|
|
if (screen !== this.activeScreen) {
|
|
|
|
this.activeScreen = screen;
|
|
|
|
|
2022-12-12 23:48:34 +01:00
|
|
|
if (screen === 'tree') {
|
2022-12-13 16:57:46 +01:00
|
|
|
const activeNoteContext = appContext.tabManager.getActiveContext();
|
|
|
|
|
|
|
|
activeNoteContext.setEmpty();
|
2022-12-12 23:48:34 +01:00
|
|
|
}
|
|
|
|
|
2020-03-01 15:19:16 +01:00
|
|
|
this.triggerEvent('activeScreenChanged', {activeScreen: screen});
|
|
|
|
}
|
|
|
|
}
|
2022-12-01 13:07:23 +01:00
|
|
|
}
|