From 7c0645a65e181799f3601c6d4bbf792197e2e225 Mon Sep 17 00:00:00 2001 From: N-Pex Date: Thu, 20 Mar 2025 16:14:49 +0100 Subject: [PATCH] Add checkbox for user agreement --- src/assets/translations/en.json | 7 ++- src/components/CreateRoom.vue | 29 ++++++++--- src/components/Join.vue | 80 +++++++++++------------------ src/components/ProfileInfoPopup.vue | 12 +++++ src/router/index.js | 2 +- 5 files changed, 70 insertions(+), 60 deletions(-) diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index 9adf65f..8fe143d 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -265,7 +265,8 @@ "logout": "Logout", "want_more": "Want more?", "powered_by": "This room is powered by {product}. Learn more at {productLink} or go ahead and create another room!", - "new_room": "New room" + "new_room": "New room", + "review_ua": "Review the Service User Agreement" }, "join": { "title": "Welcome you have been invited to join", @@ -281,7 +282,9 @@ "status_joining": "Joining room...", "join_failed": "Failed to join room.", "choose_name": "Choose a name to use", - "you_have_been_banned": "You have been banned from this room." + "you_have_been_banned": "You have been banned from this room.", + "accept_ua": "I agree to the {agreement}", + "ua": "service user agreement" }, "invite": { "title": "Add Friends", diff --git a/src/components/CreateRoom.vue b/src/components/CreateRoom.vue index 1722f82..d5031f9 100644 --- a/src/components/CreateRoom.vue +++ b/src/components/CreateRoom.vue @@ -37,8 +37,11 @@
{{ $t('room_info.message_retention') }}
-
{{ limitHistory ? $t('room_info.limit_history_info', {period: roomMessageRetentionDisplayString(limitHistoryMilliseconds)}) : $t('room_info.message_retention_info') }}
-
{{ $t('menu.edit') }}
+
{{ limitHistory ? $t('room_info.limit_history_info', {period: + roomMessageRetentionDisplayString(limitHistoryMilliseconds)}) : $t('room_info.message_retention_info') + }}
+
{{ $t('menu.edit') }}
@@ -100,16 +103,29 @@ :label="$t('join.remember_me')" /> + + + + + + + + :disabled="!acceptUA || !selectedProfile.name"> {{ $t("join.enter_room") }} - + @@ -139,7 +155,8 @@ export default { selectRetentionDialog: false, publicRoom: false, limitHistory: false, - limitHistoryMilliseconds: 2 * 7 * 24 * 3600 * 1000, // 2 weeks default + limitHistoryMilliseconds: 2 * 7 * 24 * 3600 * 1000, // 2 weeks default, + acceptUA: false }; }, diff --git a/src/components/Join.vue b/src/components/Join.vue index 1b82b44..540f192 100644 --- a/src/components/Join.vue +++ b/src/components/Join.vue @@ -22,27 +22,12 @@ - + - + @@ -78,29 +58,34 @@ + + + + - {{ + {{ roomId && roomId.startsWith("@") ? $t("join.enter_room_user") : $t("join.enter_room") - }} - {{ + }} + {{ roomId && roomId.startsWith("@") ? $t("join.join_user") : $t("join.join") - }} + }}
{{ loadingMessage }}
{{ $t("join.you_have_been_banned") }}
- +

{{ $t("profile.select_language") }}

@@ -131,20 +116,12 @@
- - + + - + @@ -178,6 +155,7 @@ export default { selectedProfile: null, showEditDisplaynameDialog: false, showSelectLanguageDialog: false, + acceptUA: false, }; }, computed: { diff --git a/src/components/ProfileInfoPopup.vue b/src/components/ProfileInfoPopup.vue index 33ec6e3..4fe50e2 100644 --- a/src/components/ProfileInfoPopup.vue +++ b/src/components/ProfileInfoPopup.vue @@ -56,6 +56,8 @@ + + {{ $t("profile_info_popup.review_ua") }} @@ -198,6 +200,16 @@ export default { } } + .review-ua-link { + margin-top: 10px; + text-decoration: none; + color: #181719; + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: 400; + font-size: 10 * $chat-text-size !important; + } + @media #{map-get($display-breakpoints, 'sm-and-up')} { width: 70%; } diff --git a/src/router/index.js b/src/router/index.js index 4d93fd8..4c4286a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -138,7 +138,7 @@ router.beforeEach((to, from, next) => { } const roomId = util.sanitizeRoomId(to.params.roomId); router.app.$matrix.setCurrentRoomId(roomId); - if (roomId && roomId.startsWith('#')) { + if (roomId) { //Invite to public room authRequired = false; }