diff --git a/frappe/boot.py b/frappe/boot.py index 697c3eb16e..3eeb7a868a 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -19,7 +19,7 @@ from frappe.desk.doctype.form_tour.form_tour import get_onboarding_ui_tours from frappe.desk.doctype.route_history.route_history import frequently_visited_links from frappe.desk.form.load import get_meta_bundle from frappe.email.inbox import get_email_accounts -from frappe.integrations.frappe_providers.frappecloud_billing import is_fc_site +from frappe.integrations.frappe_providers.frappecloud_billing import current_site_info, is_fc_site from frappe.model.base_document import get_controller from frappe.permissions import has_permission from frappe.query_builder import DocType @@ -125,6 +125,8 @@ def get_bootinfo(): bootinfo.setup_wizard_completed_apps = get_setup_wizard_completed_apps() or [] bootinfo.desktop_icon_urls = get_desktop_icon_urls() bootinfo.desktop_icon_style = get_icon_style() or "Subtle" + if bootinfo.is_fc_site: + bootinfo.site_info = current_site_info() return bootinfo diff --git a/frappe/desk/page/desktop/desktop.css b/frappe/desk/page/desktop/desktop.css index 119b5fc747..27a128b60c 100644 --- a/frappe/desk/page/desktop/desktop.css +++ b/frappe/desk/page/desktop/desktop.css @@ -80,6 +80,12 @@ margin-top: 60px; padding: 20px; } +.icons-container:has(.sidebar-card){ + margin-top: 20px; + .sidebar-card{ + gap: 6px; + } +} .modal .modal-body .icons-container,.folder-icon .icons-container { padding:0px; diff --git a/frappe/desk/page/desktop/desktop.html b/frappe/desk/page/desktop/desktop.html index c8810e6159..bfefedb5a9 100644 --- a/frappe/desk/page/desktop/desktop.html +++ b/frappe/desk/page/desktop/desktop.html @@ -1,6 +1,6 @@
-
\ No newline at end of file diff --git a/frappe/public/js/frappe/ui/sidebar/sidebar_card.js b/frappe/public/js/frappe/ui/sidebar/sidebar_card.js index 6ba32973f0..c6ce41de75 100644 --- a/frappe/public/js/frappe/ui/sidebar/sidebar_card.js +++ b/frappe/public/js/frappe/ui/sidebar/sidebar_card.js @@ -5,6 +5,10 @@ frappe.provide("frappe.ui"); frappe.ui.SidebarCard = class SidebarCard { constructor(opts) { Object.assign(this, opts); + this.alignment_style_map = { + right: "flex-end", + left: "flex-start", + }; this.make(opts); this.setup(); this.display = false; @@ -31,10 +35,16 @@ frappe.ui.SidebarCard = class SidebarCard { ], }); } + if (this.outline) { + this.card.addClass("card-outline"); + this.card.removeClass("px-2 py-2"); + } this.card.prependTo(this.parent); + this.set_button_alignment(); } setup() { this.setup_primary_action(); + this.setup_close_button(); } toggle() { if (this.display) { @@ -59,6 +69,14 @@ frappe.ui.SidebarCard = class SidebarCard { me.primary_action(event); }); } + setup_close_button() { + const me = this; + if (this.close_button) { + this.card.find(".close-button").on("click", function () { + me.toggle(); + }); + } + } set_styles() { if (this.styles) { const $root = $(":root"); @@ -67,4 +85,11 @@ frappe.ui.SidebarCard = class SidebarCard { } } } + set_button_alignment() { + if (this.primary_button_alignment) { + this.card + .find(".sidebar-card-actions") + .css("justifyContent", this.alignment_style_map[this.primary_button_alignment]); + } + } }; diff --git a/frappe/public/scss/desk/sidebar_card.scss b/frappe/public/scss/desk/sidebar_card.scss index 56144f1754..d64bc5f828 100644 --- a/frappe/public/scss/desk/sidebar_card.scss +++ b/frappe/public/scss/desk/sidebar_card.scss @@ -1,6 +1,6 @@ :root { --sidebar-card-button-outline: var(--surface-blue-3); - --sidebar-card-button-bg-color: var(var(--surface-blue-2)); + --sidebar-card-button-bg-color: var(--surface-blue-2); --sidebar-card-button-color: var(--ink-blue-3); } .card-title-container { @@ -54,3 +54,11 @@ .cursor-pointer { cursor: pointer; } + +.card-outline { + border: 1px solid; + box-shadow: none; + border-color: var(--outline-gray-2, #e2e2e2); + border-radius: calc(var(--border-radius-lg) + 2px); + padding: calc(var(--padding-md) - 3px); +}