diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index bd8379afa0..faf136dfa6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -42,7 +42,9 @@ src/site/layouts/leadership_listing*.drupal.liquid @department-of-veterans-affai src/site/layouts/news_story.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend src/site/layouts/person_profile.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend src/site/layouts/press_release.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend -src/site/layouts/story.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend +src/site/layouts/press_releases_listing.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend +src/site/layouts/regional_health_care_service_des.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend +src/site/layouts/story_listing.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend src/site/layouts/tests/vamc* @department-of-veterans-affairs/vfs-facilities-frontend src/site/layouts/vamc*.drupal.liquid @department-of-veterans-affairs/vfs-facilities-frontend src/site/stages/build/drupal/static-data-files/vaPoliceData @department-of-veterans-affairs/vfs-facilities-frontend @@ -59,19 +61,26 @@ src/site/layouts/vet_center*.drupal.liquid @department-of-veterans-affairs/vfs-f src/site/layouts/tests/vet_center* @department-of-veterans-affairs/vfs-facilities-frontend # Public Websites +src/site/blocks @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/layouts/basic_landing_page.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/campaign_landing_page.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/checklist.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/event* @department-of-veterans-affairs/vfs-public-websites-frontend @department-of-veterans-affairs/ap-admins src/site/layouts/faq*.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/full_width_banner_alert.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/home* @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/layouts/landing_page.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/media_list*.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/layouts/office.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/outreach_asset.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/page* @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/publication_listing.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/q_a.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/layouts/step_by_step.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/support*.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend src/site/layouts/va_form.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/navigation/sidebar_nav.drupal.liquid @department-of-veterans-affairs/vfs-public-websites-frontend +src/site/paragraphs @department-of-veterans-affairs/vfs-public-websites-frontend src/site/tests/home @department-of-veterans-affairs/vfs-public-websites-frontend diff --git a/.github/workflows/content-release.yml b/.github/workflows/content-release.yml index 937a2172d3..177b6d1809 100644 --- a/.github/workflows/content-release.yml +++ b/.github/workflows/content-release.yml @@ -392,7 +392,7 @@ jobs: - build outputs: DEPLOY_END_TIME: ${{ steps.export-deploy-end-time.outputs.DEPLOY_END_TIME }} - timeout-minutes: 15 + timeout-minutes: 25 steps: diff --git a/package.json b/package.json index 559c80f413..7f1cee22d6 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@babel/preset-react": "^7.23.3", "@babel/register": "^7.23.7", "@department-of-veterans-affairs/eslint-plugin": "^1.1.0", - "@department-of-veterans-affairs/web-components": "^10.0.2", + "@department-of-veterans-affairs/web-components": "^11.2.4", "@octokit/rest": "^18.10.0", "@sentry/browser": "^6.13.1", "@testing-library/cypress": "^8.0.3", diff --git a/src/applications/registry.json b/src/applications/registry.json index 2785b6b5d6..c8b27f9703 100644 --- a/src/applications/registry.json +++ b/src/applications/registry.json @@ -155,29 +155,6 @@ "keywords": "VA location by zip code, VA clinic, VA near me" } }, - { - "appName": "10-10CG", - "entryName": "1010cg-application-caregiver-assistance", - "rootUrl": "/family-member-benefits/apply-for-caregiver-assistance-form-10-10cg", - "template": { - "title": "Caregiver Application for Benefits", - "vagovprod": true, - "vagovstaging": true, - "vagovdev": true, - "localhost": true, - "includeBreadcrumbs": true, - "breadcrumbs_override": [ - { - "path": "family-member-benefits/comprehensive-assistance-for-family-caregivers", - "name": "Family member benefits" - }, - { - "path": "family-member-benefits/apply-for-caregiver-assistance-form-10-10cg", - "name": "Apply for the Program of Comprehensive Assistance for Family Caregivers" - } - ] - } - }, { "appName": "10-10CG", "entryName": "1010cg-application-caregiver-assistance", @@ -270,6 +247,37 @@ ] } }, + { + "appName": "21P-530EZ Burials benefits form", + "entryName": "burials-ez", + "rootUrl": "/burials-memorials/veterans-burial-allowance/apply-for-burial-benefits", + "template": { + "title": "Apply for Burial Benefits (VA Form 21P-530EZ)", + "display_title": "Apply Now", + "layout": "page-react.html", + "description": "Use VA Form 21P-530EZ to apply for VA burial benefits online now. Get step-by-step instructions, and consider signing in to save your in-progress application if you need to come back to finish filling it out later.", + "order": 1, + "includeBreadcrumbs": true, + "breadcrumbs_override": [ + { + "path": "/", + "name": "Home" + }, + { + "path": "burials-memorials/", + "name": "Burials and memorials" + }, + { + "path": "burials-memorials/veterans-burial-allowance", + "name": "Burial allowance" + }, + { + "path": "burials-memorials/veterans-burial-allowance/apply-for-burial-benefits", + "name": "Apply for burial benefits" + } + ] + } + }, { "appName": "1010ez Health Care Application form", "entryName": "hca", @@ -306,9 +314,13 @@ "includeBreadcrumbs": true, "private": true, "breadcrumbs_override": [ + { + "name": "VA.gov home", + "path": "" + }, { "path": "my-health/", - "name": "My Health" + "name": "My HealtheVet" }, { "path": "my-health/update-benefits-information-form-10-10ezr", @@ -1195,16 +1207,6 @@ "layout": "page-react.html" } }, - { - "appName": "Search Representative", - "entryFile": "./app-entry.jsx", - "entryName": "search-representative", - "rootUrl": "/view-change-representative/search", - "template": { - "vagovprod": false, - "layout": "page-react.html" - } - }, { "appName": "Apply for Specially Adapted Housing Grant", "entryName": "sahg", @@ -1342,7 +1344,7 @@ "rootUrl": "/housing-assistance/disability-housing-grants/apply-for-grant-form-26-4555", "productId": "49929be5-0c92-42f2-b122-3cb426f691d4", "template": { - "vagovprod": false, + "vagovprod": true, "layout": "page-react.html", "includeBreadcrumbs": true, "breadcrumbs_override": [ @@ -1642,9 +1644,9 @@ } }, { - "appName": "Appeals Testing", - "entryName": "appeals-testing", - "rootUrl": "/decision-reviews/appeals-testing", + "appName": "Appeals NOD layout testing", + "entryName": "nod-new", + "rootUrl": "/decision-reviews/testing/nod-new", "productId": "5dd32517-00fd-4e97-afed-e6db1f1f54f9", "template": { "layout": "page-react.html", @@ -1658,9 +1660,9 @@ } }, { - "appName": "Submitted Appeals view & download", - "entryName": "submitted-appeal", - "rootUrl": "/decision-reviews/submitted-appeal", + "appName": "Appeals download", + "entryName": "download", + "rootUrl": "/decision-reviews/testing/download", "productId": "8057a5e9-196a-462f-9bc3-3bd1d199892c", "template": { "layout": "page-react.html", @@ -1668,6 +1670,18 @@ "vagovprod": false } }, + { + "appName": "HLR testing", + "entryFile": "./form-entry.jsx", + "entryName": "hlr-testing", + "rootUrl": "/decision-reviews/testing/hlr", + "productId": "32de6df6-8818-4fc8-b179-5d05ccb2db19", + "template": { + "layout": "page-react.html", + "description": "Test changes to HLR form", + "vagovprod": false + } + }, { "appName": "Order hearing aid or CPAP supplies", "entryName": "health-care-supply-reordering", @@ -1721,7 +1735,7 @@ "rootUrl": "/education/verify-school-enrollment/mgib-enrollments", "productId": "90b61c25-80ce-444f-89fb-eb186b52bfe6", "template": { - "vagovprod": false, + "vagovprod": true, "layout": "page-react.html" } }, @@ -1736,7 +1750,7 @@ } }, { - "appName": "Beneficiary Travel", + "appName": "Check Your Travel Reimbursement Claim Status", "entryName": "travel-pay", "rootUrl": "/my-health/travel-claim-status", "productId": "1e585463-5625-4868-b5f5-58ee0490ea28", @@ -1748,7 +1762,7 @@ { "appName": "10-10d Application for CHAMPVA benefits", "entryName": "10-10D", - "rootUrl": "/health-care/champva/apply-form-10-10d", + "rootUrl": "/family-and-caregiver-benefits/health-and-disability/champva/apply-form-10-10d", "productId": "c485d6da-8094-433d-9cd3-3d31e7813650", "template": { "vagovprod": false, @@ -1778,7 +1792,7 @@ { "appName": "10-7959C CHAMPVA Other Health Insurance Certification form", "entryName": "10-7959C", - "rootUrl": "/health-care/champva/other-insurance-form-10-7959c", + "rootUrl": "/family-and-caregiver-benefits/health-and-disability/champva/other-insurance-form-10-7959c", "productId": "db17fe5b-107e-40c0-a105-b3ba913cf731", "template": { "vagovprod": false, @@ -1798,7 +1812,7 @@ { "appName": "10-7959a CHAMPVA Claim Form", "entryName": "10-7959a", - "rootUrl": "/ivc-champva/10-7959a", + "rootUrl": "/family-and-caregiver-benefits/health-and-disability/file-champva-claim-10-7959a", "productId": "e6afb103-521b-46a2-b29c-245f6c95d3af", "template": { "vagovprod": false, @@ -1883,4 +1897,4 @@ ] } } -] +] \ No newline at end of file diff --git a/src/site/assets/sass/style.scss b/src/site/assets/sass/style.scss index e5eef7004b..10c9cf3e33 100644 --- a/src/site/assets/sass/style.scss +++ b/src/site/assets/sass/style.scss @@ -54,6 +54,18 @@ word-wrap: break-word; } +.health-online-desktop-link { + @media (max-width: 767px) { + display: none !important; + } +} + +.health-online-mobile-link { + @media (min-width: 768px) { + display: none !important; + } +} + // START: Styles for mobile app promo banner #alert-with-additional-info { @@ -251,5 +263,23 @@ } } } +// fix for sidenav btn +.va-sidenav-btn-close { + background-size: 0.625rem 0.625rem; + background-color: transparent; + height: 1.375rem; + display: flex; + align-items: center; + justify-content: center; + padding: 1.375rem; + margin: 0; + width: .625rem; +} + +@media (min-width: 767px) { + .va-sidenav-btn-close { + display: none; + } +} // END: Styles for mobile app promo banner \ No newline at end of file diff --git a/src/site/components/merger-crosslinks.html b/src/site/components/merger-crosslinks.html deleted file mode 100755 index faee2b5f1c..0000000000 --- a/src/site/components/merger-crosslinks.html +++ /dev/null @@ -1,55 +0,0 @@ -{% comment %} -===================== -Crosslinks -===================== - -Used for: -- lists of links to content within a particular channel or section. -- lists of Related Links when the `isRelated` property is set in the -include tag, e.g.: -{% include "src/site/components/navigation-links-list.html" with isRelated = true %} - -NOTE: Can also pass majorlinks or relatedlinks in as a variable on the include -tag, e.g.: - - {% include "src/site/components/navigation-links-list.html" with majorlinks = anothergroupofmajorlinks %} - -In this example, `anothergroupofmajorlinks` is a group of links that uses the -same YAML structure as `majorlinks`, but with a different group name. Pass the -different group name as the value for the `majorlinks` variable of the include. - -See https://help.shopify.com/themes/liquid/tags/theme-tags#include -{% endcomment %} - - diff --git a/src/site/facilities/service_address.drupal.liquid b/src/site/facilities/service_address.drupal.liquid index d680dbf7ca..7709bfaf2f 100644 --- a/src/site/facilities/service_address.drupal.liquid +++ b/src/site/facilities/service_address.drupal.liquid @@ -1,13 +1,13 @@ {% assign hasAddress = false %} {% if serviceLocationAddress.fieldUseFacilityAddress and facilityAddress %} - {% assign hasAddress = true %} {% assign addressData = facilityAddress %} -{% elsif location.entity.fieldServiceLocationAddress %} {% assign hasAddress = true %} - {% assign addressData = location.entity.fieldServiceLocationAddress.entity.fieldAddress %} +{% elsif serviceLocationAddress %} + {% assign addressData = serviceLocationAddress.fieldAddress %} + {% assign hasAddress = true %} {% endif %} -{% if serviceLocationAddress.fieldClinicName or hasAddress or serviceLocationAddress.fieldBuildingNameNumber or serviceLocationAddress.fieldWingFloorOrRoomNumber %} +{% if hasAddress or serviceLocationAddress.fieldClinicName or serviceLocationAddress.fieldBuildingNameNumber or serviceLocationAddress.fieldWingFloorOrRoomNumber %}
{% if serviceLocationAddress.fieldClinicName %} @@ -16,25 +16,25 @@ {% elsif serviceLocationAddress.fieldBuildingNameNumber or serviceLocationAddress.fieldWingFloorOrRoomNumber %} Location - + {% endif %} {% if hasAddress %} - {% if addressData.addressLine1 and not serviceLocationAddress.fieldUseFacilityAddress %} + {% if addressData.addressLine1 and serviceLocationAddress.fieldUseFacilityAddress != true %} {{ addressData.addressLine1 }} {% endif %} - {% if addressData.addressLine2 and not serviceLocationAddress.fieldUseFacilityAddress %} + {% if addressData.addressLine2 and serviceLocationAddress.fieldUseFacilityAddress != true %} {{ addressData.addressLine2 }} {% endif %} - {% if addressData.locality and not serviceLocationAddress.fieldUseFacilityAddress %} - {% if addressData.administrativeArea%} + {% if addressData.locality and serviceLocationAddress.fieldUseFacilityAddress != true %} + {% if addressData.administrativeArea %} {% if addressData.postalCode %} {{ addressData.locality }}, diff --git a/src/site/filters/liquid.js b/src/site/filters/liquid.js index ac84736996..f2c9686312 100644 --- a/src/site/filters/liquid.js +++ b/src/site/filters/liquid.js @@ -730,6 +730,38 @@ module.exports = function registerFilters() { // sort a list of objects by a certain property in the object liquid.filters.sortObjectsBy = (entities, path) => _.sortBy(entities, path); + // VBA facilities have accordions with headers that can come from two different + // object keys depending on the type of service (facilityService or regionalService) + // This sorts alphabetically regardless of key + liquid.filters.sortObjectsWithConditionalKeys = entities => { + const getFieldToCompare = obj => { + let serviceDetails = obj; + + if (obj?.facilityService) { + serviceDetails = obj.facilityService; + } else if (obj?.regionalService) { + serviceDetails = obj.regionalService; + } + + return serviceDetails.fieldServiceNameAndDescripti.entity.name; + }; + + return entities.sort((a, b) => { + const name1 = getFieldToCompare(a); + const name2 = getFieldToCompare(b); + + if (name1 < name2) { + return -1; + } + + if (name1 > name2) { + return 1; + } + + return 0; + }); + }; + liquid.filters.getValueFromObjPath = (obj, path) => _.get(obj, path); // get a value from a path of an object in an array @@ -996,9 +1028,16 @@ module.exports = function registerFilters() { fieldReferralRequired, ) => { if ( - (fieldOfficeVisits && fieldOfficeVisits !== 'no') || - (fieldVirtualSupport && fieldVirtualSupport !== 'no') || - fieldReferralRequired + (fieldOfficeVisits && + fieldOfficeVisits !== 'no' && + fieldOfficeVisits !== 'null') || + (fieldVirtualSupport && + fieldVirtualSupport !== 'no' && + fieldVirtualSupport !== 'null') || + (fieldReferralRequired && + fieldReferralRequired !== 'not_applicable' && + fieldReferralRequired !== 'unknown' && + fieldReferralRequired !== '2') ) { return true; } @@ -1090,7 +1129,18 @@ module.exports = function registerFilters() { }, }; }; - + // Because an ambiguous array items always provides all the items in the array and the context, exports, etc as well + // We use the first item as a source of truth for how many elements to assess + liquid.filters.andFn = (nItems, ...arr) => + (arr?.length || -1) >= nItems + ? arr.slice(0, nItems).every(a => !!a) + : false; + liquid.filters.orFn = (nItems, ...arr) => + (arr?.length || -1) >= nItems ? arr.slice(0, nItems).some(a => !!a) : false; + + liquid.filters.gt = (a, b) => Number(a) > Number(b); + liquid.filters.lt = (a, b) => Number(a) < Number(b); + liquid.filters.gte = (a, b) => Number(a) >= Number(b); liquid.filters.processCentralizedContent = (entity, contentType) => { if (!entity) return null; @@ -1718,36 +1768,43 @@ module.exports = function registerFilters() { }; liquid.filters.deriveMostRecentDate = deriveMostRecentDate; + liquid.filters.shouldShowIntroText = (introTextType, introTextCustom) => { + if (introTextType === 'remove_text') { + return false; + } + if ( + introTextType === 'use_default_text' || + (introTextType === 'customize_text' && introTextCustom) + ) + return true; + // just in case there's a new or data value like "null" that sometimes happens in drupal + return false; + }; // from the matrix of when to show Service Location Appointments header and text liquid.filters.shouldShowServiceLocationAppointments = serviceLocation => { const { fieldVirtualSupport: virtualSupport, fieldOfficeVisits: officeVisits, - fieldApptIntroTextType: introTextType, - fieldApptIntroTextCustom: introTextCustom, } = serviceLocation; - const baseYesConditions = ['yes_appointment_only']; - const yesOffice = [ - ...baseYesConditions, - 'yes_walk_in_visits_only', - 'yes_with_or_without_appointment', - ]; - const yesVirtual = [ - ...baseYesConditions, - 'yes_veterans_can_call', - 'virtual_visits_may_be_available', - ]; - const noVisitsAndCustomIntro = - !officeVisits && introTextType === 'customize_text' && introTextCustom; - const noVisitsAndDefaultInto = - !officeVisits && introTextType === 'use_default_text'; - return ( - yesVirtual.includes(virtualSupport) || - yesOffice.includes(officeVisits) || - noVisitsAndCustomIntro || - noVisitsAndDefaultInto - ); + // Hide? if no selection made for either virtual or office visits + if (!virtualSupport && !officeVisits) { + return false; + } + // Show if either virtual or office visits is yes_appointment_only + if ( + virtualSupport === 'yes_appointment_only' || + officeVisits === 'yes_appointment_only' + ) { + return true; + } + if ( + virtualSupport === 'virtual_visits_may_be_available' || + officeVisits === 'yes_with_or_without_appointment' + ) { + return true; + } + return false; }; // Given an array of services provided at a facility, @@ -2065,4 +2122,14 @@ module.exports = function registerFilters() { return platform; }; + + liquid.filters.determineFieldLink = fieldLink => { + if (!_.isEmpty(fieldLink?.url?.path)) { + return fieldLink.url.path; + } + if (!_.isEmpty(fieldLink?.uri)) { + return fieldLink.uri; + } + return null; + }; }; diff --git a/src/site/filters/liquid.unit.spec.js b/src/site/filters/liquid.unit.spec.js index b70e09f65c..9bf8d68676 100644 --- a/src/site/filters/liquid.unit.spec.js +++ b/src/site/filters/liquid.unit.spec.js @@ -1470,6 +1470,92 @@ describe('sortObjectsBy', () => { }); }); +describe('sortObjectsWithConditionalKeys', () => { + const objectsToSort = [ + { + facilityService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Homeless Veteran Care', + }, + }, + }, + }, + { + regionalService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'VetSuccess on Campus', + }, + }, + }, + }, + { + regionalService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Disability compensation', + }, + }, + }, + }, + { + facilityService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Home loans', + }, + }, + }, + }, + ]; + + const sortedObjects = [ + { + regionalService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Disability compensation', + }, + }, + }, + }, + { + facilityService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Home loans', + }, + }, + }, + }, + { + facilityService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'Homeless Veteran Care', + }, + }, + }, + }, + { + regionalService: { + fieldServiceNameAndDescripti: { + entity: { + name: 'VetSuccess on Campus', + }, + }, + }, + }, + ]; + + it('sorts objects alphabetically by key', () => { + expect( + liquid.filters.sortObjectsWithConditionalKeys(objectsToSort), + ).to.deep.equal(sortedObjects); + }); +}); + describe('concat', () => { it('concatenates all arrays passed as arguments', () => { const a1 = []; @@ -3103,3 +3189,33 @@ describe('formatSocialPlatform', () => { ).to.equal('Veterans Administration Instagram'); }); }); + +describe('runOrFnConditions', () => { + it('should return true for the first 3 parameters', () => { + const testingParams = [true, 'a', 1, true, {}, { a: 1 }]; + expect(liquid.filters.orFn(3, ...testingParams)).to.be.true; + }); + it('should return false for the first 3 parameters', () => { + const testingParams = [false, false, false, true, {}, { a: 1 }]; + expect(liquid.filters.orFn(3, ...testingParams)).to.be.false; + }); + it('should return false for the first n parameters when list is empty', () => { + const testingParams = []; + expect(liquid.filters.orFn(3, ...testingParams)).to.be.false; + }); +}); + +describe('runAndFnConditions', () => { + it('should return true for the first 3 parameters', () => { + const testingParams = [true, 'a', 1, true, {}, { a: 1 }]; + expect(liquid.filters.andFn(3, ...testingParams)).to.be.true; + }); + it('should return false for the first 3 parameters', () => { + const testingParams = [true, false, false, true, {}, { a: 1 }]; + expect(liquid.filters.andFn(3, ...testingParams)).to.be.false; + }); + it('should return false for the first n parameters when list is empty', () => { + const testingParams = []; + expect(liquid.filters.andFn(3, ...testingParams)).to.be.false; + }); +}); diff --git a/src/site/includes/benefit-hubs-links.drupal.liquid b/src/site/includes/benefit-hubs-links.drupal.liquid index 8363440c73..6131dc3254 100644 --- a/src/site/includes/benefit-hubs-links.drupal.liquid +++ b/src/site/includes/benefit-hubs-links.drupal.liquid @@ -8,8 +8,7 @@

{{ relatedBenefitHub.entity.fieldHomePageHubLabel }} diff --git a/src/site/includes/education-sco.html b/src/site/includes/education-sco.html index 24b09631dc..eecfd56bdb 100644 --- a/src/site/includes/education-sco.html +++ b/src/site/includes/education-sco.html @@ -20,11 +20,6 @@

{% include "src/site/components/hub-page-link-list.html" %} {% endif %} - - {% if crosslinks != empty %} - {% include "src/site/components/merger-crosslinks.html" %} - {% endif %} - {% include "src/site/includes/above-footer-elements.drupal.liquid" %} diff --git a/src/site/includes/footer.html b/src/site/includes/footer.html index 391dcac4c8..89f6f52e2a 100644 --- a/src/site/includes/footer.html +++ b/src/site/includes/footer.html @@ -6,8 +6,7 @@