diff --git a/src/registrar/assets/js/get-gov-admin.js b/src/registrar/assets/js/get-gov-admin.js index 1755a2a1c..abe0877c1 100644 --- a/src/registrar/assets/js/get-gov-admin.js +++ b/src/registrar/assets/js/get-gov-admin.js @@ -162,50 +162,14 @@ function openInNewTab(el, removeAttribute = false){ // Append the new icon reference buttonIcon.setAttribute('xlink:href', baseHref + '#check'); - // Find the nearest .admin-icon-group__success-dialog and update its classes - let parentFlexContainer = null - let brElement = null - let successDialog = null - if (userId) { - successDialog = document.querySelector(`#email-clipboard__success-dialog-${userId}`); - }else { - successDialog = document.querySelector("#email-clipboard__success-dialog"); - } - - if (successDialog) { - if (!userId) { - parentFlexContainer = successDialog.closest('.flex-container'); - // Flex container overrides display-none - parentFlexContainer.classList.remove('dja-important__display-none'); - } - successDialog.classList.remove('display-none'); - // Find the associated BR if it exists - brElement = successDialog.nextElementSibling - } - - // If the element directly below the success dialog is a br, hide it. - // This is for dynamic styling reasons - if (brElement && brElement.tagName === 'BR' && brElement.classList.contains('admin-icon-group__br')) { - brElement.classList.add('display-none'); - } + // Change the button text + nearestSpan = button.querySelector("span") + nearestSpan.innerText = "Copied to clipboard" setTimeout(function() { // Change back to the copy icon buttonIcon.setAttribute('xlink:href', currentHref); - - // Hide the success dialog - if (successDialog){ - successDialog.classList.add("display-none"); - } - - // Show the regular br - if (brElement) { - brElement.classList.remove("display-none"); - } - - if (parentFlexContainer) { - parentFlexContainer.classList.add("dja-important__display-none"); - } + nearestSpan.innerText = "Copy" }, 1500); } diff --git a/src/registrar/assets/sass/_theme/_admin.scss b/src/registrar/assets/sass/_theme/_admin.scss index 8e8294976..94b497e8f 100644 --- a/src/registrar/assets/sass/_theme/_admin.scss +++ b/src/registrar/assets/sass/_theme/_admin.scss @@ -540,15 +540,9 @@ address.dja-address-contact-list { // Make the clipboard button "float" inside of the input box .admin-icon-group { position: relative; - display: flex; + display: inline; align-items: center; - .usa-button__icon { - position: absolute; - right: 0; - height: 100%; - } - input { // Allow for padding around the copy button padding-right: 35px !important; @@ -557,7 +551,21 @@ address.dja-address-contact-list { } button { - line-height: 15px; + line-height: 14px; + width: max-content; + font-size: unset; + text-decoration: none !important; + } + + @media (max-width: 1000px) { + button { + display: block; + padding-top: 8px; + } + } + + span { + padding-left: 0.1rem; } } @@ -566,6 +574,7 @@ address.dja-address-contact-list { position: relative; display: inline; align-items: center; + .usa-button__icon { position: absolute; @@ -579,53 +588,12 @@ address.dja-address-contact-list { padding-top: 4px; line-height: 14px; color: var(--link-fg); - } -} - -.usa-alert--slim.usa-alert--slim--dja-admin { - .usa-alert__body:before { - top: 0.4rem; - left: 10px - } - .usa-alert__body { - padding-left: 2.5rem; - } - - .admin-icon-group__success-dialog--input { - .usa-alert__body { - padding-right: 53px !important; - } - } -} -@media (prefers-color-scheme: dark) { - .usa-alert--success.usa-alert--slim--dja-admin { - border-left-color: var(--accent); - .usa-alert__body { - background-color: var(--darkened-bg); - } - - .usa-alert__body:before { - background-color: var(--body-quiet-color); - } - - p { - color: var(--body-quiet-color); - } + width: max-content; + font-size: unset; + text-decoration: none !important; } } .no-outline-on-click:focus { outline: none !important; } - -svg.no-pointer-events { - use { - // USWDS has weird interactions with SVGs regarding tooltips, - // and other components. In this event, we need to disable pointer interactions. - pointer-events: none; - } -} - -.dja-important__display-none { - display: none !important; -} \ No newline at end of file diff --git a/src/registrar/templates/admin/input_with_clipboard.html b/src/registrar/templates/admin/input_with_clipboard.html index 76f76b63f..20a029bed 100644 --- a/src/registrar/templates/admin/input_with_clipboard.html +++ b/src/registrar/templates/admin/input_with_clipboard.html @@ -4,20 +4,36 @@ Template for an input field with a clipboard {% endcomment %} +{% if not invisible_input_field %}
{{ field }} +
+{% else %} + \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/src/registrar/templates/django/admin/includes/contact_detail_list.html b/src/registrar/templates/django/admin/includes/contact_detail_list.html index b00e51547..8ad6fb96d 100644 --- a/src/registrar/templates/django/admin/includes/contact_detail_list.html +++ b/src/registrar/templates/django/admin/includes/contact_detail_list.html @@ -25,71 +25,11 @@ {# Email #} {% if user.email or user.contact.email %} {% if user.contact.email %} - {{ user.contact.email }} | - - + {{ user.contact.email }} + {% include "admin/input_with_clipboard.html" with field=user invisible_input_field=True %} {% else %} - {{ user.email }} | - - + {{ user.email }} + {% include "admin/input_with_clipboard.html" with field=user invisible_input_field=True %} {% endif %}
{% else %} diff --git a/src/registrar/templates/django/admin/includes/email_clipboard_fieldset.html b/src/registrar/templates/django/admin/includes/email_clipboard_fieldset.html index ecd2a7d83..f959f8edf 100644 --- a/src/registrar/templates/django/admin/includes/email_clipboard_fieldset.html +++ b/src/registrar/templates/django/admin/includes/email_clipboard_fieldset.html @@ -11,28 +11,3 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html) {{ block.super }} {% endif %} {% endblock field_other %} - -{% block after_help_text %} - {% if field.field.name == "email" %} -
- - -
- {% endif %} -{% endblock %} \ No newline at end of file