From 8722ae8dd94719fa1f9cd60d2496cc61bb5c4505 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 2 Jun 2025 12:56:47 -0700 Subject: [PATCH 01/18] - Replace homepage content with sunset messaging for May 30, 2025 service end - Convert inline SVGs to external files for better maintainability -Removed Login buttons except for /sign-in page -Removed header navs --- .ds.baseline | 4 +- app/assets/images/icon-disaster-feedback.svg | 18 + app/assets/images/icon-health-insurance.svg | 7 + app/assets/images/icon-parent-resources.svg | 17 + .../images/icon-passport-processing.svg | 8 + app/assets/images/icon-snap-benefits.svg | 21 ++ app/assets/images/icon-waiting-times.svg | 18 + app/assets/images/messaging-devices.svg | 17 + .../uswds/_uswds-theme-custom-styles.scss | 4 + app/templates/base.html | 28 +- app/templates/components/header.html | 20 +- app/templates/views/signedout.html | 308 ++++++++---------- app/templates/views/signin.html | 6 +- tests/app/main/views/test_sign_in.py | 2 - 14 files changed, 254 insertions(+), 224 deletions(-) create mode 100644 app/assets/images/icon-disaster-feedback.svg create mode 100644 app/assets/images/icon-health-insurance.svg create mode 100644 app/assets/images/icon-parent-resources.svg create mode 100644 app/assets/images/icon-passport-processing.svg create mode 100644 app/assets/images/icon-snap-benefits.svg create mode 100644 app/assets/images/icon-waiting-times.svg create mode 100644 app/assets/images/messaging-devices.svg diff --git a/.ds.baseline b/.ds.baseline index 5c24d852f..a61892b64 100644 --- a/.ds.baseline +++ b/.ds.baseline @@ -563,7 +563,7 @@ "filename": "tests/app/main/views/test_sign_in.py", "hashed_secret": "8b8b69116ee882b5e987e330f55db81aba0636f9", "is_verified": false, - "line_number": 97, + "line_number": 95, "is_secret": false } ], @@ -644,5 +644,5 @@ } ] }, - "generated_at": "2025-05-22T19:03:11Z" + "generated_at": "2025-06-02T19:56:12Z" } diff --git a/app/assets/images/icon-disaster-feedback.svg b/app/assets/images/icon-disaster-feedback.svg new file mode 100644 index 000000000..51f8560c4 --- /dev/null +++ b/app/assets/images/icon-disaster-feedback.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/icon-health-insurance.svg b/app/assets/images/icon-health-insurance.svg new file mode 100644 index 000000000..a156c1d76 --- /dev/null +++ b/app/assets/images/icon-health-insurance.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/assets/images/icon-parent-resources.svg b/app/assets/images/icon-parent-resources.svg new file mode 100644 index 000000000..d9aaf3e2e --- /dev/null +++ b/app/assets/images/icon-parent-resources.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/icon-passport-processing.svg b/app/assets/images/icon-passport-processing.svg new file mode 100644 index 000000000..595d934d8 --- /dev/null +++ b/app/assets/images/icon-passport-processing.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app/assets/images/icon-snap-benefits.svg b/app/assets/images/icon-snap-benefits.svg new file mode 100644 index 000000000..d20b2ac5c --- /dev/null +++ b/app/assets/images/icon-snap-benefits.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/icon-waiting-times.svg b/app/assets/images/icon-waiting-times.svg new file mode 100644 index 000000000..f44cd2854 --- /dev/null +++ b/app/assets/images/icon-waiting-times.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/messaging-devices.svg b/app/assets/images/messaging-devices.svg new file mode 100644 index 000000000..00bd3f99f --- /dev/null +++ b/app/assets/images/messaging-devices.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/app/assets/sass/uswds/_uswds-theme-custom-styles.scss b/app/assets/sass/uswds/_uswds-theme-custom-styles.scss index 737d45172..8ced4571a 100644 --- a/app/assets/sass/uswds/_uswds-theme-custom-styles.scss +++ b/app/assets/sass/uswds/_uswds-theme-custom-styles.scss @@ -871,6 +871,10 @@ $do-dont-top-bar-width: 1; border-radius: 2px; } +.bg-gray-cool { + background-color: #dfe1e2; +} + .svg-circle-icon { display: inline-block; margin: 0; diff --git a/app/templates/base.html b/app/templates/base.html index b647a21a8..8f349ffa7 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -35,32 +35,6 @@ {% block header %} {% include 'components/usa_banner.html' %} - {% if not is_api_down %} - {% if current_user.is_authenticated or current_service or current_user.platform_admin %} -
-
-
-

Notify.gov Service Ending

-

- GSA will no longer offer the Notify.gov service after June 8th, 2025. Visit - Notify.gov Service Ending for more information. -

-
-
-
- {% else %} -
-
-
-

Notify.gov Service Ending

-

- Notify.gov is no longer accepting new partners. -

-
-
-
- {% endif %} - {% endif %} {% include 'components/header.html' %} {% endblock %} @@ -157,7 +131,7 @@
  • - diff --git a/app/templates/components/header.html b/app/templates/components/header.html index 760cc905d..6baacb20e 100644 --- a/app/templates/components/header.html +++ b/app/templates/components/header.html @@ -1,4 +1,4 @@ -{% set is_about_page = request.path.startswith('/about') %} +{# {% set is_about_page = request.path.startswith('/about') %} {% set is_contact_page = request.path.startswith('/contact') %} {% set is_information_section = is_about_page or is_contact_page %} @@ -35,13 +35,7 @@ {"href": url_for('main.about_notify'), "text": "About Notify", "active": is_about_page}, {"href": url_for('main.contact'), "text": "Contact us", "active": is_contact_page} ] %} -{% endif %} - - - - - - +{% endif %} #}
    @@ -59,16 +53,7 @@ {% endif %}
    - {% if not current_user.is_authenticated and is_information_section%} - - {% endif %} - diff --git a/app/templates/views/signedout.html b/app/templates/views/signedout.html index 804724a7f..5484e8464 100644 --- a/app/templates/views/signedout.html +++ b/app/templates/views/signedout.html @@ -16,191 +16,157 @@ import usaButton %} {% block meta %} {% if is_api_down %} {% include "error/technical_difficulties.html" %} {% else %} -
    -
    -
    -
    -

    - Reach people where they are with government-powered text messages +
    +
    +
    +
    +

    + Sunsetting Notify.gov

    -

    - Notify.gov is a text messaging service that helps federal, state, - local, tribal and territorial governments more effectively - communicate with the people they serve. +

    + As of May 30, 2025, this service is no longer available.

    -
    - - if you are an existing partner -
    -
    -
    -

    - Government texting made easy -

    -

    - Notify.gov is a text messaging platform built for government agencies. - With minimal set-up and secure, personalized messaging, you can make - one-way texting a part of your outreach program. -

    -
    - -
    -

    Key features

    -
    -
      -
    • -
      -
      - Globe on top of a web browser -
      -

      Web-based

      -
      -
      -

      Nothing to download or install

      -
      -
      -
    • -
    • -
      -
      - Stopwatch with a notification speech bubble with a star inside -
      -

      Fast and easy

      -
      -
      -

      No technical expertise required

      -
      -
      -
    • -
    • -
      -
      - 3 status messages, 2 successes and one failure -
      -

      Track message delivery

      -
      -
      -

      See which messages were received

      -
      -
      -
    • -
    -
      -
    • -
      -
      - Speech bubbles with the letter A and the Chinese character for language -
      -

      - Send in recipients' preferred language -

      -
      -
      -

      Notify.gov has support for more than 30 character sets

      -
      -
      -
    • -
    • -
      -
      - Lock with code icon inside on top of a web browser -
      -

      Security and privacy

      -
      -
      -

      - Limited data retention, encryption, and multi-factor - authentication protect user data and manage risk with
      our security efforts -

      -
      -
      -
    • -
    • -
      -
      - Paper airplane and a notification icon with the number 1 inside -
      -

      - Send bulk, customized, one-way messages -

      -
      -
      -

      - Send hundreds or thousands of individually customized messages - with just a few clicks -

      -
      -
      -
    • -
    +
    +
    +

    + Serving the public +

    +

    + The Notify.gov text messaging application helped federal, state, local, tribal and territorial governments more effectively communicate with the people they serve. +

    +

    + From November 2023 to May 2025, Notify.gov partners sent more than 400,000 messages: +

    +
    -
    -
    -
    +
    +
    +
    +
    +

    + Text messaging reaches people +

    +

    + Texting is one of the most effective ways to reach people. Though Notify.gov is winding down, government programs should explore ways to continue to meet people where they are. +

    +

    Agencies can fork and host their own notification platform using the open‑source Notify.gov codebase, or a variety of commercial messaging services that support the same use cases that Notify covered.

    +
    + +
    +
    +
    +
    +
    +
    +
    +

    + A message for our partners +

    +

    + Thank you to our users and partners for their support, participation, and contributions in developing Notify.gov. +

    +
    +
    {% endif %} diff --git a/app/templates/views/signin.html b/app/templates/views/signin.html index c2c6ebe1d..68c4d722b 100644 --- a/app/templates/views/signin.html +++ b/app/templates/views/signin.html @@ -25,12 +25,10 @@ We signed you out because you have not used Notify for a while.

    {% endif %} - Sign in with Login.gov - {% else %} + {% else %}

    Sign in

    Access your Notify.gov account by signing in with Login.gov:

    - Sign in with Login.gov - {% endif %} + {% endif %}
    diff --git a/tests/app/main/views/test_sign_in.py b/tests/app/main/views/test_sign_in.py index 319b41c81..7ab5e5133 100644 --- a/tests/app/main/views/test_sign_in.py +++ b/tests/app/main/views/test_sign_in.py @@ -20,8 +20,6 @@ def test_render_sign_in_template_for_new_user(client_request, mocker): # TODO: Fix this test to be less brittle! If the Login.gov link is enabled, # then these indices need to be 1 instead of 0. # Currently it's not enabled for the test or production environments. - assert page.select("main a")[0].text == "Sign in with Login.gov" - # TODO: We'll have to adjust this depending on whether Login.gov is # enabled or not; fix this in the future. assert "Sign in again" not in normalize_spaces(page.text) From 65d13701c7a1eeef16ef20fc02cdf9b0cb439b77 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 2 Jun 2025 13:10:00 -0700 Subject: [PATCH 02/18] remove nav before login --- app/templates/components/header.html | 62 ++++++++++++---------------- app/templates/views/signin.html | 6 ++- 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/app/templates/components/header.html b/app/templates/components/header.html index 6baacb20e..30e4c7dbe 100644 --- a/app/templates/components/header.html +++ b/app/templates/components/header.html @@ -1,42 +1,32 @@ -{# {% set is_about_page = request.path.startswith('/about') %} -{% set is_contact_page = request.path.startswith('/contact') %} -{% set is_information_section = is_about_page or is_contact_page %} - {% if current_user.is_authenticated %} -{% set navigation = [ - {"href": url_for("main.show_accounts_or_dashboard"), "text": "Current service", "active": request.path.startswith('/accounts')}, - {"href": url_for('main.get_started'), "text": "Using Notify", "active": request.path.startswith('/using-notify')}, - {"href": url_for('main.support'), "text": "Contact us", "active": header_navigation.is_selected('support')} -] %} + {% set navigation = [ + {"href": url_for("main.show_accounts_or_dashboard"), "text": "Current service", "active": request.path.startswith('/accounts')}, + {"href": url_for('main.get_started'), "text": "Using Notify", "active": request.path.startswith('/using-notify')}, + {"href": url_for('main.support'), "text": "Contact us", "active": header_navigation.is_selected('support')} + ] %} + + {% if current_user.platform_admin %} + {% set navigation = navigation + [{"href": url_for('main.platform_admin_splash_page'), "text": "Platform admin", "active": header_navigation.is_selected('platform-admin')}] %} + {% else %} + {% set navigation = navigation + [{"href": url_for('main.user_profile'), "text": "User profile", "active": header_navigation.is_selected('user-profile')}] %} + {% endif %} + + {% if current_service %} + {% if current_user.has_permissions('manage_service') %} + {% set secondaryNavigation = [ + {"href": url_for('main.service_settings', service_id=current_service.id), "text": "Settings", "active": secondary_navigation.is_selected('settings')}, + {"href": url_for('main.sign_out'), "text": "Sign out"} + ] %} + {% else %} + {% set secondaryNavigation = [ + {"href": url_for('main.sign_out'), "text": "Sign out"} + ] %} + {% endif %} + {% else %} + {% set secondaryNavigation = [{"href": url_for('main.sign_out'), "text": "Sign out"}] %} + {% endif %} -{% if current_user.platform_admin %} -{% set navigation = navigation + [{"href": url_for('main.platform_admin_splash_page'), "text": "Platform admin", "active": header_navigation.is_selected('platform-admin')}] %} -{% else %} -{% set navigation = navigation + [{"href": url_for('main.user_profile'), "text": "User profile", "active": header_navigation.is_selected('user-profile')}] %} {% endif %} - -{% if current_service %} -{% if current_user.has_permissions('manage_service') %} -{% set secondaryNavigation = [ - {"href": url_for('main.service_settings', service_id=current_service.id), "text": "Settings", "active": secondary_navigation.is_selected('settings')}, - {"href": url_for('main.sign_out'), "text": "Sign out"} -] %} -{% else %} -{% set secondaryNavigation = [ - {"href": url_for('main.sign_out'), "text": "Sign out"} -] %} -{% endif %} -{% else %} -{% set secondaryNavigation = [{"href": url_for('main.sign_out'), "text": "Sign out"}] %} -{% endif %} - -{% else %} -{% set navigation = [ - {"href": url_for('main.about_notify'), "text": "About Notify", "active": is_about_page}, - {"href": url_for('main.contact'), "text": "Contact us", "active": is_contact_page} -] %} -{% endif %} #} -
    diff --git a/app/templates/views/signin.html b/app/templates/views/signin.html index 68c4d722b..c2c6ebe1d 100644 --- a/app/templates/views/signin.html +++ b/app/templates/views/signin.html @@ -25,10 +25,12 @@ We signed you out because you have not used Notify for a while.

    {% endif %} - {% else %} + Sign in with Login.gov + {% else %}

    Sign in

    Access your Notify.gov account by signing in with Login.gov:

    - {% endif %} + Sign in with Login.gov + {% endif %}
    From 3e5c194a111cd2f1b6de984c613c1b94c6b558ef Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 2 Jun 2025 13:21:37 -0700 Subject: [PATCH 03/18] fix test --- .../end_to_end/test_landing_and_sign_in_pages.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/tests/end_to_end/test_landing_and_sign_in_pages.py b/tests/end_to_end/test_landing_and_sign_in_pages.py index 4686876d4..1e6e85755 100644 --- a/tests/end_to_end/test_landing_and_sign_in_pages.py +++ b/tests/end_to_end/test_landing_and_sign_in_pages.py @@ -23,23 +23,18 @@ def test_landing_page(end_to_end_context): # Retrieve some prominent elements on the page for testing. main_header = page.get_by_role( "heading", - name="Reach people where they are with government-powered text messages", + name="Sunsetting Notify.gov", ) - sign_in_button = page.get_by_role("link", name="Sign in with") - # Check to make sure the elements are visible. + # Check to make sure the main header is visible. expect(main_header).to_be_visible() - expect(sign_in_button).to_be_visible() - - # Check to make sure the sign-in button and email links are correct. - href_value = sign_in_button.get_attribute("href") - assert href_value is not None, "The sign-in button does not have an href attribute" # Retrieve all other main content headers and check that they're # visible. content_headers = [ - "Government texting made easy", - "Key features", + "Serving the public", + "Text messaging reaches people", + "A message for our partners", ] for content_header in content_headers: From 55a86bcebc6638d8c1d7670943d3ec67484f7a69 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Tue, 3 Jun 2025 15:33:10 -0700 Subject: [PATCH 04/18] updated content --- app/templates/views/signedout.html | 108 +----------------- .../test_landing_and_sign_in_pages.py | 3 +- 2 files changed, 5 insertions(+), 106 deletions(-) diff --git a/app/templates/views/signedout.html b/app/templates/views/signedout.html index 5484e8464..5879dd882 100644 --- a/app/templates/views/signedout.html +++ b/app/templates/views/signedout.html @@ -24,111 +24,12 @@ import usaButton %} {% block meta %} Sunsetting Notify.gov

    - As of May 30, 2025, this service is no longer available. + This beta product is no longer in service as of June 9, 2025.

    -
    -
    -
    -

    - Serving the public -

    -

    - The Notify.gov text messaging application helped federal, state, local, tribal and territorial governments more effectively communicate with the people they serve. -

    -

    - From November 2023 to May 2025, Notify.gov partners sent more than 400,000 messages: -

    -
    -
    - -
    -
    -
    -
    -
    - - - - - Health insurance icon

    Helping people maintain access to health insurance

    -
    -
    -
    -
    - SNAP benefits icon -

    Protecting SNAP benefits from fraud

    -
    -
    -
    -
    - Clock icon -

    Reducing the amount of time people spent waiting in line at government offices

    -
    -
    -
    -
    - Mobile alert icon -

    Alerting parents about resources available for their children

    -
    -
    -
    -
    - Speedometer icon -

    Speeding up passport processing

    -
    -
    -
    -
    - Feedback icon -

    Giving residents opportunity to provide feedback on disaster response and recovery

    -
    -
    -
    -
    -
    -
    @@ -137,9 +38,9 @@ import usaButton %} {% block meta %} Text messaging reaches people

    - Texting is one of the most effective ways to reach people. Though Notify.gov is winding down, government programs should explore ways to continue to meet people where they are. + Though the Notify.gov service is no longer available, government programs can continue to explore text messaging services.

    -

    Agencies can fork and host their own notification platform using the open‑source Notify.gov codebase, or a variety of commercial messaging services that support the same use cases that Notify covered.

    +

    Commercial messaging providers may support government use cases. For agencies with the resources to set up and support it, the notifications service codebase that runs Notify.gov is open source and can be reused.

    @@ -160,7 +60,7 @@ import usaButton %} {% block meta %}

    - A message for our partners + To our partners

    Thank you to our users and partners for their support, participation, and contributions in developing Notify.gov. diff --git a/tests/end_to_end/test_landing_and_sign_in_pages.py b/tests/end_to_end/test_landing_and_sign_in_pages.py index 1e6e85755..8b8a96d24 100644 --- a/tests/end_to_end/test_landing_and_sign_in_pages.py +++ b/tests/end_to_end/test_landing_and_sign_in_pages.py @@ -32,9 +32,8 @@ def test_landing_page(end_to_end_context): # Retrieve all other main content headers and check that they're # visible. content_headers = [ - "Serving the public", "Text messaging reaches people", - "A message for our partners", + "To our partners", ] for content_header in content_headers: From 5053d5d440a0f652bf94fcda966d72b11d33f270 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Tue, 3 Jun 2025 15:44:55 -0700 Subject: [PATCH 05/18] updated bg color --- app/templates/views/signedout.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/templates/views/signedout.html b/app/templates/views/signedout.html index 5879dd882..af8fe6bd8 100644 --- a/app/templates/views/signedout.html +++ b/app/templates/views/signedout.html @@ -30,7 +30,7 @@ import usaButton %} {% block meta %}

    -
    +
    @@ -55,7 +55,7 @@ import usaButton %} {% block meta %}
    -
    +
    From fa158cd7620e0aac3f9d5f85c51899430eb4d827 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 9 Jun 2025 16:35:01 -0700 Subject: [PATCH 06/18] - Clears any selected checkboxes to prevent form submission issues - Fix search functionality to respect .template-list-item-hidden-by-default - Add missing "No templates found" message to template search - Ensure nested template items remain hidden when searching and clearing search - Hides all template items when clicking "New template" button - Shows everything again when exiting the "new template" state --- app/assets/javascripts/liveSearch.js | 17 ++++++++++------- app/assets/javascripts/templateFolderForm.js | 15 ++++++++++++++- .../sass/uswds/_uswds-theme-custom-styles.scss | 4 ++++ app/templates/views/templates/choose.html | 4 ++++ 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/liveSearch.js b/app/assets/javascripts/liveSearch.js index 301ba7b0c..fd3c62002 100644 --- a/app/assets/javascripts/liveSearch.js +++ b/app/assets/javascripts/liveSearch.js @@ -20,7 +20,6 @@ $targets.each(function() { let content = $('.live-search-relevant', this).text() || $(this).text(); - let isMatch = normalize(content).indexOf(normalize(query)) > -1; if ($(this).has(':checked').length) { $(this).show(); @@ -29,21 +28,25 @@ } if (query == '') { - $(this).css('display', ''); + $(this).removeClass('js-hidden'); results++; return; } - $(this).toggle(isMatch); - - if (isMatch) { results++; } + let isMatch = normalize(content).includes(normalize(query)); + if (isMatch) { + $(this).removeClass('js-hidden'); + results++; + } else { + $(this).addClass('js-hidden'); + } }); if (query !== '' && results === 0) { - $noResultsMessage.show(); + $noResultsMessage.removeClass('js-hidden'); } else { - $noResultsMessage.hide(); + $noResultsMessage.addClass('js-hidden'); } if (state === 'loaded') { diff --git a/app/assets/javascripts/templateFolderForm.js b/app/assets/javascripts/templateFolderForm.js index 9dedb50d5..392cbb03b 100644 --- a/app/assets/javascripts/templateFolderForm.js +++ b/app/assets/javascripts/templateFolderForm.js @@ -197,6 +197,11 @@ if (event.currentTarget.value === 'add-new-template' && this.$singleNotificationChannel) { window.location = "/services/" + this.$singleChannelService + "/templates/add-" + this.$singleNotificationChannel; } else { + if (this.currentState === 'add-new-template') { + this.$form.find('input[type=checkbox]').prop('checked', false); + this.selectionStatus.update({ total: 0, templates: 0, folders: 0 }); + } + if (this.stateChanged()) { this.render(); } @@ -286,7 +291,15 @@ mode = 'dialog'; } - if (currentStateObj && ('setFocus' in currentStateObj)) { + if (this.currentState === 'add-new-template') { + this.$form.find('.template-list-item').addClass('js-hidden'); + this.$form.find('input[type=checkbox]').prop('checked', false); + this.selectionStatus.update({ total: 0, templates: 0, folders: 0 }); + } else { + this.$form.find('.template-list-item').removeClass('js-hidden'); + } + + if (currentStateObj && 'setFocus' in currentStateObj) { scrollTop = $(window).scrollTop(); currentStateObj.setFocus(); $(window).scrollTop(scrollTop); diff --git a/app/assets/sass/uswds/_uswds-theme-custom-styles.scss b/app/assets/sass/uswds/_uswds-theme-custom-styles.scss index 737d45172..0c2b40ba1 100644 --- a/app/assets/sass/uswds/_uswds-theme-custom-styles.scss +++ b/app/assets/sass/uswds/_uswds-theme-custom-styles.scss @@ -229,6 +229,10 @@ td.table-empty-message { display: none; } +.js-hidden { + display: none !important; +} + .folder-heading a.folder-heading-folder, .template-list-folder { background: url(../img/material-icons/folder.svg) no-repeat; diff --git a/app/templates/views/templates/choose.html b/app/templates/views/templates/choose.html index 281374c37..0b2293234 100644 --- a/app/templates/views/templates/choose.html +++ b/app/templates/views/templates/choose.html @@ -59,6 +59,10 @@ {{ live_search(target_selector='#template-list .template-list-item', show=show_search_box, form=search_form) }} + + {% if current_user.has_permissions('manage_templates') and user_has_template_folder_permission %} {% call form_wrapper( class='sticky-scroll-area', From 312cdf08fa0a6453ce5eea5fe6457e66017226b6 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 9 Jun 2025 17:58:43 -0700 Subject: [PATCH 07/18] added no results found and no live search on /template page --- app/assets/javascripts/templateFolderForm.js | 2 ++ app/templates/views/templates/choose-reply.html | 2 +- app/templates/views/templates/copy.html | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/templateFolderForm.js b/app/assets/javascripts/templateFolderForm.js index 392cbb03b..268b90863 100644 --- a/app/assets/javascripts/templateFolderForm.js +++ b/app/assets/javascripts/templateFolderForm.js @@ -293,10 +293,12 @@ if (this.currentState === 'add-new-template') { this.$form.find('.template-list-item').addClass('js-hidden'); + $('.live-search').addClass('js-hidden'); this.$form.find('input[type=checkbox]').prop('checked', false); this.selectionStatus.update({ total: 0, templates: 0, folders: 0 }); } else { this.$form.find('.template-list-item').removeClass('js-hidden'); + $('.live-search').removeClass('js-hidden'); } if (currentStateObj && 'setFocus' in currentStateObj) { diff --git a/app/templates/views/templates/choose-reply.html b/app/templates/views/templates/choose-reply.html index 69bbe4770..0fd516763 100644 --- a/app/templates/views/templates/choose-reply.html +++ b/app/templates/views/templates/choose-reply.html @@ -40,7 +40,7 @@