From 7c526d300c2fda821ca3c56dba12777fd4021da8 Mon Sep 17 00:00:00 2001 From: N-Pex Date: Tue, 15 Jun 2021 16:53:13 +0200 Subject: [PATCH 1/4] Work on room info Issue #115. --- src/assets/css/chat.scss | 131 ++++++++++++++++-------- src/assets/translations/en.json | 16 +-- src/components/RoomInfo.vue | 176 ++++++++++++++++++++------------ 3 files changed, 203 insertions(+), 120 deletions(-) diff --git a/src/assets/css/chat.scss b/src/assets/css/chat.scss index 404e157..bcf005a 100644 --- a/src/assets/css/chat.scss +++ b/src/assets/css/chat.scss @@ -16,13 +16,13 @@ $admin-fg: white; height: 100%; } .num-members { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-size: 12 * $chat-text-size; color: black; } .v-btn.leave-button { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 700; font-size: 11 * $chat-text-size; color: black; @@ -104,7 +104,7 @@ $admin-fg: white; padding-right: 2 * $chat-standard-padding-s; padding-top: 0px; .typing { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 300; font-size: 12 * $chat-text-size; color: #1c242a; @@ -127,7 +127,7 @@ $admin-fg: white; overflow-y: auto; padding: 0 0 0px 20px; margin: 6px 0; - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 300; font-size: 18 * $chat-text-size; .v-input__slot { @@ -139,9 +139,9 @@ $admin-fg: white; } .scroll-to-end { - position:absolute; - top:-64px; - right:16px; + position: absolute; + top: -64px; + right: 16px; } .op-button { @@ -158,7 +158,7 @@ $admin-fg: white; } .messageJoin { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 300; font-size: 15 * $chat-text-size; color: #1c242a; @@ -215,7 +215,7 @@ $admin-fg: white; display: block; } .sender { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-style: normal; font-size: 10 * $chat-text-size; @@ -225,7 +225,7 @@ $admin-fg: white; display: inline-block; } .time { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-style: normal; font-size: 10 * $chat-text-size; @@ -268,7 +268,8 @@ $admin-fg: white; display: inline-block; width: 70%; max-width: 70%; - .v-image, video { + .v-image, + video { border-radius: 10px 10px 0 10px; } } @@ -290,7 +291,7 @@ $admin-fg: white; display: block; } .sender { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-style: normal; font-size: 10 * $chat-text-size; @@ -300,7 +301,7 @@ $admin-fg: white; margin-right: 8px; } .time { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-style: normal; font-size: 10 * $chat-text-size; @@ -312,8 +313,9 @@ $admin-fg: white; } } -.sender, .status { - font-family: 'Inter', sans-serif; +.sender, +.status { + font-family: "Inter", sans-serif; font-weight: 300; font-size: 15 * $chat-text-size; color: #1c242a; @@ -321,7 +323,7 @@ $admin-fg: white; } .message { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-size: 16 * $chat-text-size; color: #000000; @@ -349,7 +351,7 @@ $admin-fg: white; margin-bottom: 8px; user-select: text; .original-message-sender { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 700; font-size: 13 * $chat-text-size; color: #000000; @@ -357,7 +359,7 @@ $admin-fg: white; white-space: pre; } .original-message-text { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-size: 11 * $chat-text-size; color: #000000; @@ -368,7 +370,7 @@ $admin-fg: white; } .time { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 300; font-style: italic; font-size: 15 * $chat-text-size; @@ -377,7 +379,7 @@ $admin-fg: white; } .statusEvent { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 300; font-size: 15 * $chat-text-size; color: #1c242a; @@ -405,7 +407,7 @@ $admin-fg: white; } } .play-time { - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; font-weight: 400; font-size: 13 * $chat-text-size; } @@ -420,7 +422,8 @@ $admin-fg: white; } } -.message-operations-strut, .avatar-operations-strut { +.message-operations-strut, +.avatar-operations-strut { position: relative; height: 0px; z-index: 1; @@ -499,9 +502,9 @@ $admin-fg: white; position: absolute; left: 0; top: 0; - width:100%; - height:100%; - background-color: rgba(0,0,0,0.4); + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.4); align-items: center; display: flex; .download-text { @@ -510,8 +513,9 @@ $admin-fg: white; } } -.room-name, .room-name-inline { - font-family: 'Poppins', sans-serif; +.room-name, +.room-name-inline { + font-family: "Poppins", sans-serif; font-weight: 700; font-size: 18 * $chat-text-size; text-transform: uppercase; @@ -523,6 +527,9 @@ $admin-fg: white; text-align: start; } +.room-name.no-upper { + text-transform: none; +} .read-marker { margin-left: 20px; @@ -546,7 +553,7 @@ $admin-fg: white; position: absolute; top: -4px; background: white; - transform: translate(-50%,0); + transform: translate(-50%, 0); padding-left: 4px; padding-right: 4px; content: attr(title); @@ -575,7 +582,7 @@ $admin-fg: white; position: absolute; top: -8px; background: white; - transform: translate(-50%,0); + transform: translate(-50%, 0); padding-left: 10px; padding-right: 10px; content: attr(title); @@ -589,27 +596,60 @@ $admin-fg: white; background-color: transparent; border: none; } + .room-avatar { background-color: #ededed; - width: 100px !important; - height: 100px !important; + width: 64px !important; + height: 64px !important; margin-bottom: 20px; .headline { font-size: 70 * $chat-text-size !important; } } - + + .name { + font-family: "Poppins", sans-serif; + font-size: 32px; + font-weight: 800; + } + + .topic { + font-family: "Inter", sans-serif; + font-size: 16px; + } + + .created-by { + font-family: "Poppins", sans-serif; + font-size: 12px; + font-weight: bold; + } + .avatar .headline { font-size: 16 * $chat-text-size !important; } - .qr { - width: 120px; - height: 120px; - width: min(30vw, 30vh); - height: min(30vw, 30vh); - background-color: #e0e0e0; - margin-top: 15px; + .qr-container { + background-color: white; + border-radius: 8px; + margin-top: 20px !important; + .qr { + width: 60px; + height: 60px; + background-color: #e0e0e0; + } + .link { + font-family: "Inter", sans-serif; + font-size: 16px; + text-decoration: underline; + color: #3d6eff; + overflow-wrap: anywhere; + } + } + .link-copied-in-place .v-btn__content { + font-family: "Inter", sans-serif !important; + font-size: 12px !important; + text-transform: none !important; + color: #3d6eff; } .v-card { @@ -618,7 +658,7 @@ $admin-fg: white; } .member::after { - content: ' '; + content: " "; display: block; margin: 10px 0px; bottom: 0px; @@ -632,6 +672,7 @@ $admin-fg: white; font-size: 14 * $chat-text-size; font-weight: bold; margin-left: 10px; + text-decoration: underline; } } @@ -683,7 +724,7 @@ $admin-fg: white; cursor: pointer; &::after { /* divider */ - content: ' '; + content: " "; display: block; margin: 10px 0px; bottom: 0px; @@ -768,10 +809,10 @@ $admin-fg: white; .room-info-sheet { background-color: white; - + .current-room { padding: 25px; - background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%), #F5F5F7; + background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%), #f5f5f7; box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15); border-radius: 18px; } @@ -805,7 +846,7 @@ $admin-fg: white; /* Remove text underline */ border-style: none !important; } - + .created-room-welcome-header { background-color: #e0e0e0; border-radius: 25px; @@ -825,4 +866,4 @@ $admin-fg: white; text-align: center; vertical-align: middle; padding-top: 10px; -} \ No newline at end of file +} diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index 0bbcda2..b882532 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -151,24 +151,24 @@ "button": "Purge room" }, "room_info": { - "title": "Info", + "title": "Room Details", "created_by": "Created by {user}", - "permissions": "Permissions", - "join_invite": "Room can be joined by invitation only", - "join_public": "Anyone with the link can join", + "permissions": "Join Permissions", + "join_invite": "Only People Added", + "join_public": "Anyone with a link", + "copy_link": "Copy invite link", "link_copied": "Link copied!", - "purge": "Purge room", + "purge": "Delete room", "members": "Members", "user": "{user}", "user_you": "{user} (you)", "hide_all": "Hide", - "show_all": "Show all", + "show_all": "Show all >", "my_profile": "My Profile", "identity": "You are logged in as {displayName}.", "identity_temporary": "Your identity {displayName} is temporary. You can change your name or set a password to keep it.", "view_profile": "View", - "leave_room": "Leave group", - "leave_room_info": "Note: This step cannot be undone. Make sure you want to logout and delete the chat forever.", + "leave_room": "Leave", "version_info": "Powered by Guardian Project. Version: {version}" }, "room_info_sheet": { diff --git a/src/components/RoomInfo.vue b/src/components/RoomInfo.vue index ab4a906..f0487e8 100644 --- a/src/components/RoomInfo.vue +++ b/src/components/RoomInfo.vue @@ -2,7 +2,7 @@
-
{{ $t("room_info.title") }}
+
{{ $t("room_info.title") }}
arrow_back {{ $t("menu.back") }} + 👋 {{ $t("room_info.leave_room") }}
- -
- - - {{ - roomName.substring(0, 1).toUpperCase() - }} - -
{{ roomName }}
-
{{ roomTopic }}
-
- {{ $t("room_info.created_by", { user: creator }) }} -
- - - +
+ + + {{ + roomName.substring(0, 1).toUpperCase() + }} + +
{{ roomName }}
+
{{ roomTopic }}
+
+ {{ $t("room_info.created_by", { user: creator }) }}
- +
+ + + + + + + + + + + + + + {{ $t("room_info.link_copied") }} + {{ $t("room_info.copy_link") }} + + + +
- - -
{{$t('room_info.version_info',{version: buildVersion})}}
+
+ {{ $t("room_info.version_info", { version: buildVersion }) }} +
Date: Wed, 16 Jun 2021 09:54:06 +0200 Subject: [PATCH 2/4] Tweak purge room dialog Change to "delete room", issue #118 --- src/assets/translations/en.json | 6 +++--- src/components/PurgeRoomDialog.vue | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index b882532..e54a799 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -146,9 +146,9 @@ "leave": "Leave" }, "purge_room": { - "title": "Purge room?", - "info": "This operation will close the room for all members. It cannot be undone.", - "button": "Purge room" + "title": "Delete room?", + "info": "This will close the room for all members. It cannot be undone.", + "button": "Delete room" }, "room_info": { "title": "Room Details", diff --git a/src/components/PurgeRoomDialog.vue b/src/components/PurgeRoomDialog.vue index f76a766..e6b65d2 100644 --- a/src/components/PurgeRoomDialog.vue +++ b/src/components/PurgeRoomDialog.vue @@ -2,7 +2,6 @@
+ + \ No newline at end of file diff --git a/src/components/RoomInfo.vue b/src/components/RoomInfo.vue index f0487e8..a74ee0d 100644 --- a/src/components/RoomInfo.vue +++ b/src/components/RoomInfo.vue @@ -170,35 +170,6 @@ >
- -
{{ $t("room_info.version_info", { version: buildVersion }) }}
diff --git a/src/components/profileInfoMixin.js b/src/components/profileInfoMixin.js new file mode 100644 index 0000000..7da0444 --- /dev/null +++ b/src/components/profileInfoMixin.js @@ -0,0 +1,44 @@ +export default { + computed: { + user() { + if (!this.$matrix.matrixClient) { + return null; + } + return this.$matrix.matrixClient.getUser(this.$matrix.currentUserId); + }, + + displayName() { + if (!this.user) { + return null; + } + return (this.user.displayName || this.user.userId); + }, + + userAvatar() { + if (!this.user || !this.user.avatarUrl) { + return null; + } + return this.$matrix.matrixClient.mxcUrlToHttp(this.user.avatarUrl, 80, 80, 'scale', true); + }, + + userAvatarLetter() { + if (!this.user) { + return null; + } + return (this.user.displayName || this.user.userId.substring(1)).substring(0, 1).toUpperCase(); + }, + + passwordsMatch() { + return this.newPassword1 && this.newPassword2 && this.newPassword1 == this.newPassword2; + } + }, + methods: { + logout() { + //TODO - For guest accounts, show warning about not being able to rejoin. + this.$store.dispatch("logout"); + this.$nextTick(() => { + this.$navigation.push({path: "/login"}, -1); + }) + }, + } +} \ No newline at end of file From 03f7759b6c17ff7763b47554809bc1f2d01b1c3d Mon Sep 17 00:00:00 2001 From: N-Pex Date: Thu, 17 Jun 2021 20:56:53 +0200 Subject: [PATCH 4/4] Version 0.1.10 --- package.json | 2 +- package.json.bak | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3101fcf..b6a7de8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keanuapp-weblite", - "version": "0.1.9", + "version": "0.1.10", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/package.json.bak b/package.json.bak index 9e39d5b..3101fcf 100644 --- a/package.json.bak +++ b/package.json.bak @@ -1,6 +1,6 @@ { "name": "keanuapp-weblite", - "version": "0.1.8", + "version": "0.1.9", "private": true, "scripts": { "serve": "vue-cli-service serve",