feat: web UI chat render, panels, presence + analytics

This commit is contained in:
hh committed 2026-05-31 19:41:37 +02:00
1 parent 75425d1bee
commit ed469ba8dd
83 files changed
+6034 -136

No files matched your search

+27
View File
@@ -10,9 +10,18 @@ export type RightPanel =
| "stories"
| "policy";
export type LeftView = "main" | "settings";
interface JumpTarget {
chatId: number;
messageId: number;
}
function createUi() {
let rightPanel = $state<RightPanel | null>(null);
let leftColumnOpen = $state(true);
let leftView = $state<LeftView>("main");
let jumpTarget = $state<JumpTarget | null>(null);
return {
get rightPanel() {
@@ -21,6 +30,24 @@ function createUi() {
get leftColumnOpen() {
return leftColumnOpen;
},
get leftView() {
return leftView;
},
get jumpTarget() {
return jumpTarget;
},
openSettings() {
leftView = "settings";
},
closeSettings() {
leftView = "main";
},
requestJump(chatId: number, messageId: number) {
jumpTarget = { chatId, messageId };
},
clearJump() {
jumpTarget = null;
},
openPanel(panel: RightPanel) {
rightPanel = panel;
},