From 7054e8ba906a6ede3dc72628ab96a40f3ba54901 Mon Sep 17 00:00:00 2001
From: Midhun Suresh <midhunr@element.io>
Date: Wed, 26 Jan 2022 19:45:50 +0530
Subject: [PATCH] Build as app and refactor

---
 index.html                     |  2 +-
 src/ui/views/ChatterboxView.ts | 19 ++++++++++++++-----
 vite.config.js                 |  7 -------
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/index.html b/index.html
index 145467a..c2c1b3d 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="UTF-8" />
     <link rel="icon" type="image/svg+xml" href="favicon.svg" />
-    <link rel="stylesheet" href="src/style.css">
+    <link rel="stylesheet" href="/src/style.css">
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Chatterbox</title>
   </head>
diff --git a/src/ui/views/ChatterboxView.ts b/src/ui/views/ChatterboxView.ts
index 584b09e..bbd5002 100644
--- a/src/ui/views/ChatterboxView.ts
+++ b/src/ui/views/ChatterboxView.ts
@@ -1,7 +1,7 @@
 import { TemplateView, TimelineView, LoadingView, AvatarView } from "hydrogen-view-sdk";
 import { MessageComposer } from "hydrogen-view-sdk";
 import { ChatterboxViewModel } from "../../viewmodels/ChatterboxViewModel";
-
+import matrixLogo from "../res/matrix-logo.svg";
 export class ChatterboxView extends TemplateView<ChatterboxViewModel> {
     constructor(value) {
         super(value);
@@ -21,10 +21,9 @@ export class ChatterboxView extends TemplateView<ChatterboxViewModel> {
                 (vm) => vm.messageComposerViewModel,
                 (vm) => (vm ? new MessageComposer(vm) : null)
             ),
-            t.div({ className: "ChatterboxView_footer" }, [
-                "Powered by",
-                t.img({ src: "./src/ui/res/matrix-logo.svg" }),
-            ]),
+            t.mapView(
+                (vm) => vm.roomViewModel,
+                (vm) => vm ? new RoomFooter() : null),
         ]);
     }
 }
@@ -44,3 +43,13 @@ class RoomHeaderView extends TemplateView<ChatterboxViewModel> {
         ]);
     }
 }
+
+class RoomFooter extends TemplateView {
+
+    render(t) {
+        return t.div({ className: "ChatterboxView_footer" }, [
+            "Powered by",
+            t.img({ src: matrixLogo }),
+        ]);
+    }
+}
diff --git a/vite.config.js b/vite.config.js
index 3200d5d..5e9588b 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -2,13 +2,6 @@ const path = require('path')
 const { defineConfig } = require('vite')
 
 module.exports = defineConfig({
-    build: {
-        lib: {
-            entry: path.resolve(__dirname, "src/main.ts"),
-            name: "chatterbox",
-            fileName: "chatterbox.js",
-        },
-    },
     server: {
         fs: {
             // Allow serving files from hydrogen-web/target (for fonts and images)
-- 
GitLab