From 6280c9be455d37ba1f6d9778d6bf9932a4ca9fc7 Mon Sep 17 00:00:00 2001 From: salesforce-suyash-more Date: Wed, 31 Jul 2024 15:32:12 +0530 Subject: [PATCH 01/30] Changes made in BDI_DataImportService.cls to update contact fields Code added in BDI_DataImportService.cls to ensure all relevant fields of contact are updated --- .../default/classes/BDI_DataImportService.cls | 74 +++++++++++++++++-- 1 file changed, 67 insertions(+), 7 deletions(-) diff --git a/force-app/main/default/classes/BDI_DataImportService.cls b/force-app/main/default/classes/BDI_DataImportService.cls index 46dffa4d66c..722bef5dc49 100644 --- a/force-app/main/default/classes/BDI_DataImportService.cls +++ b/force-app/main/default/classes/BDI_DataImportService.cls @@ -1333,11 +1333,11 @@ global with sharing class BDI_DataImportService { dataImport.Account1Imported__c = acc.Id; } } - // set c1's primary affilation + // Set C1's fields first if (dataImport.Account1Imported__c != null) { Contact c1 = ContactFromDi(dataImport, 1); - if (c1 != null && c1.Primary_Affiliation__c != dataImport.Account1Imported__c) { - c1.Primary_Affiliation__c = dataImport.Account1Imported__c; + if (c1 != null) { + updateContactFieldsForImport(c1, dataImport, 'Contact1_'); if (mapConIdToConUpdate.get(c1.Id) == null) { mapConIdToConUpdate.put(c1.Id, c1); } @@ -1345,6 +1345,27 @@ global with sharing class BDI_DataImportService { } } + // Update contacts to ensure all relevant fields are updated + if (mapConIdToConUpdate.size() > 0) { + UTIL_DMLService.updateRecords(mapConIdToConUpdate.values()); + } + + // Set C1's primary affiliation separately to avoid conflicts + for (DataImport__c dataImport : listDI) { + if (dataImport.Account1Imported__c != null) { + Contact c1 = ContactFromDi(dataImport, 1); + if (c1 != null && c1.Primary_Affiliation__c != dataImport.Account1Imported__c) { + c1.Primary_Affiliation__c = dataImport.Account1Imported__c; + mapConIdToConUpdate.put(c1.Id, c1); + } + } + } + + // Now update the Contacts again to set their Affiliations + if (mapConIdToConUpdate.size() > 0) { + UTIL_DMLService.updateRecords(mapConIdToConUpdate.values()); + } + // create/update our A2's listAccUpsert.clear(); listDIUpsert.clear(); @@ -1403,11 +1424,11 @@ global with sharing class BDI_DataImportService { dataImport.Account2Imported__c = acc.Id; } } - // set c2's primary affilation + // Set C2's fields first if (dataImport.Account2Imported__c != null) { Contact c2 = ContactFromDi(dataImport, 2); - if (c2 != null && c2.Primary_Affiliation__c != dataImport.Account2Imported__c) { - c2.Primary_Affiliation__c = dataImport.Account2Imported__c; + if (c2 != null) { + updateContactFieldsForImport(c2, dataImport, 'Contact2_'); if (mapConIdToConUpdate.get(c2.Id) == null) { mapConIdToConUpdate.put(c2.Id, c2); } @@ -1415,12 +1436,51 @@ global with sharing class BDI_DataImportService { } } - // now update the Contacts to create their Affiliations + // Update contacts to ensure all relevant fields are updated + if (mapConIdToConUpdate.size() > 0) { + UTIL_DMLService.updateRecords(mapConIdToConUpdate.values()); + } + + // Set C2's primary affiliation separately to avoid conflicts + for (DataImport__c dataImport : listDI) { + if (dataImport.Account2Imported__c != null) { + Contact c2 = ContactFromDi(dataImport, 2); + if (c2 != null && c2.Primary_Affiliation__c != dataImport.Account2Imported__c) { + c2.Primary_Affiliation__c = dataImport.Account2Imported__c; + mapConIdToConUpdate.put(c2.Id, c2); + } + } + } + // now update the Contacts again to set their Affiliations if (mapConIdToConUpdate.size() > 0) { UTIL_DMLService.updateRecords(mapConIdToConUpdate.values()); } } + private void updateContactFieldsForImport(Contact contact, DataImport__c dataImport, String contactPrefix) { + if (dataImport.get(contactPrefix + 'Home_Phone__c') != null) { + contact.HomePhone = (String) dataImport.get(contactPrefix + 'Home_Phone__c'); + } + if (dataImport.get(contactPrefix + 'Work_Phone__c') != null) { + contact.Phone = (String) dataImport.get(contactPrefix + 'Work_Phone__c'); + } + if (dataImport.get(contactPrefix + 'Mobile_Phone__c') != null) { + contact.MobilePhone = (String) dataImport.get(contactPrefix + 'Mobile_Phone__c'); + } + if (dataImport.get(contactPrefix + 'Other_Phone__c') != null) { + contact.OtherPhone = (String) dataImport.get(contactPrefix + 'Other_Phone__c'); + } + if (dataImport.get(contactPrefix + 'Personal_Email__c') != null) { + contact.Email = (String) dataImport.get(contactPrefix + 'Personal_Email__c'); + } + if (dataImport.get(contactPrefix + 'Work_Email__c') != null) { + contact.npe01__WorkEmail__c = (String) dataImport.get(contactPrefix + 'Work_Email__c'); + } + if (dataImport.get(contactPrefix + 'Alternate_Email__c') != null) { + contact.npe01__AlternateEmail__c = (String) dataImport.get(contactPrefix + 'Alternate_Email__c'); + } + } + /******************************************************************************************************* * @description returns the field name of the Account CustomID field for Account1 or Account2 in the * Data Import object. From fd08a7b2e0da1d439f351685afe19f3f9e03512e Mon Sep 17 00:00:00 2001 From: salesforce-suyash-more Date: Mon, 5 Aug 2024 14:40:27 +0530 Subject: [PATCH 02/30] test method added in BDI_DataImportService_TEST.cls test method 'testImportAccounts' added in BDI_DataImportService_TEST.cls --- .../classes/BDI_DataImportService_TEST.cls | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/force-app/main/default/classes/BDI_DataImportService_TEST.cls b/force-app/main/default/classes/BDI_DataImportService_TEST.cls index 79688b55642..7936a983da6 100644 --- a/force-app/main/default/classes/BDI_DataImportService_TEST.cls +++ b/force-app/main/default/classes/BDI_DataImportService_TEST.cls @@ -239,6 +239,145 @@ private with sharing class BDI_DataImportService_TEST { BDI_DataImportService.anyFieldsPopulatedForObjectMapping(testDI1, testFieldMap, fieldsToIgnore2)); } + @isTest + private static void testImportAccounts() { + // Create test Data Import Settings + Data_Import_Settings__c diSettings = new Data_Import_Settings__c( + Field_Mapping_Method__c = 'Data Import Field Mapping', + Donation_Matching_Rule__c = 'Donation_Amount__c;Donation_Date__c', + Donation_Matching_Behavior__c = 'ExactMatchOrCreate' + ); + insert diSettings; + + // Create test data imports using UTIL_UnitTestData_TEST + List testDataImports = UTIL_UnitTestData_TEST.createDIRecordsInANewGEBatch(50); + for (Integer i = 0; i < testDataImports.size(); i++) { + testDataImports[i].Account1_Name__c = 'Test Account ' + i; + testDataImports[i].Contact1_Firstname__c = 'FirstName' + i; + testDataImports[i].Contact1_Lastname__c = 'LastName' + i; + testDataImports[i].Contact1_Personal_Email__c = 'email' + i + '@example.com'; + testDataImports[i].Account2_Name__c = 'Test Account 2 ' + i; + testDataImports[i].Contact2_Firstname__c = 'FirstName2' + i; + testDataImports[i].Contact2_Lastname__c = 'LastName2' + i; + testDataImports[i].Contact2_Personal_Email__c = 'email2' + i + '@example.com'; + testDataImports[i].Contact2_Work_Email__c = 'workemail2' + i + '@example.com'; + testDataImports[i].Contact2_Alternate_Email__c = 'alt2' + i + '@example.com'; + testDataImports[i].Contact2_Mobile_Phone__c = '222-333-4444'; + testDataImports[i].Contact2_Other_Phone__c = '555-666-7777'; + testDataImports[i].Contact2_Personal_Email__c = 'email2' + i + '@example.com'; + testDataImports[i].Contact1_Firstname__c = 'FirstName2' + i; + testDataImports[i].Contact1_Lastname__c = 'LastName2' + i; + testDataImports[i].Contact1_Personal_Email__c = 'email2' + i + '@example.com'; + testDataImports[i].Contact1_Work_Email__c = 'workemail2' + i + '@example.com'; + testDataImports[i].Contact1_Alternate_Email__c = 'alt2' + i + '@example.com'; + testDataImports[i].Contact1_Mobile_Phone__c = '222-333-4444'; + testDataImports[i].Contact1_Other_Phone__c = '555-666-7777'; + testDataImports[i].Contact1_Personal_Email__c = 'email2' + i + '@example.com'; + } + insert testDataImports; + + // Extract batch ID from the first DataImport record + Id batchId = testDataImports[0].NPSP_Data_Import_Batch__c; + + // Create an instance of BDI_PerfLogger with required parameters + Integer countRecords = testDataImports.size(); + BDI_PerfLogger perfLogger = new BDI_PerfLogger(batchId, countRecords); + + // Create an instance of BDI_DataImportService + BDI_DataImportService service = new BDI_DataImportService(false, BDI_MappingServiceAdvanced.getInstance()); + service.listDI = testDataImports; + + // Inject the data import settings and performance logger + service.injectDataImportSettings(diSettings); + BDI_DataImportService.injectPerfLogger(perfLogger); + + // Create test Data Import records + List testDataImportss = new List(); + for (Integer i = 0; i < 5; i++) { + DataImport__c dataImport = new DataImport__c( + NPSP_Data_Import_Batch__c = testDataImports[0].NPSP_Data_Import_Batch__c, + Account1_Name__c = 'Test Account ' + i, + Contact1_Firstname__c = 'FirstName' + i, + Contact1_Lastname__c = 'LastName' + i, + Contact1_Personal_Email__c = 'email' + i + '@example.com', + Account2_Name__c = 'Test Account 2 ' + i, + Contact2_Firstname__c = 'FirstName2' + i, + Contact2_Lastname__c = 'LastName2' + i, + Contact2_Personal_Email__c = 'email2' + i + '@example.com', + Status__c = 'Ready' // Adding a status to avoid null status + ); + testDataImportss.add(dataImport); + } + insert testDataImportss; + + service.listDI = testDataImportss; + + // Create Accounts to ensure matching + List accounts = new List(); + for (Integer i = 0; i < 5; i++) { + Account acc = new Account( + Name = 'Test Account ' + i + ); + accounts.add(acc); + } + insert accounts; + + // Create Contacts to ensure matching + List contacts = new List(); + for (Integer i = 0; i < 5; i++) { + Contact con1 = new Contact( + FirstName = 'FirstName' + i, + LastName = 'LastName' + i, + Email = 'email' + i + '@example.com', + AccountId = accounts[i].Id + ); + Contact con2 = new Contact( + FirstName = 'FirstName2' + i, + LastName = 'LastName2' + i, + Email = 'email2' + i + '@example.com', + AccountId = accounts[i].Id + ); + contacts.add(con1); + contacts.add(con2); + } + insert contacts; + + // Assign created contact IDs to the data import records + for (Integer i = 0; i < 5; i++) { + testDataImportss[i].Contact1Imported__c = contacts[i*2].Id; + testDataImportss[i].Contact2Imported__c = contacts[i*2+1].Id; + } + update testDataImportss; + + // Ensure the service has the necessary contact service + BDI_ContactService contactService = new BDI_ContactService(service); + service.contactService = contactService; + + // Explicitly set mapDIIdToC1 to ensure contacts are available + for (DataImport__c dataImport : testDataImportss) { + for (Contact con : contacts) { + if (con.Id == dataImport.Contact1Imported__c) { + contactService.mapDIIdToC1.put(dataImport.Id, con); + } + if (con.Id == dataImport.Contact2Imported__c) { + contactService.mapDIIdToC2.put(dataImport.Id, con); + } + } + } + + // Call the method to be tested + Test.startTest(); + service.importAccounts(); + Test.stopTest(); + + // Add assertions to verify the Account and Contact records were created/updated as expected + List accounts1 = [SELECT Id, Name, Phone FROM Account WHERE Name LIKE 'Test Account%']; + System.assert(accounts1.size() > 0, 'Accounts should be created'); + + List contactList = [SELECT Id, FirstName, LastName, Email FROM Contact WHERE LastName LIKE 'LastName%']; + System.assert(contactList.size() > 0, 'Contacts should be created'); + } + // Helpers //////////// From 4b438a4d0514e436bce6e782743e52ad11e405ff Mon Sep 17 00:00:00 2001 From: salesforce-suyash-more Date: Mon, 5 Aug 2024 16:04:30 +0530 Subject: [PATCH 03/30] made properties test visible --- force-app/main/default/classes/BDI_ContactService.cls | 4 ++-- force-app/main/default/classes/BDI_DataImportService.cls | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/force-app/main/default/classes/BDI_ContactService.cls b/force-app/main/default/classes/BDI_ContactService.cls index d315585fa9f..c36bdbd7c0e 100644 --- a/force-app/main/default/classes/BDI_ContactService.cls +++ b/force-app/main/default/classes/BDI_ContactService.cls @@ -55,12 +55,12 @@ public with sharing class BDI_ContactService { /******************************************************************************************************* * @description cached map to get Contact1 for a DI */ - private Map mapDIIdToC1; + @TestVisible private Map mapDIIdToC1; /******************************************************************************************************* * @description cached map to get Contact2 for a DI */ - private Map mapDIIdToC2; + @TestVisible private Map mapDIIdToC2; /******************************************************************************************************* * @description map that holds multiple DIKeys for each Contact diff --git a/force-app/main/default/classes/BDI_DataImportService.cls b/force-app/main/default/classes/BDI_DataImportService.cls index 722bef5dc49..116715ceae8 100644 --- a/force-app/main/default/classes/BDI_DataImportService.cls +++ b/force-app/main/default/classes/BDI_DataImportService.cls @@ -416,7 +416,7 @@ global with sharing class BDI_DataImportService { /******************************************************************************************************* * @description holds the Contact Service class for use during processing */ - private BDI_ContactService contactService { get; private set; } + @TestVisible private BDI_ContactService contactService { get; private set; } /******************************************************************************************************* * @description holds the Additional Object Service class for use during processing @@ -1260,6 +1260,7 @@ global with sharing class BDI_DataImportService { * @description importing or updating Account1 and Account2, and setting the contacts' Primary Affiliation. * @return void */ + @TestVisible private void importAccounts() { // first, try to match our existing Accounts From 03430b71895db46dd16248570dffd5db651a3d5e Mon Sep 17 00:00:00 2001 From: Suyash More Date: Wed, 7 Aug 2024 15:26:26 +0530 Subject: [PATCH 04/30] Added checks in HouseholdMembers.cls Added checks while setting default address in createAndUpdateHouseholdAddresses method --- force-app/main/domain/HouseholdMembers.cls | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/force-app/main/domain/HouseholdMembers.cls b/force-app/main/domain/HouseholdMembers.cls index 6693481eeea..8dbc51a439a 100644 --- a/force-app/main/domain/HouseholdMembers.cls +++ b/force-app/main/domain/HouseholdMembers.cls @@ -149,13 +149,13 @@ public inherited sharing class HouseholdMembers implements IHouseholdMembers { } if (!npspAddress.isEqualToIncludingAddressType(npspMatchingAddress, true)) { npspMatchingAddress.copyFrom(npspAddress); - if (!npspContact.hasAddressOverride() && !npspMatchingAddress.isDefault()) { + if (!npspContact.hasAddressOverride() && !npspMatchingAddress.isDefault() && !isSeasonalAddress(npspMatchingAddress.getRecord())) { npspMatchingAddress.setAsDefault(); } addressUpdated = true; } // exact match. we aren't specifying override, so the address should become the new hh default address - else if (!npspContact.hasAddressOverride() && !npspMatchingAddress.isDefault()) { + else if (!npspContact.hasAddressOverride() && !npspMatchingAddress.isDefault() && !isSeasonalAddress(npspMatchingAddress.getRecord())) { npspMatchingAddress.setAsDefault(); addressUpdated = true; } @@ -164,7 +164,9 @@ public inherited sharing class HouseholdMembers implements IHouseholdMembers { } } else { // no match, not an override, make it a new default hh address - npspAddress.setAsDefault(); + if (!isSeasonalAddress(npspAddress.getRecord())) { + npspAddress.setAsDefault(); + } npspAddress.setUndeliverable(npspContact.isUndeliverableMailingAddress()); addressesToInsert.add(npspAddress.getRecord()); } @@ -181,6 +183,11 @@ public inherited sharing class HouseholdMembers implements IHouseholdMembers { TDTM_TriggerHandler.processDML(dmlWrapper); } + private Boolean isSeasonalAddress(Address__c address) { + return address.Seasonal_Start_Day__c != null && address.Seasonal_Start_Month__c != null && + address.Seasonal_End_Day__c != null && address.Seasonal_End_Month__c != null; + } + private Boolean shouldUpdateAddressUndeliverableStatusFromContact(NPSP_Contact npspContact) { return npspContact.isUndeliverableStatusChanged(); } From fd99050b95fbf3c8b5949d1654d84e41ab94a1ba Mon Sep 17 00:00:00 2001 From: andrew-yu Date: Tue, 24 Sep 2024 15:14:51 -0700 Subject: [PATCH 05/30] comment out unused region, make all components aligned --- .../main/default/flexipages/GetStarted.flexipage-meta.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/force-app/main/default/flexipages/GetStarted.flexipage-meta.xml b/force-app/main/default/flexipages/GetStarted.flexipage-meta.xml index b090309fcc8..cdc8445867b 100644 --- a/force-app/main/default/flexipages/GetStarted.flexipage-meta.xml +++ b/force-app/main/default/flexipages/GetStarted.flexipage-meta.xml @@ -24,7 +24,7 @@ region1 Region - + @@ -45,7 +45,7 @@ gsResources - region3 + region2 Region Get Started From c5146152f4012123423eac3bddb14d7a46d755fe Mon Sep 17 00:00:00 2001 From: andrew-yu Date: Tue, 24 Sep 2024 15:15:24 -0700 Subject: [PATCH 06/30] update getting start picture shadow and round corner --- force-app/main/default/lwc/gseuHeader/gseuHeader.css | 7 ------- force-app/main/default/lwc/gseuHeader/gseuHeader.html | 4 ++-- force-app/main/default/lwc/gseuHeader/gseuHeader.js | 8 +++----- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/force-app/main/default/lwc/gseuHeader/gseuHeader.css b/force-app/main/default/lwc/gseuHeader/gseuHeader.css index df9a7145ded..c5f7cced882 100644 --- a/force-app/main/default/lwc/gseuHeader/gseuHeader.css +++ b/force-app/main/default/lwc/gseuHeader/gseuHeader.css @@ -1,10 +1,3 @@ -.img { - box-shadow: 1px -5px 3px -3px #b0adab7a; - border-radius: 5px; - width: 100%; - max-height: 430px; -} - .title { font-size: 32pt; color: var(--lwc-colorTextLabel); diff --git a/force-app/main/default/lwc/gseuHeader/gseuHeader.html b/force-app/main/default/lwc/gseuHeader/gseuHeader.html index 2a2b8149432..b73f112328a 100644 --- a/force-app/main/default/lwc/gseuHeader/gseuHeader.html +++ b/force-app/main/default/lwc/gseuHeader/gseuHeader.html @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/force-app/main/default/lwc/gseuHeader/gseuHeader.js b/force-app/main/default/lwc/gseuHeader/gseuHeader.js index 1dd2f99431d..abfdab07dbc 100644 --- a/force-app/main/default/lwc/gseuHeader/gseuHeader.js +++ b/force-app/main/default/lwc/gseuHeader/gseuHeader.js @@ -11,12 +11,10 @@ export default class GseuHeader extends LightningElement { */ get imgSrc() { return `background-image:url(${this.backgroundUrl}); - background-size: contain; + background-size: cover; background-repeat: no-repeat; - width: 100%; - height: 0; - padding-top: 42%; - position: relative`; + background-position: center center; + padding-top: 42%`; } get title() { From 7a666a1d2bb067304932ebe04c2b91762a0f5a49 Mon Sep 17 00:00:00 2001 From: andrew-yu Date: Tue, 24 Sep 2024 15:15:55 -0700 Subject: [PATCH 07/30] update getting start admin video shadow and round corner --- .../main/default/lwc/gsVideoHeader/gsVideoHeader.css | 7 ------- .../main/default/lwc/gsVideoHeader/gsVideoHeader.html | 4 ++-- force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.js | 8 +++----- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.css b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.css index db4b0dc9e7b..c5f7cced882 100644 --- a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.css +++ b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.css @@ -1,10 +1,3 @@ -.img { - box-shadow: 1px -5px 3px -3px #b0adab7a; - border-radius: 5px; - width: 100%; - max-height: 440px; -} - .title { font-size: 32pt; color: var(--lwc-colorTextLabel); diff --git a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.html b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.html index 5393fc94b75..ee743967b71 100644 --- a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.html +++ b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.html @@ -4,11 +4,11 @@ aria-label={ariaLabel} target="_blank"> -
+

