-
Last signed in
+
+
User ID
+
+
+
+
+
+
Last signed in
{{ $filters.date(user.last_signed_in) || '-' }}
-
-
Registered
+
+
Registered
{{ $filters.date(user?.registration_date) }}
@@ -141,10 +149,12 @@ import {
useInstanceStore,
useUserStore
} from '@mergin/lib'
-import { computed, watch } from 'vue'
+import { computed, watch, watchEffect } from 'vue'
import { useRoute } from 'vue-router'
+import CopyPill from '@/common/components/CopyPill.vue'
import AdminLayout from '@/modules/admin/components/AdminLayout.vue'
+import { getAdminTitle } from '@/modules/admin/routes'
import { useAdminStore } from '@/modules/admin/store'
const route = useRoute()
@@ -192,6 +202,16 @@ const fetchProfile = (username: string) => {
adminStore.fetchUserByName({ username })
}
+watchEffect(() => {
+ // We need to handle the title separately, as the account's email is not
+ // available in the route and only loads after the profile is fetched
+ if (user.value?.email) {
+ document.title = getAdminTitle(route, {
+ accountEmail: user.value.email
+ })?.[0]
+ }
+})
+
watch(
routeUsername,
(username) => {
@@ -300,7 +320,11 @@ const switchAdminAccess = async () => {
diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_extensions.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_extensions.scss
index b873a944..54e214fc 100644
--- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_extensions.scss
+++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_extensions.scss
@@ -99,6 +99,10 @@ img {
}
}
+.p-divider.p-divider-horizontal {
+ margin: 0;
+}
+
// Custom semantic classes
@@ -179,6 +183,16 @@ img {
}
}
+.p-checkbox:not(.p-checkbox-disabled) {
+ .p-checkbox-box {
+ &.p-highlight:hover {
+ .p-checkbox-icon {
+ color: $primaryColor
+ }
+ }
+ }
+}
+
// Color of error messages in inputs ...
.p-error {
color: map-get($map: $colors, $key: grape);
@@ -207,3 +221,15 @@ td:has(.dt-row-link) {
display: block;
padding: $tableBodyCellPadding;
}
+
+// Multiselect customization of highlighting and focusing
+
+.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
+ background-color: transparent;
+ color: var(--text-color);
+}
+
+.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
+ background-color: transparent;
+ color: var(--text-color);
+}
diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_button.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_button.scss
index d302da1e..7bf32a3f 100644
--- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_button.scss
+++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_button.scss
@@ -36,7 +36,7 @@ $buttonHoverBorderColor: $primaryDarkColor;
/// Background of a button in pressed state
/// @group button
-$buttonActiveBg: $primaryColor;
+$buttonActiveBg: $primaryDarkColor;
/// Color of a button in pressed state
/// @group button
diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss
index 85624b0e..6ca55b92 100644
--- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss
+++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss
@@ -197,7 +197,7 @@ $checkboxActiveHoverBg: $primaryDarkerColor;
/// Icon color of a selected checkbox in hover state
/// @group form
-$checkboxIconActiveHoverColor: $primaryTextColor;
+$checkboxIconActiveHoverColor: $primaryColor;
/// Border color of a selected checkbox in hover state
/// @group form
diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_panel.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_panel.scss
index cd779051..e05ab957 100644
--- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_panel.scss
+++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_panel.scss
@@ -316,7 +316,7 @@ $dividerSize:1px;
/// Color of the divider border
/// @group panel
-$dividerColor:#dee2e6;
+$dividerColor: map-get($colors, 'secondary-gray');
/// Background of the splitter gutter
/// @group panel