diff --git a/VERSION.properties b/VERSION.properties
index 7402b000..3e890aa2 100644
--- a/VERSION.properties
+++ b/VERSION.properties
@@ -1,2 +1,2 @@
-client.version=1.2.339
-server.version=1.2.311
+client.version=1.2.340
+server.version=1.2.312
diff --git a/shine-UI/assets/profile-icon-profile.svg b/shine-UI/assets/profile-icon-profile.svg
new file mode 100644
index 00000000..73b7bf52
--- /dev/null
+++ b/shine-UI/assets/profile-icon-profile.svg
@@ -0,0 +1,5 @@
+
diff --git a/shine-UI/assets/profile-icon-settings.svg b/shine-UI/assets/profile-icon-settings.svg
new file mode 100644
index 00000000..1364d2a1
--- /dev/null
+++ b/shine-UI/assets/profile-icon-settings.svg
@@ -0,0 +1,12 @@
+
diff --git a/shine-UI/assets/profile-icon-wallet.svg b/shine-UI/assets/profile-icon-wallet.svg
new file mode 100644
index 00000000..59551d96
--- /dev/null
+++ b/shine-UI/assets/profile-icon-wallet.svg
@@ -0,0 +1,6 @@
+
diff --git a/shine-UI/js/pages/profile-view.js b/shine-UI/js/pages/profile-view.js
index 73845002..b9ada1bb 100644
--- a/shine-UI/js/pages/profile-view.js
+++ b/shine-UI/js/pages/profile-view.js
@@ -101,8 +101,18 @@ export function render({ navigate }) {
const topActions = document.createElement('div');
topActions.className = 'profile-top-actions';
topActions.innerHTML = `
-
+
+
+
`;
+ topActions.querySelector('[data-top-action="profile"]')?.addEventListener('click', () => navigate('profile'));
+ topActions.querySelector('[data-top-action="wallet"]')?.addEventListener('click', () => navigate('wallet'));
topActions.querySelector('[data-top-action="settings"]')?.addEventListener('click', () => navigate('settings-view'));
const card = document.createElement('div');
diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css
index d209f6e6..d2d9945c 100644
--- a/shine-UI/styles/components.css
+++ b/shine-UI/styles/components.css
@@ -4628,6 +4628,31 @@ html, body { overflow-x: hidden; }
display: none;
}
+.screen-content:has(> .dm-chat-screen) {
+ padding-top: 0;
+ scrollbar-width: thin;
+ scrollbar-color: rgba(212, 175, 55, 0.65) rgba(255, 255, 255, 0.06);
+}
+
+.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar {
+ width: 4px;
+ height: 4px;
+ display: block;
+}
+
+.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-track {
+ background: rgba(255, 255, 255, 0.04);
+}
+
+.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-thumb {
+ background: rgba(212, 175, 55, 0.7);
+ border-radius: 999px;
+}
+
+.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-thumb:hover {
+ background: rgba(240, 198, 76, 0.9);
+}
+
.dm-messages-log {
gap: 10px;
}
@@ -5575,27 +5600,38 @@ html, body { overflow-x: hidden; }
.profile-top-actions {
display: flex;
justify-content: flex-end;
+ gap: 8px;
}
.profile-top-action-btn {
- height: 32px;
- min-height: 32px;
- padding: 0 10px;
- font-size: 12px;
- line-height: 1.15;
- text-align: center;
- white-space: pre-line;
- overflow: hidden;
- text-overflow: ellipsis;
+ position: relative;
+ width: 42px;
+ height: 42px;
+ min-width: 42px;
+ min-height: 42px;
+ padding: 0;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 14px;
}
-.profile-top-menu-btn {
- width: 32px;
- min-width: 32px;
- padding: 0;
- font-size: 22px;
- line-height: 1;
- letter-spacing: 0;
+.profile-top-icon-btn img {
+ width: 22px;
+ height: 22px;
+ display: block;
+ opacity: 0.94;
+ filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.34));
+}
+
+.profile-top-icon-btn.is-active {
+ border-color: rgba(212, 175, 55, 0.46);
+ background: rgba(212, 175, 55, 0.12);
+ box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.08) inset, 0 10px 22px rgba(0, 0, 0, 0.22);
+}
+
+.profile-top-icon-btn:hover {
+ border-color: rgba(230, 236, 245, 0.28);
}
.profile-info-modal {