feat: web UI chat render, panels, presence + analytics
This commit is contained in:
1 parent
75425d1bee
commit
ed469ba8dd
83 files changed
+6034
-136
No files matched your search
@@ -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;
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user