From 917f999a7a386727a4d60c38e6bfba5868a8af1d Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 27 Dec 2024 21:44:00 +0530 Subject: [PATCH 1/6] fix: added branding related fields in settings --- .../doctype/fcrm_settings/fcrm_settings.json | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/crm/fcrm/doctype/fcrm_settings/fcrm_settings.json b/crm/fcrm/doctype/fcrm_settings/fcrm_settings.json index 18bcb985..bd5dc4ee 100644 --- a/crm/fcrm/doctype/fcrm_settings/fcrm_settings.json +++ b/crm/fcrm/doctype/fcrm_settings/fcrm_settings.json @@ -5,7 +5,13 @@ "doctype": "DocType", "engine": "InnoDB", "field_order": [ + "defaults_tab", "restore_defaults", + "branding_tab", + "brand_name", + "brand_logo", + "favicon", + "dropdown_items_tab", "dropdown_items" ], "fields": [ @@ -17,14 +23,45 @@ { "fieldname": "dropdown_items", "fieldtype": "Table", - "label": "Dropdown Items", "options": "CRM Dropdown Item" + }, + { + "fieldname": "defaults_tab", + "fieldtype": "Tab Break", + "label": "Defaults" + }, + { + "fieldname": "branding_tab", + "fieldtype": "Tab Break", + "label": "Branding" + }, + { + "description": "An image with 1:1 ratio is preferred", + "fieldname": "brand_logo", + "fieldtype": "Attach", + "label": "Logo" + }, + { + "fieldname": "dropdown_items_tab", + "fieldtype": "Tab Break", + "label": "Dropdown Items" + }, + { + "fieldname": "brand_name", + "fieldtype": "Data", + "label": "Name" + }, + { + "description": "An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [favicon-generator.org]", + "fieldname": "favicon", + "fieldtype": "Attach", + "label": "Favicon" } ], "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2024-12-27 17:47:29.196692", + "modified": "2024-12-27 21:16:47.251706", "modified_by": "Administrator", "module": "FCRM", "name": "FCRM Settings", From 73f227f76b88242ce4d355a102f03ee8c14ed660 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 27 Dec 2024 21:47:07 +0530 Subject: [PATCH 2/6] fix: created a settings store --- frontend/src/stores/settings.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 frontend/src/stores/settings.js diff --git a/frontend/src/stores/settings.js b/frontend/src/stores/settings.js new file mode 100644 index 00000000..55675ae2 --- /dev/null +++ b/frontend/src/stores/settings.js @@ -0,0 +1,28 @@ +import { createDocumentResource } from 'frappe-ui' +import { reactive, ref } from 'vue' + +const settings = ref({}) +const brand = reactive({}) + +export function getSettings() { + const _settings = createDocumentResource({ + doctype: 'FCRM Settings', + name: 'FCRM Settings', + onSuccess: (data) => { + settings.value = data + brand.name = settings.value?.brand_name + brand.logo = settings.value?.brand_logo + brand.favicon = settings.value?.favicon + return data + }, + }) + + if (!settings.value?.length) { + _settings.fetch() + } + + return { + settings, + brand, + } +} From d1220c0c6f03eaa7936cb145a749bd3c72d1f945 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 27 Dec 2024 21:50:50 +0530 Subject: [PATCH 3/6] refactor: use settings store to load dropdown items --- frontend/src/components/UserDropdown.vue | 67 ++++++++++++------------ 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue index 52ac4f80..d7268892 100644 --- a/frontend/src/components/UserDropdown.vue +++ b/frontend/src/components/UserDropdown.vue @@ -1,5 +1,5 @@