From 6018fd554dd0e4a50ed68a288d3209651a52cfc8 Mon Sep 17 00:00:00 2001 From: adb Date: Sun, 15 Nov 2020 22:27:06 +0100 Subject: [PATCH] room and chat view --- public/manifest.json | 4 +- src/App.vue | 8 ++-- src/components/topBanner.vue | 17 +++----- src/main.js | 5 +++ src/matrix.js | 40 ++++++++++++++----- src/views/rooms.vue | 75 +++++++++++++++++++++++++++++++----- 6 files changed, 113 insertions(+), 36 deletions(-) diff --git a/public/manifest.json b/public/manifest.json index 1aa6a1e..61e6eef 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,6 +1,6 @@ { - "name": "open chat", - "short_name": "open chat", + "name": "matrix chat", + "short_name": "[chat]", "start_url": "/", "display": "standalone", "background_color": "#14181b", diff --git a/src/App.vue b/src/App.vue index 88bde6d..56cc8f7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,17 +33,17 @@ body{ .content{ position: absolute; top: 0; - left: calc(50% - 25rem); + left: calc(50% - 35rem); padding: 0; min-height: calc(100%); - width: 50rem; + width: 70rem; min-width: 18rem; background-color: #313131; box-shadow: 3px 3px 10px #111; } -@media (max-width: 55rem){ +@media (max-width: 75rem){ .content{ - width: calc(100%); + width: 100%; left: 0; } } diff --git a/src/components/topBanner.vue b/src/components/topBanner.vue index 84c7a0e..62283b5 100644 --- a/src/components/topBanner.vue +++ b/src/components/topBanner.vue @@ -2,12 +2,11 @@
- +
{{chatroom.name}}
{{chatroom.user.length}} members
-
@@ -40,7 +39,6 @@ export default { width: 100%; height: 3rem; background-color: #1d1d1d; - box-shadow: 0 0px 5px #111; } .smallIcon{ top: 0.25rem; @@ -50,22 +48,19 @@ export default { } #icon-arrow{ position: absolute; - left: 1rem; + left: 0.5rem; + background-color: unset; + box-shadow: none; } #picTop{ position: absolute; - left: 4rem; + left: 3.5rem; background-color: #42a7b9; } -#icon-menu{ - position: absolute; - right: 1rem; - background-color: #2d2d2d; -} #container{ position: absolute; top: 0.55rem; - left: 7.5rem; + left: 7rem; } #chatName{ font-size: 1rem; diff --git a/src/main.js b/src/main.js index af30932..61fe409 100644 --- a/src/main.js +++ b/src/main.js @@ -25,6 +25,11 @@ const router = new VueRouter({ name: 'chat', component: chat }, + { + path: '/rooms/*', + name: 'room', + component: rooms + }, { path: '/rooms', name: 'rooms', diff --git a/src/matrix.js b/src/matrix.js index 0122ed2..86aa73a 100644 --- a/src/matrix.js +++ b/src/matrix.js @@ -1,11 +1,14 @@ import matrix from 'matrix-js-sdk'; +import Vue from 'vue' import main from '@/main.js'; const matrix_cli = matrix.createClient("https://adb.sh"); let session = { user: "", password: "", - access_token: "" + access_token: "", + rooms: [], + current_room: "open chat" }; let rooms = []; @@ -29,22 +32,39 @@ export default { main.methods.error(response.error) console.log(`login error => ${response.error}`) } - main.methods.router({path: "rooms"}) + main.methods.router({path: "rooms/"}) matrix_cli.startClient(); matrix_cli.once('sync', function (state){ console.log(state) }) - matrix_cli.on("event", function(event){ - console.log(event.getType()); - console.log(event); - }) - - setTimeout(()=>{this.getRooms()},5000) }); + /*let i=0; + let checkRooms = setInterval(()=>{ + rooms = matrix_cli.getRooms() + console.log("asdasd"+rooms.length) + if (rooms.length !== 0 || i>10) clearInterval(checkRooms) + i++; + },500)*/ }, getRooms(){ - rooms = matrix_cli.getRooms() + rooms.push(matrix_cli.getRooms()) return rooms } } -} \ No newline at end of file +} + +new Vue({ + el: '#roomList', + data() { + return { + rooms: [], + } + } +}) + +matrix_cli.on("event", function(event){ + console.log(event.getType()); + console.log(event); + session.rooms = matrix_cli.getRooms() + console.log(session.rooms) +}) \ No newline at end of file diff --git a/src/views/rooms.vue b/src/views/rooms.vue index 18a9a88..9c29578 100644 --- a/src/views/rooms.vue +++ b/src/views/rooms.vue @@ -1,32 +1,43 @@