diff --git a/src/gui/src/UI/Settings/UITabAccount.js b/src/gui/src/UI/Settings/UITabAccount.js
index 95de65cf62..10a8e350fb 100644
--- a/src/gui/src/UI/Settings/UITabAccount.js
+++ b/src/gui/src/UI/Settings/UITabAccount.js
@@ -34,51 +34,61 @@ export default {
// h += `
`;
- h += `
`;
- h += `
`;
+ h += `
`;
+ const hasProfilePicture = window.user?.profile?.picture;
+ const profileImageUrl = hasProfilePicture ? window.user.profile.picture : window.icons['profile.svg'];
+ const profilePictureClass = hasProfilePicture ? 'profile-picture change-profile-picture profile-image-has-picture' : 'profile-picture change-profile-picture';
+ h += `
`;
+ h += `
`;
+ // Add action buttons container
+ h += `
`;
+ // Only show remove button if user has a profile picture
+ if (window.user?.profile?.picture) {
+ h += ``;
+ }
+ h += `
`;
h += `
`;
// change password button
- if(!window.user.is_temp){
+ if (!window.user.is_temp) {
h += `
`;
- h += `
${i18n('password')}`;
- h += `
`;
- h += ``;
- h += `
`;
+ h += `
${i18n('password')}`;
+ h += `
`;
+ h += ``;
+ h += `
`;
h += `
`;
}
// change username button
h += `
`;
- h += `
`;
- h += `${i18n('username')}`;
- h += `${html_encode(window.user.username)}`;
- h += `
`;
- h += `
`;
- h += ``;
- h += `
`
+ h += `
`;
+ h += `${i18n('username')}`;
+ h += `${html_encode(window.user.username)}`;
+ h += `
`;
+ h += `
`;
+ h += ``;
+ h += `
`
h += `
`;
// change email button
- if(window.user.email){
+ if (window.user.email) {
h += `
`;
- h += `
`;
- h += `${i18n('email')}`;
- h += `${html_encode(window.user.email)}`;
- h += `
`;
- h += `
`;
- h += ``;
- h += `
`;
+ h += `
`;
+ h += `${i18n('email')}`;
+ h += `${html_encode(window.user.email)}`;
+ h += `
`;
+ h += `
`;
+ h += ``;
+ h += `
`;
h += `
`;
}
// 'Delete Account' button
h += `
`;
- h += `
${i18n("delete_account")}`;
- h += `
`;
- h += ``;
- h += `
`;
+ h += `
${i18n("delete_account")}`;
+ h += `
`;
+ h += ``;
+ h += `
`;
h += `
`;
return h;
@@ -86,7 +96,7 @@ export default {
init: ($el_window) => {
$el_window.find('.change-password').on('click', function (e) {
UIWindowChangePassword({
- window_options:{
+ window_options: {
parent_uuid: $el_window.attr('data-element_uuid'),
disable_parent_window: true,
parent_center: true,
@@ -96,7 +106,7 @@ export default {
$el_window.find('.change-username').on('click', function (e) {
UIWindowChangeUsername({
- window_options:{
+ window_options: {
parent_uuid: $el_window.attr('data-element_uuid'),
disable_parent_window: true,
parent_center: true,
@@ -106,7 +116,7 @@ export default {
$el_window.find('.change-email').on('click', function (e) {
UIWindowChangeEmail({
- window_options:{
+ window_options: {
parent_uuid: $el_window.attr('data-element_uuid'),
disable_parent_window: true,
parent_center: true,
@@ -116,7 +126,7 @@ export default {
$el_window.find('.manage-sessions').on('click', function (e) {
UIWindowManageSessions({
- window_options:{
+ window_options: {
parent_uuid: $el_window.attr('data-element_uuid'),
disable_parent_window: true,
parent_center: true,
@@ -126,7 +136,7 @@ export default {
$el_window.find('.delete-account').on('click', function (e) {
UIWindowConfirmUserDeletion({
- window_options:{
+ window_options: {
parent_uuid: $el_window.attr('data-element_uuid'),
disable_parent_window: true,
parent_center: true,
@@ -134,6 +144,7 @@ export default {
});
});
+ // Handle clicking on profile picture or change button
$el_window.find('.change-profile-picture').on('click', async function (e) {
// open dialog
UIWindow({
@@ -147,35 +158,95 @@ export default {
is_dir: true,
is_openFileDialog: true,
selectable_body: false,
- });
- })
+ });
+ });
+
+ // Handle remove profile picture button
+ $el_window.find('.remove-profile-picture').on('click', async function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+
+ // Remove profile picture without confirmation dialog
+ try {
+ await window.removeProfilePicture(window.user.username);
+
+ // Update UI immediately after successful removal
+ updateProfilePictureUI($el_window);
+
+ // Show success message
+ window.show_save_account_notice_message(i18n('profile_picture_removed') || 'Profile picture removed successfully');
+ } catch (error) {
+ console.error('Error removing profile picture:', error);
+ // Show error message
+ window.show_save_account_notice_message(i18n('error_removing_profile_picture') || 'Failed to remove profile picture. Please try again.', 'error');
+ }
+ });
+
+ // Function to update profile picture UI after changes
+ function updateProfilePictureUI($el_window) {
+ // Use the global profile picture update function
+ window.updateAllProfilePictures();
+
+ // Update the action buttons - hide/show remove button based on picture presence
+ const hasProfilePicture = window.user?.profile?.picture;
+ if (hasProfilePicture) {
+ // Show remove button if it doesn't exist
+ if ($el_window.find('.remove-profile-picture').length === 0) {
+ $el_window.find('.profile-picture-actions').append(
+ `
`
+ );
+ // Re-attach event handler for the new button
+ $el_window.find('.remove-profile-picture').on('click', async function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+
+ // Remove profile picture without confirmation dialog
+ try {
+ await window.removeProfilePicture(window.user.username);
+ updateProfilePictureUI($el_window);
+ window.show_save_account_notice_message(i18n('profile_picture_removed') || 'Profile picture removed successfully');
+ } catch (error) {
+ console.error('Error removing profile picture:', error);
+ window.show_save_account_notice_message(i18n('error_removing_profile_picture') || 'Failed to remove profile picture. Please try again.', 'error');
+ }
+ });
+ }
+ } else {
+ // Hide remove button
+ $el_window.find('.remove-profile-picture').remove();
+ }
+ }
- $el_window.on('file_opened', async function(e){
+ $el_window.on('file_opened', async function (e) {
let selected_file = Array.isArray(e.detail) ? e.detail[0] : e.detail;
// set profile picture
const profile_pic = await puter.fs.read(selected_file.path)
// blob to base64
const reader = new FileReader();
reader.readAsDataURL(profile_pic);
- reader.onloadend = function() {
+ reader.onloadend = function () {
// resizes the image to 150x150
const img = new Image();
img.src = reader.result;
- img.onload = function() {
+ img.onload = function () {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 150;
canvas.height = 150;
ctx.drawImage(img, 0, 0, 150, 150);
const base64data = canvas.toDataURL('image/png');
- // update profile picture
- $el_window.find('.profile-picture').css('background-image', 'url(' + html_encode(base64data) + ')');
- $('.profile-image').css('background-image', 'url(' + html_encode(base64data) + ')');
- $('.profile-image').addClass('profile-image-has-picture');
- // update profile picture
- update_profile(window.user.username, {picture: base64data})
+ // update profile picture in user object first
+ if (!window.user.profile) {
+ window.user.profile = {};
+ }
+ window.user.profile.picture = base64data;
+ // update UI using the centralized function
+ updateProfilePictureUI($el_window);
+ // update profile picture in storage
+ update_profile(window.user.username, { picture: base64data })
}
}
})
+
},
};
diff --git a/src/gui/src/css/style.css b/src/gui/src/css/style.css
index 4c7d1637e2..e2c47fc653 100644
--- a/src/gui/src/css/style.css
+++ b/src/gui/src/css/style.css
@@ -18,169 +18,187 @@
*/
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Thin.ttf') format('truetype');
- font-weight: 100;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Thin.ttf") format("truetype");
+ font-weight: 100;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-ExtraLight.ttf') format('truetype');
- font-weight: 200;
+ font-family: "Inter";
+ src: url("/fonts/Inter-ExtraLight.ttf") format("truetype");
+ font-weight: 200;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Light.ttf') format('truetype');
- font-weight: 300;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Light.ttf") format("truetype");
+ font-weight: 300;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Regular.ttf') format('truetype');
- font-weight: 400;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Regular.ttf") format("truetype");
+ font-weight: 400;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Medium.ttf') format('truetype');
- font-weight: 500;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Medium.ttf") format("truetype");
+ font-weight: 500;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-SemiBold.ttf') format('truetype');
- font-weight: 600;
+ font-family: "Inter";
+ src: url("/fonts/Inter-SemiBold.ttf") format("truetype");
+ font-weight: 600;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Bold.ttf') format('truetype');
- font-weight: 700;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Bold.ttf") format("truetype");
+ font-weight: 700;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-ExtraBold.ttf') format('truetype');
- font-weight: 800;
+ font-family: "Inter";
+ src: url("/fonts/Inter-ExtraBold.ttf") format("truetype");
+ font-weight: 800;
}
@font-face {
- font-family: 'Inter';
- src: url('/fonts/Inter-Black.ttf') format('truetype');
- font-weight: 900;
+ font-family: "Inter";
+ src: url("/fonts/Inter-Black.ttf") format("truetype");
+ font-weight: 900;
}
* {
- font-family: "Inter", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif;
- user-select: none;
- font-optical-sizing: auto;
- font-style: normal;
- font-variation-settings: "slnt"0;
+ font-family: "Inter", "Helvetica Neue", HelveticaNeue, Helvetica, Arial,
+ sans-serif;
+ user-select: none;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-variation-settings: "slnt" 0;
}
pre {
- font-family: "Inter", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif;
+ font-family: "Inter", "Helvetica Neue", HelveticaNeue, Helvetica, Arial,
+ sans-serif;
}
:root {
- --primary-hue: 210;
- --primary-saturation: 41.18%;
- --primary-lightness: 93.33%;
- --primary-alpha: 0.8;
- --primary-color: #373e44;
-
- --window-head-hue: var(--primary-hue);
- --window-head-saturation: var(--primary-saturation);
- --window-head-lightness: var(--primary-lightness);
- --window-head-alpha: var(--primary-alpha);
- --window-head-color: var(--primary-color);
-
- --window-sidebar-hue: var(--primary-hue);
- --window-sidebar-saturation: var(--primary-saturation);
- --window-sidebar-lightness: var(--primary-lightness);
- --window-sidebar-alpha: calc(min(1, 0.11 + var(--primary-alpha)));
- --window-sidebar-color: var(--primary-color);
-
- --taskbar-hue: var(--primary-hue);
- --taskbar-saturation: var(--primary-saturation);
- --taskbar-lightness: var(--primary-lightness);
- --taskbar-alpha: calc(0.73 * var(--primary-alpha));
- --taskbar-color: var(--primary-color);
-
- --select-hue: 213.05;
- --select-saturation: 74.22%;
- --select-lightness: 55.88%;
- --select-color: hsl(var(--select-hue), var(--select-saturation), var(--select-lightness));
-}
-
-html, body {
- /* disables two fingers back/forward swipe */
- overscroll-behavior-x: none;
+ --primary-hue: 210;
+ --primary-saturation: 41.18%;
+ --primary-lightness: 93.33%;
+ --primary-alpha: 0.8;
+ --primary-color: #373e44;
+
+ --window-head-hue: var(--primary-hue);
+ --window-head-saturation: var(--primary-saturation);
+ --window-head-lightness: var(--primary-lightness);
+ --window-head-alpha: var(--primary-alpha);
+ --window-head-color: var(--primary-color);
+
+ --window-sidebar-hue: var(--primary-hue);
+ --window-sidebar-saturation: var(--primary-saturation);
+ --window-sidebar-lightness: var(--primary-lightness);
+ --window-sidebar-alpha: calc(min(1, 0.11 + var(--primary-alpha)));
+ --window-sidebar-color: var(--primary-color);
+
+ --taskbar-hue: var(--primary-hue);
+ --taskbar-saturation: var(--primary-saturation);
+ --taskbar-lightness: var(--primary-lightness);
+ --taskbar-alpha: calc(0.73 * var(--primary-alpha));
+ --taskbar-color: var(--primary-color);
+
+ --select-hue: 213.05;
+ --select-saturation: 74.22%;
+ --select-lightness: 55.88%;
+ --select-color: hsl(
+ var(--select-hue),
+ var(--select-saturation),
+ var(--select-lightness)
+ );
+}
+
+html,
+body {
+ /* disables two fingers back/forward swipe */
+ overscroll-behavior-x: none;
}
body {
- background: no-repeat center center fixed;
- background-position: center;
- background-size: cover;
- background-color: #3d4c74;
- overflow: hidden;
+ background: no-repeat center center fixed;
+ background-position: center;
+ background-size: cover;
+ background-color: #3d4c74;
+ overflow: hidden;
}
-.embedded-in-3rd-party-website, .embedded-in-popup {
- background: none !important;
- background-color: #ccccccbe !important;
+.embedded-in-3rd-party-website,
+.embedded-in-popup {
+ background: none !important;
+ background-color: #ccccccbe !important;
}
.disable-user-select {
- cursor: default;
- -webkit-touch-callout: none !important;
- -webkit-user-select: none !important;
- -khtml-user-select: none !important;
- -moz-user-select: none !important;
- -ms-user-select: none !important;
- user-select: none !important;
-}
-
-.enable-user-select, .enable-user-select * {
- cursor: initial;
- -webkit-touch-callout: text !important;
- -webkit-user-select: text !important;
- -khtml-user-select: text !important;
- -moz-user-select: text !important;
- -ms-user-select: text !important;
- user-select: text !important;
+ cursor: default;
+ -webkit-touch-callout: none !important;
+ -webkit-user-select: none !important;
+ -khtml-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.enable-user-select,
+.enable-user-select * {
+ cursor: initial;
+ -webkit-touch-callout: text !important;
+ -webkit-user-select: text !important;
+ -khtml-user-select: text !important;
+ -moz-user-select: text !important;
+ -ms-user-select: text !important;
+ user-select: text !important;
}
.window-container {
- position: fixed;
- top: 0;
- left: -100000px;
- width: 200000px;
- height: 200000px;
- z-index: -9999;
-}
-
-input[type=text], input[type=password], input[type=email], select {
- width: 100%;
- padding: 8px;
- border: 1px solid #ccc;
- border-radius: 4px;
- box-sizing: border-box;
- outline: none;
- -webkit-font-smoothing: antialiased;
- color: #393f46;
- font-size: 14px;
+ position: fixed;
+ top: 0;
+ left: -100000px;
+ width: 200000px;
+ height: 200000px;
+ z-index: -9999;
+}
+
+input[type="text"],
+input[type="password"],
+input[type="email"],
+select {
+ width: 100%;
+ padding: 8px;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ box-sizing: border-box;
+ outline: none;
+ -webkit-font-smoothing: antialiased;
+ color: #393f46;
+ font-size: 14px;
}
/* to prevent auto-zoom on input focus in mobile */
-.device-phone input[type=text], .device-phone input[type=password], .device-phone input[type=email], .device-phone select {
- font-size: 17px;
+.device-phone input[type="text"],
+.device-phone input[type="password"],
+.device-phone input[type="email"],
+.device-phone select {
+ font-size: 17px;
}
-input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, select:focus {
- border: 2px solid #01a0fd;
- padding: 7px;
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="email"]:focus,
+select:focus {
+ border: 2px solid #01a0fd;
+ padding: 7px;
}
/**
@@ -188,1370 +206,1450 @@ input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, sel
*/
.button {
- color: #666666;
- background-color: #eeeeee;
- border-color: #eeeeee;
- font-size: 14px;
- text-decoration: none;
- text-align: center;
- line-height: 40px;
- height: 35px;
- padding: 0 30px;
- margin: 0;
- display: inline-block;
- appearance: none;
- cursor: pointer;
- border: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-color: #b9b9b9;
- border-style: solid;
- border-width: 1px;
- line-height: 35px;
- background: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e1e1e1));
- background: linear-gradient(#f6f6f6, #e1e1e1);
- -webkit-box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%);
- box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%);
- border-radius: 4px;
- outline: none;
+ color: #666666;
+ background-color: #eeeeee;
+ border-color: #eeeeee;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: center;
+ line-height: 40px;
+ height: 35px;
+ padding: 0 30px;
+ margin: 0;
+ display: inline-block;
+ appearance: none;
+ cursor: pointer;
+ border: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-color: #b9b9b9;
+ border-style: solid;
+ border-width: 1px;
+ line-height: 35px;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#f6f6f6),
+ to(#e1e1e1)
+ );
+ background: linear-gradient(#f6f6f6, #e1e1e1);
+ -webkit-box-shadow:
+ inset 0px 1px 0px rgb(255 255 255 / 30%),
+ 0 1px 2px rgb(0 0 0 / 15%);
+ box-shadow:
+ inset 0px 1px 0px rgb(255 255 255 / 30%),
+ 0 1px 2px rgb(0 0 0 / 15%);
+ border-radius: 4px;
+ outline: none;
}
.button:focus-visible {
- border-color: rgb(118 118 118);
-}
-
-.button:active, .button.active, .button.is-active, .button.has-open-contextmenu {
- text-decoration: none;
- background-color: #eeeeee;
- border-color: #cfcfcf;
- color: #a9a9a9;
- -webkit-transition-duration: 0s;
- transition-duration: 0s;
- -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%);
- box-shadow: inset 0px 2px 3px rgb(0 0 0 / 36%), 0px 1px 0px white;
-}
-
-.button.disabled, .button.is-disabled, .button:disabled {
- top: 0 !important;
- background: #EEE !important;
- border: 1px solid #DDD !important;
- text-shadow: 0 1px 1px white !important;
- color: #CCC !important;
- cursor: default !important;
- appearance: none !important;
- pointer-events: none;
-}
-
-.button-action.disabled, .button-action.is-disabled, .button-action:disabled {
- background: #55a975 !important;
- border: 1px solid #60ab7d !important;
- text-shadow: none !important;
- color: #CCC !important;
-}
-
-.button-primary.disabled, .button-primary.is-disabled, .button-primary:disabled {
- background: #8fc2e7 !important;
- border: 1px solid #98adbd !important;
- text-shadow: none !important;
- color: #f5f5f5 !important;
+ border-color: rgb(118 118 118);
+}
+
+.button:active,
+.button.active,
+.button.is-active,
+.button.has-open-contextmenu {
+ text-decoration: none;
+ background-color: #eeeeee;
+ border-color: #cfcfcf;
+ color: #a9a9a9;
+ -webkit-transition-duration: 0s;
+ transition-duration: 0s;
+ -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%);
+ box-shadow:
+ inset 0px 2px 3px rgb(0 0 0 / 36%),
+ 0px 1px 0px white;
+}
+
+.button.disabled,
+.button.is-disabled,
+.button:disabled {
+ top: 0 !important;
+ background: #eee !important;
+ border: 1px solid #ddd !important;
+ text-shadow: 0 1px 1px white !important;
+ color: #ccc !important;
+ cursor: default !important;
+ appearance: none !important;
+ pointer-events: none;
+}
+
+.button-action.disabled,
+.button-action.is-disabled,
+.button-action:disabled {
+ background: #55a975 !important;
+ border: 1px solid #60ab7d !important;
+ text-shadow: none !important;
+ color: #ccc !important;
+}
+
+.button-primary.disabled,
+.button-primary.is-disabled,
+.button-primary:disabled {
+ background: #8fc2e7 !important;
+ border: 1px solid #98adbd !important;
+ text-shadow: none !important;
+ color: #f5f5f5 !important;
}
.button-block {
- width: 100%;
+ width: 100%;
}
.button-primary {
- border-color: #088ef0;
- background: -webkit-gradient(linear, left top, left bottom, from(#34a5f8), to(#088ef0));
- background: linear-gradient(#34a5f8, #088ef0);
- color: white;
+ border-color: #088ef0;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#34a5f8),
+ to(#088ef0)
+ );
+ background: linear-gradient(#34a5f8, #088ef0);
+ color: white;
}
.button-danger {
- border-color: #f00808;
- background: -webkit-gradient(linear, left top, left bottom, from(#f83434), to(#f00808));
- background: linear-gradient(#f83434, #f00808);
- color: white;
-}
-
-.button-primary:active, .button-primary.active, .button-primary.is-active, .button-primary-flat:active, .button-primary-flat.active, .button-primary-flat.is-active {
- background-color: #2798eb;
- border-color: #2798eb;
- color: #bedef5;
+ border-color: #f00808;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#f83434),
+ to(#f00808)
+ );
+ background: linear-gradient(#f83434, #f00808);
+ color: white;
+}
+
+.button-primary:active,
+.button-primary.active,
+.button-primary.is-active,
+.button-primary-flat:active,
+.button-primary-flat.active,
+.button-primary-flat.is-active {
+ background-color: #2798eb;
+ border-color: #2798eb;
+ color: #bedef5;
}
.button-action {
- border-color: #08bf4e;
- background: -webkit-gradient(linear, left top, left bottom, from(#29d55d), to(#1ccd60));
- background: linear-gradient(#29d55d, #1ccd60);
- color: white;
-}
-
-.button-action:active, .button-action.active, .button-action.is-active, .button-action-flat:active, .button-action-flat.active, .button-action-flat.is-active {
- background-color: #27eb41;
- border-color: #27eb41;
- color: #bef5ca;
+ border-color: #08bf4e;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#29d55d),
+ to(#1ccd60)
+ );
+ background: linear-gradient(#29d55d, #1ccd60);
+ color: white;
+}
+
+.button-action:active,
+.button-action.active,
+.button-action.is-active,
+.button-action-flat:active,
+.button-action-flat.active,
+.button-action-flat.is-active {
+ background-color: #27eb41;
+ border-color: #27eb41;
+ color: #bef5ca;
}
.button-giant {
- font-size: 28px;
- height: 70px;
- line-height: 70px;
- padding: 0 70px;
+ font-size: 28px;
+ height: 70px;
+ line-height: 70px;
+ padding: 0 70px;
}
.button-jumbo {
- font-size: 24px;
- height: 60px;
- line-height: 60px;
- padding: 0 60px;
+ font-size: 24px;
+ height: 60px;
+ line-height: 60px;
+ padding: 0 60px;
}
.button-large {
- font-size: 20px;
- height: 50px;
- line-height: 50px;
- padding: 0 50px;
+ font-size: 20px;
+ height: 50px;
+ line-height: 50px;
+ padding: 0 50px;
}
.button-normal {
- font-size: 16px;
- height: 40px;
- line-height: 38px;
- padding: 0 40px;
+ font-size: 16px;
+ height: 40px;
+ line-height: 38px;
+ padding: 0 40px;
}
.button-small {
- height: 30px;
- line-height: 29px;
- padding: 0 30px;
+ height: 30px;
+ line-height: 29px;
+ padding: 0 30px;
}
.button-tiny {
- font-size: 9.6px;
- height: 24px;
- line-height: 24px;
- padding: 0 24px;
+ font-size: 9.6px;
+ height: 24px;
+ line-height: 24px;
+ padding: 0 24px;
}
.desktop {
- display: none;
- overflow: hidden;
- height: calc(100vh - 60px);
- width: 100%;
- display: grid;
- grid-template-rows: repeat(auto-fill, 109px);
- grid-auto-flow: column;
- grid-template-columns: repeat(auto-fill, 120px);
+ display: none;
+ overflow: hidden;
+ height: calc(100vh - 60px);
+ width: 100%;
+ display: grid;
+ grid-template-rows: repeat(auto-fill, 109px);
+ grid-auto-flow: column;
+ grid-template-columns: repeat(auto-fill, 120px);
}
.fullpage-mode .window-minimize-btn {
- display: none;
+ display: none;
}
.device-phone .desktop {
- height: calc(100vh - 90px) !important;
- height: calc(100dvh - 90px) !important;
+ height: calc(100vh - 90px) !important;
+ height: calc(100dvh - 90px) !important;
}
.item-container-list {
- display: grid;
- overflow-x: scroll !important;
- overflow-y: hidden !important;
- grid-template-rows: repeat(auto-fill, 18px);
- grid-auto-flow: column;
- gap: 15px 70px;
- padding-top: 5px;
+ display: grid;
+ overflow-x: scroll !important;
+ overflow-y: hidden !important;
+ grid-template-rows: repeat(auto-fill, 18px);
+ grid-auto-flow: column;
+ gap: 15px 70px;
+ padding-top: 5px;
}
.device-phone .item-container-list {
- grid-template-rows: repeat(auto-fill, 55px);
- overflow-x: hidden !important;
- overflow-y: scroll !important;
- grid-auto-flow: unset;
+ grid-template-rows: repeat(auto-fill, 55px);
+ overflow-x: hidden !important;
+ overflow-y: scroll !important;
+ grid-auto-flow: unset;
}
.item-container-details {
- overflow-x: scroll !important;
- overflow-y: scroll !important;
- padding-top: 5px;
+ overflow-x: scroll !important;
+ overflow-y: scroll !important;
+ padding-top: 5px;
}
.item {
- width: 110px;
- height: 70px;
- user-select: none !important;
- -moz-user-select: none !important;
- -webkit-user-select: none;
- text-align: center;
- margin: 15px 5px 30px 5px;
- float: left;
- position: relative;
- scroll-margin: 15px 15px 100px 15px;
- pointer-events: all;
+ width: 110px;
+ height: 70px;
+ user-select: none !important;
+ -moz-user-select: none !important;
+ -webkit-user-select: none;
+ text-align: center;
+ margin: 15px 5px 30px 5px;
+ float: left;
+ position: relative;
+ scroll-margin: 15px 15px 100px 15px;
+ pointer-events: all;
}
.item-disabled {
- opacity: 0.7;
- pointer-events: none;
+ opacity: 0.7;
+ pointer-events: none;
}
.item-revealed {
- opacity: 0.9;
+ opacity: 0.9;
}
.item-hidden {
- display: none
+ display: none;
}
.item-revealed.item-disabled {
- opacity: 0.7
+ opacity: 0.7;
}
.item-container-list .item {
- height: initial;
- width: max-content;
- margin: 0;
- pointer-events: all;
+ height: initial;
+ width: max-content;
+ margin: 0;
+ pointer-events: all;
}
.device-phone .item-container-list .item {
- height: 50px;
- width: 100%;
- padding-left: 10px;
+ height: 50px;
+ width: 100%;
+ padding-left: 10px;
}
.item-container-details .item {
- height: initial;
- width: max-content;
- margin: 0;
- pointer-events: all;
- width: 100vw;
- margin-bottom: 20px;
+ height: initial;
+ width: max-content;
+ margin: 0;
+ pointer-events: all;
+ width: 100vw;
+ margin-bottom: 20px;
}
.explore-table-headers {
- display: none;
- width: 100vw;
- height: 25px;
- border-bottom: 1px solid rgb(226, 226, 226);
- background-color: #fff;
- margin-left: -10px;
- padding-top: 0;
- margin-top: -7px;
- margin-bottom: 8px;
- position: sticky;
- top: -7px;
- z-index: 1;
+ display: none;
+ width: 100vw;
+ height: 25px;
+ border-bottom: 1px solid rgb(226, 226, 226);
+ background-color: #fff;
+ margin-left: -10px;
+ padding-top: 0;
+ margin-top: -7px;
+ margin-bottom: 8px;
+ position: sticky;
+ top: -7px;
+ z-index: 1;
}
.device-phone .explore-table-headers {
- display: none !important;
+ display: none !important;
}
.header-sort-icon {
- margin-left: 7px;
- pointer-events: none;
+ margin-left: 7px;
+ pointer-events: none;
}
span.header-sort-icon img {
- margin-bottom: -1px;
- width: 10px;
+ margin-bottom: -1px;
+ width: 10px;
}
.explore-table-headers .explore-table-headers-th {
- font-size: 12px;
- line-height: 25px;
- margin-left: 15px;
- color: #555c61;
- display: inline-block;
+ font-size: 12px;
+ line-height: 25px;
+ margin-left: 15px;
+ color: #555c61;
+ display: inline-block;
}
.explore-table-headers-th-active {
- font-weight: bold;
+ font-weight: bold;
}
.explore-table-headers-th--name {
- width: 330px;
+ width: 330px;
}
.explore-table-headers-th--size {
- width: 135px;
+ width: 135px;
}
.explore-table-headers-th--modified {
- width: 135px;
+ width: 135px;
}
.item-container-details .explore-table-headers {
- display: block;
+ display: block;
}
-.item-disabled .item-icon, .item-disabled .item-name {
- opacity: 0.7;
- pointer-events: none;
+.item-disabled .item-icon,
+.item-disabled .item-name {
+ opacity: 0.7;
+ pointer-events: none;
}
.item-icon {
- display: block;
- margin: 0 auto;
- padding: 5px;
- height: 45px;
- width: 45px;
- filter: drop-shadow(1px 1px 1px rgba(102, 102, 102, .5));
- display: flex;
- justify-content: center;
- align-items: center;
+ display: block;
+ margin: 0 auto;
+ padding: 5px;
+ height: 45px;
+ width: 45px;
+ filter: drop-shadow(1px 1px 1px rgba(102, 102, 102, 0.5));
+ display: flex;
+ justify-content: center;
+ align-items: center;
}
.item-container-list .item-icon {
- float: left;
- height: 15px;
- width: 15px;
+ float: left;
+ height: 15px;
+ width: 15px;
}
.device-phone .item-container-list .item-icon {
- float: left;
- height: 45px;
- width: 45px;
+ float: left;
+ height: 45px;
+ width: 45px;
}
.item-container-details .item-icon {
- float: left;
- height: 15px;
- width: 15px;
+ float: left;
+ height: 15px;
+ width: 15px;
}
.device-desktop .item-container-details .item-selected .item-icon {
- background-color: transparent;
+ background-color: transparent;
}
.item-icon img {
- max-height: 45px;
- max-width: 45px;
+ max-height: 45px;
+ max-width: 45px;
}
.item-container-list .item-icon img {
- max-height: 15px;
- max-width: 15px;
+ max-height: 15px;
+ max-width: 15px;
}
.device-phone .item-container-list .item-icon img {
- max-height: 45px;
- max-width: 45px;
+ max-height: 45px;
+ max-width: 45px;
}
.item-container-details .item-icon img {
- max-height: 15px;
- max-width: 15px;
+ max-height: 15px;
+ max-width: 15px;
}
.item-icon-thumb {
- padding: 1px;
- background-color: white;
- border: 1px solid #EEE;
- border-radius: 3px;
+ padding: 1px;
+ background-color: white;
+ border: 1px solid #eee;
+ border-radius: 3px;
}
.device-desktop .item-selected .item-icon {
- background-color: #d4d4d430;
- border-radius: 3px;
- filter: drop-shadow(0px 0px 1px rgba(102, 102, 102, 1));
+ background-color: #d4d4d430;
+ border-radius: 3px;
+ filter: drop-shadow(0px 0px 1px rgba(102, 102, 102, 1));
}
.item-badges {
- position: absolute;
- height: 15px;
- width: 55px;
- text-align: center;
- justify-content: right;
- display: flex;
- top: 38px;
- left: 28px;
- right: 50%;
+ position: absolute;
+ height: 15px;
+ width: 55px;
+ text-align: center;
+ justify-content: right;
+ display: flex;
+ top: 38px;
+ left: 28px;
+ right: 50%;
}
.item-container-list .item-badges {
- display: none;
+ display: none;
}
.item-container-details .item-badges {
- display: none;
+ display: none;
}
.item-badge {
- filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, .4));
- display: none;
- margin: 1px;
- width: 15px;
- height: 15px;
- box-sizing: border-box;
- border-radius: 100%;
+ filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.4));
+ display: none;
+ margin: 1px;
+ width: 15px;
+ height: 15px;
+ box-sizing: border-box;
+ border-radius: 100%;
}
.item-badge.item-shortcut {
- border-radius: 1px;
- background: white;
+ border-radius: 1px;
+ background: white;
}
.item-has-website-badge {
- filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, .4));
- display: none;
- cursor: pointer;
+ filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.4));
+ display: none;
+ cursor: pointer;
}
.item-has-website-url-badge {
- cursor: pointer;
+ cursor: pointer;
}
.item-has-website-url-badge.has-open-contextmenu {
- filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
+ filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
}
-.item-name, .item-name-editor, .item-name-shadow {
- font-size: 12px;
- color: white;
- text-shadow: 0px 0px 3px #00000082, 0px 0px 3px #00000082, 0px 0px 3px #00000082;
- -webkit-font-smoothing: antialiased;
- padding: 3px;
- margin-top: 4px;
- display: inline-block;
- font-weight: bold;
- border-radius: 4px;
- box-sizing: border-box;
- white-space: pre-wrap;
- word-break: break-word;
+.item-name,
+.item-name-editor,
+.item-name-shadow {
+ font-size: 12px;
+ color: white;
+ text-shadow:
+ 0px 0px 3px #00000082,
+ 0px 0px 3px #00000082,
+ 0px 0px 3px #00000082;
+ -webkit-font-smoothing: antialiased;
+ padding: 3px;
+ margin-top: 4px;
+ display: inline-block;
+ font-weight: bold;
+ border-radius: 4px;
+ box-sizing: border-box;
+ white-space: pre-wrap;
+ word-break: break-word;
}
.item-name {
- transition: opacity 0.2s ease-in-out;
- cursor: default;
- max-width: 110px;
+ transition: opacity 0.2s ease-in-out;
+ cursor: default;
+ max-width: 110px;
}
.item-container-list .item-name {
- margin-top: 2px;
- float: left;
- max-width: initial;
+ margin-top: 2px;
+ float: left;
+ max-width: initial;
}
.item-container-details .item-name {
- margin-top: 2px;
- float: left;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- text-align: left;
- max-width: 220px;
+ margin-top: 2px;
+ float: left;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ text-align: left;
+ max-width: 220px;
}
.item-name-shadow {
- display: none;
- max-width: 110px;
+ display: none;
+ max-width: 110px;
}
.item-name-editor {
- background: none;
- background-color: white;
- text-shadow: none;
- color: black;
- text-align: center;
- border: none;
- max-width: 100%;
- padding: 1px 3px;
- resize: none;
- display: none;
- margin: 6px auto;
- user-select: initial;
- position: relative;
- box-sizing: border-box;
- z-index: 999999999;
+ background: none;
+ background-color: white;
+ text-shadow: none;
+ color: black;
+ text-align: center;
+ border: none;
+ max-width: 100%;
+ padding: 1px 3px;
+ resize: none;
+ display: none;
+ margin: 6px auto;
+ user-select: initial;
+ position: relative;
+ box-sizing: border-box;
+ z-index: 999999999;
}
.item-container-list .item-name-editor {
- width: fit-content !important;
- max-width: 200px !important;
- text-align: left;
- background-color: white !important;
+ width: fit-content !important;
+ max-width: 200px !important;
+ text-align: left;
+ background-color: white !important;
}
.item-container-list .item-name-editor-active {
- background-color: white !important;
+ background-color: white !important;
}
.item-container-details .item-name-editor {
- width: fit-content !important;
- max-width: 200px !important;
- text-align: left;
- background-color: white !important;
- position: absolute;
- left: 35px;
+ width: fit-content !important;
+ max-width: 200px !important;
+ text-align: left;
+ background-color: white !important;
+ position: absolute;
+ left: 35px;
}
.item-container-details .item-name-editor-active {
- background-color: white !important;
+ background-color: white !important;
}
.item-name-editor-active {
- display: block;
+ display: block;
}
.item-attr {
- display: none;
- position: absolute;
- text-align: left;
- font-size: 12px;
- height: 25px;
- line-height: 25px;
- width: max-content;
- color: #738c9f;
+ display: none;
+ position: absolute;
+ text-align: left;
+ font-size: 12px;
+ height: 25px;
+ line-height: 25px;
+ width: max-content;
+ color: #738c9f;
}
.item-container-details .item-attr {
- display: inline;
+ display: inline;
}
.device-desktop .item-container-details .item-selected .item-attr {
- color: white;
+ color: white;
}
.item-container-details .item-attr--modified {
- left: 350px;
+ left: 350px;
}
.item-container-details .item-attr--size {
- left: 500px;
+ left: 500px;
}
.item-container-details .item-attr--type {
- left: 650px;
+ left: 650px;
}
.window-disabled {
- pointer-events: none !important;
+ pointer-events: none !important;
}
.window-disable-mask {
- width: 100%;
- height: 100%;
- position: absolute;
- display: none;
- background-color: #d1d1d18a;
- pointer-events: initial;
- z-index: 2;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ display: none;
+ background-color: #d1d1d18a;
+ pointer-events: initial;
+ z-index: 2;
}
-.device-phone .window-disable-mask, .device-tablet .window-disable-mask {
- background-color: #626060a1;
+.device-phone .window-disable-mask,
+.device-tablet .window-disable-mask {
+ background-color: #626060a1;
}
.window-disable-mask .busy-indicator {
- -moz-animation: three-quarters-loader 1250ms infinite linear;
- -webkit-animation: three-quarters-loader 1250ms infinite linear;
- animation: three-quarters-loader 1250ms infinite linear;
- border: 5px solid rgb(75, 75, 75);
- border-right-color: transparent;
- border-radius: 100%;
- box-sizing: border-box;
- display: inline-block;
- position: relative;
- overflow: hidden;
- text-indent: -9999px;
- width: 45px;
- height: 45px;
- position: absolute;
- top: calc(50% - 22px) !important;
- left: calc(50% - 22px) !important;
- transform: translate(-50%, -50%);
- display: none;
+ -moz-animation: three-quarters-loader 1250ms infinite linear;
+ -webkit-animation: three-quarters-loader 1250ms infinite linear;
+ animation: three-quarters-loader 1250ms infinite linear;
+ border: 5px solid rgb(75, 75, 75);
+ border-right-color: transparent;
+ border-radius: 100%;
+ box-sizing: border-box;
+ display: inline-block;
+ position: relative;
+ overflow: hidden;
+ text-indent: -9999px;
+ width: 45px;
+ height: 45px;
+ position: absolute;
+ top: calc(50% - 22px) !important;
+ left: calc(50% - 22px) !important;
+ transform: translate(-50%, -50%);
+ display: none;
}
.window-body .item .item-name {
- color: rgb(73, 73, 73);
- text-shadow: none;
- font-weight: 500;
- font-size: 13px;
- margin-left: 3px;
+ color: rgb(73, 73, 73);
+ text-shadow: none;
+ font-weight: 500;
+ font-size: 13px;
+ margin-left: 3px;
}
.device-phone .item-container-list .item .item-name {
- line-height: 42px;
- border-bottom: 1px solid #e3e3e3;
- padding-bottom: 15px;
- width: calc(100% - 75px);
- text-align: left;
+ line-height: 42px;
+ border-bottom: 1px solid #e3e3e3;
+ padding-bottom: 15px;
+ width: calc(100% - 75px);
+ text-align: left;
}
.window-body .item .item-name-editor {
- font-weight: 500;
- font-size: 13px;
+ font-weight: 500;
+ font-size: 13px;
}
-.device-desktop .item-selected>.item-name, .device-desktop .window-body .item-selected>.item-name {
- background-color: #3b56ee;
- color: white;
+.device-desktop .item-selected > .item-name,
+.device-desktop .window-body .item-selected > .item-name {
+ background-color: #3b56ee;
+ color: white;
}
.device-desktop .item-container-details .item-selected {
- background-color: #3b56ee;
- border-radius: 3px;
+ background-color: #3b56ee;
+ border-radius: 3px;
}
.device-desktop .item-selected.item-blurred .item-name {
- background-color: #dbdada;
- color: rgb(73, 73, 73);
- text-shadow: none;
+ background-color: #dbdada;
+ color: rgb(73, 73, 73);
+ text-shadow: none;
}
.window-body .item-name-editor {
- color: rgb(73, 73, 73);
- text-shadow: none;
+ color: rgb(73, 73, 73);
+ text-shadow: none;
}
.window-menubar:not(.window-menubar-global):empty {
- display: none !important;
+ display: none !important;
}
.window-menubar {
- display: flex;
- box-sizing: border-box;
- overflow: hidden;
- border-bottom: 1px solid #e3e3e3;
- background-color: #fafafa;
- --scale: 2pt;
- padding: 2px 5px;
+ display: flex;
+ box-sizing: border-box;
+ overflow: hidden;
+ border-bottom: 1px solid #e3e3e3;
+ background-color: #fafafa;
+ --scale: 2pt;
+ padding: 2px 5px;
}
.window-menubar-global {
- background-color: transparent;
- color: white;
- border-bottom: none;
- flex-grow: 1;
- scale: 1;
- --scale: 1;
- margin-left: 15px;
- padding: 0;
+ background-color: transparent;
+ color: white;
+ border-bottom: none;
+ flex-grow: 1;
+ scale: 1;
+ --scale: 1;
+ margin-left: 15px;
+ padding: 0;
}
.window-menubar-global .window-menubar-item span {
- padding: 3px 10px;
- font-size: 13px;
- border-radius: 3px;
+ padding: 3px 10px;
+ font-size: 13px;
+ border-radius: 3px;
}
.window-menubar-item {
- padding: calc(1.4 * var(--scale)) 0;
- font-size: calc(5 * var(--scale));
- overflow: hidden !important;
+ padding: calc(1.4 * var(--scale)) 0;
+ font-size: calc(5 * var(--scale));
+ overflow: hidden !important;
}
.window-menubar-item span {
- display: inline-block;
- padding: calc(1.6 * var(--scale)) calc(4 * var(--scale));
- font-size: calc(5 * var(--scale));
- border-radius: calc(1.5 * var(--scale));
+ display: inline-block;
+ padding: calc(1.6 * var(--scale)) calc(4 * var(--scale));
+ font-size: calc(5 * var(--scale));
+ border-radius: calc(1.5 * var(--scale));
}
-.window-menubar-item.active>span {
- background-color: #e2e2e2;
+.window-menubar-item.active > span {
+ background-color: #e2e2e2;
}
-.window-menubar-global .window-menubar-item.active>span {
- background-color: #e4e4e43a;
+.window-menubar-global .window-menubar-item.active > span {
+ background-color: #e4e4e43a;
}
.explorer-empty-message {
- text-align: center;
- margin-top: 20px;
- color: #a3a3a3;
- -webkit-font-smoothing: antialiased;
- display: none;
+ text-align: center;
+ margin-top: 20px;
+ color: #a3a3a3;
+ -webkit-font-smoothing: antialiased;
+ display: none;
}
.explorer-error-message {
- text-align: center;
- margin-top: 20px;
- color: #935c5c;
- -webkit-font-smoothing: antialiased;
- display: none;
+ text-align: center;
+ margin-top: 20px;
+ color: #935c5c;
+ -webkit-font-smoothing: antialiased;
+ display: none;
}
.explorer-loading-spinner {
- margin-top: 20px;
- font-size: 13px;
- display: none;
+ margin-top: 20px;
+ font-size: 13px;
+ display: none;
}
.explorer-loading-spinner-msg {
- text-align: center;
- margin-top: 5px;
- color: #a3a3a3;
- font-size: 15px;
- -webkit-font-smoothing: antialiased;
+ text-align: center;
+ margin-top: 5px;
+ color: #a3a3a3;
+ font-size: 15px;
+ -webkit-font-smoothing: antialiased;
}
/* Window */
.window {
- display: none;
- position: absolute;
- background: transparent;
- padding: 0;
- border: 1px solid #9a9a9a;
- box-shadow: 0px 0px 15px #00000066;
- overflow: hidden;
- border-radius: 4px;
- border: none;
- transition: opacity .2s;
- user-select: none !important;
- -moz-user-select: none !important;
- -webkit-user-select: none;
+ display: none;
+ position: absolute;
+ background: transparent;
+ padding: 0;
+ border: 1px solid #9a9a9a;
+ box-shadow: 0px 0px 15px #00000066;
+ overflow: hidden;
+ border-radius: 4px;
+ border: none;
+ transition: opacity 0.2s;
+ user-select: none !important;
+ -moz-user-select: none !important;
+ -webkit-user-select: none;
}
.window[data-is_maximized="1"] {
- transform: none;
- border-radius: 0;
+ transform: none;
+ border-radius: 0;
}
.window-cover-page {
- border-radius: 0;
+ border-radius: 0;
}
.device-phone .window[data-is_maximized="1"] {
- top: 0 !important;
+ top: 0 !important;
}
-.device-phone .window, .device-tablet .window {
- z-index: 9999999 !important;
+.device-phone .window,
+.device-tablet .window {
+ z-index: 9999999 !important;
}
-.device-phone .window-alert, .device-tablet .window-alert {
- min-width: 90%;
- max-width: 300px;
- position: absolute;
- left: 50% !important;
- top: 50% !important;
- transform: translate(-50%, -50%);
+.device-phone .window-alert,
+.device-tablet .window-alert {
+ min-width: 90%;
+ max-width: 300px;
+ position: absolute;
+ left: 50% !important;
+ top: 50% !important;
+ transform: translate(-50%, -50%);
}
.device-tablet .window .window-scale-btn,
.device-phone .window .window-scale-btn,
.device-phone .window .ui-resizable-handle {
- display: none !important;
+ display: none !important;
}
.window-backdrop {
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- background-color: #00000080;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background-color: #00000080;
}
.window.ui-resizable-resizing {
- transition: none;
+ transition: none;
}
.window-dragging {
- transition: none;
+ transition: none;
}
.window-head-draggable {
- overflow: hidden;
- flex-grow: 1;
- display: flex;
+ overflow: hidden;
+ flex-grow: 1;
+ display: flex;
}
.window-head {
- overflow: hidden !important;
- padding: 0;
- background-color: hsla(var(--window-head-hue),
- var(--window-head-saturation),
- var(--window-head-lightness),
- calc(0.5 + 0.5 * var(--window-head-alpha)));
- filter: grayscale(80%);
- box-shadow: inset 0px -4px 5px -7px rgb(0 0 0 / 64%);
- display: flex;
- flex-flow: row;
- padding-left: 5px;
- margin-bottom: -1px;
+ overflow: hidden !important;
+ padding: 0;
+ background-color: hsla(
+ var(--window-head-hue),
+ var(--window-head-saturation),
+ var(--window-head-lightness),
+ calc(0.5 + 0.5 * var(--window-head-alpha))
+ );
+ filter: grayscale(80%);
+ box-shadow: inset 0px -4px 5px -7px rgb(0 0 0 / 64%);
+ display: flex;
+ flex-flow: row;
+ padding-left: 5px;
+ margin-bottom: -1px;
}
.device-phone .window-head {
- /* not transparent on mobile */
- background-color: rgba(231, 238, 245);
+ /* not transparent on mobile */
+ background-color: rgba(231, 238, 245);
}
-.window-head, .window-head * {
- user-select: none !important;
- -moz-user-select: none !important;
- -webkit-user-select: none !important;
- -ms-user-select: none !important;
- cursor: default;
+.window-head,
+.window-head * {
+ user-select: none !important;
+ -moz-user-select: none !important;
+ -webkit-user-select: none !important;
+ -ms-user-select: none !important;
+ cursor: default;
}
.window-active .window-head {
- filter: none !important;
+ filter: none !important;
}
.window-head-title {
- float: left;
- line-height: 30px;
- font-size: 14px;
- /* color: #666d74; */
- margin-left: 10px;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- color: var(--window-head-color);
+ float: left;
+ line-height: 30px;
+ font-size: 14px;
+ /* color: #666d74; */
+ margin-left: 10px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ color: var(--window-head-color);
}
.window-active .window-head-title {
- /* color: #373e44; */
- color: var(--window-head-color)
+ /* color: #373e44; */
+ color: var(--window-head-color);
}
.window-head-icon {
- float: left;
- width: 16px;
- height: 16px;
- margin-left: 8px;
- margin-top: 7px;
- margin-right: -5px;
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ float: left;
+ width: 16px;
+ height: 16px;
+ margin-left: 8px;
+ margin-top: 7px;
+ margin-right: -5px;
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
}
.window-navbar {
- overflow: hidden;
- border-bottom: 1px solid #e3e3e3;
- padding: 5px 0 5px 1px;
- background-color: #fafafa;
- height: 48px;
- box-sizing: border-box;
+ overflow: hidden;
+ border-bottom: 1px solid #e3e3e3;
+ padding: 5px 0 5px 1px;
+ background-color: #fafafa;
+ height: 48px;
+ box-sizing: border-box;
}
.window-navbar-btn {
- margin: 7px 6px 0;
- cursor: pointer;
- width: 17px;
- border-radius: 100%;
- padding: 3px;
- transition: background-color 0.2s ease-in;
+ margin: 7px 6px 0;
+ cursor: pointer;
+ width: 17px;
+ border-radius: 100%;
+ padding: 3px;
+ transition: background-color 0.2s ease-in;
}
-.window-navbar-btn:hover, .window-navbar-btn.has-open-contextmenu {
- background-color: #dfdfdf;
+.window-navbar-btn:hover,
+.window-navbar-btn.has-open-contextmenu {
+ background-color: #dfdfdf;
}
.window-navbar-btn-disabled {
- pointer-events: none;
- opacity: 0.5;
+ pointer-events: none;
+ opacity: 0.5;
}
.window-navbar-path {
- overflow: hidden;
- line-height: 35px;
- padding-left: 10px;
- font-size: 14px;
- color: #41484c;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- -webkit-font-smoothing: antialiased;
- border: 1px solid #e3e3e3;
- border-radius: 3px;
- background: #f1f3f4;
- box-sizing: border-box;
-
- user-select: none !important;
- -moz-user-select: none !important;
- -webkit-user-select: none !important;
- -ms-user-select: none !important;
- cursor: default;
+ overflow: hidden;
+ line-height: 35px;
+ padding-left: 10px;
+ font-size: 14px;
+ color: #41484c;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ -webkit-font-smoothing: antialiased;
+ border: 1px solid #e3e3e3;
+ border-radius: 3px;
+ background: #f1f3f4;
+ box-sizing: border-box;
+
+ user-select: none !important;
+ -moz-user-select: none !important;
+ -webkit-user-select: none !important;
+ -ms-user-select: none !important;
+ cursor: default;
}
.device-phone .window-navbar-path {
- display: none;
+ display: none;
}
.window-navbar-layout-settings {
- width: 30px;
- height: 30px;
- margin-left: 10px;
- margin-top: 3px;
+ width: 30px;
+ height: 30px;
+ margin-left: 10px;
+ margin-top: 3px;
}
.device-phone .window-navbar-layout-settings {
- float: right;
- margin-right: 10px;
+ float: right;
+ margin-right: 10px;
}
.window-navbar-path-input {
- overflow: hidden;
- line-height: 17px;
- padding-left: 10px;
- font-size: 15px;
- color: #41484c;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- /* -webkit-font-smoothing: antialiased; */
- border: 1px solid #00b6ff;
- border-radius: 3px;
- background: white;
- display: none;
- box-sizing: border-box;
- padding-top: 9px;
- padding-bottom: 9px;
- outline: 1px solid #00b6ff;
-}
-
-.window-navbar-path-input, .window-navbar-path {
- width: calc(100% - 170px);
- float: left;
+ overflow: hidden;
+ line-height: 17px;
+ padding-left: 10px;
+ font-size: 15px;
+ color: #41484c;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ /* -webkit-font-smoothing: antialiased; */
+ border: 1px solid #00b6ff;
+ border-radius: 3px;
+ background: white;
+ display: none;
+ box-sizing: border-box;
+ padding-top: 9px;
+ padding-bottom: 9px;
+ outline: 1px solid #00b6ff;
+}
+
+.window-navbar-path-input,
+.window-navbar-path {
+ width: calc(100% - 170px);
+ float: left;
}
.window-navbar-path-dirname {
- cursor: pointer;
- font-weight: 500;
- padding: 0px 7px;
- height: 33px;
- display: inline-block;
- overflow: initial !important;
+ cursor: pointer;
+ font-weight: 500;
+ padding: 0px 7px;
+ height: 33px;
+ display: inline-block;
+ overflow: initial !important;
}
.window-navbar-path-dirname-active {
- text-decoration: underline;
+ text-decoration: underline;
}
.window-navbar-path-dirname:hover {
- color: #414a4e;
- text-decoration: underline;
+ color: #414a4e;
+ text-decoration: underline;
}
.path-seperator {
- width: 10px;
- opacity: 0.2;
+ width: 10px;
+ opacity: 0.2;
}
.window-body {
- width: 100%;
- height: calc(100% - 77px);
- background-color: white;
- overflow: auto;
+ width: 100%;
+ height: calc(100% - 77px);
+ background-color: white;
+ overflow: auto;
}
.window-body.item-container {
- box-sizing: border-box;
- width: initial;
- padding-left: 10px;
- border: 3px solid rgba(255, 255, 255, 0);
- position: relative;
+ box-sizing: border-box;
+ width: initial;
+ padding-left: 10px;
+ border: 3px solid rgba(255, 255, 255, 0);
+ position: relative;
}
.item-container-transparent-border {
- border-color: transparent !important;
+ border-color: transparent !important;
}
.window-body.item-container-active {
- border-color: #bcedff !important;
+ border-color: #bcedff !important;
}
-
.device-phone .window-body.item-container {
- padding-left: 0;
+ padding-left: 0;
}
.window-sidebar {
- min-width: 170px;
- height: calc(100% - 28px);
- float: left;
- border-right: 0.5px solid #CCC;
- padding: 15px 10px;
- box-sizing: border-box;
- background-color: hsla(var(--window-sidebar-hue),
- var(--window-sidebar-saturation),
- var(--window-sidebar-lightness),
- calc(0.5 + 0.5*var(--window-sidebar-alpha)));
- overflow-y: scroll;
- margin-top: 1px;
- box-shadow: inset -4px 0 8px -8px rgba(0, 0, 0, 0.3);
+ min-width: 170px;
+ height: calc(100% - 28px);
+ float: left;
+ border-right: 0.5px solid #ccc;
+ padding: 15px 10px;
+ box-sizing: border-box;
+ background-color: hsla(
+ var(--window-sidebar-hue),
+ var(--window-sidebar-saturation),
+ var(--window-sidebar-lightness),
+ calc(0.5 + 0.5 * var(--window-sidebar-alpha))
+ );
+ overflow-y: scroll;
+ margin-top: 1px;
+ box-shadow: inset -4px 0 8px -8px rgba(0, 0, 0, 0.3);
}
.window-sidebar .ui-resizable-e {
- right: 0;
+ right: 0;
}
.window-filedialog .window-sidebar {
- height: calc(100% - 30px);
+ height: calc(100% - 30px);
}
.window-cover-page.window-filedialog .window-body {
- height: calc(100% - 109px) !important;
+ height: calc(100% - 109px) !important;
}
.window-cover-page .window-sidebar {
- height: 100%;
+ height: 100%;
}
.window-cover-page.window-puter-dialog {
- height: 100%;
- width: 100%;
- top: 0 !important;
+ height: 100%;
+ width: 100%;
+ top: 0 !important;
}
.window-cover-page.window-puter-dialog .window-body {
- width: 100%;
- height: 100%;
- padding: 0 !important;
+ width: 100%;
+ height: 100%;
+ padding: 0 !important;
}
-.window-cover-page.window-login, .window-cover-page.window-signup {
- height: 100vh !important;
- width: 100%;
- top: 0 !important;
+.window-cover-page.window-login,
+.window-cover-page.window-signup {
+ height: 100vh !important;
+ width: 100%;
+ top: 0 !important;
}
.window-sidebar-title {
- margin: 0;
- font-weight: bold;
- font-size: 13px;
- color: #8f96a3;
- text-shadow: 1px 1px rgb(247 247 247 / 15%);
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- padding-left: 6px;
- cursor: default;
- margin-top: 20px;
- margin-bottom: 5px;
+ margin: 0;
+ font-weight: bold;
+ font-size: 13px;
+ color: #8f96a3;
+ text-shadow: 1px 1px rgb(247 247 247 / 15%);
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ padding-left: 6px;
+ cursor: default;
+ margin-top: 20px;
+ margin-bottom: 5px;
}
.window-sidebar-title:first-child {
- padding-left: 1px;
- margin-top: 0px;
-}
-
-.window-sidebar-item:hover, .window-sidebar-item.has-open-contextmenu {
- background-color: rgba(243, 243, 243, 0.8);
- cursor: pointer;
-}
-
-.window-sidebar-item, .window-sidebar-item.grabbing {
- margin-bottom: 6px;
- margin-top: 2px;
- padding: 4px;
- border-radius: 3px;
- color: #444444;
- font-size: 13px;
- cursor: pointer;
- transition: 0.15s background-color;
- box-sizing: border-box;
- overflow-x: hidden !important;
- overflow-y: hidden !important;
- white-space: nowrap;
- text-overflow: ellipsis;
+ padding-left: 1px;
+ margin-top: 0px;
+}
+
+.window-sidebar-item:hover,
+.window-sidebar-item.has-open-contextmenu {
+ background-color: rgba(243, 243, 243, 0.8);
+ cursor: pointer;
}
-.window-sidebar-item-active, .window-sidebar-item-drag-active, .window-sidebar-item-active:hover {
- background-color: #fefeff;
+.window-sidebar-item,
+.window-sidebar-item.grabbing {
+ margin-bottom: 6px;
+ margin-top: 2px;
+ padding: 4px;
+ border-radius: 3px;
+ color: #444444;
+ font-size: 13px;
+ cursor: pointer;
+ transition: 0.15s background-color;
+ box-sizing: border-box;
+ overflow-x: hidden !important;
+ overflow-y: hidden !important;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.window-sidebar-item-active,
+.window-sidebar-item-drag-active,
+.window-sidebar-item-active:hover {
+ background-color: #fefeff;
}
.window-sidebar-item-placeholder {
- height: 27px !important;
+ height: 27px !important;
}
.window-sidebar-item {
- cursor: pointer !important;
- user-select: none;
+ cursor: pointer !important;
+ user-select: none;
}
.window-sidebar-item:not(.window-sidebar-title):hover {
- cursor: grab;
+ cursor: grab;
}
.window-sidebar-item.grabbing {
- cursor: grabbing !important;
+ cursor: grabbing !important;
}
.window-sidebar-item-dragging {
- background-color: #f5f5f5 !important;
- opacity: 0.8;
- cursor: grabbing;
+ background-color: #f5f5f5 !important;
+ opacity: 0.8;
+ cursor: grabbing;
}
.ui-sortable-helper {
- background: white !important;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
+ background: white !important;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.window-sidebar-item-icon {
- width: 14px;
- height: 14px;
- filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51));
- margin-right: 5px;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- margin-bottom: -2px;
+ width: 14px;
+ height: 14px;
+ filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51));
+ margin-right: 5px;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ margin-bottom: -2px;
}
.window[data-app="explorer"] .window-body {
- height: calc(100% - 107px);
+ height: calc(100% - 107px);
}
.explorer-footer {
- background: white;
- overflow: auto;
- height: 30px;
- font-size: 13px;
- line-height: 28px;
- padding-left: 10px;
- background-color: #fafafa;
- border-top: 1px solid #e3e3e3;
- color: #505050;
- user-select: none !important;
- -moz-user-select: none !important;
- -webkit-user-select: none !important;
- -ms-user-select: none !important;
- cursor: default;
+ background: white;
+ overflow: auto;
+ height: 30px;
+ font-size: 13px;
+ line-height: 28px;
+ padding-left: 10px;
+ background-color: #fafafa;
+ border-top: 1px solid #e3e3e3;
+ color: #505050;
+ user-select: none !important;
+ -moz-user-select: none !important;
+ -webkit-user-select: none !important;
+ -ms-user-select: none !important;
+ cursor: default;
}
.device-phone .explorer-footer {
- width: 100%;
+ width: 100%;
}
-.explorer-footer-seperator, .explorer-footer-selected-items-count {
- display: none;
+.explorer-footer-seperator,
+.explorer-footer-selected-items-count {
+ display: none;
}
.explorer-footer-seperator {
- margin: 15px;
- color: #CCC;
+ margin: 15px;
+ color: #ccc;
}
.window-body-filedialog {
- height: calc(100% - 137px);
+ height: calc(100% - 137px);
}
.window-body-app {
- height: calc(100% - 30px);
+ height: calc(100% - 30px);
}
.fullpage-mode.device-phone .window-body-app {
- height: calc(100%);
+ height: calc(100%);
}
.window-filedialog-prompt {
- height: 60px;
- border-top: 1px solid #dbdee3;
- background-color: #f3f5f9;
- padding: 0 15px;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
+ height: 60px;
+ border-top: 1px solid #dbdee3;
+ background-color: #f3f5f9;
+ padding: 0 15px;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
}
.savefiledialog-filename {
- float: left;
- margin-right: 10px;
- padding: 5px !important;
- border-width: 1px !important;
- height: 31px;
- flex-grow: 1;
+ float: left;
+ margin-right: 10px;
+ padding: 5px !important;
+ border-width: 1px !important;
+ height: 31px;
+ flex-grow: 1;
}
.window-filedialog-upload-here {
- -webkit-font-smoothing: antialiased;
- opacity: 0.7;
- font-size: 14px;
+ -webkit-font-smoothing: antialiased;
+ opacity: 0.7;
+ font-size: 14px;
}
.window-filedialog-upload-here:hover {
- cursor: pointer;
- opacity: 1;
+ cursor: pointer;
+ opacity: 1;
}
-.savefiledialog-save-btn, .openfiledialog-open-btn {
- margin-left: 10px;
+.savefiledialog-save-btn,
+.openfiledialog-open-btn {
+ margin-left: 10px;
}
.filedialog-cancel-btn {
- margin-left: 10px;
+ margin-left: 10px;
}
.window-action-btn {
- margin-right: 5px;
- margin-left: 10px;
- padding-bottom: 3px;
- opacity: 0.6;
+ margin-right: 5px;
+ margin-left: 10px;
+ padding-bottom: 3px;
+ opacity: 0.6;
}
.window-active .window-action-btn {
- opacity: 1;
+ opacity: 1;
}
-.window-action-btn>img {
- width: 18px;
- margin-top: 5px;
- margin-right: 4px;
- margin-left: 4px;
- opacity: 0.5;
- -webkit-user-drag: none;
- user-select: none;
- -moz-user-select: none;
- -webkit-user-select: none;
- -ms-user-select: none;
+.window-action-btn > img {
+ width: 18px;
+ margin-top: 5px;
+ margin-right: 4px;
+ margin-left: 4px;
+ opacity: 0.5;
+ -webkit-user-drag: none;
+ user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
}
-.window-action-btn:hover>img {
- opacity: 1;
+.window-action-btn:hover > img {
+ opacity: 1;
}
-.window-scale-btn>img {
- width: 15px;
- height: 15px;
- margin-top: 7px
+.window-scale-btn > img {
+ width: 15px;
+ height: 15px;
+ margin-top: 7px;
}
.window-app-iframe {
- width: 100%;
- height: 100%;
- border: none;
- margin: 0;
- display: block;
- height: calc(100%);
- pointer-events: none;
- overflow: hidden;
+ width: 100%;
+ height: 100%;
+ border: none;
+ margin: 0;
+ display: block;
+ height: calc(100%);
+ pointer-events: none;
+ overflow: hidden;
}
.window-active .window-app-iframe {
- pointer-events: all;
+ pointer-events: all;
}
.window-disabled .window-app-iframe {
- pointer-events: none !important;
+ pointer-events: none !important;
}
-.ui-resizable-e, .ui-resizable-w {
- cursor: ew-resize;
+.ui-resizable-e,
+.ui-resizable-w {
+ cursor: ew-resize;
}
-.ui-resizable-n, .ui-resizable-s {
- cursor: ns-resize;
+.ui-resizable-n,
+.ui-resizable-s {
+ cursor: ns-resize;
}
-.ui-resizable-ne, .ui-resizable-sw {
- cursor: nesw-resize;
+.ui-resizable-ne,
+.ui-resizable-sw {
+ cursor: nesw-resize;
}
-.ui-resizable-nw, .ui-resizable-se {
- cursor: nwse-resize;
+.ui-resizable-nw,
+.ui-resizable-se {
+ cursor: nwse-resize;
}
-.window>.ui-resizable-nw, .window>.ui-resizable-ne, .window>.ui-resizable-se, .window>.ui-resizable-sw {
- width: 15px;
- height: 15px;
- z-index: 95 !important;
+.window > .ui-resizable-nw,
+.window > .ui-resizable-ne,
+.window > .ui-resizable-se,
+.window > .ui-resizable-sw {
+ width: 15px;
+ height: 15px;
+ z-index: 95 !important;
}
-.window-alert-message, .window-prompt-message {
- font-size: 15px;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- color: #414650;
- text-shadow: 1px 1px #ffffff52;
- margin-top: 10px;
- word-break: break-word;
+.window-alert-message,
+.window-prompt-message {
+ font-size: 15px;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ color: #414650;
+ text-shadow: 1px 1px #ffffff52;
+ margin-top: 10px;
+ word-break: break-word;
}
.window-alert-message {
- text-align: center;
+ text-align: center;
}
.window-alert-icon {
- width: 64px;
- margin: 10px auto 20px;
- display: block;
+ width: 64px;
+ margin: 10px auto 20px;
+ display: block;
}
.alert-resp-button {
- width: 100%;
- margin-top: 10px;
+ width: 100%;
+ margin-top: 10px;
}
.prompt-resp-button {
- margin-left: 10px;
+ margin-left: 10px;
}
.prompt-resp-btn-ok {
- width: 110px;
+ width: 110px;
}
.mywebsites-card {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- position: relative;
- border: 1px solid #CCC;
- padding: 10px;
- margin-bottom: 10px;
- border-radius: 4px;
- background-color: white;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ position: relative;
+ border: 1px solid #ccc;
+ padding: 10px;
+ margin-bottom: 10px;
+ border-radius: 4px;
+ background-color: white;
}
.mywebsites-address-link {
- color: #0d6efd;
- text-decoration: none;
+ color: #0d6efd;
+ text-decoration: none;
}
.mywebsites-address-link:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.mywebsites-dir-path {
- cursor: pointer;
- font-size: 14px;
- margin-bottom: 0;
+ cursor: pointer;
+ font-size: 14px;
+ margin-bottom: 0;
}
.mywebsites-dir-path img {
- width: 16px;
- margin-bottom: -3px;
- margin-right: 5px;
+ width: 16px;
+ margin-bottom: -3px;
+ margin-right: 5px;
}
.mywebsites-dir-path:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.mywebsites-dis-dir {
- cursor: pointer;
+ cursor: pointer;
}
.mywebsites-dis-dir:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.mywebsites-no-dir-notice {
- margin-bottom: 0;
- color: #7e7e7e;
- font-size: 14px;
+ margin-bottom: 0;
+ color: #7e7e7e;
+ font-size: 14px;
}
.mywebsites-release-address {
- color: red;
- cursor: pointer;
- font-size: 13px;
+ color: red;
+ cursor: pointer;
+ font-size: 13px;
}
.mywebsites-site-setting {
- position: absolute;
- right: 5px;
- top: 5px;
- cursor: pointer;
- width: 20px;
- height: 20px;
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ cursor: pointer;
+ width: 20px;
+ height: 20px;
}
/***********************
@@ -1559,723 +1657,745 @@ span.header-sort-icon img {
***********************/
.context-menu {
- display: none;
- z-index: 9999999999;
- position: absolute;
- overflow: hidden;
- white-space: nowrap;
- font-family: sans-serif;
- background: #FFF;
- color: #333;
- border-radius: 2px;
- padding: 3px 0;
- min-width: 200px;
- background-color: rgba(231, 238, 245, .98);
- border: 1px solid #e6e4e466;
- box-shadow: 0px 0px 15px #00000066;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
+ display: none;
+ z-index: 9999999999;
+ position: absolute;
+ overflow: hidden;
+ white-space: nowrap;
+ font-family: sans-serif;
+ background: #fff;
+ color: #333;
+ border-radius: 2px;
+ padding: 3px 0;
+ min-width: 200px;
+ background-color: rgba(231, 238, 245, 0.98);
+ border: 1px solid #e6e4e466;
+ box-shadow: 0px 0px 15px #00000066;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
}
.context-menu li {
- list-style-type: none;
- user-select: none;
- cursor: default !important;
+ list-style-type: none;
+ user-select: none;
+ cursor: default !important;
}
-.context-menu .context-menu-divider>hr {
- margin-top: 0;
- margin-bottom: 0;
- border-bottom: none;
- border-top: 1px solid #00000033;
+.context-menu .context-menu-divider > hr {
+ margin-top: 0;
+ margin-bottom: 0;
+ border-bottom: none;
+ border-top: 1px solid #00000033;
}
.context-menu .context-menu-divider {
- padding-top: 5px;
- padding-bottom: 5px;
+ padding-top: 5px;
+ padding-bottom: 5px;
}
.context-menu .context-menu-item:not(.context-menu-divider) {
- padding: 5px;
- list-style-type: none;
- user-select: none;
- font-size: 12px;
- height: 25px;
- box-sizing: border-box;
- position: relative;
+ padding: 5px;
+ list-style-type: none;
+ user-select: none;
+ font-size: 12px;
+ height: 25px;
+ box-sizing: border-box;
+ position: relative;
}
.context-menu .context-menu-item .ctx-item-icon {
- width: 15px;
- height: 15px;
- position: absolute;
- left: 5px;
- top: 5px;
- filter: drop-shadow(0px 0px 0.3px rgb(51, 51, 51));
+ width: 15px;
+ height: 15px;
+ position: absolute;
+ left: 5px;
+ top: 5px;
+ filter: drop-shadow(0px 0px 0.3px rgb(51, 51, 51));
}
.submenu-arrow {
- width: 15px;
- height: 15px;
- float: right;
+ width: 15px;
+ height: 15px;
+ float: right;
}
.submenu-arrow-active {
- display: none;
+ display: none;
}
.context-menu-item-active .submenu-arrow {
- display: none;
- pointer-events: none;
+ display: none;
+ pointer-events: none;
}
.context-menu-item-active .submenu-arrow-active {
- display: inline-block;
+ display: inline-block;
}
.context-menu .context-menu-item-active-blurred .submenu-arrow {
- display: inline-block;
+ display: inline-block;
}
.context-menu .context-menu-item-active-blurred .submenu-arrow-active {
- display: none;
- pointer-events: none;
+ display: none;
+ pointer-events: none;
}
.context-menu .has-open-context-menu-submenu,
.context-menu .context-menu-item-active {
- border-radius: 4px;
+ border-radius: 4px;
}
.context-menu .has-open-context-menu-submenu {
- background-color: #dfdfdf;
+ background-color: #dfdfdf;
}
.context-menu .context-menu-item-active:not(.context-menu-divider) {
- background-color: var(--select-color);
- color: white;
+ background-color: var(--select-color);
+ color: white;
}
.context-menu .context-menu-item-active-blurred {
- background-color: rgb(199, 205, 212);
- color: initial;
- border-radius: 4px;
+ background-color: rgb(199, 205, 212);
+ color: initial;
+ border-radius: 4px;
}
-.context-menu .context-menu-item-disabled, .context-menu .context-menu-item-disabled:hover {
- opacity: 0.5;
- background-color: transparent;
- color: initial;
- cursor: initial;
+.context-menu .context-menu-item-disabled,
+.context-menu .context-menu-item-disabled:hover {
+ opacity: 0.5;
+ background-color: transparent;
+ color: initial;
+ cursor: initial;
}
-.context-menu-item-icon, .context-menu-item-icon-active {
- display: inline-block;
- width: 20px;
- text-align: center;
- margin-right: 5px;
- font-size: 14px;
- line-height: 5px;
+.context-menu-item-icon,
+.context-menu-item-icon-active {
+ display: inline-block;
+ width: 20px;
+ text-align: center;
+ margin-right: 5px;
+ font-size: 14px;
+ line-height: 5px;
}
-.context-menu-item-icon-active, .contextmenu-label-active {
- display: none;
+.context-menu-item-icon-active,
+.contextmenu-label-active {
+ display: none;
}
.context-menu .context-menu-item-active .context-menu-item-icon,
.context-menu .context-menu-item-active .contextmenu-label {
- display: none;
+ display: none;
}
.context-menu .context-menu-item-active .context-menu-item-icon-active {
- display: inline-block;
+ display: inline-block;
}
-.context-menu .context-menu-item-active:not(.context-menu-item-disabled) .context-menu-item-icon-active {
- color: white;
+.context-menu
+ .context-menu-item-active:not(.context-menu-item-disabled)
+ .context-menu-item-icon-active {
+ color: white;
}
.context-menu .context-menu-item-active .contextmenu-label-active {
- display: inline-block;
+ display: inline-block;
}
.draggable-count-badge {
- background-color: red;
- border: 2px solid white;
- border-radius: 100%;
- position: absolute;
- display: none;
- width: 22px;
- height: 22px;
- text-align: center;
- color: white;
- font-weight: bold;
- z-index: 9999999999;
- font-size: 12px;
- line-height: 22px;
+ background-color: red;
+ border: 2px solid white;
+ border-radius: 100%;
+ position: absolute;
+ display: none;
+ width: 22px;
+ height: 22px;
+ text-align: center;
+ color: white;
+ font-weight: bold;
+ z-index: 9999999999;
+ font-size: 12px;
+ line-height: 22px;
}
.selection-area {
- background-color: #afafaf36;
- border: 1px solid #CCC;
+ background-color: #afafaf36;
+ border: 1px solid #ccc;
}
.container {
- user-select: none;
+ user-select: none;
}
label {
- display: block;
- -webkit-font-smoothing: antialiased;
- color: #3a3d40;
- margin-bottom: 3px;
- text-shadow: 1px 1px #ffffff61;
- font-size: 14px;
+ display: block;
+ -webkit-font-smoothing: antialiased;
+ color: #3a3d40;
+ margin-bottom: 3px;
+ text-shadow: 1px 1px #ffffff61;
+ font-size: 14px;
}
.toolbar {
- float: right;
- width: 100%;
- background-color: #00000040;
- height: 30px;
- position: relative;
- z-index: 999999;
- box-sizing: border-box;
- display: flex;
- flex-direction: row;
- justify-content: flex-end;
- align-content: center;
- flex-wrap: wrap;
- padding-right: 10px
+ float: right;
+ width: 100%;
+ background-color: #00000040;
+ height: 30px;
+ position: relative;
+ z-index: 999999;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-content: center;
+ flex-wrap: wrap;
+ padding-right: 10px;
}
.show-desktop-btn {
- color: white;
- font-size: 11px !important;
- padding: 2px 5px 2px !important;
- border: 1px solid;
- border-radius: 4px;
- height: 18px !important;
- width: 110px !important;
- margin-top: 2px;
- text-decoration: none;
- margin-left: 10px !important;
- font-weight: 500;
+ color: white;
+ font-size: 11px !important;
+ padding: 2px 5px 2px !important;
+ border: 1px solid;
+ border-radius: 4px;
+ height: 18px !important;
+ width: 110px !important;
+ margin-top: 2px;
+ text-decoration: none;
+ margin-left: 10px !important;
+ font-weight: 500;
}
.device-phone .toolbar {
- z-index: 1;
+ z-index: 1;
}
@supports ((backdrop-filter: blur())) {
- .toolbar {
- background-color: #00000040;
- backdrop-filter: blur(10px);
- }
+ .toolbar {
+ background-color: #00000040;
+ backdrop-filter: blur(10px);
+ }
}
.toolbar-btn {
- padding: 4px;
- font-size: 14px;
- width: auto;
- padding: 0 5px;
- margin-left: 20px;
- overflow-y: hidden !important;
- overflow-x: hidden !important;
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- display: inline-block;
- width: 22px;
- height: 22px;
- padding: 3px;
- box-sizing: border-box;
- background-origin: content-box;
- display: flex;
- justify-content: center;
- align-items: center;
- opacity: 0.8;
+ padding: 4px;
+ font-size: 14px;
+ width: auto;
+ padding: 0 5px;
+ margin-left: 20px;
+ overflow-y: hidden !important;
+ overflow-x: hidden !important;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+ display: inline-block;
+ width: 22px;
+ height: 22px;
+ padding: 3px;
+ box-sizing: border-box;
+ background-origin: content-box;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ opacity: 0.8;
}
.toolbar-btn:hover {
- opacity: 1;
+ opacity: 1;
}
.user-options-menu-btn.has-open-contextmenu {
- background-color: rgb(255 255 255 / 35%);
- border-radius: 3px;
+ background-color: rgb(255 255 255 / 35%);
+ border-radius: 3px;
}
.user-options-menu-username {
- color: black;
- margin-left: 5px;
- display: block;
- max-width: 70px;
- text-overflow: ellipsis;
- float: right;
- overflow: hidden;
+ color: black;
+ margin-left: 5px;
+ display: block;
+ max-width: 70px;
+ text-overflow: ellipsis;
+ float: right;
+ overflow: hidden;
}
.user-options-menu-username:empty {
- margin-left: 0;
+ margin-left: 0;
}
-.user-options-login-btn, .user-options-create-account-btn {
- padding: 0 15px;
+.user-options-login-btn,
+.user-options-create-account-btn {
+ padding: 0 15px;
}
.toolbar-btn:hover:not(.has-open-contextmenu) {
- background-color: rgb(255 255 255 / 15%);
- border-radius: 3px;
+ background-color: rgb(255 255 255 / 15%);
+ border-radius: 3px;
}
.logout-btn {
- position: absolute;
- right: 7px;
- top: 7px;
- padding: 4px;
- border-radius: 4px;
- cursor: pointer;
- border: 2px solid #CCC;
+ position: absolute;
+ right: 7px;
+ top: 7px;
+ padding: 4px;
+ border-radius: 4px;
+ cursor: pointer;
+ border: 2px solid #ccc;
}
.logout-btn img {
- width: 20px;
- margin-bottom: -5px;
+ width: 20px;
+ margin-bottom: -5px;
}
-.login-error-msg, .signup-error-msg, .publish-website-error-msg, .form-error-msg {
- display: none;
- color: red;
- border: 1px solid red;
- border-radius: 4px;
- padding: 9px;
- margin-bottom: 15px;
- text-align: center;
- font-size: 13px;
+.login-error-msg,
+.signup-error-msg,
+.publish-website-error-msg,
+.form-error-msg {
+ display: none;
+ color: red;
+ border: 1px solid red;
+ border-radius: 4px;
+ padding: 9px;
+ margin-bottom: 15px;
+ text-align: center;
+ font-size: 13px;
}
.error {
- display: none;
- color: red;
- border: 1px solid red;
- border-radius: 4px;
- padding: 9px;
- margin-bottom: 15px;
- text-align: center;
- font-size: 13px;
+ display: none;
+ color: red;
+ border: 1px solid red;
+ border-radius: 4px;
+ padding: 9px;
+ margin-bottom: 15px;
+ text-align: center;
+ font-size: 13px;
}
.form-success-msg {
- display: none;
- color: rgb(0, 129, 69);
- border: 1px solid rgb(0, 201, 17);
- border-radius: 4px;
- padding: 9px;
- margin-bottom: 15px;
- text-align: center;
- font-size: 13px;
+ display: none;
+ color: rgb(0, 129, 69);
+ border: 1px solid rgb(0, 201, 17);
+ border-radius: 4px;
+ padding: 9px;
+ margin-bottom: 15px;
+ text-align: center;
+ font-size: 13px;
}
.publish-btn {
- margin-top: 20px;
+ margin-top: 20px;
}
-.window-publishWebsite-success, .window-give-item-access-success {
- display: none;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- height: auto;
+.window-publishWebsite-success,
+.window-give-item-access-success {
+ display: none;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ height: auto;
}
.manage-your-websites-link {
- color: #007cff;
- text-decoration: underline;
- cursor: pointer;
+ color: #007cff;
+ text-decoration: underline;
+ cursor: pointer;
}
.publishWebsite-published-link {
- text-decoration: none;
- color: #007cff;
+ text-decoration: none;
+ color: #007cff;
}
.publishWebsite-published-link:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.publishWebsite-published-link-icon {
- display: inline-block;
- width: 12px;
- margin-left: 5px;
- margin-bottom: -1px;
- user-select: none !important;
+ display: inline-block;
+ width: 12px;
+ margin-left: 5px;
+ margin-bottom: -1px;
+ user-select: none !important;
}
-.login-form-title, .signup-form-title {
- text-align: center;
- margin-top: 0;
- padding-bottom: 15px;
- font-size: 23px;
- font-weight: 400;
- margin-bottom: 10px;
- color: #657489;
- text-shadow: 1px 1px #ffffff1c;
+.login-form-title,
+.signup-form-title {
+ text-align: center;
+ margin-top: 0;
+ padding-bottom: 15px;
+ font-size: 23px;
+ font-weight: 400;
+ margin-bottom: 10px;
+ color: #657489;
+ text-shadow: 1px 1px #ffffff1c;
}
.signup-form-title {
- margin-top: 10px;
+ margin-top: 10px;
}
-.signup-c2a-clickable, .login-c2a-clickable {
- border: none;
- background: none;
- display: block;
- margin: 0 auto;
- cursor: pointer;
- font-weight: 400;
- -webkit-font-smoothing: antialiased;
- color: #4f5a68;
- font-size: 20px;
+.signup-c2a-clickable,
+.login-c2a-clickable {
+ border: none;
+ background: none;
+ display: block;
+ margin: 0 auto;
+ cursor: pointer;
+ font-weight: 400;
+ -webkit-font-smoothing: antialiased;
+ color: #4f5a68;
+ font-size: 20px;
}
-.signup-c2a-clickable:hover, .login-c2a-clickable:hover {
- text-decoration: underline;
+.signup-c2a-clickable:hover,
+.login-c2a-clickable:hover {
+ text-decoration: underline;
}
-.p102xyzname, #p102xyzname {
- display: none;
+.p102xyzname,
+#p102xyzname {
+ display: none;
}
.intro-menu-item {
- text-decoration: none;
- color: #398ce7;
- font-weight: 400;
+ text-decoration: none;
+ color: #398ce7;
+ font-weight: 400;
}
.intro-menu-item:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.bull {
- margin: 10px;
- color: #CCC;
+ margin: 10px;
+ color: #ccc;
}
.create-account-form-title {
- text-align: center;
- margin-top: 0;
- padding-bottom: 15px;
- font-size: 20px;
- font-weight: 300;
- margin-bottom: 10px;
- color: #383e46;
+ text-align: center;
+ margin-top: 0;
+ padding-bottom: 15px;
+ font-size: 20px;
+ font-weight: 300;
+ margin-bottom: 10px;
+ color: #383e46;
}
.create-account-desc {
- margin-top: 0;
- margin-bottom: 30px;
- text-align: center;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- color: #2f3f53;
- font-size: 14px;
+ margin-top: 0;
+ margin-bottom: 30px;
+ text-align: center;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ color: #2f3f53;
+ font-size: 14px;
}
.unsupported-device-notice {
- position: absolute;
- width: 100%;
- height: 100%;
- background-color: white;
- z-index: 9999999;
- display: none;
- flex-direction: column;
- justify-content: center;
- text-align: center;
- padding: 30px;
- box-sizing: border-box;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background-color: white;
+ z-index: 9999999;
+ display: none;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 30px;
+ box-sizing: border-box;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
.item-props-tabview {
- display: flex;
- flex-direction: column;
- height: 100%;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
}
.item-props-tab-content {
- display: none;
- padding: 5px 10px;
- flex-grow: 1;
- border: 1px solid #CCC;
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-right-radius: 3px;
- border-top-left-radius: 3px;
- margin-top: -1px;
+ display: none;
+ padding: 5px 10px;
+ flex-grow: 1;
+ border: 1px solid #ccc;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px;
+ margin-top: -1px;
}
.item-props-tab-content-selected {
- display: block;
- background-color: white;
+ display: block;
+ background-color: white;
}
.item-props-tab-btn {
- display: inline-block;
- padding: 10px 15px;
- cursor: pointer;
- margin-right: 10px;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
- border: 1px solid #ffffff00;
- margin-bottom: -1px;
- color: #374653;
+ display: inline-block;
+ padding: 10px 15px;
+ cursor: pointer;
+ margin-right: 10px;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ border: 1px solid #ffffff00;
+ margin-bottom: -1px;
+ color: #374653;
}
.item-props-tab-selected {
- border: 1px solid #CCC;
- margin-bottom: -1px;
- border-bottom: none;
- background-color: white;
- position: relative;
- color: black;
+ border: 1px solid #ccc;
+ margin-bottom: -1px;
+ border-bottom: none;
+ background-color: white;
+ position: relative;
+ color: black;
}
.item-props-tbl {
- font-size: 13px;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ font-size: 13px;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
.item-props-tbl td {
- padding-bottom: 10px;
- word-break: break-all;
+ padding-bottom: 10px;
+ word-break: break-all;
}
.item-prop-label {
- text-align: left;
- font-weight: 500;
- white-space: nowrap;
+ text-align: left;
+ font-weight: 500;
+ white-space: nowrap;
}
-.item-prop-original-name, .item-prop-original-path {
- display: none;
+.item-prop-original-name,
+.item-prop-original-path {
+ display: none;
}
.item-prop-version-entry:not(:last-child) {
- display: inline-block;
- width: 100%;
- padding-bottom: 10px;
- margin-bottom: 10px;
- border-bottom: 1px solid #CCC;
+ display: inline-block;
+ width: 100%;
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+ border-bottom: 1px solid #ccc;
}
.item-prop-val {
- padding-left: 10px;
+ padding-left: 10px;
}
-.send-conf-email, .conf-email-log-out {
- cursor: pointer;
+.send-conf-email,
+.conf-email-log-out {
+ cursor: pointer;
}
.send-conf-code {
- cursor: pointer;
+ cursor: pointer;
}
.email-confirm-code-hyphen {
- display: inline-block;
- flex-grow: 1;
- text-align: center;
- font-size: 40px;
- font-weight: 300;
+ display: inline-block;
+ flex-grow: 1;
+ text-align: center;
+ font-size: 40px;
+ font-weight: 300;
}
.confirm-code-hyphen {
- display: inline-block;
- flex-grow: 1;
- text-align: center;
- font-size: 40px;
- font-weight: 300;
+ display: inline-block;
+ flex-grow: 1;
+ text-align: center;
+ font-size: 40px;
+ font-weight: 300;
}
-.send-conf-email:hover, .conf-email-log-out:hover {
- text-decoration: underline;
+.send-conf-email:hover,
+.conf-email-log-out:hover {
+ text-decoration: underline;
}
.send-conf-code:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
-.remove-permission-link, .disassociate-website-link {
- cursor: pointer;
- color: red;
+.remove-permission-link,
+.disassociate-website-link {
+ cursor: pointer;
+ color: red;
}
.permission-owner-badge {
- background-color: #9dacbd;
+ background-color: #9dacbd;
}
.permission-editor-badge {
- background-color: #007cff;
+ background-color: #007cff;
}
.permission-viewer-badge {
- background-color: #41c95d;
+ background-color: #41c95d;
}
-.permission-owner-badge, .permission-editor-badge, .permission-viewer-badge {
- display: inline-block;
- width: 45px;
- text-align: center;
- padding: 2px 4px;
- border-radius: 2px;
- color: white;
- font-size: 12px;
- margin-right: 10px;
- margin-top: -2px;
+.permission-owner-badge,
+.permission-editor-badge,
+.permission-viewer-badge {
+ display: inline-block;
+ width: 45px;
+ text-align: center;
+ padding: 2px 4px;
+ border-radius: 2px;
+ color: white;
+ font-size: 12px;
+ margin-right: 10px;
+ margin-top: -2px;
}
-.remove-permission-link:hover, .disassociate-website-link:hover {
- text-decoration: underline;
+.remove-permission-link:hover,
+.disassociate-website-link:hover {
+ text-decoration: underline;
}
.item-perm-recipient-card {
- margin-bottom: 5px;
- margin-top: 15px;
- padding: 11px;
- background-color: white;
- border-radius: 3px;
- border: 1px solid #e0e0e0;
- color: #65707b;
- font-size: 13px;
+ margin-bottom: 5px;
+ margin-top: 15px;
+ padding: 11px;
+ background-color: white;
+ border-radius: 3px;
+ border: 1px solid #e0e0e0;
+ color: #65707b;
+ font-size: 13px;
}
.remove-permission-icon {
- display: none;
- text-decoration: none !important;
- color: rgb(184, 184, 184);
+ display: none;
+ text-decoration: none !important;
+ color: rgb(184, 184, 184);
}
.remove-permission-icon:hover {
- color: rgb(109, 109, 109);
+ color: rgb(109, 109, 109);
}
.item-perm-recipient-card:hover .remove-permission-icon {
- display: block;
+ display: block;
}
.share-recipients {
- max-height: 200px;
- overflow: hidden;
- overflow-y: scroll;
+ max-height: 200px;
+ overflow: hidden;
+ overflow-y: scroll;
}
.ui-menu {
- margin-top: 5px;
- border-radius: 5px;
+ margin-top: 5px;
+ border-radius: 5px;
}
.ui-menu .ui-menu-item {
- padding: 5px 10px;
- border-radius: 5px;
+ padding: 5px 10px;
+ border-radius: 5px;
}
.ui-menu .ui-menu-item .ui-menu-item-wrapper {
- background: none;
- border: none;
- padding: 5px 10px;
- font-size: 14px;
+ background: none;
+ border: none;
+ padding: 5px 10px;
+ font-size: 14px;
}
.ui-menu .ui-menu-item:hover .ui-menu-item-wrapper,
.ui-menu .ui-menu-item:focus .ui-menu-item-wrapper,
.ui-menu .ui-menu-item:active .ui-menu-item-wrapper,
.ui-menu .ui-menu-item .ui-menu-item-wrapper.ui-state-active {
- background-color: #4092da;
- color: #fff;
- border-radius: 5px;
- border: 1px solid #4092da;
+ background-color: #4092da;
+ color: #fff;
+ border-radius: 5px;
+ border: 1px solid #4092da;
}
.feedback-sent-success {
- display: none;
- padding: 10px;
- margin-bottom: 20px;
- border: 1px solid #59d959;
- border-radius: 3px;
- background-color: #e4f9e4;
- position: relative;
+ display: none;
+ padding: 10px;
+ margin-bottom: 20px;
+ border: 1px solid #59d959;
+ border-radius: 3px;
+ background-color: #e4f9e4;
+ position: relative;
}
.window-give-item-access-success {
- display: none;
- padding: 10px;
- margin-bottom: 20px;
- border: 1px solid #59d959;
- border-radius: 3px;
- background-color: #e4f9e4;
- position: relative;
+ display: none;
+ padding: 10px;
+ margin-bottom: 20px;
+ border: 1px solid #59d959;
+ border-radius: 3px;
+ background-color: #e4f9e4;
+ position: relative;
}
.save-account-success {
- display: none;
- padding: 30px;
- border-radius: 3px;
- background-color: #f2fff2;
- position: relative;
- color: green;
- -webkit-font-smoothing: antialiased;
+ display: none;
+ padding: 30px;
+ border-radius: 3px;
+ background-color: #f2fff2;
+ position: relative;
+ color: green;
+ -webkit-font-smoothing: antialiased;
}
.hide-sharing-success-alert {
- position: absolute;
- color: #8d8c8c;
- font-size: 20px;
- right: 15px;
- cursor: pointer;
+ position: absolute;
+ color: #8d8c8c;
+ font-size: 20px;
+ right: 15px;
+ cursor: pointer;
}
.hide-sharing-success-alert:hover {
- color: black;
+ color: black;
}
.access-recipient {
- height: 40px;
- background-color: white;
- margin-bottom: 5px;
- width: 100%;
+ height: 40px;
+ background-color: white;
+ margin-bottom: 5px;
+ width: 100%;
}
.item-is-shared {
- cursor: pointer;
+ cursor: pointer;
}
.session-entry {
- cursor: pointer;
- padding: 20px;
- border: 1px solid #CCC;
- border-radius: 3px;
- margin-bottom: 10px;
- background-color: white;
- font-weight: 500;
- color: #394d5c;
+ cursor: pointer;
+ padding: 20px;
+ border: 1px solid #ccc;
+ border-radius: 3px;
+ margin-bottom: 10px;
+ background-color: white;
+ font-weight: 500;
+ color: #394d5c;
}
.session-entry:hover {
- border-color: #00a6ff;
+ border-color: #00a6ff;
}
-.login-c2a-session-list, .signup-c2a-session-list {
- cursor: pointer;
- font-size: 15px;
- color: #636363;
+.login-c2a-session-list,
+.signup-c2a-session-list {
+ cursor: pointer;
+ font-size: 15px;
+ color: #636363;
}
-.login-c2a-session-list:hover, .signup-c2a-session-list:hover {
- text-decoration: underline;
- ;
+.login-c2a-session-list:hover,
+.signup-c2a-session-list:hover {
+ text-decoration: underline;
}
/*****************************************************
@@ -2283,69 +2403,73 @@ label {
*****************************************************/
.taskbar {
- position: fixed;
- bottom: 0;
- left: 0;
- width: 100%;
- background-color: hsla(var(--taskbar-hue),
- var(--taskbar-saturation),
- var(--taskbar-lightness),
- calc(0.5 + 0.5*var(--taskbar-alpha)));
- display: flex;
- justify-content: center;
- z-index: 99999;
- overflow: hidden !important;
-
- height: 50px;
- border-radius: 10px;
- bottom: 5px;
- padding-left: 7px;
- padding-right: 7px;
- width: auto;
- left: 50%;
- transform: translateX(-50%);
-
- /* that sweet sweet subtle shadow */
- box-shadow:
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ background-color: hsla(
+ var(--taskbar-hue),
+ var(--taskbar-saturation),
+ var(--taskbar-lightness),
+ calc(0.5 + 0.5 * var(--taskbar-alpha))
+ );
+ display: flex;
+ justify-content: center;
+ z-index: 99999;
+ overflow: hidden !important;
+
+ height: 50px;
+ border-radius: 10px;
+ bottom: 5px;
+ padding-left: 7px;
+ padding-right: 7px;
+ width: auto;
+ left: 50%;
+ transform: translateX(-50%);
+
+ /* that sweet sweet subtle shadow */
+ box-shadow:
inset 0 0 0 0.5px rgba(255, 255, 255, 0.2),
0 0 0 0.5px rgba(0, 0, 0, 0.2),
0 4px 16px rgba(0, 0, 0, 0.2);
}
.taskbar .taskbar-item {
- float: left;
- position: relative;
- overflow: hidden !important;
- transition: background-color 0.2s;
- display: none;
+ float: left;
+ position: relative;
+ overflow: hidden !important;
+ transition: background-color 0.2s;
+ display: none;
}
-.taskbar .taskbar-item-sortable-placeholder, .taskbar .taskbar-item {
- width: 40px;
- height: 40px;
- padding: 6px 5px 10px 5px;
+.taskbar .taskbar-item-sortable-placeholder,
+.taskbar .taskbar-item {
+ width: 40px;
+ height: 40px;
+ padding: 6px 5px 10px 5px;
}
.taskbar .taskbar-item .taskbar-icon {
- border-radius: 3px;
+ border-radius: 3px;
}
-.taskbar .taskbar-item, .taskbar .taskbar-item * {
- -webkit-user-drag: none;
- user-select: none;
- -moz-user-select: none;
- -webkit-user-select: none;
- -ms-user-select: none;
+.taskbar .taskbar-item,
+.taskbar .taskbar-item * {
+ -webkit-user-drag: none;
+ user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
}
.taskbar-item.ui-sortable-helper {
- margin-left: 25px;
- z-index: 999999999 !important;
+ margin-left: 25px;
+ z-index: 999999999 !important;
}
.taskbar .taskbar-item:hover .taskbar-icon {
- background-color: rgb(255 255 255 / 40%);
- transition: background-color 0.2s;
+ background-color: rgb(255 255 255 / 40%);
+ transition: background-color 0.2s;
}
.taskbar .taskbar-item:active .taskbar-icon,
@@ -2356,209 +2480,216 @@ label {
.taskbar-item.has-open-popover .taskbar-icon,
.taskbar .taskbar-item.active .taskbar-icon,
.taskbar-item.ui-sortable-helper .taskbar-icon {
- background-color: rgb(255 255 255 / 80%) !important;
- transition: background-color 0.2s;
- filter: none;
+ background-color: rgb(255 255 255 / 80%) !important;
+ transition: background-color 0.2s;
+ filter: none;
}
.active-taskbar-indicator {
- font-size: 18px;
- position: absolute;
- left: 50%;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%);
- bottom: -6px;
- display: none;
- width: 9px;
- height: 3px;
- background-color: #686868;
- bottom: 8px;
- border-radius: 3px;
+ font-size: 18px;
+ position: absolute;
+ left: 50%;
+ -webkit-transform: translateX(-50%);
+ transform: translateX(-50%);
+ bottom: -6px;
+ display: none;
+ width: 9px;
+ height: 3px;
+ background-color: #686868;
+ bottom: 8px;
+ border-radius: 3px;
}
-.device-phone .active-taskbar-indicator{
- display: none !important;
+.device-phone .active-taskbar-indicator {
+ display: none !important;
}
.taskbar .taskbar-icon img {
- width: 100%;
- height: 100%;
- filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51));
- padding: 5px;
- box-sizing: border-box;
+ width: 100%;
+ height: 100%;
+ filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51));
+ padding: 5px;
+ box-sizing: border-box;
}
.taskbar-icon {
- height: 40px;
+ height: 40px;
}
#clock {
- display: none;
- position: absolute;
- right: 15px;
- color: white;
- text-shadow: 0px 0px 3px #00000082, 0px 0px 3px #00000082, 0px 0px 3px #00000082;
- font-size: 13px;
- bottom: 5px;
+ display: none;
+ position: absolute;
+ right: 15px;
+ color: white;
+ text-shadow:
+ 0px 0px 3px #00000082,
+ 0px 0px 3px #00000082,
+ 0px 0px 3px #00000082;
+ font-size: 13px;
+ bottom: 5px;
}
.device-phone #clock {
- display: none !important;
+ display: none !important;
}
.desktop-bg-settings-wrapper {
- display: none;
- overflow: hidden;
+ display: none;
+ overflow: hidden;
}
.desktop-bg-color-block {
- width: 25px;
- height: 25px;
- float: left;
- margin: 5px;
- border: 1px solid #898989;
- box-sizing: border-box;
- border-radius: 2px;
+ width: 25px;
+ height: 25px;
+ float: left;
+ margin: 5px;
+ border: 1px solid #898989;
+ box-sizing: border-box;
+ border-radius: 2px;
}
@supports ((backdrop-filter: blur())) {
- .taskbar {
- background-color: hsla(var(--taskbar-hue),
- var(--taskbar-saturation),
- var(--taskbar-lightness),
- var(--taskbar-alpha));
- backdrop-filter: blur(10px);
- }
-
- .taskbar .taskbar-icon img {
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
- }
+ .taskbar {
+ background-color: hsla(
+ var(--taskbar-hue),
+ var(--taskbar-saturation),
+ var(--taskbar-lightness),
+ var(--taskbar-alpha)
+ );
+ backdrop-filter: blur(10px);
+ }
+
+ .taskbar .taskbar-icon img {
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ }
}
@media screen and (max-width: 768px) {
+ .taskbar {
+ justify-content: center;
+ overflow: visible !important;
+ overflow-x: scroll !important;
+ overflow-y: hidden !important;
+ max-width: calc(100% - 40px);
+ }
- .taskbar {
- justify-content: center;
- overflow: visible !important;
- overflow-x: scroll !important;
- overflow-y: hidden !important;
- max-width: calc(100% - 40px);
- }
-
- .taskbar .taskbar-item, .taskbar .taskbar-item-sortable-placeholder {
- width: 40px !important;
- height: 40px !important;
- margin-right: 5px;
- overflow: visible !important;
- padding: 5px 5px 10px 5px;
- }
-
- .taskbar-icon {
- height: 40px;
- width: 40px;
- }
-
- /* Hide scrollbar for Chrome, Safari and Opera */
- .taskbar ::-webkit-scrollbar {
- width: 0 !important;
- display: none;
- }
-
- /* Hide scrollbar for IE, Edge and Firefox */
- .taskbar {
- -ms-overflow-style: none;
- /* IE and Edge */
- scrollbar-width: none;
- /* Firefox */
- }
-
+ .taskbar .taskbar-item,
+ .taskbar .taskbar-item-sortable-placeholder {
+ width: 40px !important;
+ height: 40px !important;
+ margin-right: 5px;
+ overflow: visible !important;
+ padding: 5px 5px 10px 5px;
+ }
+
+ .taskbar-icon {
+ height: 40px;
+ width: 40px;
+ }
+
+ /* Hide scrollbar for Chrome, Safari and Opera */
+ .taskbar ::-webkit-scrollbar {
+ width: 0 !important;
+ display: none;
+ }
+
+ /* Hide scrollbar for IE, Edge and Firefox */
+ .taskbar {
+ -ms-overflow-style: none;
+ /* IE and Edge */
+ scrollbar-width: none;
+ /* Firefox */
+ }
}
/*****************************************************
* Tooltip
*****************************************************/
-.ui-tooltip, .arrow:after {
- background-color: rgba(231, 238, 245, .92);
- box-shadow: none;
+.ui-tooltip,
+.arrow:after {
+ background-color: rgba(231, 238, 245, 0.92);
+ box-shadow: none;
}
.ui-tooltip {
- padding: 7px 11px;
- border-radius: 2px;
- font: 14px "Helvetica Neue", Sans-Serif;
- border: none !important;
- backdrop-filter: blur(3px);
- filter: drop-shadow(0 0 3px rgba(0, 0, 0, .455));
+ padding: 7px 11px;
+ border-radius: 2px;
+ font:
+ 14px "Helvetica Neue",
+ Sans-Serif;
+ border: none !important;
+ backdrop-filter: blur(3px);
+ filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.455));
}
.arrow {
- width: 70px;
- height: 16px;
- overflow: hidden;
- position: absolute;
- left: 50%;
- margin-left: -35px;
- bottom: -16px;
- border-top: none;
+ width: 70px;
+ height: 16px;
+ overflow: hidden;
+ position: absolute;
+ left: 50%;
+ margin-left: -35px;
+ bottom: -16px;
+ border-top: none;
}
.arrow.top {
- top: -16px;
- bottom: auto;
+ top: -16px;
+ bottom: auto;
}
.arrow.left {
- left: 20%;
+ left: 20%;
}
.arrow:after {
- content: "";
- position: absolute;
- left: 20px;
- top: -20px;
- width: 25px;
- height: 25px;
- -webkit-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- transform: rotate(45deg);
+ content: "";
+ position: absolute;
+ left: 20px;
+ top: -20px;
+ width: 25px;
+ height: 25px;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
}
.arrow.top:after {
- bottom: -20px;
- top: auto;
+ bottom: -20px;
+ top: auto;
}
/******************************************************/
.font-selector {
- padding: 10px;
- border-radius: 2px;
- margin: 10px 0;
- scroll-margin: 10px 0;
+ padding: 10px;
+ border-radius: 2px;
+ margin: 10px 0;
+ scroll-margin: 10px 0;
}
.font-selector-active {
- color: white;
- background-color: #2b62f1;
+ color: white;
+ background-color: #2b62f1;
}
/******************************************************/
/* Window Snapping */
/******************************************************/
.window-snap-placeholder {
- display: none;
- transition: all 0.2s;
- position: absolute;
- box-sizing: border-box;
- padding: 10px;
- backdrop-filter: blur(5px);
+ display: none;
+ transition: all 0.2s;
+ position: absolute;
+ box-sizing: border-box;
+ padding: 10px;
+ backdrop-filter: blur(5px);
}
.window-snap-placeholder-inner {
- border-radius: 4px;
- width: 100%;
- height: 100%;
- background-color: rgba(245, 245, 245, 0.7);
+ border-radius: 4px;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(245, 245, 245, 0.7);
}
/*****************************************************
@@ -2566,706 +2697,721 @@ label {
*****************************************************/
.popover {
- position: absolute;
- display: none;
- z-index: 9999999;
- box-sizing: border-box;
- border-radius: 4px;
- overflow: hidden;
- box-shadow: 0px 0px 15px #00000066;
+ position: absolute;
+ display: none;
+ z-index: 9999999;
+ box-sizing: border-box;
+ border-radius: 4px;
+ overflow: hidden;
+ box-shadow: 0px 0px 15px #00000066;
}
@supports ((backdrop-filter: blur())) {
- .launch-popover {
- background-color: rgba(231, 238, 245, .92);
- backdrop-filter: blur(3px);
- }
+ .launch-popover {
+ background-color: rgba(231, 238, 245, 0.92);
+ backdrop-filter: blur(3px);
+ }
}
.popover-apps-item {
- clear: both;
- margin-bottom: 10px;
- overflow: hidden;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- padding: 5px;
-
+ clear: both;
+ margin-bottom: 10px;
+ overflow: hidden;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ padding: 5px;
}
.popover-apps-item:hover {
- background-color: #a5c8f3;
- border-radius: 4px;
+ background-color: #a5c8f3;
+ border-radius: 4px;
}
.popover-apps-item img {
- float: left;
- filter: drop-shadow(0px 0px 0.75px rgb(51, 51, 51));
+ float: left;
+ filter: drop-shadow(0px 0px 0.75px rgb(51, 51, 51));
}
.popover-apps-item span {
- line-height: 47px;
- display: block;
- float: left;
- margin-left: 10px;
+ line-height: 47px;
+ display: block;
+ float: left;
+ margin-left: 10px;
}
.device-phone .popover {
- height: calc(100vh - 65px);
- height: calc(100dvh - 65px);
- top: 0 !important;
- left: 0 !important;
- width: 100%;
- padding: 0;
- margin: 0;
+ height: calc(100vh - 65px);
+ height: calc(100dvh - 65px);
+ top: 0 !important;
+ left: 0 !important;
+ width: 100%;
+ padding: 0;
+ margin: 0;
}
/*****************************************************
* Notification
*****************************************************/
-.notification, .notification-wrapper {
- width: 320px;
- border-radius: 11px;
+.notification,
+.notification-wrapper {
+ width: 320px;
+ border-radius: 11px;
}
.notification {
- min-height: 54px;
- background: #ffffffcd;
- backdrop-filter: blur(5px);
- z-index: 99999999;
- box-shadow: 0px 0px 17px -9px #000;
- border: 1px solid #d5d5d5;
- margin-bottom: 10px;
- display: flex;
- flex-direction: row;
- pointer-events: all;
+ min-height: 54px;
+ background: #ffffffcd;
+ backdrop-filter: blur(5px);
+ z-index: 99999999;
+ box-shadow: 0px 0px 17px -9px #000;
+ border: 1px solid #d5d5d5;
+ margin-bottom: 10px;
+ display: flex;
+ flex-direction: row;
+ pointer-events: all;
}
.notification-wrapper {
- overflow: visible;
+ overflow: visible;
}
.notification-close {
- position: absolute;
- background: white;
- border-radius: 100%;
- top: -6px;
- left: -6px;
- width: 13px;
- padding: 2px;
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
- z-index: 99999999;
- display: none;
+ position: absolute;
+ background: white;
+ border-radius: 100%;
+ top: -6px;
+ left: -6px;
+ width: 13px;
+ padding: 2px;
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ z-index: 99999999;
+ display: none;
}
.notification:hover .notification-close {
- display: block;
+ display: block;
}
.notification-icon {
- width: 40px;
- margin: 10px 5px 10px 15px;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ width: 40px;
+ margin: 10px 5px 10px 15px;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
}
.notification-icon img {
- width: 35px;
- height: 35px;
+ width: 35px;
+ height: 35px;
}
.notification-title {
- font-size: 12px;
- font-weight: 600;
+ font-size: 12px;
+ font-weight: 600;
}
.notification-text {
- font-size: 12px;
- margin-top: 4px;
+ font-size: 12px;
+ margin-top: 4px;
}
.notification-content {
- flex-grow: 1;
- display: flex;
- flex-direction: column;
- padding: 10px;
+ flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ padding: 10px;
}
.notification-container {
- position: absolute;
- top: 40px;
- right: 10px;
- z-index: 1000;
- padding-top: 30px;
- pointer-events: none;
+ position: absolute;
+ top: 40px;
+ right: 10px;
+ z-index: 1000;
+ padding-top: 30px;
+ pointer-events: none;
}
.notifications-close-all {
- opacity: 0;
- position: absolute;
- top: 0px;
- right: 0px;
- background-color: #d5d9dc;
- padding: 3px 7px;
- border-radius: 3px;
- border: 1px solid #d5d5d5;
- font-size: 12px;
- transition: 0.15s;
- pointer-events: none;
- cursor: pointer;
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ opacity: 0;
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ background-color: #d5d9dc;
+ padding: 3px 7px;
+ border-radius: 3px;
+ border: 1px solid #d5d5d5;
+ font-size: 12px;
+ transition: 0.15s;
+ pointer-events: none;
+ cursor: pointer;
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
}
.notifications-close-all:hover {
- background-color: #dee1e3;
+ background-color: #dee1e3;
}
.notification-container.has-multiple {
- pointer-events: all;
+ pointer-events: all;
}
.notification-container.has-multiple:hover .notifications-close-all {
- pointer-events: all;
- opacity: 1 !important;
+ pointer-events: all;
+ opacity: 1 !important;
}
/*****************************************************
* Start
*****************************************************/
.launch-popover {
- width: 530px;
- height: 500px;
- padding: 20px 20px 20px;
- border: 1px solid #bbc2c9;
- border-radius: 4px;
- background-color: rgba(231, 238, 245, .92);
- backdrop-filter: blur(3px);
- box-sizing: border-box;
- overflow-y: scroll;
+ width: 530px;
+ height: 500px;
+ padding: 20px 20px 20px;
+ border: 1px solid #bbc2c9;
+ border-radius: 4px;
+ background-color: rgba(231, 238, 245, 0.92);
+ backdrop-filter: blur(3px);
+ box-sizing: border-box;
+ overflow-y: scroll;
}
.close-launch-popover {
- position: absolute;
- top: 2px;
- right: 3px;
- display: none;
+ position: absolute;
+ top: 2px;
+ right: 3px;
+ display: none;
}
.device-phone .close-launch-popover {
- display: block;
+ display: block;
}
.device-phone .launch-popover {
- width: 100vw;
- height: 100vh;
- height: 100dvh;
- background-color: rgba(231, 238, 245);
+ width: 100vw;
+ height: 100vh;
+ height: 100dvh;
+ background-color: rgba(231, 238, 245);
}
.start-section-heading {
- font-size: 13px;
- margin: 0;
- padding: 0;
- height: 15px;
- margin-left: 5px;
- margin-right: 5px;
- border-bottom: 1px solid #CCC;
- padding-bottom: 10px;
- color: #677a86;
- clear: both;
+ font-size: 13px;
+ margin: 0;
+ padding: 0;
+ height: 15px;
+ margin-left: 5px;
+ margin-right: 5px;
+ border-bottom: 1px solid #ccc;
+ padding-bottom: 10px;
+ color: #677a86;
+ clear: both;
}
.start-app-card {
- height: 100px;
- width: 20%;
- float: left;
- display: flex;
- flex-direction: column;
- justify-content: center;
- box-sizing: content-box;
+ height: 100px;
+ width: 20%;
+ float: left;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ box-sizing: content-box;
}
.start-app {
- width: 70px;
- height: 70px;
- text-align: center;
- overflow: hidden;
- margin: 0 auto;
- padding: 5px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- border-radius: 4px;
- transition: 0.1s background-color;
+ width: 70px;
+ height: 70px;
+ text-align: center;
+ overflow: hidden;
+ margin: 0 auto;
+ padding: 5px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ border-radius: 4px;
+ transition: 0.1s background-color;
}
.start-app-icon {
- filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
- display: block;
- margin: 0 auto;
- width: 38px;
- height: 38px;
- margin-top: 2px;
+ filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51));
+ display: block;
+ margin: 0 auto;
+ width: 38px;
+ height: 38px;
+ margin-top: 2px;
}
.start-app.ui-draggable-dragging {
- background-color: transparent !important;
- width: 40px !important;
- height: 40px !important;
+ background-color: transparent !important;
+ width: 40px !important;
+ height: 40px !important;
}
.start-app.ui-draggable-dragging img {
- width: 26px !important;
- height: 26px !important;
+ width: 26px !important;
+ height: 26px !important;
}
.start-app.ui-draggable-dragging .start-app-title {
- display: none;
+ display: none;
}
-.start-app:hover, .launch-app-selected .start-app {
- background-color: #ffffff;
+.start-app:hover,
+.launch-app-selected .start-app {
+ background-color: #ffffff;
}
.start-app:active {
- background-color: white;
+ background-color: white;
}
.start-app-title {
- font-size: 12px;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- text-overflow: ellipsis;
- display: block;
- margin-top: 8px;
- width: 100%;
- box-sizing: border-box;
- white-space: nowrap;
- overflow: hidden;
+ font-size: 12px;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ text-overflow: ellipsis;
+ display: block;
+ margin-top: 8px;
+ width: 100%;
+ box-sizing: border-box;
+ white-space: nowrap;
+ overflow: hidden;
}
/* UIWindowEmailConfirmationRequired */
-fieldset[name=number-code] {
- min-width: 0;
- /* Fix for Firefox */
- display: flex;
- justify-content: space-between;
- gap: 5px;
+fieldset[name="number-code"] {
+ min-width: 0;
+ /* Fix for Firefox */
+ display: flex;
+ justify-content: space-between;
+ gap: 5px;
}
.digit-input {
- min-width: 0;
- /* Fix for Firefox */
- box-sizing: border-box;
- flex-grow: 1;
- height: 50px;
- font-size: 25px;
- text-align: center;
- border-radius: 0.5rem;
- -moz-appearance: textfield;
- border: 2px solid #9b9b9b;
- color: #485660;
+ min-width: 0;
+ /* Fix for Firefox */
+ box-sizing: border-box;
+ flex-grow: 1;
+ height: 50px;
+ font-size: 25px;
+ text-align: center;
+ border-radius: 0.5rem;
+ -moz-appearance: textfield;
+ border: 2px solid #9b9b9b;
+ color: #485660;
}
.digit-input::-webkit-outer-spin-button,
.digit-input::-webkit-inner-spin-button {
- -webkit-appearance: none;
- margin: 0;
+ -webkit-appearance: none;
+ margin: 0;
}
.pulse {
- display: block;
- float: left;
- width: 5px;
- height: 5px;
- border-radius: 50%;
- background: #ffffff;
- animation: pulse-white 1.5s infinite;
- margin: 0;
- margin-top: 8px;
+ display: block;
+ float: left;
+ width: 5px;
+ height: 5px;
+ border-radius: 50%;
+ background: #ffffff;
+ animation: pulse-white 1.5s infinite;
+ margin: 0;
+ margin-top: 8px;
}
.forgot-password-link {
- cursor: pointer;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- font-size: 13px;
+ cursor: pointer;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ font-size: 13px;
}
.forgot-password-link:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.pulse-dark {
- display: block;
- float: left;
- width: 5px;
- height: 5px;
- border-radius: 50%;
- background: #3f3f3f;
- cursor: pointer;
- animation: pulse-dark 1.5s infinite;
- margin-top: -7px;
- margin-left: 7px;
+ display: block;
+ float: left;
+ width: 5px;
+ height: 5px;
+ border-radius: 50%;
+ background: #3f3f3f;
+ cursor: pointer;
+ animation: pulse-dark 1.5s infinite;
+ margin-top: -7px;
+ margin-left: 7px;
}
.context-menu-item-icon-active .pulse {
- margin-top: -7px;
- margin-left: 7px;
+ margin-top: -7px;
+ margin-left: 7px;
}
-.qr-code-window-close-btn, .generic-close-window-button {
- position: absolute;
- top: 0px;
- right: 0;
- font-size: 20px;
- cursor: pointer !important;
- color: #5f626d;
- opacity: 0.5;
- cursor: initial;
- padding: 2px 10px 0 10px;
+.qr-code-window-close-btn,
+.generic-close-window-button {
+ position: absolute;
+ top: 0px;
+ right: 0;
+ font-size: 20px;
+ cursor: pointer !important;
+ color: #5f626d;
+ opacity: 0.5;
+ cursor: initial;
+ padding: 2px 10px 0 10px;
}
-.qr-code-window-close-btn:hover, .generic-close-window-button {
- opacity: 1;
+.qr-code-window-close-btn:hover,
+.generic-close-window-button {
+ opacity: 1;
}
.welcome-window-close-button {
- opacity: 0.7;
- font-weight: 300;
- top: 5px;
- right: 5px;
+ opacity: 0.7;
+ font-weight: 300;
+ top: 5px;
+ right: 5px;
}
.welcome-window-close-button:hover {
- opacity: 1;
+ opacity: 1;
}
.otp-qr-code {
- width: 100%;
- display: flex;
- justify-content: center;
- flex-direction: column;
- align-items: center;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ align-items: center;
}
.otp-qr-code img {
- width: 355px;
- margin-bottom: 20px;
+ width: 355px;
+ margin-bottom: 20px;
}
.otp-as-text {
- margin: 20px 0;
+ margin: 20px 0;
}
.perm-title {
- text-align: center;
- margin-top: 0;
- padding-bottom: 15px;
- font-size: 20px;
- font-weight: 400;
- margin-bottom: 10px;
- color: #4b586a;
- text-shadow: 1px 1px #ffffff1c;
+ text-align: center;
+ margin-top: 0;
+ padding-bottom: 15px;
+ font-size: 20px;
+ font-weight: 400;
+ margin-bottom: 10px;
+ color: #4b586a;
+ text-shadow: 1px 1px #ffffff1c;
}
.perm-description {
- text-align: center;
- font-size: 15px;
- -webkit-font-smoothing: antialiased;
- padding: 0 10px;
- color: #2d3847;
- margin-top: 5px;
- margin-bottom: 5px;
+ text-align: center;
+ font-size: 15px;
+ -webkit-font-smoothing: antialiased;
+ padding: 0 10px;
+ color: #2d3847;
+ margin-top: 5px;
+ margin-bottom: 5px;
}
@-webkit-keyframes pulse-white {
- 0% {
- -webkit-box-shadow: 0 0 0 0 rgb(255, 255, 255);
- }
+ 0% {
+ -webkit-box-shadow: 0 0 0 0 rgb(255, 255, 255);
+ }
- 70% {
- -webkit-box-shadow: 0 0 0 px rgba(204, 169, 44, 0);
- }
+ 70% {
+ -webkit-box-shadow: 0 0 0 px rgba(204, 169, 44, 0);
+ }
- 100% {
- -webkit-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
- }
+ 100% {
+ -webkit-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
+ }
}
@keyframes pulse-white {
- 0% {
- -moz-box-shadow: 0 0 0 0 rgb(255, 255, 255);
- box-shadow: 0 0 0 0 rgb(255, 255, 255);
- }
+ 0% {
+ -moz-box-shadow: 0 0 0 0 rgb(255, 255, 255);
+ box-shadow: 0 0 0 0 rgb(255, 255, 255);
+ }
- 70% {
- -moz-box-shadow: 0 0 0 6px rgba(204, 169, 44, 0);
- box-shadow: 0 0 0 6px rgba(204, 169, 44, 0);
- }
+ 70% {
+ -moz-box-shadow: 0 0 0 6px rgba(204, 169, 44, 0);
+ box-shadow: 0 0 0 6px rgba(204, 169, 44, 0);
+ }
- 100% {
- -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
- box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
- }
+ 100% {
+ -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
+ box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
+ }
}
@-webkit-keyframes pulse-dark {
- 0% {
- -webkit-box-shadow: 0 0 0 0 #3f3f3f;
- }
+ 0% {
+ -webkit-box-shadow: 0 0 0 0 #3f3f3f;
+ }
- 70% {
- -webkit-box-shadow: 0 0 0 6px #0267ff00;
- }
+ 70% {
+ -webkit-box-shadow: 0 0 0 6px #0267ff00;
+ }
- 100% {
- -webkit-box-shadow: 0 0 0 0 #0267ff00;
- }
+ 100% {
+ -webkit-box-shadow: 0 0 0 0 #0267ff00;
+ }
}
@keyframes pulse-dark {
- 0% {
- -moz-box-shadow: 0 0 0 0 #3f3f3f;
- box-shadow: 0 0 0 0 #3f3f3f;
- }
+ 0% {
+ -moz-box-shadow: 0 0 0 0 #3f3f3f;
+ box-shadow: 0 0 0 0 #3f3f3f;
+ }
- 70% {
- -moz-box-shadow: 0 0 0 6px #0267ff00;
- box-shadow: 0 0 0 6px #0267ff00;
- }
+ 70% {
+ -moz-box-shadow: 0 0 0 6px #0267ff00;
+ box-shadow: 0 0 0 6px #0267ff00;
+ }
- 100% {
- -moz-box-shadow: 0 0 0 0 #0267ff00;
- box-shadow: 0 0 0 0 #0267ff00;
- }
+ 100% {
+ -moz-box-shadow: 0 0 0 0 #0267ff00;
+ box-shadow: 0 0 0 0 #0267ff00;
+ }
}
.progress-bar-container {
- box-sizing: border-box;
- width: 100%;
- height: 17px;
- border: 1px solid rgb(40 109 157);
- border-radius: 3px;
- background-color: white;
- box-shadow: inset -1px 3px 4px #dfdfdf;
+ box-sizing: border-box;
+ width: 100%;
+ height: 17px;
+ border: 1px solid rgb(40 109 157);
+ border-radius: 3px;
+ background-color: white;
+ box-shadow: inset -1px 3px 4px #dfdfdf;
}
.progress-bar {
- width: 0;
- height: 100%;
- background-color: rgb(0 137 255);
- transition: 0.4s width;
- background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05));
+ width: 0;
+ height: 100%;
+ background-color: rgb(0 137 255);
+ transition: 0.4s width;
+ background-image: linear-gradient(
+ to bottom,
+ rgba(255, 255, 255, 0.3),
+ rgba(255, 255, 255, 0.05)
+ );
}
/* Hide scrollbar for Chrome, Safari and Opera */
.hide-scrollbar::-webkit-scrollbar {
- width: 0 !important;
- display: none;
+ width: 0 !important;
+ display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.hide-scrollbar {
- -ms-overflow-style: none;
- /* IE and Edge */
- scrollbar-width: none;
- /* Firefox */
+ -ms-overflow-style: none;
+ /* IE and Edge */
+ scrollbar-width: none;
+ /* Firefox */
}
/******************************************************/
-.allow-user-select, .allow-user-select * {
- user-select: text;
+.allow-user-select,
+.allow-user-select * {
+ user-select: text;
}
@keyframes spin {
- to {
- -webkit-transform: rotate(360deg);
- }
+ to {
+ -webkit-transform: rotate(360deg);
+ }
}
@-webkit-keyframes spin {
- to {
- -webkit-transform: rotate(360deg);
- }
+ to {
+ -webkit-transform: rotate(360deg);
+ }
}
@supports ((backdrop-filter: blur())) {
- .window-head {
- background-color: hsla(var(--window-head-hue),
- var(--window-head-saturation),
- var(--window-head-lightness),
- var(--window-head-alpha));
- backdrop-filter: blur(10px);
- }
-
- .notification {
- background-color: hsla(var(--window-head-hue),
- var(--window-head-saturation),
- var(--window-head-lightness),
- var(--window-head-alpha));
- backdrop-filter: blur(10px);
- }
-
- .device-phone .window-head {
- background-color: rgba(231, 238, 245);
- backdrop-filter: blur(10px);
- }
-
- .window-sidebar {
- /* background-color: var(--puter-window-background); */
- background-color: hsla(var(--window-sidebar-hue),
- var(--window-sidebar-saturation),
- var(--window-sidebar-lightness),
- var(--window-sidebar-alpha));
- backdrop-filter: blur(10px);
- }
-
- .window-snap-placeholder {
- backdrop-filter: blur(5px);
- }
-
- .context-menu {
- background-color: rgb(255 255 255 / 92%);
- backdrop-filter: blur(3px);
- }
-
- .popover:not(.device-phone .popover) {
- background-color: rgb(238, 243, 248);
- backdrop-filter: blur(10px);
- }
+ .window-head {
+ background-color: hsla(
+ var(--window-head-hue),
+ var(--window-head-saturation),
+ var(--window-head-lightness),
+ var(--window-head-alpha)
+ );
+ backdrop-filter: blur(10px);
+ }
+
+ .notification {
+ background-color: hsla(
+ var(--window-head-hue),
+ var(--window-head-saturation),
+ var(--window-head-lightness),
+ var(--window-head-alpha)
+ );
+ backdrop-filter: blur(10px);
+ }
+
+ .device-phone .window-head {
+ background-color: rgba(231, 238, 245);
+ backdrop-filter: blur(10px);
+ }
+
+ .window-sidebar {
+ /* background-color: var(--puter-window-background); */
+ background-color: hsla(
+ var(--window-sidebar-hue),
+ var(--window-sidebar-saturation),
+ var(--window-sidebar-lightness),
+ var(--window-sidebar-alpha)
+ );
+ backdrop-filter: blur(10px);
+ }
+
+ .window-snap-placeholder {
+ backdrop-filter: blur(5px);
+ }
+
+ .context-menu {
+ background-color: rgb(255 255 255 / 92%);
+ backdrop-filter: blur(3px);
+ }
+
+ .popover:not(.device-phone .popover) {
+ background-color: rgb(238, 243, 248);
+ backdrop-filter: blur(10px);
+ }
}
@-moz-keyframes three-quarters-loader {
- 0% {
- -moz-transform: rotate(0deg);
- transform: rotate(0deg);
- }
+ 0% {
+ -moz-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
- 100% {
- -moz-transform: rotate(360deg);
- transform: rotate(360deg);
- }
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
}
@-webkit-keyframes three-quarters-loader {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
}
@keyframes three-quarters-loader {
- 0% {
- -moz-transform: rotate(0deg);
- -ms-transform: rotate(0deg);
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
+ 0% {
+ -moz-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
- 100% {
- -moz-transform: rotate(360deg);
- -ms-transform: rotate(360deg);
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
+ 100% {
+ -moz-transform: rotate(360deg);
+ -ms-transform: rotate(360deg);
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
}
.hidden {
- display: none;
+ display: none;
}
.invisible {
- visibility: hidden;
+ visibility: hidden;
}
.login-progress {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
}
.dl-conf-item-attr {
- width: 60px;
- text-align: right;
- display: inline-block;
- margin-right: 10px;
+ width: 60px;
+ text-align: right;
+ display: inline-block;
+ margin-right: 10px;
}
.launch-search {
- border-radius: 5px;
- background-repeat: no-repeat;
- width: 100%;
- box-sizing: border-box;
- background-color: white;
- padding: 5px;
- background-size: 20px;
- background-position-y: center;
- background-position-x: 5px;
- padding-left: 35px;
- padding-right: 35px;
- border: 2px solid #CCC;
+ border-radius: 5px;
+ background-repeat: no-repeat;
+ width: 100%;
+ box-sizing: border-box;
+ background-color: white;
+ padding: 5px;
+ background-size: 20px;
+ background-position-y: center;
+ background-position-x: 5px;
+ padding-left: 35px;
+ padding-right: 35px;
+ border: 2px solid #ccc;
}
.launch-search-wrapper {
- margin-bottom: 10px;
- padding: 5px;
- position: relative;
+ margin-bottom: 10px;
+ padding: 5px;
+ position: relative;
}
.device-phone .launch-search-wrapper {
- margin-top: 15px;
+ margin-top: 15px;
}
.launch-search-clear {
- display: none;
- position: absolute;
- right: 8px;
- top: 8px;
- height: 28px;
- opacity: 0.5;
+ display: none;
+ position: absolute;
+ right: 8px;
+ top: 8px;
+ height: 28px;
+ opacity: 0.5;
}
.launch-search-clear:hover {
- opacity: 1;
+ opacity: 1;
}
-.launch-app-selected {}
-
+.launch-app-selected {
+}
.website-badge-popover-title {
- font-size: 14px;
- margin: -10px;
- margin-bottom: 5px;
- padding: 8px 10px;
- background: #e5e5e5;
- color: #4b5f6f;
+ font-size: 14px;
+ margin: -10px;
+ margin-bottom: 5px;
+ padding: 8px 10px;
+ background: #e5e5e5;
+ color: #4b5f6f;
}
.website-badge-popover-content {
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- width: 270px;
- padding: 10px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ width: 270px;
+ padding: 10px;
}
-.website-badge-popover-link, .website-badge-popover-link:visited {
- color: #0073ed;
- text-decoration: none;
- width: 179px;
+.website-badge-popover-link,
+.website-badge-popover-link:visited {
+ color: #0073ed;
+ text-decoration: none;
+ width: 179px;
}
.website-badge-popover-link:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
/*!
@@ -3276,247 +3422,246 @@ fieldset[name=number-code] {
* Copyright (c) 2020 Animate.css
*/
:root {
- --animate-duration: 1s;
- --animate-delay: 1s;
- --animate-repeat: 1;
+ --animate-duration: 1s;
+ --animate-delay: 1s;
+ --animate-repeat: 1;
}
.animate__animated {
- -webkit-animation-duration: 1s;
- animation-duration: 1s;
- -webkit-animation-duration: var(--animate-duration);
- animation-duration: var(--animate-duration);
- -webkit-animation-fill-mode: both;
- animation-fill-mode: both;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-duration: var(--animate-duration);
+ animation-duration: var(--animate-duration);
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
}
/* Zooming entrances */
@-webkit-keyframes zoomIn {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
- 50% {
- opacity: 1;
- }
+ 50% {
+ opacity: 1;
+ }
}
@keyframes zoomIn {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
- 50% {
- opacity: 1;
- }
+ 50% {
+ opacity: 1;
+ }
}
.animate__zoomIn {
- -webkit-animation-name: zoomIn;
- animation-name: zoomIn;
+ -webkit-animation-name: zoomIn;
+ animation-name: zoomIn;
}
@-webkit-keyframes fadeInRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
}
@keyframes fadeInRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
}
.animate__fadeInRight {
- -webkit-animation-name: fadeInRight;
- animation-name: fadeInRight;
+ -webkit-animation-name: fadeInRight;
+ animation-name: fadeInRight;
}
.animate__animated.animate__slow {
- -webkit-animation-duration: calc(1s * 2);
- animation-duration: calc(1s * 2);
- -webkit-animation-duration: calc(var(--animate-duration) * 2);
- animation-duration: calc(var(--animate-duration) * 2);
+ -webkit-animation-duration: calc(1s * 2);
+ animation-duration: calc(1s * 2);
+ -webkit-animation-duration: calc(var(--animate-duration) * 2);
+ animation-duration: calc(var(--animate-duration) * 2);
}
@-webkit-keyframes fadeOutRight {
- from {
- opacity: 1;
- }
+ from {
+ opacity: 1;
+ }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
}
@keyframes fadeOutRight {
- from {
- opacity: 1;
- }
+ from {
+ opacity: 1;
+ }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
}
.animate__fadeOutRight {
- -webkit-animation-name: fadeOutRight;
- animation-name: fadeOutRight;
+ -webkit-animation-name: fadeOutRight;
+ animation-name: fadeOutRight;
}
:root {
- --animate-duration: 300ms;
- /* --animate-delay: 0.9s; */
+ --animate-duration: 300ms;
+ /* --animate-delay: 0.9s; */
}
.animate__animated.animate__faster {
- -webkit-animation-duration: calc(1s / 2);
- animation-duration: calc(1s / 2);
- -webkit-animation-duration: calc(var(--animate-duration) / 2);
- animation-duration: calc(var(--animate-duration) / 2);
+ -webkit-animation-duration: calc(1s / 2);
+ animation-duration: calc(1s / 2);
+ -webkit-animation-duration: calc(var(--animate-duration) / 2);
+ animation-duration: calc(var(--animate-duration) / 2);
}
.antialiased {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
.share-copy-link-on-social {
- float: right;
- width: 30px;
- cursor: pointer;
- margin-top: 2px;
+ float: right;
+ width: 30px;
+ cursor: pointer;
+ margin-top: 2px;
}
.copy-link-social-btn {
- margin: 10px;
- display: inline-block;
- width: 20px;
- height: 20px;
+ margin: 10px;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
}
.copy-link-social-btn img {
- width: 20px;
- height: 20px;
+ width: 20px;
+ height: 20px;
}
-
.puter-auth-dialog {
- outline: none;
- display: block;
- width: 100% !important;
+ outline: none;
+ display: block;
+ width: 100% !important;
}
.puter-auth-dialog {
- outline: none;
+ outline: none;
}
.puter-auth-dialog-content {
- border: 1px solid #e8e8e8;
- border-radius: 8px;
- padding: 20px;
- background: white;
- box-shadow: 0 0 9px 1px rgb(0 0 0 / 21%);
- padding: 80px 20px;
- -webkit-font-smoothing: antialiased;
- color: #575762;
- position: relative;
- background-image: url('data:image/webp;base64,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');
- background-repeat: no-repeat;
- background-position: center center;
- background-size: 100% 100%;
- background-color: #fff;
- height: 100%;
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ border: 1px solid #e8e8e8;
+ border-radius: 8px;
+ padding: 20px;
+ background: white;
+ box-shadow: 0 0 9px 1px rgb(0 0 0 / 21%);
+ padding: 80px 20px;
+ -webkit-font-smoothing: antialiased;
+ color: #575762;
+ position: relative;
+ background-image: url("data:image/webp;base64,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");
+ background-repeat: no-repeat;
+ background-position: center center;
+ background-size: 100% 100%;
+ background-color: #fff;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
}
.puter-auth-dialog * {
- max-width: 500px;
- font-family: "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif;
+ max-width: 500px;
+ font-family: "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif;
}
.puter-auth-dialog p.about {
- text-align: center;
- font-size: 17px;
- padding: 10px 30px;
- font-weight: 400;
- -webkit-font-smoothing: antialiased;
- color: #404048;
- box-sizing: border-box;
+ text-align: center;
+ font-size: 17px;
+ padding: 10px 30px;
+ font-weight: 400;
+ -webkit-font-smoothing: antialiased;
+ color: #404048;
+ box-sizing: border-box;
}
.puter-auth-dialog .buttons {
- display: flex;
- justify-content: center;
- align-items: center;
- flex-wrap: wrap;
- margin-top: 20px;
- text-align: center;
- margin-bottom: 20px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
+ margin-top: 20px;
+ text-align: center;
+ margin-bottom: 20px;
}
.launch-auth-popup-footnote {
- font-size: 11px;
- color: #666;
- margin-top: 10px;
- /* footer at the bottom */
- position: absolute;
- left: 0;
- right: 0;
- bottom: 10px;
- text-align: center;
- margin: 0 10px;
+ font-size: 11px;
+ color: #666;
+ margin-top: 10px;
+ /* footer at the bottom */
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 10px;
+ text-align: center;
+ margin: 0 10px;
}
.signup-terms {
- font-size: 11px;
- color: #666;
- margin-top: 10px;
- bottom: 10px;
- text-align: center;
- margin: 10px 0 15px;
+ font-size: 11px;
+ color: #666;
+ margin-top: 10px;
+ bottom: 10px;
+ text-align: center;
+ margin: 10px 0 15px;
}
.puter-auth-dialog .close-btn {
- position: absolute;
- right: 15px;
- top: 10px;
- font-size: 17px;
- color: #8a8a8a;
- cursor: pointer;
+ position: absolute;
+ right: 15px;
+ top: 10px;
+ font-size: 17px;
+ color: #8a8a8a;
+ cursor: pointer;
}
.puter-auth-dialog .close-btn:hover {
- color: #000;
+ color: #000;
}
/**
@@ -3526,92 +3671,125 @@ fieldset[name=number-code] {
*/
.puter-auth-dialog .button {
- color: #666666;
- background-color: #eeeeee;
- border-color: #eeeeee;
- font-size: 14px;
- text-decoration: none;
- text-align: center;
- line-height: 40px;
- height: 35px;
- padding: 0 30px;
- margin: 0;
- display: inline-block;
- appearance: none;
- cursor: pointer;
- border: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-color: #b9b9b9;
- border-style: solid;
- border-width: 1px;
- line-height: 35px;
- background: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e1e1e1));
- background: linear-gradient(#f6f6f6, #e1e1e1);
- -webkit-box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%);
- box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%);
- border-radius: 4px;
- outline: none;
- -webkit-font-smoothing: antialiased;
+ color: #666666;
+ background-color: #eeeeee;
+ border-color: #eeeeee;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: center;
+ line-height: 40px;
+ height: 35px;
+ padding: 0 30px;
+ margin: 0;
+ display: inline-block;
+ appearance: none;
+ cursor: pointer;
+ border: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-color: #b9b9b9;
+ border-style: solid;
+ border-width: 1px;
+ line-height: 35px;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#f6f6f6),
+ to(#e1e1e1)
+ );
+ background: linear-gradient(#f6f6f6, #e1e1e1);
+ -webkit-box-shadow:
+ inset 0px 1px 0px rgb(255 255 255 / 30%),
+ 0 1px 2px rgb(0 0 0 / 15%);
+ box-shadow:
+ inset 0px 1px 0px rgb(255 255 255 / 30%),
+ 0 1px 2px rgb(0 0 0 / 15%);
+ border-radius: 4px;
+ outline: none;
+ -webkit-font-smoothing: antialiased;
}
.puter-auth-dialog .button:focus-visible {
- border-color: rgb(118 118 118);
-}
-
-.puter-auth-dialog .button:active, .puter-auth-dialog .button.active, .puter-auth-dialog .button.is-active, .puter-auth-dialog .button.has-open-contextmenu {
- text-decoration: none;
- background-color: #eeeeee;
- border-color: #cfcfcf;
- color: #a9a9a9;
- -webkit-transition-duration: 0s;
- transition-duration: 0s;
- -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%);
- box-shadow: inset 0px 2px 3px rgb(0 0 0 / 36%), 0px 1px 0px white;
-}
-
-.puter-auth-dialog .button.disabled, .puter-auth-dialog .button.is-disabled, .puter-auth-dialog .button:disabled {
- top: 0 !important;
- background: #EEE !important;
- border: 1px solid #DDD !important;
- text-shadow: 0 1px 1px white !important;
- color: #CCC !important;
- cursor: default !important;
- appearance: none !important;
- pointer-events: none;
-}
-
-.puter-auth-dialog .button-action.disabled, .puter-auth-dialog .button-action.is-disabled, .puter-auth-dialog .button-action:disabled {
- background: #55a975 !important;
- border: 1px solid #60ab7d !important;
- text-shadow: none !important;
- color: #CCC !important;
-}
-
-.puter-auth-dialog .button-primary.disabled, .puter-auth-dialog .button-primary.is-disabled, .puter-auth-dialog .button-primary:disabled {
- background: #8fc2e7 !important;
- border: 1px solid #98adbd !important;
- text-shadow: none !important;
- color: #f5f5f5 !important;
+ border-color: rgb(118 118 118);
+}
+
+.puter-auth-dialog .button:active,
+.puter-auth-dialog .button.active,
+.puter-auth-dialog .button.is-active,
+.puter-auth-dialog .button.has-open-contextmenu {
+ text-decoration: none;
+ background-color: #eeeeee;
+ border-color: #cfcfcf;
+ color: #a9a9a9;
+ -webkit-transition-duration: 0s;
+ transition-duration: 0s;
+ -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%);
+ box-shadow:
+ inset 0px 2px 3px rgb(0 0 0 / 36%),
+ 0px 1px 0px white;
+}
+
+.puter-auth-dialog .button.disabled,
+.puter-auth-dialog .button.is-disabled,
+.puter-auth-dialog .button:disabled {
+ top: 0 !important;
+ background: #eee !important;
+ border: 1px solid #ddd !important;
+ text-shadow: 0 1px 1px white !important;
+ color: #ccc !important;
+ cursor: default !important;
+ appearance: none !important;
+ pointer-events: none;
+}
+
+.puter-auth-dialog .button-action.disabled,
+.puter-auth-dialog .button-action.is-disabled,
+.puter-auth-dialog .button-action:disabled {
+ background: #55a975 !important;
+ border: 1px solid #60ab7d !important;
+ text-shadow: none !important;
+ color: #ccc !important;
+}
+
+.puter-auth-dialog .button-primary.disabled,
+.puter-auth-dialog .button-primary.is-disabled,
+.puter-auth-dialog .button-primary:disabled {
+ background: #8fc2e7 !important;
+ border: 1px solid #98adbd !important;
+ text-shadow: none !important;
+ color: #f5f5f5 !important;
}
.puter-auth-dialog .button-block {
- width: 100%;
+ width: 100%;
}
.puter-auth-dialog .button-primary {
- border-color: #088ef0;
- background: -webkit-gradient(linear, left top, left bottom, from(#34a5f8), to(#088ef0));
- background: linear-gradient(#34a5f8, #088ef0);
- color: white;
+ border-color: #088ef0;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#34a5f8),
+ to(#088ef0)
+ );
+ background: linear-gradient(#34a5f8, #088ef0);
+ color: white;
}
.puter-auth-dialog .button-danger {
- border-color: #f00808;
- background: -webkit-gradient(linear, left top, left bottom, from(#f83434), to(#f00808));
- background: linear-gradient(#f83434, #f00808);
- color: white;
+ border-color: #f00808;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#f83434),
+ to(#f00808)
+ );
+ background: linear-gradient(#f83434, #f00808);
+ color: white;
}
.puter-auth-dialog .button-primary:active,
@@ -3620,16 +3798,22 @@ fieldset[name=number-code] {
.puter-auth-dialog .button-primary-flat:active,
.puter-auth-dialog .button-primary-flat.active,
.puter-auth-dialog .button-primary-flat.is-active {
- background-color: #2798eb;
- border-color: #2798eb;
- color: #bedef5;
+ background-color: #2798eb;
+ border-color: #2798eb;
+ color: #bedef5;
}
.puter-auth-dialog .button-action {
- border-color: #08bf4e;
- background: -webkit-gradient(linear, left top, left bottom, from(#29d55d), to(#1ccd60));
- background: linear-gradient(#29d55d, #1ccd60);
- color: white;
+ border-color: #08bf4e;
+ background: -webkit-gradient(
+ linear,
+ left top,
+ left bottom,
+ from(#29d55d),
+ to(#1ccd60)
+ );
+ background: linear-gradient(#29d55d, #1ccd60);
+ color: white;
}
.puter-auth-dialog .button-action:active,
@@ -3638,103 +3822,104 @@ fieldset[name=number-code] {
.puter-auth-dialog .button-action-flat:active,
.puter-auth-dialog .button-action-flat.active,
.puter-auth-dialog .button-action-flat.is-active {
- background-color: #27eb41;
- border-color: #27eb41;
- color: #bef5ca;
+ background-color: #27eb41;
+ border-color: #27eb41;
+ color: #bef5ca;
}
.puter-auth-dialog .button-giant {
- font-size: 28px;
- height: 70px;
- line-height: 70px;
- padding: 0 70px;
+ font-size: 28px;
+ height: 70px;
+ line-height: 70px;
+ padding: 0 70px;
}
.puter-auth-dialog .button-jumbo {
- font-size: 24px;
- height: 60px;
- line-height: 60px;
- padding: 0 60px;
+ font-size: 24px;
+ height: 60px;
+ line-height: 60px;
+ padding: 0 60px;
}
.puter-auth-dialog .button-large {
- font-size: 20px;
- height: 50px;
- line-height: 50px;
- padding: 0 50px;
+ font-size: 20px;
+ height: 50px;
+ line-height: 50px;
+ padding: 0 50px;
}
.puter-auth-dialog .button-normal {
- font-size: 16px;
- height: 40px;
- line-height: 38px;
- padding: 0 40px;
+ font-size: 16px;
+ height: 40px;
+ line-height: 38px;
+ padding: 0 40px;
}
.puter-auth-dialog .button-small {
- height: 30px;
- line-height: 29px;
- padding: 0 30px;
+ height: 30px;
+ line-height: 29px;
+ padding: 0 30px;
}
.puter-auth-dialog .button-tiny {
- font-size: 9.6px;
- height: 24px;
- line-height: 24px;
- padding: 0 24px;
+ font-size: 9.6px;
+ height: 24px;
+ line-height: 24px;
+ padding: 0 24px;
}
#launch-auth-popup {
- margin-left: 10px;
- width: 200px;
- font-weight: 500;
- font-size: 15px;
+ margin-left: 10px;
+ width: 200px;
+ font-weight: 500;
+ font-size: 15px;
}
.puter-auth-dialog .button-auth {
- margin-bottom: 10px;
+ margin-bottom: 10px;
}
-.puter-auth-dialog a, .puter-auth-dialog a:visited {
- color: rgb(0 69 238);
- text-decoration: none;
+.puter-auth-dialog a,
+.puter-auth-dialog a:visited {
+ color: rgb(0 69 238);
+ text-decoration: none;
}
.puter-auth-dialog a:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
-@media (max-width:480px) {
- .puter-auth-dialog-content {
- padding: 50px 20px;
- }
+@media (max-width: 480px) {
+ .puter-auth-dialog-content {
+ padding: 50px 20px;
+ }
- .puter-auth-dialog .buttons {
- flex-direction: column-reverse;
- }
+ .puter-auth-dialog .buttons {
+ flex-direction: column-reverse;
+ }
- .puter-auth-dialog p.about {
- padding: 10px 0;
- }
+ .puter-auth-dialog p.about {
+ padding: 10px 0;
+ }
- .puter-auth-dialog .button-auth {
- width: 100% !important;
- margin: 0 !important;
- margin-bottom: 10px !important;
- }
+ .puter-auth-dialog .button-auth {
+ width: 100% !important;
+ margin: 0 !important;
+ margin-bottom: 10px !important;
+ }
}
.loading {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- background-color: #ebebebc2;
- display: flex;
- justify-content: center;
- align-items: center;
- display: none;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background-color: #ebebebc2;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ display: none;
}
/*!
@@ -3744,544 +3929,614 @@ fieldset[name=number-code] {
*/
.settings-container {
- display: flex;
- flex-direction: column;
- height: 100%;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
}
.settings {
- display: flex;
- flex-direction: row;
- -webkit-font-smoothing: antialiased;
- flex-grow: 1;
- position: relative;
+ display: flex;
+ flex-direction: row;
+ -webkit-font-smoothing: antialiased;
+ flex-grow: 1;
+ position: relative;
}
.settings-sidebar {
- width: 200px;
- background-color: #f9f9f9;
- border-right: 1px solid #e0e0e0;
- padding: 20px;
- position: relative;
- margin-top: 1px;
+ width: 200px;
+ background-color: #f9f9f9;
+ border-right: 1px solid #e0e0e0;
+ padding: 20px;
+ position: relative;
+ margin-top: 1px;
}
.settings-sidebar-title {
- margin-bottom: 20px;
- font-weight: bold;
- -webkit-font-smoothing: antialiased;
- margin-top: 15px;
- color: #8c8c8c;
- font-size: 19px;
+ margin-bottom: 20px;
+ font-weight: bold;
+ -webkit-font-smoothing: antialiased;
+ margin-top: 15px;
+ color: #8c8c8c;
+ font-size: 19px;
}
.settings-sidebar-item {
- cursor: pointer;
- border-radius: 4px;
- padding: 10px;
- margin-bottom: 15px;
- background-repeat: no-repeat;
- background-position: 10px center;
- background-size: 25px;
- padding-left: 45px;
- font-size: 15px;
+ cursor: pointer;
+ border-radius: 4px;
+ padding: 10px;
+ margin-bottom: 15px;
+ background-repeat: no-repeat;
+ background-position: 10px center;
+ background-size: 25px;
+ padding-left: 45px;
+ font-size: 15px;
}
.settings-sidebar-item:hover {
- background-color: #e8e8e8;
+ background-color: #e8e8e8;
}
.settings-sidebar-item.active {
- background-color: #e0e0e0;
+ background-color: #e0e0e0;
}
.settings-content-container {
- flex: 1;
- padding: 20px 30px;
- height: 500px;
- overflow-y: auto;
+ flex: 1;
+ padding: 20px 30px;
+ height: 500px;
+ overflow-y: auto;
}
.settings-content {
- display: none;
- max-width: 800px;
- margin: auto;
+ display: none;
+ max-width: 800px;
+ margin: auto;
}
.settings-content[data-settings="about"] {
- height: 100%;
+ height: 100%;
}
.settings-content h1 {
- font-size: 24px;
- margin-bottom: 20px;
- border-bottom: 1px solid #e0e0e0;
- padding-bottom: 10px;
- padding-left: 5px;
- font-weight: 500;
+ font-size: 24px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #e0e0e0;
+ padding-bottom: 10px;
+ padding-left: 5px;
+ font-weight: 500;
}
.settings-content.active {
- display: block;
+ display: block;
}
.settings-content .about-container {
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
}
.settings-content[data-settings="about"] a {
- color: #1663d4;
- text-decoration: none;
- font-size: 12px;
+ color: #1663d4;
+ text-decoration: none;
+ font-size: 12px;
}
.settings-content[data-settings="about"] a:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.settings-content .logo,
.settings-content .logo img {
- display: block;
- width: 55px;
- height: 55px;
- margin: 0 auto;
- border-radius: 4px;
+ display: block;
+ width: 55px;
+ height: 55px;
+ margin: 0 auto;
+ border-radius: 4px;
}
.settings-content .links {
- text-align: center;
- font-size: 14px;
- margin-top: 10px;
+ text-align: center;
+ font-size: 14px;
+ margin-top: 10px;
}
.settings-content .social-links {
- text-align: center;
- /* margin-top: 10px; */
+ text-align: center;
+ /* margin-top: 10px; */
}
.settings-content .social-links a {
- opacity: 0.7;
- transition: opacity 0.1s ease-in-out;
+ opacity: 0.7;
+ transition: opacity 0.1s ease-in-out;
}
.settings-content .social-links a,
.settings-content .social-links a:hover {
- text-decoration: none;
- margin: 0 10px;
-
+ text-decoration: none;
+ margin: 0 10px;
}
.settings-content .social-links a:hover {
- opacity: 1;
+ opacity: 1;
}
.settings-content .social-links svg {
- width: 20px;
- height: 20px;
+ width: 20px;
+ height: 20px;
}
.settings-content .about {
- text-align: center;
- display: flex;
- flex-direction: column;
- justify-content: center;
- padding: 20px 40px;
- max-width: 500px;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ padding: 20px 40px;
+ max-width: 500px;
}
.about-container .about {
- text-align: center;
+ text-align: center;
}
.settings-content .version {
- font-size: 9px;
- color: #343c4f;
- text-align: center;
- margin-bottom: 10px;
- opacity: 0.3;
- transition: opacity 0.1s ease-in-out;
- height: 12px;
+ font-size: 9px;
+ color: #343c4f;
+ text-align: center;
+ margin-bottom: 10px;
+ opacity: 0.3;
+ transition: opacity 0.1s ease-in-out;
+ height: 12px;
}
.settings-content .version:hover {
- opacity: 1;
+ opacity: 1;
}
.profile-picture {
- cursor: pointer;
- position: relative;
- overflow: hidden;
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
- border: 1px solid #EEE;
- width: 120px;
- height: 120px;
- border-radius: 50%;
- margin-right: 0;
- margin-top: 20px;
- margin-bottom: 20px;
- background-color: #c5cdd4;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+ background-position: center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ border: 1px solid #eee;
+ width: 120px;
+ height: 120px;
+ border-radius: 50%;
+ margin-right: 0;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ background-color: #c5cdd4;
}
.profile-picture:hover {
- background-color: #a6afb7;
+ background-color: #a6afb7;
}
-.profile-image-has-picture{
- border: 1px solid white;
+.profile-image-has-picture {
+ border: 1px solid white;
}
-.driver-usage {
- background-color: white;
- bottom: 0;
+
+/* Default avatar styling when no profile picture is set */
+.profile-picture:not(.profile-image-has-picture),
+.profile-image:not(.profile-image-has-picture) {
+ background-color: #c5cdd4;
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+}
+
+/* Ensure proper sizing for default avatar icon */
+.profile-picture:not(.profile-image-has-picture):hover,
+.profile-image:not(.profile-image-has-picture):hover {
+ background-color: #a6afb7;
+ background-size: cover;
+}
+
+/* Profile Picture Container and Actions */
+.profile-picture-container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-bottom: 20px;
+ overflow: hidden;
+}
+
+.profile-picture-actions {
+ display: flex;
+ gap: 10px;
+ margin-top: 15px;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.profile-picture-actions .button {
+ font-size: 14px;
+ height: 35px;
+ padding: 0 15px;
+ min-width: 100px;
+}
+
+.remove-profile-picture {
+ border-color: #f00808;
+ background: linear-gradient(#f83434, #f00808);
+ color: white;
+}
+
+.remove-profile-picture:hover {
+ background: linear-gradient(#f52d2d, #e00707);
+ border-color: #e00707;
+}
+
+.remove-profile-picture:active {
+ background-color: #d00606;
+ border-color: #d00606;
+ color: #ffcccc;
+}
+
+/* Responsive design for smaller screens */
+@media (max-width: 480px) {
+ .profile-picture-actions {
+ flex-direction: column;
+ align-items: center;
+ gap: 8px;
+ }
+
+ .profile-picture-actions .button {
width: 100%;
- box-sizing: border-box;
- color: #3c4963;
- height: 85px;
+ max-width: 200px;
+ }
+}
+
+.driver-usage {
+ background-color: white;
+ bottom: 0;
+ width: 100%;
+ box-sizing: border-box;
+ color: #3c4963;
+ height: 85px;
}
.credits {
- padding: 0;
- border: 1px solid #bfbfbf;
- box-shadow: 1px 1px 10px 0px #8a8a8a;
- width: 400px;
+ padding: 0;
+ border: 1px solid #bfbfbf;
+ box-shadow: 1px 1px 10px 0px #8a8a8a;
+ width: 400px;
}
.credit-content a {
- font-size: 15px;
+ font-size: 15px;
}
.credits .credit-content {
- padding: 20px;
+ padding: 20px;
}
.credit-content {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
.credit-content ul {
- max-height: 300px;
- overflow-y: scroll;
- background: #f4f4f4;
- padding: 10px;
- box-shadow: 2px 2px 5px 2px inset #CCC;
-
+ max-height: 300px;
+ overflow-y: scroll;
+ background: #f4f4f4;
+ padding: 10px;
+ box-shadow: 2px 2px 5px 2px inset #ccc;
}
.credit-content li {
- margin-bottom: 10px;
+ margin-bottom: 10px;
}
#storage-bar-wrapper {
- width: 100%;
- height: 20px;
- border: 1px solid #8a9096;
- border-radius: 3px;
- background-color: #fff;
- position: relative;
- display: flex;
- align-items: center;
+ width: 100%;
+ height: 20px;
+ border: 1px solid #8a9096;
+ border-radius: 3px;
+ background-color: #fff;
+ position: relative;
+ display: flex;
+ align-items: center;
}
#storage-bar {
- float: left;
- height: 20px;
- background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- width: 0;
+ float: left;
+ height: 20px;
+ background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ width: 0;
}
#storage-bar-host {
- float: left;
- height: 100%;
- background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- width: 0;
+ float: left;
+ height: 100%;
+ background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ width: 0;
}
#storage-used-percent {
- position: absolute;
- text-align: center;
- display: inline-block;
- width: 100%;
- font-size: 13px;
+ position: absolute;
+ text-align: center;
+ display: inline-block;
+ width: 100%;
+ font-size: 13px;
}
.usage-progbar-wrapper {
- width: 100%;
- height: 20px;
- border: 1px solid #8a9096;
- border-radius: 3px;
- background-color: #fff;
- position: relative;
- display: flex;
- align-items: center;
+ width: 100%;
+ height: 20px;
+ border: 1px solid #8a9096;
+ border-radius: 3px;
+ background-color: #fff;
+ position: relative;
+ display: flex;
+ align-items: center;
}
.usage-progbar {
- float: left;
- height: 20px;
- background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- width: 0;
+ float: left;
+ height: 20px;
+ background: linear-gradient(#dbe3ef, #c2ccdc, #dbe3ef);
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ width: 0;
}
.usage-progbar-percent {
- position: absolute;
- left: calc(50% - 20px);
- text-align: center;
- display: inline-block;
- width: 40px;
- font-size: 13px;
- line-height: 20px;
+ position: absolute;
+ left: calc(50% - 20px);
+ text-align: center;
+ display: inline-block;
+ width: 40px;
+ font-size: 13px;
+ line-height: 20px;
}
.version {
- font-size: 9px;
- color: #343c4f;
- text-align: center;
- margin-bottom: 10px;
- opacity: 0.3;
- transition: opacity 0.1s ease-in-out;
- height: 12px;
+ font-size: 9px;
+ color: #343c4f;
+ text-align: center;
+ margin-bottom: 10px;
+ opacity: 0.3;
+ transition: opacity 0.1s ease-in-out;
+ height: 12px;
}
.version#version-placeholder {
- margin-top: 10px;
- margin-bottom: 0;
+ margin-top: 10px;
+ margin-bottom: 0;
}
.version:hover {
- opacity: 1;
+ opacity: 1;
}
.language-list {
- display: grid;
- grid-template-columns: 33.333333333% 33.333333333% 33.333333333%;
+ display: grid;
+ grid-template-columns: 33.333333333% 33.333333333% 33.333333333%;
}
.language-item {
- cursor: pointer;
- padding: 10px;
- border-radius: 4px;
- margin-bottom: 10px;
- margin-right: 10px;
- font-size: 13px;
- position: relative;
+ cursor: pointer;
+ padding: 10px;
+ border-radius: 4px;
+ margin-bottom: 10px;
+ margin-right: 10px;
+ font-size: 13px;
+ position: relative;
}
.language-item:hover {
- background-color: #f6f6f6;
+ background-color: #f6f6f6;
}
.language-item .checkmark {
- width: 15px;
- height: 15px;
- border-radius: 50%;
- margin-left: 10px;
- display: none;
- position: absolute;
- right: 10px;
+ width: 15px;
+ height: 15px;
+ border-radius: 50%;
+ margin-left: 10px;
+ display: none;
+ position: absolute;
+ right: 10px;
}
.language-item.active {
- background-color: #e0e0e0;
+ background-color: #e0e0e0;
}
.language-item.active .checkmark {
- display: inline-block;
+ display: inline-block;
}
.settings-card {
- overflow: hidden;
- padding: 10px 15px;
- border: 1px solid;
- border-radius: 4px;
- background: #f7f7f7a1;
- border: 1px solid #cccccc8f;
- margin-bottom: 20px;
- display: flex;
- flex-direction: row;
- align-items: center;
- height: 45px;
+ overflow: hidden;
+ padding: 10px 15px;
+ border: 1px solid;
+ border-radius: 4px;
+ background: #f7f7f7a1;
+ border: 1px solid #cccccc8f;
+ margin-bottom: 20px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ height: 45px;
}
.settings-card .button {
- box-shadow: none;
+ box-shadow: none;
}
.thin-card {
- padding: 0 15px;
+ padding: 0 15px;
}
.settings-card strong {
- font-weight: 500;
+ font-weight: 500;
}
.settings-card-danger {
- border-color: #f0080866;
- background: #ffecec;
- color: rgb(215 2 2);
+ border-color: #f0080866;
+ background: #ffecec;
+ color: rgb(215 2 2);
}
.settings-card-success {
- border-color: #08bf4e;
- background: #e6ffed;
- color: #03933a;
+ border-color: #08bf4e;
+ background: #e6ffed;
+ color: #03933a;
}
.settings-card-warning {
- border-color: #f0a500;
- background: #fff7e6;
- color: #c98900;
+ border-color: #f0a500;
+ background: #fff7e6;
+ color: #c98900;
}
.error-message {
- display: none;
- color: rgb(215 2 2);
- font-size: 14px;
- margin-top: 10px;
- margin-bottom: 10px;
- padding: 10px;
- border-radius: 4px;
- border: 1px solid rgb(215 2 2);
- text-align: center;
+ display: none;
+ color: rgb(215 2 2);
+ font-size: 14px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 10px;
+ border-radius: 4px;
+ border: 1px solid rgb(215 2 2);
+ text-align: center;
}
.account-deletion-confirmation-prompt {
- text-align: center;
- font-size: 16px;
- padding: 20px;
- font-weight: 400;
- margin: -10px 10px 20px 10px;
- -webkit-font-smoothing: antialiased;
- color: #5f626d;
+ text-align: center;
+ font-size: 16px;
+ padding: 20px;
+ font-weight: 400;
+ margin: -10px 10px 20px 10px;
+ -webkit-font-smoothing: antialiased;
+ color: #5f626d;
}
.account-deletion-confirmation-icon {
- width: 70px;
- margin: 20px auto 20px;
- display: block;
- margin-bottom: 20px;
+ width: 70px;
+ margin: 20px auto 20px;
+ display: block;
+ margin-bottom: 20px;
}
.proceed-with-user-deletion {
- margin-bottom: 20px;
+ margin-bottom: 20px;
}
.confirm-temporary-user-deletion {
- width: 100%;
- margin-bottom: 20px;
+ width: 100%;
+ margin-bottom: 20px;
}
.confirm-user-deletion-password {
- width: 100%;
- margin-bottom: 20px;
+ width: 100%;
+ margin-bottom: 20px;
}
.session-manager-list {
- display: flex;
- flex-direction: column;
- gap: 10px;
- padding: 10px;
- box-sizing: border-box;
- height: 100% !important;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ padding: 10px;
+ box-sizing: border-box;
+ height: 100% !important;
}
.session-widget {
- display: flex;
- flex-direction: column;
- padding: 10px;
- border: 1px solid #e0e0e0;
- border-radius: 4px;
- gap: 4px;
+ display: flex;
+ flex-direction: column;
+ padding: 10px;
+ border: 1px solid #e0e0e0;
+ border-radius: 4px;
+ gap: 4px;
}
.current-session.session-widget {
- background-color: #f0f0f0;
+ background-color: #f0f0f0;
}
.session-widget-uuid {
- font-size: 12px;
- font-weight: 600;
- color: #9c185b;
+ font-size: 12px;
+ font-weight: 600;
+ color: #9c185b;
}
.session-widget-meta {
- display: flex;
- flex-direction: column;
- gap: 10px;
- max-height: 100px;
- overflow-y: scroll;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ max-height: 100px;
+ overflow-y: scroll;
}
.session-widget-meta-entry {
- display: flex;
- flex-direction: row;
- align-items: center;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
}
.session-widget-meta-key {
- font-size: 12px;
- color: #666;
- flex-basis: 40%;
- flex-shrink: 0;
+ font-size: 12px;
+ color: #666;
+ flex-basis: 40%;
+ flex-shrink: 0;
}
.session-widget-meta-value {
- font-size: 12px;
- color: #666;
- flex-grow: 1;
+ font-size: 12px;
+ color: #666;
+ flex-grow: 1;
}
.session-widget-actions {
- display: flex;
- flex-direction: row;
- gap: 10px;
- justify-content: flex-end;
+ display: flex;
+ flex-direction: row;
+ gap: 10px;
+ justify-content: flex-end;
}
/* Extra small devices (phones, less than 576px) */
@media (max-width: 575.98px) {
- .hidden-xs {
- display: none !important;
- }
+ .hidden-xs {
+ display: none !important;
+ }
}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
- .hidden-sm {
- display: none !important;
- }
+ .hidden-sm {
+ display: none !important;
+ }
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
- .hidden-md {
- display: none !important;
- }
+ .hidden-md {
+ display: none !important;
+ }
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
- .hidden-lg {
- display: none !important;
- }
+ .hidden-lg {
+ display: none !important;
+ }
}
/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
- .hidden-xl {
- display: none !important;
- }
+ .hidden-xl {
+ display: none !important;
+ }
}
/* Visible classes */
@@ -4290,97 +4545,97 @@ fieldset[name=number-code] {
.visible-md,
.visible-lg,
.visible-xl {
- display: none !important;
+ display: none !important;
}
@media (max-width: 575.98px) {
- .visible-xs {
- display: block !important;
- }
+ .visible-xs {
+ display: block !important;
+ }
- .settings-sidebar {
- display: none;
- position: fixed;
- height: 100%;
- z-index: 9;
- }
+ .settings-sidebar {
+ display: none;
+ position: fixed;
+ height: 100%;
+ z-index: 9;
+ }
}
@media (min-width: 576px) and (max-width: 767.98px) {
- .visible-sm {
- display: block !important;
- }
+ .visible-sm {
+ display: block !important;
+ }
- .settings-sidebar {
- display: none;
- position: fixed;
- height: 100%;
- z-index: 9;
- }
+ .settings-sidebar {
+ display: none;
+ position: fixed;
+ height: 100%;
+ z-index: 9;
+ }
}
@media (min-width: 768px) and (max-width: 991.98px) {
- .visible-md {
- display: block !important;
- }
+ .visible-md {
+ display: block !important;
+ }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
- .visible-lg {
- display: block !important;
- }
+ .visible-lg {
+ display: block !important;
+ }
}
@media (min-width: 1200px) {
- .visible-xl {
- display: block !important;
- }
+ .visible-xl {
+ display: block !important;
+ }
}
.sidebar-toggle {
- position: absolute;
- z-index: 9999999999;
- left: 2px;
- border: 0;
- padding-top: 5px;
- padding-bottom: 5px;
- top: 3px;
+ position: absolute;
+ z-index: 9999999999;
+ left: 2px;
+ border: 0;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ top: 3px;
}
.sidebar-toggle .sidebar-toggle-button {
- height: 20px;
- width: 20px;
+ height: 20px;
+ width: 20px;
}
.sidebar-toggle span:nth-child(1) {
- margin-top: 5px;
+ margin-top: 5px;
}
.sidebar-toggle span {
- border-bottom: 2px solid #858585;
- display: block;
- margin-bottom: 5px;
- width: 100%;
+ border-bottom: 2px solid #858585;
+ display: block;
+ margin-bottom: 5px;
+ width: 100%;
}
.settings-sidebar.active {
- display: block;
+ display: block;
}
.welcome-window-footer {
- position: absolute;
- bottom: 20px;
+ position: absolute;
+ bottom: 20px;
}
.welcome-window-footer a {
- color: #727c8d;
- text-decoration: none;
- font-size: 12px;
- -webkit-font-smoothing: antialiased;
+ color: #727c8d;
+ text-decoration: none;
+ font-size: 12px;
+ -webkit-font-smoothing: antialiased;
}
.welcome-window-footer a:hover {
- color: #1d1e23;
+ color: #1d1e23;
}
/*
@@ -4389,311 +4644,314 @@ fieldset[name=number-code] {
* ------------------------------------
*/
.search-input-wrapper {
- width: 100%;
- border-radius: 5px;
- padding-bottom: 10px;
- padding-top: 20px;
- position: absolute;
- padding-left: 15px;
- padding-right: 15px;
- box-sizing: border-box;
- background: #f1f6fc;
+ width: 100%;
+ border-radius: 5px;
+ padding-bottom: 10px;
+ padding-top: 20px;
+ position: absolute;
+ padding-left: 15px;
+ padding-right: 15px;
+ box-sizing: border-box;
+ background: #f1f6fc;
}
.search-input {
- padding-left: 33px !important;
- background-repeat: no-repeat;
- background-position: 5px center;
- background-size: 20px;
+ padding-left: 33px !important;
+ background-repeat: no-repeat;
+ background-position: 5px center;
+ background-size: 20px;
}
.search-results {
- padding-right: 15px;
- margin-top: 70px;
- padding-left: 15px;
- padding-right: 15px;
- padding-bottom: 5px;
- display: none;
+ padding-right: 15px;
+ margin-top: 70px;
+ padding-left: 15px;
+ padding-right: 15px;
+ padding-bottom: 5px;
+ display: none;
}
.search-result {
- padding: 10px;
- cursor: pointer;
- font-size: 13px;
- display: flex;
- align-items: center;
+ padding: 10px;
+ cursor: pointer;
+ font-size: 13px;
+ display: flex;
+ align-items: center;
}
.search-result-active {
- background-color: #4092da;
- color: #fff;
- border-radius: 5px;
+ background-color: #4092da;
+ color: #fff;
+ border-radius: 5px;
}
.search-results .search-result:last-child {
- margin-bottom: 0;
+ margin-bottom: 0;
}
-.device-phone .window:not(.window-alert), .device-tablet .window:not(.window-alert) {
- transform: none;
- width: 100%;
+.device-phone .window:not(.window-alert),
+.device-tablet .window:not(.window-alert) {
+ transform: none;
+ width: 100%;
}
-.device-phone .window.window-explore{
- border-radius: 0;
- height: 100dvh !important;
+.device-phone .window.window-explore {
+ border-radius: 0;
+ height: 100dvh !important;
}
-.device-phone .window.window-search{
- left: 50% !important;
- transform: translateX(-50%) !important;
- width: calc(100% - 40px);
- max-width: calc(100% - 40px);
- max-height: fit-content;
- border-radius: 5px;
-
+.device-phone .window.window-search {
+ left: 50% !important;
+ transform: translateX(-50%) !important;
+ width: calc(100% - 40px);
+ max-width: calc(100% - 40px);
+ max-height: fit-content;
+ border-radius: 5px;
}
-.device-phone .window.window-qr, .device-phone .window.window-progress, .device-phone .window.window-login-progress{
- left: 50% !important;
- transform: translate(-50%) !important;
- height: initial !important;
- max-width: calc(100% - 30px);
+.device-phone .window.window-qr,
+.device-phone .window.window-progress,
+.device-phone .window.window-login-progress {
+ left: 50% !important;
+ transform: translate(-50%) !important;
+ height: initial !important;
+ max-width: calc(100% - 30px);
}
-.device-phone .window.window-refer-friend{
- left: 50% !important;
- transform: translate(-50%) !important;
- height: initial !important;
- max-width: calc(100% - 30px);
+.device-phone .window.window-refer-friend {
+ left: 50% !important;
+ transform: translate(-50%) !important;
+ height: initial !important;
+ max-width: calc(100% - 30px);
}
.device-phone .window.window-task-manager {
- height: initial !important;
+ height: initial !important;
}
-.device-phone .window.window-feedback{
- height: initial !important;
+.device-phone .window.window-feedback {
+ height: initial !important;
}
-.device-phone .window.window-filedialog{
- transform: none;
- width: 100% !important;
- left: 0 !important;
- min-height: 100dvh;
- height: 100dvh;
- top: 0 !important;
- border-radius: 0 !important;
+.device-phone .window.window-filedialog {
+ transform: none;
+ width: 100% !important;
+ left: 0 !important;
+ min-height: 100dvh;
+ height: 100dvh;
+ top: 0 !important;
+ border-radius: 0 !important;
}
-.device-phone .window.window-app{
- transform: none;
- width: 100%;
- left: 0;
- height: 100dvh;
- min-height: 100dvh;
- top: 0 !important;
- border-radius: 0;
+.device-phone .window.window-app {
+ transform: none;
+ width: 100%;
+ left: 0;
+ height: 100dvh;
+ min-height: 100dvh;
+ top: 0 !important;
+ border-radius: 0;
}
-.device-phone .window.window-login-2fa{
- left: 50% !important;
- transform: translate(-50%) !important;
- height: initial !important;
- max-width: calc(100% - 30px);
+.device-phone .window.window-login-2fa {
+ left: 50% !important;
+ transform: translate(-50%) !important;
+ height: initial !important;
+ max-width: calc(100% - 30px);
}
-.device-phone .window.window-explorer{
- transform: none;
- width: 100%;
- left: 0;
- min-height: 100dvh;
- height: 100dvh;
- top: 0 !important;
- border-radius: 0 !important;
+.device-phone .window.window-explorer {
+ transform: none;
+ width: 100%;
+ left: 0;
+ min-height: 100dvh;
+ height: 100dvh;
+ top: 0 !important;
+ border-radius: 0 !important;
}
-.device-phone .window.window-settings{
- transform: none;
- width: 100% !important;
- left: 0 !important;
- height: 100dvh;
- top: 0 !important;
- border-radius: 0;
+.device-phone .window.window-settings {
+ transform: none;
+ width: 100% !important;
+ left: 0 !important;
+ height: 100dvh;
+ top: 0 !important;
+ border-radius: 0;
}
-.device-phone .window-signup{
- transform: none;
- width: 100% ;
- left: 0;
- top: 50%;
- transform: translateY(-50%);
- border-radius: 0;
+.device-phone .window-signup {
+ transform: none;
+ width: 100%;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ border-radius: 0;
}
-.device-phone .send-feedback-btn{
- width: 100%;
+.device-phone .send-feedback-btn {
+ width: 100%;
}
/* Taskbar container */
.device-phone .taskbar {
- /* Enable smooth scrolling */
- -webkit-overflow-scrolling: touch;
- /* Allow horizontal touch scrolling */
- touch-action: pan-x;
- /* Enable horizontal scroll */
- overflow-x: auto;
- /* Hide scrollbars while keeping functionality */
- scrollbar-width: none;
- -ms-overflow-style: none;
-
- /* Base styling */
- display: flex;
- justify-content: left;
+ /* Enable smooth scrolling */
+ -webkit-overflow-scrolling: touch;
+ /* Allow horizontal touch scrolling */
+ touch-action: pan-x;
+ /* Enable horizontal scroll */
+ overflow-x: auto;
+ /* Hide scrollbars while keeping functionality */
+ scrollbar-width: none;
+ -ms-overflow-style: none;
+
+ /* Base styling */
+ display: flex;
+ justify-content: left;
}
/* Hide scrollbar while keeping functionality */
.device-phone .taskbar::-webkit-scrollbar {
- display: none;
+ display: none;
}
/* Taskbar items */
.device-phone .taskbar .taskbar-item {
- /* Allow dragging while preventing unwanted touch actions */
- touch-action: pan-x pinch-zoom;
- /* Ensure items can be dragged */
- user-select: none;
- -webkit-user-select: none;
- cursor: grab;
-
- /* Base styling */
- display: flex;
- align-items: center;
- justify-content: center;
-}
-.device-phone .popover-launcher, .device-phone .launch-popover{
- border-radius: 0;
+ /* Allow dragging while preventing unwanted touch actions */
+ touch-action: pan-x pinch-zoom;
+ /* Ensure items can be dragged */
+ user-select: none;
+ -webkit-user-select: none;
+ cursor: grab;
+
+ /* Base styling */
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.device-phone .popover-launcher,
+.device-phone .launch-popover {
+ border-radius: 0;
}
/* Main launcher container */
.device-phone .launch-popover {
- /* Enable smooth scrolling on iOS */
- -webkit-overflow-scrolling: touch;
+ /* Enable smooth scrolling on iOS */
+ -webkit-overflow-scrolling: touch;
- /* Allow vertical touch scrolling while preventing horizontal */
- touch-action: pan-y;
+ /* Allow vertical touch scrolling while preventing horizontal */
+ touch-action: pan-y;
- /* Base dimensions */
- width: 100%;
- height: 100%;
-
- /* Scrolling behavior */
- overflow-y: scroll;
- overflow-x: hidden;
+ /* Base dimensions */
+ width: 100%;
+ height: 100%;
- /* Background and styling */
- background-color: rgba(231, 238, 245);
- padding: 0;
- margin: 0;
+ /* Scrolling behavior */
+ overflow-y: scroll;
+ overflow-x: hidden;
- /* Hide scrollbars while keeping functionality */
- scrollbar-width: none;
- -ms-overflow-style: none;
+ /* Background and styling */
+ background-color: rgba(231, 238, 245);
+ padding: 0;
+ margin: 0;
- padding-left: 10px;
- padding-right: 10px;
+ /* Hide scrollbars while keeping functionality */
+ scrollbar-width: none;
+ -ms-overflow-style: none;
+
+ padding-left: 10px;
+ padding-right: 10px;
}
/* Hide scrollbar while keeping functionality */
.device-phone .launch-popover::-webkit-scrollbar {
- display: none;
+ display: none;
}
/* Ensure content can receive touch events */
.device-phone .launch-popover * {
- touch-action: pan-y;
+ touch-action: pan-y;
}
/* Make sure the search wrapper doesn't interfere with scrolling */
.launch-search-wrapper {
- position: sticky;
- top: -20px;
- z-index: 1;
- background: rgba(231, 238, 245);
- padding-top: 7px;
+ position: sticky;
+ top: -20px;
+ z-index: 1;
+ background: rgba(231, 238, 245);
+ padding-top: 7px;
}
.device-phone .launch-search-wrapper {
- top: 0;
+ top: 0;
}
-.device-phone .popover-launcher{
- left: 50% !important;
- border-radius: 10px;
- top: 5px !important;
- transform: translateX(-50%);
- width: calc(100% - 25px);
- height: calc(100vh - 65px);
- height: calc(100dvh - 65px);
+.device-phone .popover-launcher {
+ left: 50% !important;
+ border-radius: 10px;
+ top: 5px !important;
+ transform: translateX(-50%);
+ width: calc(100% - 25px);
+ height: calc(100vh - 65px);
+ height: calc(100dvh - 65px);
}
-.device-phone .start-app-card{
- width: 25%;
+.device-phone .start-app-card {
+ width: 25%;
}
-.device-phone .start-app-icon{
- width: 50px;
- height: 50px;
+.device-phone .start-app-icon {
+ width: 50px;
+ height: 50px;
}
-.device-phone .start-app-title{
- margin-top: 5px;
+.device-phone .start-app-title {
+ margin-top: 5px;
}
-.device-phone .desktop{
- position: relative;
+.device-phone .desktop {
+ position: relative;
- /* Enable smooth scrolling on iOS */
- -webkit-overflow-scrolling: touch;
+ /* Enable smooth scrolling on iOS */
+ -webkit-overflow-scrolling: touch;
- /* Allow vertical touch scrolling while preventing horizontal */
- touch-action: pan-x;
+ /* Allow vertical touch scrolling while preventing horizontal */
+ touch-action: pan-x;
- /* Hide scrollbars while keeping functionality */
- scrollbar-width: none;
- -ms-overflow-style: none;
+ /* Hide scrollbars while keeping functionality */
+ scrollbar-width: none;
+ -ms-overflow-style: none;
- /* Scrolling behavior */
- overflow-y: visible !important;
- overflow-x: scroll;
+ /* Scrolling behavior */
+ overflow-y: visible !important;
+ overflow-x: scroll;
- padding-bottom: 60px;
+ padding-bottom: 60px;
}
.device-phone .desktop * {
- touch-action: pan-x;
+ touch-action: pan-x;
}
.device-phone .desktop::-webkit-scrollbar {
- display: none;
+ display: none;
}
-.device-phone .window-body.item-container{
- /* Enable smooth scrolling on iOS */
- -webkit-overflow-scrolling: touch;
+.device-phone .window-body.item-container {
+ /* Enable smooth scrolling on iOS */
+ -webkit-overflow-scrolling: touch;
- /* Allow vertical touch scrolling while preventing horizontal */
- touch-action: pan-y;
-
- /* Base dimensions */
- width: 100%;
- height: 100%;
-
- /* Scrolling behavior */
- overflow-y: scroll;
- overflow-x: hidden;
+ /* Allow vertical touch scrolling while preventing horizontal */
+ touch-action: pan-y;
- /* Hide scrollbars while keeping functionality */
- scrollbar-width: none;
- -ms-overflow-style: none;
+ /* Base dimensions */
+ width: 100%;
+ height: 100%;
+
+ /* Scrolling behavior */
+ overflow-y: scroll;
+ overflow-x: hidden;
+
+ /* Hide scrollbars while keeping functionality */
+ scrollbar-width: none;
+ -ms-overflow-style: none;
}
.device-phone .window-body.item-container * {
- touch-action: pan-y;
+ touch-action: pan-y;
}
diff --git a/src/gui/src/helpers.js b/src/gui/src/helpers.js
index f855fa62e6..58003e7646 100644
--- a/src/gui/src/helpers.js
+++ b/src/gui/src/helpers.js
@@ -731,6 +731,76 @@ window.show_save_account_notice_if_needed = function(message){
});
}
+/**
+ * Shows a temporary success or error message for account-related operations.
+ *
+ * This function displays a styled notification message that automatically fades out after a few seconds.
+ * It's specifically designed for account operations like profile picture changes, password updates, etc.
+ *
+ * @param {string} message - The message to display to the user
+ * @param {string} [type='success'] - The type of message ('success' or 'error')
+ * @global
+ * @function window.show_save_account_notice_message
+ */
+window.show_save_account_notice_message = function(message, type = 'success') {
+ // Remove any existing notice
+ $('.account-notice-message').remove();
+
+ // Create the notice element
+ const noticeClass = type === 'error' ? 'account-notice-error' : 'account-notice-success';
+ const iconSrc = type === 'error' ? window.icons['warning-sign.svg'] : window.icons['c-check.svg'];
+
+ const noticeHtml = `
+
+

+
${html_encode(message)}
+
+ `;
+
+ // Add to DOM
+ $('body').append(noticeHtml);
+
+ // Animate in
+ setTimeout(() => {
+ $('.account-notice-message').css({
+ opacity: '1',
+ transform: 'translateX(0)'
+ });
+ }, 10);
+
+ // Auto-hide after 4 seconds
+ setTimeout(() => {
+ $('.account-notice-message').css({
+ opacity: '0',
+ transform: 'translateX(100%)'
+ });
+
+ // Remove from DOM after animation
+ setTimeout(() => {
+ $('.account-notice-message').remove();
+ }, 300);
+ }, 4000);
+}
+
window.onpopstate = (event) => {
if(event.state !== null && event.state.window_id !== null){
$(`.window[data-id="${event.state.window_id}"]`).focusWindow();
@@ -2626,30 +2696,67 @@ window.detectHostOS = function(){
}
}
-window.update_profile = function(username, key_vals){
- puter.fs.read('/'+username+'/Public/.profile').then((blob)=>{
- blob.text()
- .then(text => {
- const profile = JSON.parse(text);
+window.update_profile = function(username, key_vals, options = {}){
+ return new Promise((resolve, reject) => {
+ puter.fs.read('/'+username+'/Public/.profile').then((blob)=>{
+ blob.text()
+ .then(text => {
+ try {
+ const profile = JSON.parse(text);
+
+ for (const key in key_vals) {
+ if (key_vals[key] === undefined && options.deleteUndefined) {
+ // Delete the property if value is undefined and deleteUndefined is true
+ delete profile[key];
+ if (window.user && window.user.profile) {
+ delete window.user.profile[key];
+ }
+ } else {
+ profile[key] = key_vals[key];
+ // update window.user.profile
+ if (window.user && window.user.profile) {
+ window.user.profile[key] = key_vals[key];
+ }
+ }
+ }
- for (const key in key_vals) {
- profile[key] = key_vals[key];
- // update window.user.profile
- window.user.profile[key] = key_vals[key];
+ puter.fs.write('/'+username+'/Public/.profile', JSON.stringify(profile))
+ .then(() => resolve())
+ .catch(error => {
+ console.error('Error writing profile file:', error);
+ reject(error);
+ });
+ } catch (parseError) {
+ console.error('Error parsing profile JSON:', parseError);
+ reject(parseError);
+ }
+ })
+ .catch(error => {
+ console.error('Error converting Blob to JSON:', error);
+ reject(error);
+ });
+ }).catch((e)=>{
+ if(e?.code === "subject_does_not_exist"){
+ // create .profile file
+ puter.fs.write('/'+username+'/Public/.profile', JSON.stringify(key_vals))
+ .then(() => {
+ // update window.user.profile
+ if (window.user && window.user.profile) {
+ for (const key in key_vals) {
+ window.user.profile[key] = key_vals[key];
+ }
+ }
+ resolve();
+ })
+ .catch(error => {
+ console.error('Error creating profile file:', error);
+ reject(error);
+ });
+ } else {
+ console.log(e);
+ reject(e);
}
-
- puter.fs.write('/'+username+'/Public/.profile', JSON.stringify(profile));
- })
- .catch(error => {
- console.error('Error converting Blob to JSON:', error);
});
- }).catch((e)=>{
- if(e?.code === "subject_does_not_exist"){
- // create .profile file
- puter.fs.write('/'+username+'/Public/.profile', JSON.stringify({}));
- }
- // Ignored
- console.log(e);
});
}
@@ -2680,4 +2787,232 @@ window.get_profile_picture = async function(username){
}
return icon;
-}
\ No newline at end of file
+}
+
+window.removeProfilePicture = function(username) {
+ return new Promise((resolve, reject) => {
+ // Store original profile state for rollback
+ let originalProfile = null;
+ let originalUserProfile = null;
+
+ // Handle edge case where window.user doesn't exist
+ if (!window.user) {
+ reject(new Error('User not authenticated'));
+ return;
+ }
+
+ // Ensure window.user.profile exists
+ if (!window.user.profile) {
+ window.user.profile = {};
+ }
+
+ puter.fs.read('/' + username + '/Public/.profile')
+ .then((blob) => {
+ blob.text()
+ .then(text => {
+ try {
+ originalProfile = JSON.parse(text);
+
+ // Check if profile picture exists
+ if (!originalProfile.picture) {
+ reject(new Error('No profile picture to remove'));
+ return;
+ }
+
+ // Store original user profile state for rollback
+ originalUserProfile = { ...window.user.profile };
+
+ // Create updated profile without picture
+ const updatedProfile = { ...originalProfile };
+ delete updatedProfile.picture;
+
+ // Update window.user.profile immediately for synchronization
+ delete window.user.profile.picture;
+
+ // Update the profile file
+ puter.fs.write('/' + username + '/Public/.profile', JSON.stringify(updatedProfile))
+ .then(() => {
+ try {
+ // Ensure profile state is synchronized across all components
+ // Use the centralized profile picture update function
+ window.updateAllProfilePictures();
+
+ // Trigger any profile update listeners
+ if (typeof window.onProfileUpdated === 'function') {
+ window.onProfileUpdated(window.user.profile);
+ }
+
+ // Dispatch custom event for profile picture removal
+ window.dispatchEvent(new CustomEvent('profile-picture-removed', {
+ detail: { username: username }
+ }));
+
+ resolve();
+ } catch (updateError) {
+ console.error('Error updating user profile state:', updateError);
+ // Rollback user profile state
+ if (originalUserProfile) {
+ window.user.profile = originalUserProfile;
+ }
+ // Rollback file changes
+ puter.fs.write('/' + username + '/Public/.profile', JSON.stringify(originalProfile))
+ .then(() => {
+ reject(new Error('Failed to update profile state, changes rolled back'));
+ })
+ .catch(rollbackError => {
+ console.error('Error during rollback:', rollbackError);
+ reject(new Error('Failed to update profile and rollback failed'));
+ });
+ }
+ })
+ .catch(error => {
+ console.error('Error writing profile file:', error);
+ // Rollback user profile state
+ if (originalUserProfile) {
+ window.user.profile = originalUserProfile;
+ }
+ reject(new Error('Failed to update profile file'));
+ });
+ } catch (parseError) {
+ console.error('Error parsing profile JSON:', parseError);
+ reject(new Error('Invalid profile data'));
+ }
+ })
+ .catch(error => {
+ console.error('Error converting Blob to text:', error);
+ reject(new Error('Failed to read profile data'));
+ });
+ })
+ .catch((e) => {
+ console.error('Error reading profile file:', e);
+ if (e?.code === "subject_does_not_exist") {
+ // Handle case where profile file doesn't exist
+ // Reset to default avatar and ensure user profile is clean
+ window.resetToDefaultAvatar();
+
+ // Create empty profile file
+ puter.fs.write('/' + username + '/Public/.profile', JSON.stringify({}))
+ .then(() => {
+ // Update all profile pictures to show default avatar
+ window.updateAllProfilePictures();
+ resolve();
+ })
+ .catch(createError => {
+ console.error('Error creating profile file:', createError);
+ reject(new Error('Profile file does not exist and could not be created'));
+ });
+ } else {
+ reject(new Error('Failed to access profile file'));
+ }
+ });
+ });
+}
+/**
+ * U
+pdates all profile picture displays across the application with proper fallback logic
+ * Ensures consistent profile picture display and handles default avatar fallback
+ */
+window.updateAllProfilePictures = function() {
+ const defaultAvatar = window.icons['profile.svg'];
+ const hasProfilePicture = window.user?.profile?.picture;
+ const profileImageUrl = hasProfilePicture ? window.user.profile.picture : defaultAvatar;
+
+ // Update all profile picture elements with proper fallback
+ $('.profile-picture').css('background-image', 'url(' + html_encode(profileImageUrl) + ')');
+ $('.profile-image').css('background-image', 'url(' + html_encode(profileImageUrl) + ')');
+
+ // Handle profile-image-has-picture class for custom styling
+ if (hasProfilePicture) {
+ $('.profile-image').addClass('profile-image-has-picture');
+ $('.profile-picture').addClass('profile-image-has-picture');
+ } else {
+ $('.profile-image').removeClass('profile-image-has-picture');
+ $('.profile-picture').removeClass('profile-image-has-picture');
+
+ // Reset to standard sizing for default avatar
+ $('.profile-image, .profile-picture').css({
+ 'background-size': 'cover', // Standard size for consistency
+ 'background-position': 'center',
+ 'background-repeat': 'no-repeat'
+ });
+ }
+
+ // Update any other profile-related elements that might exist
+ $('[data-profile-image]').each(function() {
+ $(this).css('background-image', 'url(' + html_encode(profileImageUrl) + ')');
+ if (hasProfilePicture) {
+ $(this).addClass('profile-image-has-picture');
+ } else {
+ $(this).removeClass('profile-image-has-picture');
+ }
+ });
+
+ // Update img elements that show profile pictures
+ $('img[src*="profile"]').each(function() {
+ if ($(this).attr('data-is-profile-image') === 'true') {
+ $(this).attr('src', profileImageUrl);
+ }
+ });
+
+ // Dispatch event for other components that might need to update
+ window.dispatchEvent(new CustomEvent('profile-pictures-updated', {
+ detail: {
+ hasProfilePicture: hasProfilePicture,
+ profileImageUrl: profileImageUrl,
+ defaultAvatar: defaultAvatar
+ }
+ }));
+};
+
+/**
+ * Ensures proper default avatar fallback when profile picture is removed
+ * Removes any custom styling that was applied to uploaded pictures
+ */
+window.resetToDefaultAvatar = function() {
+ const defaultAvatar = window.icons['profile.svg'];
+
+ // Remove profile picture from user object if it exists
+ if (window.user?.profile?.picture) {
+ delete window.user.profile.picture;
+ }
+
+ // Update all profile displays to show default avatar
+ $('.profile-picture, .profile-image').css('background-image', 'url(' + html_encode(defaultAvatar) + ')');
+ $('.profile-picture, .profile-image').removeClass('profile-image-has-picture');
+
+ // Remove any custom styling that might have been applied to uploaded pictures
+ $('.profile-picture, .profile-image').css({
+ 'border-radius': '', // Reset to default
+ 'border': '', // Reset to default
+ 'box-shadow': '', // Reset to default
+ 'background-size': 'cover', // Standard size for consistency
+ 'background-position': 'center',
+ 'background-repeat': 'no-repeat'
+ });
+
+ // Update all profile-related elements
+ $('[data-profile-image]').each(function() {
+ $(this).css('background-image', 'url(' + html_encode(defaultAvatar) + ')');
+ $(this).removeClass('profile-image-has-picture');
+ });
+
+ // Update img elements
+ $('img[data-is-profile-image="true"]').attr('src', defaultAvatar);
+
+ // Dispatch event
+ window.dispatchEvent(new CustomEvent('profile-reset-to-default', {
+ detail: { defaultAvatar: defaultAvatar }
+ }));
+};
+
+// Global event listener for profile picture removal to ensure all components update
+window.addEventListener('profile-picture-removed', function(event) {
+ // Update all profile pictures across the application
+ window.updateAllProfilePictures();
+});
+
+// Global event listener for profile reset to default
+window.addEventListener('profile-reset-to-default', function(event) {
+ // Ensure all profile displays show the default avatar
+ window.resetToDefaultAvatar();
+});
\ No newline at end of file
diff --git a/src/gui/src/i18n/translations/en.js b/src/gui/src/i18n/translations/en.js
index 613120afc0..22986f960f 100644
--- a/src/gui/src/i18n/translations/en.js
+++ b/src/gui/src/i18n/translations/en.js
@@ -70,6 +70,7 @@ const en = {
confirm_new_password: "Confirm New Password",
confirm_delete_user: "Are you sure you want to delete your account? All your files and data will be permanently deleted. This action cannot be undone.",
confirm_delete_user_title: "Delete Account?",
+ confirm_remove_profile_picture: "Are you sure you want to remove your profile picture?",
confirm_session_revoke: "Are you sure you want to revoke this session?",
confirm_your_email_address: "Confirm Your Email Address",
contact_us: "Contact Us",
@@ -129,6 +130,7 @@ const en = {
enlarged_qr_code: "Enlarged QR Code",
enter_password_to_confirm_delete_user: "Enter your password to confirm account deletion",
error_message_is_missing: "Error message is missing.",
+ error_removing_profile_picture: "Failed to remove profile picture. Please try again.",
error_unknown_cause: "An unknown error occurred.",
error_uploading_files: "Failed to upload files",
favorites: "Favorites",
@@ -211,6 +213,7 @@ const en = {
picture: "Picture",
pictures: 'Pictures',
plural_suffix: 's',
+ profile_picture_removed: "Profile picture removed successfully",
powered_by_puter_js: `Powered by {{link=docs}}Puter.js{{/link}}`,
preparing: "Preparing...",
preparing_for_upload: "Preparing for upload...",
@@ -238,6 +241,7 @@ const en = {
refresh: 'Refresh',
release_address_confirmation: `Are you sure you want to release this address?`,
remove_from_taskbar:'Remove from Taskbar',
+ remove_profile_picture:'Remove Profile Picture',
rename: 'Rename',
repeat: 'Repeat',
replace: 'Replace',