From 77c9b21fab33e18dd36e6c892e3ac7e1c0d46b30 Mon Sep 17 00:00:00 2001 From: Saurabh Kumar <theskumar@users.noreply.github.com> Date: Thu, 23 Nov 2023 14:30:16 +0530 Subject: [PATCH 1/2] Fix the layout of the action buttons on the invoice listing table --- .../includes/invoices.html | 126 +++++++++--------- .../sass/apply/components/_data-block.scss | 14 +- 2 files changed, 76 insertions(+), 64 deletions(-) diff --git a/hypha/apply/projects/templates/application_projects/includes/invoices.html b/hypha/apply/projects/templates/application_projects/includes/invoices.html index fd2747916a..7860a119ef 100644 --- a/hypha/apply/projects/templates/application_projects/includes/invoices.html +++ b/hypha/apply/projects/templates/application_projects/includes/invoices.html @@ -1,4 +1,4 @@ -{% load i18n invoice_tools humanize %} +{% load i18n invoice_tools humanize heroicons %} <div id="invoices" class="data-block"> <div class="data-block__header"> @@ -12,71 +12,71 @@ {% endif %} </div> <div class="data-block__body"> - <table class="data-block__table"> - <thead> - <tr> - <th class="data-block__table-date">{% trans "Date submitted" %}</th> - <th class="data-block__table-amount">{% trans "Invoice number" %}</th> - <th class="data-block__table-status">{% trans "Status" %}</th> - <th class="data-block__table-update"></th> - </tr> - </thead> - <tbody> - {% for invoice in object.invoices.not_rejected %} - {% display_invoice_status_for_user user invoice as invoice_status %} + {% if object.invoices.not_rejected %} + <table class="data-block__table"> + <thead> <tr> - <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Date submitted" %}: </span>{{ invoice.requested_at.date }}</td> - <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Invoice number" %}: </span>{{ invoice.invoice_number }}</td> - <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Status" %}: </span>{{ invoice_status }}</td> - <td class="flex flex-wrap justify-end py-4 px-0"> - <a class="data-block__action-icon-link" href="{{ invoice.get_absolute_url }}" target="_blank"> - <svg class="icon icon--project-eye"><use xlink:href="#eye"></use></svg> - {% trans "View" %} - </a> - {% can_edit invoice user as user_can_edit_request %} - {% if user_can_edit_request %} - <a class="data-block__action-icon-link" target="_blank" href="{% url "apply:projects:invoice-edit" pk=invoice.project.pk invoice_pk=invoice.pk %}"> - <svg class="icon icon--project-pen"><use xlink:href="#pen"></use></svg> - {% trans "Edit" %} + <th class="data-block__table-date">{% trans "Date submitted" %}</th> + <th class="data-block__table-amount">{% trans "Invoice number" %}</th> + <th class="data-block__table-status">{% trans "Status" %}</th> + <th class="data-block__table-update"></th> + </tr> + </thead> + <tbody> + {% for invoice in object.invoices.not_rejected %} + {% display_invoice_status_for_user user invoice as invoice_status %} + <tr> + <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Date submitted" %}: </span>{{ invoice.requested_at.date }}</td> + <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Invoice number" %}: </span>{{ invoice.invoice_number }}</td> + <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Status" %}: </span>{{ invoice_status }}</td> + <td class="flex flex-wrap justify-center py-4 px-0 gap-2 xl:flex-nowrap"> + <a class="data-block__action-icon-link " href="{{ invoice.get_absolute_url }}" target="_blank"> + {% heroicon_mini "eye" size=16 aria_hidden=true class="mr-1" %} + {% trans "View" %} </a> - {% endif %} + {% can_edit invoice user as user_can_edit_request %} + {% if user_can_edit_request %} + <a class="data-block__action-icon-link" target="_blank" href="{% url "apply:projects:invoice-edit" pk=invoice.project.pk invoice_pk=invoice.pk %}"> + {% heroicon_mini "pencil-square" size=16 aria_hidden=true class="mr-1" %} + {% trans "Edit" %} + </a> + {% endif %} - {% can_delete invoice user as user_can_delete_request %} - {% if user.is_applicant and user_can_delete_request %} - <a class="data-block__action-icon-link data-block__action-icon-link--remove" target="_blank" href="{% url 'apply:projects:invoice-delete' pk=invoice.project.pk invoice_pk=invoice.pk %}"> - <svg class="icon icon--delete" style="margin-left:0; margin-right:2px"><use xlink:href="#delete"></use></svg> - {% trans "Delete" %} - </a> - {% endif %} - {% can_change_status invoice user as can_change_invoice_status %} - {% if can_change_invoice_status %} - <a - data-fancybox - data-src="#change-invoice-status-{{ invoice.id }}" - id="update_invoice_status-{{ invoice.id }}" - class="data-block__button button button--primary" - href="#" - > - {% trans "Update Status" %} - </a> - <div class="modal" id="change-invoice-status-{{ invoice.id }}"> - {% get_invoice_form invoice user as invoice_form %} - {% get_invoice_form_id invoice_form invoice as invoice_form_id %} - <h4 class="modal__project-header-bar">{% trans "Update Invoice status" %}</h4> - <p>{% trans "Current status" %}: {{ invoice_status }}</p> - {% trans "Update Status" as update %} - {% include 'funds/includes/delegated_form_base.html' with form=invoice_form value=update action=invoice.get_absolute_url form_id=invoice_form_id %} - </div> - {% endif %} - </td> - </tr> - {% empty %} - <tr> - <td colspan="5">{% trans "No active Invoices." %}</td> - </tr> - {% endfor %} - </tbody> - </table> + {% can_delete invoice user as user_can_delete_request %} + {% if user.is_applicant and user_can_delete_request %} + <a class="data-block__action-icon-link text-red-600" target="_blank" href="{% url 'apply:projects:invoice-delete' pk=invoice.project.pk invoice_pk=invoice.pk %}"> + {% heroicon_mini "trash" size=16 aria_hidden=true class="mr-1" %} + {% trans "Delete" %} + </a> + {% endif %} + {% can_change_status invoice user as can_change_invoice_status %} + {% if can_change_invoice_status %} + <a + data-fancybox + data-src="#change-invoice-status-{{ invoice.id }}" + id="update_invoice_status-{{ invoice.id }}" + class="data-block__button button button--primary" + href="#" + > + {% trans "Update Status" %} + </a> + <div class="modal" id="change-invoice-status-{{ invoice.id }}"> + {% get_invoice_form invoice user as invoice_form %} + {% get_invoice_form_id invoice_form invoice as invoice_form_id %} + <h4 class="modal__project-header-bar">{% trans "Update Invoice status" %}</h4> + <p>{% trans "Current status" %}: {{ invoice_status }}</p> + {% trans "Update Status" as update %} + {% include 'funds/includes/delegated_form_base.html' with form=invoice_form value=update action=invoice.get_absolute_url form_id=invoice_form_id %} + </div> + {% endif %} + </td> + </tr> + {% endfor %} + </tbody> + </table> + {% else %} + <p>{% trans "No active invoices yet." %}</p> + {% endif %} {% if object.invoices.rejected %} <p class="data-block__rejected"> diff --git a/hypha/static_src/src/sass/apply/components/_data-block.scss b/hypha/static_src/src/sass/apply/components/_data-block.scss index 4525092609..a639f39d8d 100644 --- a/hypha/static_src/src/sass/apply/components/_data-block.scss +++ b/hypha/static_src/src/sass/apply/components/_data-block.scss @@ -156,6 +156,12 @@ text-decoration: underline; color: $color--primary; word-break: normal; + transition-property: opacity; + transition-duration: 150ms; + + &:hover { + opacity: 0.75; + } &:last-child { margin: 0; @@ -168,9 +174,15 @@ display: flex; align-items: center; margin-right: 1rem; - color: $color--primary; word-break: normal; + transition-property: opacity; + transition-duration: 150ms; + + &:hover { + opacity: 0.75; + } + &:last-child { margin: 0; } From 5e5794e633cd82ef9e3df182bc868d99f584fe3a Mon Sep 17 00:00:00 2001 From: Saurabh Kumar <theskumar@users.noreply.github.com> Date: Thu, 23 Nov 2023 15:03:20 +0530 Subject: [PATCH 2/2] =?UTF-8?q?Remove=20target=3D=E2=80=9C=5Fblank?= =?UTF-8?q?=E2=80=9D=20to=20the=20view,=20edit=20and=20delete=20buttons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application_projects/includes/invoices.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hypha/apply/projects/templates/application_projects/includes/invoices.html b/hypha/apply/projects/templates/application_projects/includes/invoices.html index 7860a119ef..4e825a2912 100644 --- a/hypha/apply/projects/templates/application_projects/includes/invoices.html +++ b/hypha/apply/projects/templates/application_projects/includes/invoices.html @@ -17,7 +17,7 @@ <thead> <tr> <th class="data-block__table-date">{% trans "Date submitted" %}</th> - <th class="data-block__table-amount">{% trans "Invoice number" %}</th> + <th class="data-block__table-amount">{% trans "Invoice No." %}</th> <th class="data-block__table-status">{% trans "Status" %}</th> <th class="data-block__table-update"></th> </tr> @@ -30,13 +30,13 @@ <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Invoice number" %}: </span>{{ invoice.invoice_number }}</td> <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Status" %}: </span>{{ invoice_status }}</td> <td class="flex flex-wrap justify-center py-4 px-0 gap-2 xl:flex-nowrap"> - <a class="data-block__action-icon-link " href="{{ invoice.get_absolute_url }}" target="_blank"> + <a class="data-block__action-icon-link " href="{{ invoice.get_absolute_url }}" > {% heroicon_mini "eye" size=16 aria_hidden=true class="mr-1" %} {% trans "View" %} </a> {% can_edit invoice user as user_can_edit_request %} {% if user_can_edit_request %} - <a class="data-block__action-icon-link" target="_blank" href="{% url "apply:projects:invoice-edit" pk=invoice.project.pk invoice_pk=invoice.pk %}"> + <a class="data-block__action-icon-link" href="{% url "apply:projects:invoice-edit" pk=invoice.project.pk invoice_pk=invoice.pk %}"> {% heroicon_mini "pencil-square" size=16 aria_hidden=true class="mr-1" %} {% trans "Edit" %} </a> @@ -44,7 +44,7 @@ {% can_delete invoice user as user_can_delete_request %} {% if user.is_applicant and user_can_delete_request %} - <a class="data-block__action-icon-link text-red-600" target="_blank" href="{% url 'apply:projects:invoice-delete' pk=invoice.project.pk invoice_pk=invoice.pk %}"> + <a class="data-block__action-icon-link text-red-500" href="{% url 'apply:projects:invoice-delete' pk=invoice.project.pk invoice_pk=invoice.pk %}"> {% heroicon_mini "trash" size=16 aria_hidden=true class="mr-1" %} {% trans "Delete" %} </a> @@ -100,8 +100,8 @@ <h4 class="modal__project-header-bar">{% trans "Update Invoice status" %}</h4> <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Invoice number" %}: </span>{{ invoice.invoice_number }}</td> <td class="py-4 px-2.5"><span class="data-block__mobile-label">{% trans "Status" %}: </span>{{ invoice_status }}</td> <td class="flex justify-end py-4 px-0"> - <a class="data-block__action-icon-link" href="{{ invoice.get_absolute_url }}" target="_blank"> - <svg class="icon icon--project-eye"><use xlink:href="#eye"></use></svg> + <a class="data-block__action-icon-link" href="{{ invoice.get_absolute_url }}" > + {% heroicon_mini "eye" size=16 aria_hidden=true class="mr-1" %} {% trans "View" %} </a> </td>