{title}

{length}

-
+ \ No newline at end of file diff --git a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.js b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.js index 12532599141..40fac476f11 100644 --- a/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.js +++ b/force-app/main/default/lwc/gsVideoHeader/gsVideoHeader.js @@ -20,12 +20,10 @@ export default class gsVideoHeader extends LightningElement { */ get imgSrc() { return `background-image:url(${this.backgroundUrl}); - background-size: contain; + background-size: cover; background-repeat: no-repeat; - width: 100%; - height: 0; - padding-top: 42%; - position: relative`; + background-position: center center; + padding-top: 42%`; } get title() { From b2b0e290e85a333d34adea897e7f7d52ffdfbc3a Mon Sep 17 00:00:00 2001 From: andrew-yu Date: Tue, 24 Sep 2024 15:16:21 -0700 Subject: [PATCH 08/30] update resource section to use lightning-card --- .../default/lwc/gsResources/gsResources.css | 33 +++++-------------- .../default/lwc/gsResources/gsResources.html | 18 ++++++++-- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/force-app/main/default/lwc/gsResources/gsResources.css b/force-app/main/default/lwc/gsResources/gsResources.css index 09f09b2de96..2619a7b0e38 100644 --- a/force-app/main/default/lwc/gsResources/gsResources.css +++ b/force-app/main/default/lwc/gsResources/gsResources.css @@ -1,18 +1,4 @@ -.container > h1 { - margin-bottom: 1rem; - font-size: 15px; - font-weight: bold; - color: #2B2B26; -} - -.container { - padding: 28px 24px; - background-color: #ffffff; - border: solid 1px #DDDBDA; - box-shadow: 1px 5px 3px -3px #b0adab7a; -} - -.container .resource-list .resource-item { +.resource-list .resource-item { height: 80px; border-top: solid 1px #DDDBDA; display: flex; @@ -22,30 +8,29 @@ justify-content: space-between; } -.container .resource-list .resource-item span { +.resource-list .resource-item span { text-align: left; } - -.container .resource-list .resource-item a { +.resource-list .resource-item a { text-align: right; font-weight: bold; } -.container .link > a { +.link > a { color: #006DCC; } -.container .label { +.label { padding-right: 2rem; } -.container .label > span, .container .link > a { +.label > span, .container .link > a { font-size: 15px; font-weight: 400; } @media(max-width: 1345px) { - .container .resource-list .resource-item { + .resource-list .resource-item { flex-direction: column; align-items: flex-start; justify-content: space-evenly; @@ -54,7 +39,7 @@ @media(max-width: 760px) { - .container .resource-list .resource-item { + .resource-list .resource-item { flex-direction: row; align-items: center; justify-content: space-between; @@ -62,7 +47,7 @@ } @media(max-width: 500px) { - .container .resource-list .resource-item { + .resource-list .resource-item { flex-direction: column; align-items: flex-start; justify-content: space-evenly; diff --git a/force-app/main/default/lwc/gsResources/gsResources.html b/force-app/main/default/lwc/gsResources/gsResources.html index 3054e4a2408..9722701d828 100644 --- a/force-app/main/default/lwc/gsResources/gsResources.html +++ b/force-app/main/default/lwc/gsResources/gsResources.html @@ -1,5 +1,5 @@ \ No newline at end of file From 4a660484760e6e5f1edcbe4f75afaa8a9de0602f Mon Sep 17 00:00:00 2001 From: andrew-yu Date: Tue, 24 Sep 2024 15:16:37 -0700 Subject: [PATCH 09/30] update check list to use lightning-card --- force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.css | 1 - force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.html | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.css b/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.css index c34784726ed..6084462d4be 100644 --- a/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.css +++ b/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.css @@ -5,7 +5,6 @@ width: 100%; margin: 1.5rem 0; padding: 18px; - box-shadow: 0 3px 2px 0 rgba(176,173,171,.48); display: grid; grid-template-columns: 185px auto; } diff --git a/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.html b/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.html index c1c3715595a..f0a9f68d566 100644 --- a/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.html +++ b/force-app/main/default/lwc/gsChecklistItem/gsChecklistItem.html @@ -1,5 +1,5 @@