From a75cc3a80713e395269f40116aceb5ee876856f7 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Tue, 4 Aug 2026 19:29:03 -0300 Subject: [PATCH 01/10] chore: apply mui-table changes --- .../media_uploads/media-upload-list-page.js | 1 - .../add-form-template-item-popup.js | 2 -- .../form-template-from-duplicate-popup.js | 1 - .../form-template-item-list-page.js | 1 - .../inventory/inventory-list-page.js | 1 - ...nsor-form-add-item-from-inventory-popup.js | 2 -- .../sponsor-form-item-list-page/index.js | 1 - .../sponsors/sponsor-forms-list-page/index.js | 10 +------ .../add-sponsor-form-template-popup/index.js | 1 - .../sponsor-form-item-from-inventory.js | 2 -- .../sponsor-forms-manage-items.js | 1 - .../tabs/sponsor-forms-tab/index.js | 10 ++----- .../add-sponsor-page-template-popup/index.js | 1 - src/pages/summits/summit-directory-page.js | 28 +++++++++---------- 14 files changed, 16 insertions(+), 46 deletions(-) diff --git a/src/pages/media_uploads/media-upload-list-page.js b/src/pages/media_uploads/media-upload-list-page.js index c061ef4cf..83be2cb9b 100644 --- a/src/pages/media_uploads/media-upload-list-page.js +++ b/src/pages/media_uploads/media-upload-list-page.js @@ -156,7 +156,6 @@ const MediaUploadListPage = ({ ( { const img = row.images?.[0]; diff --git a/src/pages/sponsors-global/form-templates/form-template-from-duplicate-popup.js b/src/pages/sponsors-global/form-templates/form-template-from-duplicate-popup.js index 17b79a843..d5a079d20 100644 --- a/src/pages/sponsors-global/form-templates/form-template-from-duplicate-popup.js +++ b/src/pages/sponsors-global/form-templates/form-template-from-duplicate-popup.js @@ -62,7 +62,6 @@ const FormTemplateFromDuplicateDialog = ({ { columnKey: "select", header: "", - width: 30, align: "center", render: (row) => ( { const img = row.images?.[0]; diff --git a/src/pages/sponsors-global/inventory/inventory-list-page.js b/src/pages/sponsors-global/inventory/inventory-list-page.js index a3ba172f5..ad8bec909 100644 --- a/src/pages/sponsors-global/inventory/inventory-list-page.js +++ b/src/pages/sponsors-global/inventory/inventory-list-page.js @@ -165,7 +165,6 @@ const InventoryListPage = ({ { columnKey: "hasImage", header: "", - width: 40, align: "center", render: (row) => { const img = row.images?.[0]; diff --git a/src/pages/sponsors/sponsor-form-item-list-page/components/sponsor-form-add-item-from-inventory-popup.js b/src/pages/sponsors/sponsor-form-item-list-page/components/sponsor-form-add-item-from-inventory-popup.js index 8df83f36c..d5c07ab94 100644 --- a/src/pages/sponsors/sponsor-form-item-list-page/components/sponsor-form-add-item-from-inventory-popup.js +++ b/src/pages/sponsors/sponsor-form-item-list-page/components/sponsor-form-add-item-from-inventory-popup.js @@ -92,7 +92,6 @@ const SponsorFormAddItemFromInventoryPopup = ({ { columnKey: "select", header: "", - width: 30, align: "center", render: (row) => ( { const img = row.images?.[0]; diff --git a/src/pages/sponsors/sponsor-form-item-list-page/index.js b/src/pages/sponsors/sponsor-form-item-list-page/index.js index 260924bd8..54ae36596 100644 --- a/src/pages/sponsors/sponsor-form-item-list-page/index.js +++ b/src/pages/sponsors/sponsor-form-item-list-page/index.js @@ -235,7 +235,6 @@ const SponsorFormItemListPage = ({ { columnKey: "hasImage", header: "", - width: 40, align: "center", render: (row) => { const img = row.images?.[0]; diff --git a/src/pages/sponsors/sponsor-forms-list-page/index.js b/src/pages/sponsors/sponsor-forms-list-page/index.js index dc1cabe4d..82d3248d1 100644 --- a/src/pages/sponsors/sponsor-forms-list-page/index.js +++ b/src/pages/sponsors/sponsor-forms-list-page/index.js @@ -219,12 +219,8 @@ const SponsorFormsListPage = ({ columnKey: "tiers", header: T.translate("sponsor_forms.tiers_column_label"), sortable: false, - width: 140, render: (row) => { const cellStyle = { - width: 140, - maxWidth: 140, - minWidth: 140, display: "block" }; if (editingTiersId === row.id) { @@ -280,8 +276,7 @@ const SponsorFormsListPage = ({ cursor: "pointer", textDecoration: "underline dotted", display: "block", - whiteSpace: "normal", - wordBreak: "break-word", + whiteSpace: "nowrap", verticalAlign: "middle" }} title={label} @@ -297,19 +292,16 @@ const SponsorFormsListPage = ({ columnKey: "opens_at", header: T.translate("edit_sponsor.forms_tab.opens_at"), sortable: true, - width: 115, render: (row) => formatDate(row.opens_at) }, { columnKey: "expires_at", header: T.translate("edit_sponsor.forms_tab.expires_at"), sortable: true, - width: 120, render: (row) => formatDate(row.expires_at) }, { columnKey: "items_qty", - width: 90, header: T.translate("sponsor_forms.items_column_label"), sortable: false }, diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/add-sponsor-form-template-popup/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/add-sponsor-form-template-popup/index.js index 33b40332e..3154614a2 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/add-sponsor-form-template-popup/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/add-sponsor-form-template-popup/index.js @@ -140,7 +140,6 @@ const AddSponsorFormTemplatePopup = ({ { columnKey: "select", header: "", - width: 30, align: "center", render: (row) => ( ( { const img = row.images?.[0]; diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js index 86a48eae5..96f305216 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js @@ -257,7 +257,6 @@ const SponsorFormsManageItems = ({ { columnKey: "images", header: "", - width: 40, align: "center", render: (row) => row.images?.length > 0 ? ( diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js index 5e499a935..2b7c1d19a 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js @@ -296,7 +296,6 @@ const SponsorFormsTab = ({ columnKey: "allowed_add_ons", header: T.translate("edit_sponsor.forms_tab.add_ons"), sortable: true, - width: 120, render: (row) => row.allowed_add_ons?.length > 0 ? row.allowed_add_ons.map((a) => `${a.type} ${a.name}`).join(", ") @@ -305,20 +304,17 @@ const SponsorFormsTab = ({ { columnKey: "opens_at", header: T.translate("edit_sponsor.forms_tab.opens_at"), - sortable: true, - width: 115 + sortable: true }, { columnKey: "expires_at", header: T.translate("edit_sponsor.forms_tab.expires_at"), - sortable: true, - width: 120 + sortable: true }, { columnKey: "items_qty", header: T.translate("edit_sponsor.forms_tab.items"), sortable: true, - width: 90, render: (row) => `${row.items_count} ${ row.items_count === 1 @@ -478,7 +474,6 @@ const SponsorFormsTab = ({ sortDir: customizedForms.orderDir, disableProp: "is_archived" }} - tableSx={{ tableLayout: "auto", minWidth: 910 }} perPage={customizedForms.perPage} totalRows={customizedForms.totalCount} currentPage={customizedForms.currentPage} @@ -499,7 +494,6 @@ const SponsorFormsTab = ({ sortCol: managedForms.order, sortDir: managedForms.orderDir }} - tableSx={{ tableLayout: "auto", minWidth: 910 }} perPage={managedForms.perPage} totalRows={managedForms.totalCount} currentPage={managedForms.currentPage} diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js index 90cf133cd..c423a096c 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js @@ -159,7 +159,6 @@ const AddSponsorPageTemplatePopup = ({ { columnKey: "select", header: "", - width: 30, align: "center", render: (row) => ( ( + <> +
{row.name}
+ {!!row.invite_only_registration && ( + + )} + + ) }, { columnKey: "sponsor_qty", @@ -143,15 +155,6 @@ const SummitDirectoryPage = ({ columnKey: "end_date", header: T.translate("directory.end_date"), render: (row) => formatEpoch(row.end_date, "MMMM Do YYYY") - }, - { - columnKey: "invite_only_registration", - header: "", - width: 120, - render: (row) => - row.invite_only_registration ? ( - - ) : null } ]; @@ -214,7 +217,6 @@ const SummitDirectoryPage = ({ deleteSummit(id) : undefined} onSelect={handleSelectSummit} - getName={(row) => row.name} - deleteDialogTitle={T.translate("general.are_you_sure")} deleteDialogBody={(name) => `${T.translate("directory.remove_warning")} ${name}` } - deleteDialogConfirmText={T.translate("general.yes_delete")} - confirmButtonColor="error" /> ); From 4177bc79eb7c6213f8dd5e93af1b6a850382eab8 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Thu, 6 Aug 2026 19:47:23 -0300 Subject: [PATCH 02/10] chore: adjusting tables one by one - WIP --- src/actions/sponsor-forms-actions.js | 4 ++- .../sponsors/show-purchase-list-page/index.js | 5 ++-- .../sponsors/sponsor-forms-list-page/index.js | 25 +++++++++++-------- .../tabs/sponsor-forms-tab/index.js | 6 +++-- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/actions/sponsor-forms-actions.js b/src/actions/sponsor-forms-actions.js index 5492628e7..bcfe40c6e 100644 --- a/src/actions/sponsor-forms-actions.js +++ b/src/actions/sponsor-forms-actions.js @@ -144,7 +144,9 @@ export const getSponsorForms = expand: "sponsorship_types" }; - filter.push(`is_archived==${showArchived ? 1 : 0}`); + if (!showArchived) { + filter.push("is_archived==0"); + } if (sponsorshipTypesId?.length > 0) { const formattedSponsorships = sponsorshipTypesId.join("&&"); diff --git a/src/pages/sponsors/show-purchase-list-page/index.js b/src/pages/sponsors/show-purchase-list-page/index.js index c20075a68..cecde6fd5 100644 --- a/src/pages/sponsors/show-purchase-list-page/index.js +++ b/src/pages/sponsors/show-purchase-list-page/index.js @@ -116,7 +116,7 @@ const ShowPurchaseListPage = ({ { columnKey: "purchased", header: T.translate("sponsor_show_purchases.purchased"), - width: 200, + width: 180, sortable: true }, { @@ -171,7 +171,7 @@ const ShowPurchaseListPage = ({ { columnKey: "details", header: "", - width: 100, + width: 80, align: "center", render: (row) => ( - + diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js index 2b7c1d19a..8fa808a86 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js @@ -304,12 +304,14 @@ const SponsorFormsTab = ({ { columnKey: "opens_at", header: T.translate("edit_sponsor.forms_tab.opens_at"), - sortable: true + sortable: true, + width: 115 }, { columnKey: "expires_at", header: T.translate("edit_sponsor.forms_tab.expires_at"), - sortable: true + sortable: true, + width: 120 }, { columnKey: "items_qty", From c609c5fcca4162fe78c95ee309fd306e5504ec98 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 7 Aug 2026 18:08:41 -0300 Subject: [PATCH 03/10] chore: update uicore --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b6afdcd12..6adc3ea38 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "moment-duration-format": "^2.3.2", "moment-timezone": "^0.5.33", "mui-color-input": "^9.0.0", - "openstack-uicore-foundation": "5.0.44", + "openstack-uicore-foundation": "5.0.49-beta.0", "p-limit": "^6.1.0", "path-browserify": "^1.0.1", "postcss-loader": "^6.2.1", diff --git a/yarn.lock b/yarn.lock index 3065f215e..1f4d4cb8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9042,10 +9042,10 @@ open@^10.0.3: is-inside-container "^1.0.0" wsl-utils "^0.1.0" -openstack-uicore-foundation@5.0.44: - version "5.0.44" - resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.44.tgz#d40d42d083de98bfb8d5e5baba7ff9b14267902c" - integrity sha512-wThO8s5IIZbpjlzhZKJ3KMNBYhTjt/q2TZyazfiDKOR2YMV51A8oudy6/uMe5UkQPMfuApLg4abPXZcNCdaNBA== +openstack-uicore-foundation@5.0.49-beta.0: + version "5.0.49-beta.0" + resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.49-beta.0.tgz#89e985a21196551b19ad04cfce615c32c8058c92" + integrity sha512-ktXOuBAXld4QfxjnruqQFtVx7rOK57vuls0cMm3YItPkyox0pCxr6WwL6n6xo/FQKcevH0zKWUrZZJb/x0PS4A== dependencies: use-sync-external-store "^1.6.0" From 2446f7d7332de68ead03b0aa1ad2b22db6ddead0 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 7 Aug 2026 18:28:02 -0300 Subject: [PATCH 04/10] chore: fix tests --- .../__tests__/show-pages-list-page.test.js | 4 ++-- .../sponsor-pages-tab/__tests__/sponsor-pages-tab.test.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/sponsors/show-pages-list-page/__tests__/show-pages-list-page.test.js b/src/pages/sponsors/show-pages-list-page/__tests__/show-pages-list-page.test.js index 4ada962ec..8f50169df 100644 --- a/src/pages/sponsors/show-pages-list-page/__tests__/show-pages-list-page.test.js +++ b/src/pages/sponsors/show-pages-list-page/__tests__/show-pages-list-page.test.js @@ -275,7 +275,7 @@ describe("ShowPagesListPage", () => { } } ); - const archiveButton = screen.getByText("general.archive"); + const archiveButton = screen.getByTestId("action-archive"); await act(async () => { await userEvent.click(archiveButton); }); @@ -295,7 +295,7 @@ describe("ShowPagesListPage", () => { } } ); - const unarchiveButton = screen.getByText("general.unarchive"); + const unarchiveButton = screen.getByTestId("action-archive"); await act(async () => { await userEvent.click(unarchiveButton); }); diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/__tests__/sponsor-pages-tab.test.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/__tests__/sponsor-pages-tab.test.js index 6821d609d..b3e2a6cf3 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/__tests__/sponsor-pages-tab.test.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/__tests__/sponsor-pages-tab.test.js @@ -396,7 +396,7 @@ describe("SponsorPagesTab", () => { } ); - const archiveButton = screen.getByText("general.archive"); + const archiveButton = screen.getByTestId("action-archive"); await act(async () => { await userEvent.click(archiveButton); }); @@ -422,7 +422,7 @@ describe("SponsorPagesTab", () => { } ); - const unarchiveButton = screen.getByText("general.unarchive"); + const unarchiveButton = screen.getByTestId("action-archive"); await act(async () => { await userEvent.click(unarchiveButton); }); From 3416075609cc5edb8e4733555082bdd29a4cd69c Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Wed, 19 Aug 2026 11:28:21 -0300 Subject: [PATCH 05/10] chore: adjust sponsors and sponsors purchases --- .../sponsors/show-purchase-list-page/index.js | 37 +++++----- src/pages/sponsors/sponsor-list-page.js | 73 ++++++++----------- 2 files changed, 49 insertions(+), 61 deletions(-) diff --git a/src/pages/sponsors/show-purchase-list-page/index.js b/src/pages/sponsors/show-purchase-list-page/index.js index cecde6fd5..a8efef105 100644 --- a/src/pages/sponsors/show-purchase-list-page/index.js +++ b/src/pages/sponsors/show-purchase-list-page/index.js @@ -16,7 +16,6 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import { - Box, Button, CircularProgress, Grid2, @@ -116,13 +115,14 @@ const ShowPurchaseListPage = ({ { columnKey: "purchased", header: T.translate("sponsor_show_purchases.purchased"), - width: 180, - sortable: true + sortable: true, + cellSx: { maxWidth: { md: 120, lg: 180 } } }, { columnKey: "sponsor_name", header: T.translate("sponsor_show_purchases.sponsor"), - sortable: true + sortable: true, + cellSx: { maxWidth: 200 } }, { columnKey: "payment_method", @@ -171,8 +171,9 @@ const ShowPurchaseListPage = ({ { columnKey: "details", header: "", - width: 80, align: "center", + width: 86, + cellSx: { p: 0 }, render: (row) => ( diff --git a/src/pages/sponsors/sponsor-list-page.js b/src/pages/sponsors/sponsor-list-page.js index 9bc7d95f8..a56aa11d2 100644 --- a/src/pages/sponsors/sponsor-list-page.js +++ b/src/pages/sponsors/sponsor-list-page.js @@ -14,7 +14,7 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Button, Grid2, Typography, Badge, Tooltip } from "@mui/material"; +import { Badge, Button, Grid2, Tooltip, Typography } from "@mui/material"; import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; @@ -25,9 +25,9 @@ import { upsertLeadReportSettings } from "../../actions/summit-actions"; import { - getSponsors, addSponsorToSummit, deleteSponsor, + getSponsors, updateSponsorOrder } from "../../actions/sponsor-actions"; import Member from "../../models/member"; @@ -197,53 +197,40 @@ const SponsorListPage = ({ return (
-

{T.translate("sponsor_list.sponsor_list")}

- +

+ {" "} + {T.translate("sponsor_list.sponsor_list")} ({totalSponsors}) +

- - {totalSponsors} sponsors - - - - - - - - {canAddSponsors && ( - + + + debounced + /> + + + {canAddSponsors && ( + + )} From a54c75d26319da34a16d69a9f0f564fa33d1b8e0 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Wed, 19 Aug 2026 11:47:10 -0300 Subject: [PATCH 06/10] chore: sponsor forms grid --- src/i18n/en.json | 2 - .../sponsors/sponsor-forms-list-page/index.js | 39 +++++++------------ .../sponsors/sponsor-forms-list-reducer.js | 11 +----- .../form-template-list-reducer.js | 4 +- 4 files changed, 18 insertions(+), 38 deletions(-) diff --git a/src/i18n/en.json b/src/i18n/en.json index 935ec2de4..cdfc30f79 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -2771,8 +2771,6 @@ "code_column_label": "Code", "name_column_label": "Name", "items_column_label": "Items", - "item_label_singular": "Item", - "item_label_plural": "Items", "tiers_column_label": "Tiers", "manage_items_button": "Manage Items", "form_delete_success": "Form successfully deleted.", diff --git a/src/pages/sponsors/sponsor-forms-list-page/index.js b/src/pages/sponsors/sponsor-forms-list-page/index.js index 9a15d946a..aa9cb0017 100644 --- a/src/pages/sponsors/sponsor-forms-list-page/index.js +++ b/src/pages/sponsors/sponsor-forms-list-page/index.js @@ -16,7 +16,6 @@ import { epochToMoment } from "openstack-uicore-foundation/lib/utils/methods"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { - Box, Button, Checkbox, FormControlLabel, @@ -308,7 +307,7 @@ const SponsorFormsListPage = ({ columnKey: "items_qty", header: T.translate("sponsor_forms.items_column_label"), sortable: false, - cellSx: { whiteSpace: "nowrap" } + cellSx: { textAlign: "center" } }, { columnKey: "manage_items", @@ -342,21 +341,19 @@ const SponsorFormsListPage = ({ return (
-

{T.translate("sponsor_forms.forms")}

+

+ {T.translate("sponsor_forms.forms")} {totalCount} +

- - - {totalCount} forms + + + - + - - - - + + + + {totalTemplates} {T.translate("emails.templates")} + {templates.length === 0 && (
{T.translate("emails.no_templates")}
diff --git a/src/pages/media_uploads/media-upload-list-page.js b/src/pages/media_uploads/media-upload-list-page.js index 83be2cb9b..c4a47833d 100644 --- a/src/pages/media_uploads/media-upload-list-page.js +++ b/src/pages/media_uploads/media-upload-list-page.js @@ -105,42 +105,23 @@ const MediaUploadListPage = ({ return (

{T.translate("media_upload.media_upload_list")}

- - - - {totalMediaUploads} {T.translate("media_upload.media_uploads")} - + + + - - - - + + + + + {totalMediaUploads} {T.translate("media_upload.media_uploads")} + {media_uploads.length > 0 && (

{T.translate("selection_plan_list.selection_plan_list")}

- - - {totalSelectionPlans} items + + + - - - - - - - + + + {totalSelectionPlans} items {selectionPlans.length === 0 && (
{T.translate("selection_plan_list.no_selection_plans")}
diff --git a/src/pages/sponsors-global/add-on-types/add-on-types-list-page.js b/src/pages/sponsors-global/add-on-types/add-on-types-list-page.js index 2c743272c..cb5e3c311 100644 --- a/src/pages/sponsors-global/add-on-types/add-on-types-list-page.js +++ b/src/pages/sponsors-global/add-on-types/add-on-types-list-page.js @@ -12,8 +12,7 @@ * */ import React, { useEffect, useState } from "react"; -import { Button, Grid2 } from "@mui/material"; -import Box from "@mui/material/Box"; +import { Box, Button, Grid2 } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import { connect } from "react-redux"; @@ -126,45 +125,23 @@ const AddOnTypesListPage = ({ }} />

{T.translate("add_on_types_list.add_on_types")}

- - - - {totalAddOnTypes} {T.translate("add_on_types_list.add_on_types")} - + + + - - - - + + + {totalAddOnTypes} {T.translate("add_on_types_list.add_on_types")} + {addOnTypes.length > 0 && (
diff --git a/src/pages/sponsors-global/form-templates/form-template-item-list-page.js b/src/pages/sponsors-global/form-templates/form-template-item-list-page.js index 21e8142cc..0b17818d5 100644 --- a/src/pages/sponsors-global/form-templates/form-template-item-list-page.js +++ b/src/pages/sponsors-global/form-templates/form-template-item-list-page.js @@ -235,57 +235,37 @@ const FormTemplateItemListPage = ({ > {T.translate("form_template_item_list.alert_info")} - - - {totalFormTemplateItems} items + + + + + } + label={T.translate("form_template_item_list.show_archived")} + /> + - - - - - } - label={T.translate("form_template_item_list.show_archived")} - /> - - - - - + + + {totalFormTemplateItems} items {formTemplateItems.length > 0 && (
diff --git a/src/pages/sponsors-global/form-templates/form-template-list-page.js b/src/pages/sponsors-global/form-templates/form-template-list-page.js index 302c0cc1b..24233d180 100644 --- a/src/pages/sponsors-global/form-templates/form-template-list-page.js +++ b/src/pages/sponsors-global/form-templates/form-template-list-page.js @@ -14,13 +14,13 @@ import React, { useEffect, useState } from "react"; import { Alert, + Box, Button, Checkbox, FormControlLabel, FormGroup, Grid2 } from "@mui/material"; -import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import { connect } from "react-redux"; @@ -231,11 +231,7 @@ const FormTemplateListPage = ({ return (
-

- {" "} - {T.translate("form_template_list.form_templates")} ({totalFormTemplates} - ){" "} -

+

{T.translate("form_template_list.form_templates")}

- - - {totalFormTemplates} forms - - + + - - - - + + + + + + + + {totalFormTemplates} forms {formTemplates.length > 0 && (
diff --git a/src/pages/sponsors-global/inventory/inventory-list-page.js b/src/pages/sponsors-global/inventory/inventory-list-page.js index ad8bec909..385b60d4c 100644 --- a/src/pages/sponsors-global/inventory/inventory-list-page.js +++ b/src/pages/sponsors-global/inventory/inventory-list-page.js @@ -14,13 +14,13 @@ import React, { useEffect, useState } from "react"; import { Alert, + Box, Button, Checkbox, FormControlLabel, FormGroup, Grid2 } from "@mui/material"; -import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import { connect } from "react-redux"; @@ -201,28 +201,8 @@ const InventoryListPage = ({ > {T.translate("inventory_item_list.alert_info")} - - - {totalInventoryItems} items - - + + - - - + + + + + + {totalInventoryItems} items {inventoryItems.length > 0 && (
diff --git a/src/pages/sponsors/show-pages-list-page/index.js b/src/pages/sponsors/show-pages-list-page/index.js index b93ad1914..a91101131 100644 --- a/src/pages/sponsors/show-pages-list-page/index.js +++ b/src/pages/sponsors/show-pages-list-page/index.js @@ -203,21 +203,8 @@ const ShowPagesListPage = ({

{T.translate("show_pages.pages")}

- - - - {totalCount} {T.translate("show_pages.pages")} - - - + + - + - + - + + + {totalCount} {T.translate("show_pages.pages")} + {showPages.length === 0 && (
{T.translate("show_pages.no_sponsors_pages")}
diff --git a/src/pages/sponsors/show-purchase-list-page/index.js b/src/pages/sponsors/show-purchase-list-page/index.js index a8efef105..65df7dac5 100644 --- a/src/pages/sponsors/show-purchase-list-page/index.js +++ b/src/pages/sponsors/show-purchase-list-page/index.js @@ -16,6 +16,7 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import { + Box, Button, CircularProgress, Grid2, @@ -218,20 +219,8 @@ const ShowPurchaseListPage = ({ }} />
-

- {T.translate("sponsor_show_purchases.purchases")} ({totalCount}) -

- +

{T.translate("sponsor_show_purchases.purchases")}

+ - + + + {totalCount}{" "} + {T.translate("sponsor_show_purchases.purchases").toLowerCase()} +
{T.translate("sponsor_form_item_list.alert_info")} - - - {totalCount} items - - + + + + + + + {totalCount} items {items.length > 0 && (
diff --git a/src/pages/sponsors/sponsor-forms-list-page/index.js b/src/pages/sponsors/sponsor-forms-list-page/index.js index aa9cb0017..5d986bc83 100644 --- a/src/pages/sponsors/sponsor-forms-list-page/index.js +++ b/src/pages/sponsors/sponsor-forms-list-page/index.js @@ -16,6 +16,7 @@ import { epochToMoment } from "openstack-uicore-foundation/lib/utils/methods"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { + Box, Button, Checkbox, FormControlLabel, @@ -341,11 +342,9 @@ const SponsorFormsListPage = ({ return (
-

- {T.translate("sponsor_forms.forms")} {totalCount} -

+

{T.translate("sponsor_forms.forms")}

- + + {totalCount} forms {sponsorForms.length > 0 && (
diff --git a/src/pages/sponsors/sponsor-list-page.js b/src/pages/sponsors/sponsor-list-page.js index a56aa11d2..6e4b745d5 100644 --- a/src/pages/sponsors/sponsor-list-page.js +++ b/src/pages/sponsors/sponsor-list-page.js @@ -197,19 +197,8 @@ const SponsorListPage = ({ return (
-

- {" "} - {T.translate("sponsor_list.sponsor_list")} ({totalSponsors}) -

- +

{T.translate("sponsor_list.sponsor_list")}

+ - + {canAddSponsors && ( + + + + {totalBadgeScans} {T.translate("sponsor_badge_scans.badge_scanned")} + {badgeScans.length > 0 && (
diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js index b7934a3a8..ec0b6d7bb 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js @@ -190,35 +190,20 @@ const CartView = ({ return ( <> - - - {cart && ( - {cart?.forms.length} forms in Cart - )} - - + + - + @@ -231,6 +216,7 @@ const CartView = ({ )} {!!cart && ( <> + {cart?.forms.length} forms in Cart - - - {totalCount} items - - + + - + - + - + + {totalCount} items
- - - - {managedForms.totalCount + customizedForms.totalCount} forms - - - + + - + - + - + + + {managedForms.totalCount + customizedForms.totalCount} forms +
- - - - {managedPages.totalItems + customizedPages.totalItems}{" "} - {T.translate("edit_sponsor.pages_tab.pages")} - - - + + - + - + - + + + {managedPages.totalItems + customizedPages.totalItems}{" "} + {T.translate("edit_sponsor.pages_tab.pages")} +
- - - - {totalCount} {T.translate("edit_sponsor.purchase_tab.purchases")} - - - + + + + {totalCount} {T.translate("edit_sponsor.purchase_tab.purchases")} +

{T.translate("sponsor_users.users")}

- - - - {requests.totalCount} {T.translate("sponsor_users.access_request")} - + + + - - - - + + + @@ -167,6 +147,10 @@ const SponsorUsersListPage = ({ )} + + {requests.totalCount} {T.translate("sponsor_users.access_request")} + + {T.translate("summit_sponsorship_list.alert_info")} - - - {totalSponsorships} summit tiers - - - - - - + + + + {totalSponsorships} summit tiers {sponsorships.length === 0 && (
{T.translate("summit_sponsorship_list.no_sponsorships")}
diff --git a/src/pages/summits/summit-directory-page.js b/src/pages/summits/summit-directory-page.js index fd5e893ac..05a0d3d8a 100644 --- a/src/pages/summits/summit-directory-page.js +++ b/src/pages/summits/summit-directory-page.js @@ -160,27 +160,16 @@ const SummitDirectoryPage = ({ return ( -

- {T.translate("directory.summits")} ({totalSummits}) -

- - +

{T.translate("directory.summits")}

+ + - + + + {canAddSummits && ( )} + + {totalSummits} {T.translate("directory.summits").toLowerCase()} +

{T.translate("tag_list.tag_list")}

- - - - {totalTags}{" "} - {totalTags === 1 - ? T.translate("tag_list.item") - : T.translate("tag_list.items")} - + + + - - - - + + {totalTags} Date: Wed, 19 Aug 2026 16:32:06 -0300 Subject: [PATCH 08/10] chore: create universal grid toolbar component --- src/components/mui/grid-toolbar.js | 96 +++++++++++++++++++ .../sponsors/show-pages-list-page/index.js | 37 ++++--- .../components/request-table.js | 58 ++++++----- .../components/users-table.js | 40 ++++---- .../sponsors/sponsor-users-list-page/index.js | 20 ++-- 5 files changed, 178 insertions(+), 73 deletions(-) create mode 100644 src/components/mui/grid-toolbar.js diff --git a/src/components/mui/grid-toolbar.js b/src/components/mui/grid-toolbar.js new file mode 100644 index 000000000..cb00aae90 --- /dev/null +++ b/src/components/mui/grid-toolbar.js @@ -0,0 +1,96 @@ +import React from "react"; +import PropTypes from "prop-types"; +import { Checkbox, FormControlLabel, FormGroup, Grid2 } from "@mui/material"; +import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; + +const GridToolbar = ({ searchProps, checkbox, children }) => { + const hasSearch = !!searchProps; + const hasCheckbox = !!checkbox; + + let searchSize; + let checkboxSize; + let actionsSize; + + if (hasSearch && hasCheckbox) { + searchSize = { xs: 12, sm: 6, md: 4 }; + checkboxSize = { xs: 12, sm: 6, md: 2 }; + actionsSize = { xs: 12, md: 6 }; + } else if (hasSearch) { + searchSize = { xs: 12, md: 6 }; + actionsSize = { xs: 12, md: 6 }; + } else if (hasCheckbox) { + checkboxSize = { xs: 12, md: 2 }; + actionsSize = { xs: 12, md: 10 }; + } else { + actionsSize = { xs: 12, md: 12 }; + } + + return ( + + {hasSearch && ( + + + + )} + {hasCheckbox && ( + + + + } + label={checkbox.label} + sx={{ whiteSpace: "nowrap" }} + /> + + + )} + + {/* children are expected to be Button-like elements accepting `sx` */} + {React.Children.map(children, (child) => + child + ? React.cloneElement(child, { + sx: { width: { xs: "100%", md: "auto" }, ...child.props.sx } + }) + : child + )} + + + ); +}; + +GridToolbar.propTypes = { + searchProps: PropTypes.shape({ + term: PropTypes.string, + onSearch: PropTypes.func.isRequired, + placeholder: PropTypes.string, + debounced: PropTypes.bool + }), + checkbox: PropTypes.shape({ + checked: PropTypes.bool, + onChange: PropTypes.func, + label: PropTypes.node, + ariaLabel: PropTypes.string + }) +}; + +GridToolbar.defaultProps = { + searchProps: null, + checkbox: null +}; + +export default GridToolbar; diff --git a/src/pages/sponsors/show-pages-list-page/index.js b/src/pages/sponsors/show-pages-list-page/index.js index a91101131..d1a57adde 100644 --- a/src/pages/sponsors/show-pages-list-page/index.js +++ b/src/pages/sponsors/show-pages-list-page/index.js @@ -203,9 +203,16 @@ const ShowPagesListPage = ({

{T.translate("show_pages.pages")}

- - - + + + + + + } label={T.translate("show_pages.show_archived")} + sx={{ whiteSpace: "nowrap" }} /> - - - - + - - - - - - + {T.translate("admin_access.add")} + + + + {totalAdminAccesses} {T.translate("general.items")} + {admin_accesses.length === 0 && (
{T.translate("admin_access.no_results")}
diff --git a/src/pages/companies/company-list-page.js b/src/pages/companies/company-list-page.js index fc50edb96..0812d95b3 100644 --- a/src/pages/companies/company-list-page.js +++ b/src/pages/companies/company-list-page.js @@ -14,10 +14,10 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, Grid2 } from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getCompanies, getCompany, @@ -125,54 +125,24 @@ const CompanyListPage = ({ return (

{T.translate("company_list.company_list")}

- - - - {totalCompanies} {T.translate("company_list.companies")} - - - } > - - - - - - + {T.translate("company_list.add_company")} + + + + {totalCompanies} {T.translate("company_list.companies")} + {companies.length > 0 && (

{T.translate("emails.template_list")}

- - - - - - - - + + + {totalTemplates} {T.translate("emails.templates")} diff --git a/src/pages/events/event-type-list-page.js b/src/pages/events/event-type-list-page.js index 8b8439ee0..abdc054db 100644 --- a/src/pages/events/event-type-list-page.js +++ b/src/pages/events/event-type-list-page.js @@ -17,10 +17,9 @@ import PropTypes from "prop-types"; import T from "i18n-react/dist/i18n-react"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; -import Grid2 from "@mui/material/Grid2"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getEventTypes as getEventTypesAction, getEventType as getEventTypeAction, @@ -135,61 +134,17 @@ const EventTypeListPage = ({ return (

{T.translate("event_type_list.event_type_list")}

- - - - {totalEventTypes} {T.translate("event_type_list.event_types")} - - - - - - - - - - + + + + + + {totalEventTypes} {T.translate("event_type_list.event_types")} + {eventTypes.length > 0 && ( {T.translate("event_list.event_list")} ({totalEvents}) - - - - - - - - - - - - + + + + + +

{T.translate("media_file_type.media_file_type_list")}

- - - - {totalMediaFileTypes}{" "} - {T.translate("media_file_type.media_file_types")} - - - - - - - - - + + + + + {totalMediaFileTypes} {T.translate("media_file_type.media_file_types")} + {media_file_types.length > 0 && (

{T.translate("media_upload.media_upload_list")}

- - - - - + + {/* TODO: remove this wrapper once SummitDropdown is migrated to MUI */} + - - - - - + + + {totalMediaUploads} {T.translate("media_upload.media_uploads")} diff --git a/src/pages/selection-plans/selection-plan-list-page.js b/src/pages/selection-plans/selection-plan-list-page.js index 8486b4367..d6aaa79ce 100644 --- a/src/pages/selection-plans/selection-plan-list-page.js +++ b/src/pages/selection-plans/selection-plan-list-page.js @@ -14,12 +14,11 @@ import React, { useCallback, useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import Grid2 from "@mui/material/Grid2"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; import AddIcon from "@mui/icons-material/Add"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { deleteSelectionPlan, getSelectionPlan, @@ -172,25 +171,17 @@ const SelectionPlanListPage = ({

{T.translate("selection_plan_list.selection_plan_list")}

- - - - - - - - + + + {totalSelectionPlans} items {selectionPlans.length === 0 && ( diff --git a/src/pages/speakers/summit-speakers-list-page.js b/src/pages/speakers/summit-speakers-list-page.js index b63806699..69a5140f4 100644 --- a/src/pages/speakers/summit-speakers-list-page.js +++ b/src/pages/speakers/summit-speakers-list-page.js @@ -14,10 +14,10 @@ import React, { useEffect } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, Grid2 } from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getSpeakers, deleteSpeaker } from "../../actions/speaker-actions"; import Member from "../../models/member"; import { DEFAULT_CURRENT_PAGE } from "../../utils/constants"; @@ -91,54 +91,26 @@ const SummitSpeakerListPage = ({ return (

{T.translate("speaker_list.speaker_list")}

- - - - {totalSpeakers} {T.translate("speaker_list.speakers")} - - - - - - - {memberObj.canAddSpeakers() && ( - - )} - - + {memberObj.canAddSpeakers() && ( + + )} + + + {totalSpeakers} {T.translate("speaker_list.speakers")} + {speakers.length > 0 && (

{T.translate("add_on_types_list.add_on_types")}

- - - - - - - - + + + {totalAddOnTypes} {T.translate("add_on_types_list.add_on_types")} diff --git a/src/pages/sponsors-global/form-templates/form-template-item-list-page.js b/src/pages/sponsors-global/form-templates/form-template-item-list-page.js index 0b17818d5..20d7cc4c9 100644 --- a/src/pages/sponsors-global/form-templates/form-template-item-list-page.js +++ b/src/pages/sponsors-global/form-templates/form-template-item-list-page.js @@ -14,18 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Alert, - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Alert, Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; import { ImagePreviewCell } from "../../../components/image-preview-cell"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { cloneFromInventoryItem, getFormTemplateItem, @@ -235,36 +228,21 @@ const FormTemplateItemListPage = ({ > {T.translate("form_template_item_list.alert_info")} - - - - - } - label={T.translate("form_template_item_list.show_archived")} - /> - - - - - - + + + {totalFormTemplateItems} items {formTemplateItems.length > 0 && ( diff --git a/src/pages/sponsors-global/form-templates/form-template-list-page.js b/src/pages/sponsors-global/form-templates/form-template-list-page.js index 24233d180..f3fa811eb 100644 --- a/src/pages/sponsors-global/form-templates/form-template-list-page.js +++ b/src/pages/sponsors-global/form-templates/form-template-list-page.js @@ -12,20 +12,12 @@ * */ import React, { useEffect, useState } from "react"; -import { - Alert, - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Alert, Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { archiveFormTemplate, deleteFormTemplate, @@ -243,66 +235,34 @@ const FormTemplateListPage = ({ {T.translate("form_template_list.alert_info")} - - - - handleShowArchivedForms(ev.target.checked)} - checked={showArchived} - inputProps={{ - "aria-label": T.translate( - "form_template_list.show_archived" - ) - }} - /> - } - label={T.translate("form_template_list.show_archived")} - /> - - - - - - - - - - - - + handleShowArchivedForms(ev.target.checked), + label: T.translate("form_template_list.show_archived") + }} + > + + + {totalFormTemplates} forms {formTemplates.length > 0 && ( diff --git a/src/pages/sponsors-global/inventory/inventory-list-page.js b/src/pages/sponsors-global/inventory/inventory-list-page.js index 385b60d4c..edb95cc3e 100644 --- a/src/pages/sponsors-global/inventory/inventory-list-page.js +++ b/src/pages/sponsors-global/inventory/inventory-list-page.js @@ -12,20 +12,12 @@ * */ import React, { useEffect, useState } from "react"; -import { - Alert, - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Alert, Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { archiveInventoryItem, deleteInventoryItemImage, @@ -201,50 +193,27 @@ const InventoryListPage = ({ > {T.translate("inventory_item_list.alert_info")} - - - - - } - label={T.translate("inventory_item_list.show_archived")} - /> - - - - - - - - - + + + {totalInventoryItems} items {inventoryItems.length > 0 && ( diff --git a/src/pages/sponsors-global/page-templates/page-template-list-page.js b/src/pages/sponsors-global/page-templates/page-template-list-page.js index f3ffedc6b..e58044600 100644 --- a/src/pages/sponsors-global/page-templates/page-template-list-page.js +++ b/src/pages/sponsors-global/page-templates/page-template-list-page.js @@ -12,20 +12,13 @@ * */ import React, { useEffect, useState } from "react"; -import { - Alert, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Alert, Button } from "@mui/material"; import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { archivePageTemplate, deletePageTemplate, @@ -203,64 +196,36 @@ const PageTemplateListPage = ({ {T.translate("page_template_list.alert_info")} - - - {totalPageTemplates} pages - - } > - - - } - label={T.translate("page_template_list.show_archived")} - /> - - - - - - - - + {T.translate("page_template_list.add_template")} + + + + {totalPageTemplates} pages {pageTemplates.length === 0 && ( diff --git a/src/pages/sponsors/show-pages-list-page/index.js b/src/pages/sponsors/show-pages-list-page/index.js index d1a57adde..56d523783 100644 --- a/src/pages/sponsors/show-pages-list-page/index.js +++ b/src/pages/sponsors/show-pages-list-page/index.js @@ -15,17 +15,10 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; -import { - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { archiveShowPage, deleteShowPage, @@ -203,58 +196,33 @@ const ShowPagesListPage = ({

{T.translate("show_pages.pages")}

- - - - - - - - } - label={T.translate("show_pages.show_archived")} - sx={{ whiteSpace: "nowrap" }} - /> - - - + + - - - + {T.translate("show_pages.new_page")} + + {totalCount} {T.translate("show_pages.pages")} diff --git a/src/pages/sponsors/show-purchase-list-page/index.js b/src/pages/sponsors/show-purchase-list-page/index.js index 65df7dac5..0688f7108 100644 --- a/src/pages/sponsors/show-purchase-list-page/index.js +++ b/src/pages/sponsors/show-purchase-list-page/index.js @@ -19,14 +19,13 @@ import { Box, Button, CircularProgress, - Grid2, IconButton, MenuItem, Select } from "@mui/material"; import DownloadIcon from "@mui/icons-material/Download"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import history from "../../../history"; import { approveSponsorPurchase, @@ -220,20 +219,17 @@ const ShowPurchaseListPage = ({ />

{T.translate("sponsor_show_purchases.purchases")}

- - - - - - - - + + + {totalCount}{" "} {T.translate("sponsor_show_purchases.purchases").toLowerCase()} diff --git a/src/pages/sponsors/sponsor-form-item-list-page/index.js b/src/pages/sponsors/sponsor-form-item-list-page/index.js index d15d60719..56447fbea 100644 --- a/src/pages/sponsors/sponsor-form-item-list-page/index.js +++ b/src/pages/sponsors/sponsor-form-item-list-page/index.js @@ -15,18 +15,11 @@ import React, { useEffect, useState } from "react"; import { Breadcrumb } from "react-breadcrumbs"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Alert, - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Alert, Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTableEditable from "openstack-uicore-foundation/lib/components/mui/editable-table"; import { ImagePreviewCell } from "../../../components/image-preview-cell"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { deleteSponsorFormItem, getSponsorFormItem, @@ -276,46 +269,28 @@ const SponsorFormItemListPage = ({ > {T.translate("sponsor_form_item_list.alert_info")} - - - - - } - label={T.translate("sponsor_form_item_list.show_archived")} - /> - - - - - - - - - + + + + {totalCount} items {items.length > 0 && ( diff --git a/src/pages/sponsors/sponsor-forms-list-page/index.js b/src/pages/sponsors/sponsor-forms-list-page/index.js index 5d986bc83..598cbf130 100644 --- a/src/pages/sponsors/sponsor-forms-list-page/index.js +++ b/src/pages/sponsors/sponsor-forms-list-page/index.js @@ -15,18 +15,11 @@ import React, { useEffect, useState, useRef } from "react"; import { epochToMoment } from "openstack-uicore-foundation/lib/utils/methods"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiDropdownCheckbox from "openstack-uicore-foundation/lib/components/mui/dropdown-checkbox"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import history from "../../../history"; import { archiveSponsorForm, @@ -344,57 +337,35 @@ const SponsorFormsListPage = ({

{T.translate("sponsor_forms.forms")}

- - - - - - - - } - label={T.translate("sponsor_forms.show_archived")} - sx={{ whiteSpace: "nowrap", mb: 0 }} - /> - - - - - - - - - - + + + + {totalCount} forms {sponsorForms.length > 0 && ( diff --git a/src/pages/sponsors/sponsor-list-page.js b/src/pages/sponsors/sponsor-list-page.js index 6e4b745d5..2567ef027 100644 --- a/src/pages/sponsors/sponsor-list-page.js +++ b/src/pages/sponsors/sponsor-list-page.js @@ -14,11 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Badge, Button, Grid2, Tooltip, Typography } from "@mui/material"; +import { Badge, Button, Tooltip, Typography } from "@mui/material"; import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getLeadReportSettingsMeta, getSummitById, @@ -198,30 +198,26 @@ const SponsorListPage = ({ return (

{T.translate("sponsor_list.sponsor_list")}

- - - - - - {canAddSponsors && ( - - )} - - + + {canAddSponsors && ( + + )} + {totalSponsors} sponsors {sponsors.length === 0 && ( diff --git a/src/pages/sponsors/sponsor-page/components/tab-nav.js b/src/pages/sponsors/sponsor-page/components/tab-nav.js index 94d54b47f..db8cd8855 100644 --- a/src/pages/sponsors/sponsor-page/components/tab-nav.js +++ b/src/pages/sponsors/sponsor-page/components/tab-nav.js @@ -32,6 +32,7 @@ const TabNav = ({ currentSummit, sponsor, member, history, location }) => { value={selectedTab} onChange={(ev, val) => handleTabChange(val)} sx={{ minHeight: "36px" }} + variant="scrollable" > {tabs .filter((t) => memberObj.hasAccess(t.accessRoute)) diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-badge-scans/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-badge-scans/index.js index 8967840d4..7f9e48423 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-badge-scans/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-badge-scans/index.js @@ -14,11 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, Grid2 } from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import DownloadIcon from "@mui/icons-material/Download"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../components/mui/grid-toolbar"; import { getSponsor, getBadgeScans, @@ -168,48 +168,41 @@ const SponsorBadgeScans = ({ return ( - - - - - - - - - - - + + + + {totalBadgeScans} {T.translate("sponsor_badge_scans.badge_scanned")} diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js index ec0b6d7bb..68e870b56 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-cart-tab/components/cart-view.js @@ -14,20 +14,13 @@ import React, { useEffect } from "react"; import T from "i18n-react/dist/i18n-react"; import { connect } from "react-redux"; -import { - Box, - Button, - Grid2, - IconButton, - Paper, - Typography -} from "@mui/material"; +import { Box, Button, IconButton, Paper, Typography } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import LockOpenIcon from "@mui/icons-material/LockOpen"; import LockClosedIcon from "@mui/icons-material/Lock"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; import { TotalRow } from "openstack-uicore-foundation/lib/components/mui/table/extra-rows"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../../components/mui/grid-toolbar"; import history from "../../../../../../history"; import { checkoutCart, @@ -190,25 +183,17 @@ const CartView = ({ return ( <> - - - - - - - - + + + {!cart && ( {T.translate("edit_sponsor.cart_tab.no_cart")} @@ -221,7 +206,7 @@ const CartView = ({ diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-form-item-from-inventory.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-form-item-from-inventory.js index 6d1683437..d39840a53 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-form-item-from-inventory.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-form-item-from-inventory.js @@ -12,14 +12,13 @@ import { DialogTitle, Divider, FormControlLabel, - Grid2, IconButton, Typography } from "@mui/material"; import CloseIcon from "@mui/icons-material/Close"; import SwapVertIcon from "@mui/icons-material/SwapVert"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../../../components/mui/grid-toolbar"; import { ImagePreviewCell } from "../../../../../../../components/image-preview-cell"; import { formatRateFromCents } from "../../../../../../../utils/rate-helpers"; import { @@ -187,43 +186,38 @@ const SponsorFormItemFromInventoryPopup = ({ - - - {selectedRows.length} items selected - - - - handleSort("name", 1) - }, - { - label: T.translate( - "edit_sponsor.forms_tab.form_manage_items.sort_desc_label" - ), - onClick: () => handleSort("name", 0) - } - ]} - > - {" "} - {T.translate("general.sort_by")} - - - - - - - + + + handleSort("name", 1) + }, + { + label: T.translate( + "edit_sponsor.forms_tab.form_manage_items.sort_desc_label" + ), + onClick: () => handleSort("name", 0) + } + ]} + > + {" "} + {T.translate("general.sort_by")} + + + {selectedRows.length} items selected + {inventoryItems.length > 0 && ( diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js index 2e6f89f57..4e387ccb5 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/manage-items/sponsor-forms-manage-items.js @@ -14,20 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2, - IconButton, - Tooltip -} from "@mui/material"; +import { Box, Button, IconButton, Tooltip } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import ImageIcon from "@mui/icons-material/Image"; import MuiTableEditable from "openstack-uicore-foundation/lib/components/mui/editable-table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../../../components/mui/grid-toolbar"; import { addSponsorManagedFormItems, archiveSponsorCustomizedFormItem, @@ -286,57 +277,37 @@ const SponsorFormsManageItems = ({ )} hideIcon /> - - - - - } - label={T.translate( - "edit_sponsor.forms_tab.form_manage_items.show_archived" - )} - /> - - - - - - - - - - - - + + + + {totalCount} items
diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js index 43f2e8de9..af9b0c12d 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/index.js @@ -14,19 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Box, - Button, - Checkbox, - Chip, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Box, Button, Chip } from "@mui/material"; import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../components/mui/grid-toolbar"; import { archiveSponsorCustomizedForm, deleteSponsorCustomizedForm, @@ -403,53 +395,33 @@ const SponsorFormsTab = ({ message={T.translate("edit_sponsor.forms_tab.alert_info")} hideIcon /> - - - - - } - label={T.translate("edit_sponsor.forms_tab.show_archived")} - /> - - - - - - - - - - - - + + + + {managedForms.totalCount + customizedForms.totalCount} forms diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/index.js index 2a3243431..5f12521e9 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/index.js @@ -14,18 +14,11 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Box, - Button, - Checkbox, - FormControlLabel, - FormGroup, - Grid2 -} from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../components/mui/grid-toolbar"; import { getSponsorManagedPages, getSponsorManagedPage, @@ -369,53 +362,33 @@ const SponsorPagesTab = ({ message={T.translate("edit_sponsor.pages_tab.alert_info")} hideIcon /> - - - - - } - label={T.translate("edit_sponsor.pages_tab.show_archived")} - /> - - - - - - - - - - - - + + + + {managedPages.totalItems + customizedPages.totalItems}{" "} {T.translate("edit_sponsor.pages_tab.pages")} diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-purchases-tab/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-purchases-tab/index.js index 92681cf64..e1dde7571 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-purchases-tab/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-purchases-tab/index.js @@ -18,14 +18,13 @@ import { Box, Button, CircularProgress, - Grid2, IconButton, MenuItem, Select } from "@mui/material"; import DownloadIcon from "@mui/icons-material/Download"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../components/mui/grid-toolbar"; import history from "../../../../../history"; import { approveSponsorPurchase, @@ -191,15 +190,13 @@ const SponsorPurchasesTab = ({ return ( - - - - - + {totalCount} {T.translate("edit_sponsor.purchase_tab.purchases")} diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-users-list-per-sponsor/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-users-list-per-sponsor/index.js index 47c1ac425..79dd08be0 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-users-list-per-sponsor/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-users-list-per-sponsor/index.js @@ -14,10 +14,10 @@ import React, { useEffect, useRef, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, CircularProgress, Grid2 } from "@mui/material"; +import { Box, Button, CircularProgress } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import SaveAltIcon from "@mui/icons-material/SaveAlt"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../../../components/mui/grid-toolbar"; import { deleteSponsorUser, getSponsorUserRequests, @@ -92,52 +92,27 @@ const SponsorUsersListPerSponsorPage = ({ /> )} - - - - {users.totalCount}{" "} - {T.translate("sponsor_users.users").toLowerCase()} - - - + + - - - + {T.translate("sponsor_users.add_user")} + + + + {users.totalCount} {T.translate("sponsor_users.users").toLowerCase()} + {hasImportTasks && (

{T.translate("sponsor_users.users")}

- - - - - + + - - - + {T.translate("sponsor_users.add_user")} + + {hasImportTasks && ( {T.translate("summit_sponsorship_list.alert_info")} - - - - - + + + {totalSponsorships} summit tiers {sponsorships.length === 0 && ( diff --git a/src/pages/sponsorship-types/sponsorship-list-page.js b/src/pages/sponsorship-types/sponsorship-list-page.js index ffd0f2232..0f3784760 100644 --- a/src/pages/sponsorship-types/sponsorship-list-page.js +++ b/src/pages/sponsorship-types/sponsorship-list-page.js @@ -14,10 +14,10 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, Grid2 } from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getSponsorships, getSponsorship, @@ -119,54 +119,20 @@ const SponsorshipListPage = ({ return (

{T.translate("sponsorship_list.sponsorship_types_list")}

- - - - {totalSponsorships}{" "} - {T.translate("sponsorship_list.sponsorship_types")} - - - - - - - - - + + + + {totalSponsorships} {T.translate("sponsorship_list.sponsorship_types")} + {sponsorships.length > 0 && (

{T.translate("directory.summits")}

- - - - - - - - } - label={T.translate("directory.hide_past_events")} - /> - - - - {canAddSummits && ( - - )} - - + + {canAddSummits && ( + + )} + {totalSummits} {T.translate("directory.summits").toLowerCase()} diff --git a/src/pages/tags/tag-list-page.js b/src/pages/tags/tag-list-page.js index b8ca36a3b..12da3f260 100644 --- a/src/pages/tags/tag-list-page.js +++ b/src/pages/tags/tag-list-page.js @@ -16,10 +16,9 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; -import Grid2 from "@mui/material/Grid2"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import MuiSearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import AddIcon from "@mui/icons-material/Add"; +import GridToolbar from "../../components/mui/grid-toolbar"; import TagsDialog from "./tags-popup"; import { getTags, @@ -121,31 +120,21 @@ const TagListPage = ({

{T.translate("tag_list.tag_list")}

- - - - - - - - + + + {totalTags}

{T.translate("tax_type_list.tax_type_list")}

- - - - {totalTaxTypes} {T.translate("general.items")} - - - } > - - - - - - - - - + {T.translate("tax_type_list.add_tax_type")} + + + + {totalTaxTypes} {T.translate("general.items")} + {taxTypes.length === 0 && (
{T.translate("tax_type_list.no_tax_types")}
diff --git a/src/pages/tickets/payment-profile/payment-profile-list-page.js b/src/pages/tickets/payment-profile/payment-profile-list-page.js index 71212739e..8259f7fce 100644 --- a/src/pages/tickets/payment-profile/payment-profile-list-page.js +++ b/src/pages/tickets/payment-profile/payment-profile-list-page.js @@ -14,10 +14,10 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Box, Button, Grid2 } from "@mui/material"; +import { Box, Button } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../../components/mui/grid-toolbar"; import { getPaymentProfiles, getPaymentProfile, @@ -141,55 +141,27 @@ const PaymentProfileListPage = ({ return (

{T.translate("payment_profiles.payment_profiles_list")}

- - - - {totalPaymentProfiles}{" "} - {T.translate("payment_profiles.payment_profiles")} - - - } > - - - - - - + {T.translate("payment_profiles.add_payment_profile")} + + + + {totalPaymentProfiles}{" "} + {T.translate("payment_profiles.payment_profiles")} + {paymentProfiles.length === 0 && (
{T.translate("payment_profiles.no_payment_profiles")}
diff --git a/src/pages/track_chairs/track-chair-list-page.js b/src/pages/track_chairs/track-chair-list-page.js index 80613e088..077cbbc59 100644 --- a/src/pages/track_chairs/track-chair-list-page.js +++ b/src/pages/track_chairs/track-chair-list-page.js @@ -18,7 +18,6 @@ import { Box, Button, FormControl, - Grid2, IconButton, InputAdornment, MenuItem, @@ -27,7 +26,7 @@ import { import AddIcon from "@mui/icons-material/Add"; import ClearIcon from "@mui/icons-material/Clear"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; -import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; +import GridToolbar from "../../components/mui/grid-toolbar"; import { getTrackChairs, deleteTrackChair, @@ -38,14 +37,6 @@ import { import { DEFAULT_CURRENT_PAGE } from "../../utils/constants"; import TrackChairDialog from "./components/track-chair-dialog"; -const buttonSx = { - height: "36px", - padding: "6px 16px", - fontSize: "1.4rem", - lineHeight: "2.4rem", - letterSpacing: "0.4px" -}; - const TrackChairListPage = ({ currentSummit, trackChairs, @@ -175,105 +166,76 @@ const TrackChairListPage = ({ return (

{T.translate("track_chairs.list")}

- - - - {totalTrackChairs} {T.translate("track_chairs.track_chairs")} - - - - - - - - - - - - + selected ? ( + tracks_ddl.find((t) => t.value === selected)?.label + ) : ( + + {T.translate("track_chairs.placeholders.select_track")} + + ) + } + endAdornment={ + trackId ? ( + + + getTrackChairs( + null, + term, + DEFAULT_CURRENT_PAGE, + perPage, + order, + orderDir + ) + } + > + + + + ) : null + } > - - - - - + {tracks_ddl.map((t) => ( + + {t.label} + + ))} + + + + + + + {totalTrackChairs} {T.translate("track_chairs.track_chairs")} + {trackChairs.length === 0 ? (
{T.translate("track_chairs.no_items")}
diff --git a/yarn.lock b/yarn.lock index 1f4d4cb8f..29721a714 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9042,10 +9042,10 @@ open@^10.0.3: is-inside-container "^1.0.0" wsl-utils "^0.1.0" -openstack-uicore-foundation@5.0.49-beta.0: - version "5.0.49-beta.0" - resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.49-beta.0.tgz#89e985a21196551b19ad04cfce615c32c8058c92" - integrity sha512-ktXOuBAXld4QfxjnruqQFtVx7rOK57vuls0cMm3YItPkyox0pCxr6WwL6n6xo/FQKcevH0zKWUrZZJb/x0PS4A== +openstack-uicore-foundation@5.0.49-beta.1: + version "5.0.49-beta.1" + resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.49-beta.1.tgz#2021b8f05a2414a86930d7facf50aac7427d93be" + integrity sha512-T8uxti00a6bNp0mMTnL06ikGgOcK89umgspFH5tITsKPT/qI81YFGp8Qk8BnfLCYCczC/lQyuL3c09BtSf8XXw== dependencies: use-sync-external-store "^1.6.0" From 191bbf98654c83db8eff2a3b2778b910e402c68f Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 21 Aug 2026 17:43:19 -0300 Subject: [PATCH 10/10] chore: update uicore and resize icon --- package.json | 2 +- src/components/image-preview-cell.js | 4 ++-- yarn.lock | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index f7556919c..400c3d70a 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "moment-duration-format": "^2.3.2", "moment-timezone": "^0.5.33", "mui-color-input": "^9.0.0", - "openstack-uicore-foundation": "5.0.49-beta.1", + "openstack-uicore-foundation": "5.0.49-beta.2", "p-limit": "^6.1.0", "path-browserify": "^1.0.1", "postcss-loader": "^6.2.1", diff --git a/src/components/image-preview-cell.js b/src/components/image-preview-cell.js index 82b1bb082..af93ce840 100644 --- a/src/components/image-preview-cell.js +++ b/src/components/image-preview-cell.js @@ -36,11 +36,11 @@ export const ImagePreviewCell = React.memo( return ( <> setOpen(true)} > - + {open && ( diff --git a/yarn.lock b/yarn.lock index 29721a714..b55a39bac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9042,10 +9042,10 @@ open@^10.0.3: is-inside-container "^1.0.0" wsl-utils "^0.1.0" -openstack-uicore-foundation@5.0.49-beta.1: - version "5.0.49-beta.1" - resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.49-beta.1.tgz#2021b8f05a2414a86930d7facf50aac7427d93be" - integrity sha512-T8uxti00a6bNp0mMTnL06ikGgOcK89umgspFH5tITsKPT/qI81YFGp8Qk8BnfLCYCczC/lQyuL3c09BtSf8XXw== +openstack-uicore-foundation@5.0.49-beta.2: + version "5.0.49-beta.2" + resolved "https://registry.yarnpkg.com/openstack-uicore-foundation/-/openstack-uicore-foundation-5.0.49-beta.2.tgz#e2090f5aba4a836bc943c6a360e1ad7af963ff0e" + integrity sha512-9pbIYZqZOTrsNjqQjcl0MRqpAGpQwHFX2gdI5wHJjlzLwkevtS4PmnhXsdCAd/wG1OuXmdjPShhgKDS5OsH9ag== dependencies: use-sync-external-store "^1.6.0"