diff --git a/.github/workflows/auto_pr_on_master_push.yml b/.github/workflows/auto_pr_on_master_push.yml index cdcf36617..80fb2c57f 100644 --- a/.github/workflows/auto_pr_on_master_push.yml +++ b/.github/workflows/auto_pr_on_master_push.yml @@ -10,6 +10,9 @@ on: jobs: create_pr: runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write steps: - name: Checkout master branch uses: actions/checkout@v4 diff --git a/.github/workflows/compile_and_build.yml b/.github/workflows/compile_and_build.yml index 10682e52d..07520ce2b 100644 --- a/.github/workflows/compile_and_build.yml +++ b/.github/workflows/compile_and_build.yml @@ -5,6 +5,9 @@ on: [pull_request] jobs: build: runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/react/assets/forus-platform/resources/_platform-common/assets/img/placeholders/physical-card-type.svg b/react/assets/forus-platform/resources/_platform-common/assets/img/placeholders/physical-card-type.svg new file mode 100644 index 000000000..61aee5381 --- /dev/null +++ b/react/assets/forus-platform/resources/_platform-common/assets/img/placeholders/physical-card-type.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/react/assets/forus-platform/scss/_common/blocks/block-inline-copy.scss b/react/assets/forus-platform/scss/_common/blocks/block-inline-copy.scss index da740ebe4..cab5f4bbe 100644 --- a/react/assets/forus-platform/scss/_common/blocks/block-inline-copy.scss +++ b/react/assets/forus-platform/scss/_common/blocks/block-inline-copy.scss @@ -8,8 +8,8 @@ .inline-copy-icon { display: inline-flex; font-size: 16px; - line-height: 18px; - height: 18px; + line-height: 20px; + height: 20px; transition: 0.4s; color: #646f79; } diff --git a/react/assets/forus-platform/scss/_common/blocks/block-inline-edit.scss b/react/assets/forus-platform/scss/_common/blocks/block-inline-edit.scss new file mode 100644 index 000000000..4c0a4bbe0 --- /dev/null +++ b/react/assets/forus-platform/scss/_common/blocks/block-inline-edit.scss @@ -0,0 +1,22 @@ +.block.block-inline-edit { + display: inline-flex; + flex-direction: row; + align-items: center; + gap: 4px; + cursor: pointer; + + .inline-edit-icon { + display: inline-flex; + font-size: 16px; + line-height: 20px; + height: 20px; + transition: 0.4s; + color: var(--color-primary); + } + + &:hover { + .inline-edit-icon { + color: var(--color-primary); + } + } +} diff --git a/react/assets/forus-platform/scss/_common/components/forms.scss b/react/assets/forus-platform/scss/_common/components/forms.scss index bfcc155bb..2d1fd2e30 100644 --- a/react/assets/forus-platform/scss/_common/components/forms.scss +++ b/react/assets/forus-platform/scss/_common/components/forms.scss @@ -73,6 +73,12 @@ .form-group { margin-bottom: 0; } + + .form-pane-separator { + height: 1px; + width: 100%; + border-bottom: 1px solid var(--border-color); + } } &.form-pane-lg { diff --git a/react/assets/forus-platform/scss/_common/components/modals.scss b/react/assets/forus-platform/scss/_common/components/modals.scss index 142b0a74c..6b4f9e91b 100644 --- a/react/assets/forus-platform/scss/_common/components/modals.scss +++ b/react/assets/forus-platform/scss/_common/components/modals.scss @@ -430,85 +430,6 @@ } } - .modal-content { - position: relative; - padding: 30px; - width: 1200px; - max-width: 100%; - background: #f7f9fc; - border-radius: var(--border-radius); - min-height: 100px; - overflow: hidden; - margin: 0 auto; - box-shadow: 0 20px 40px rgba(#000000, 0.3); - - .modal-section { - padding: 30px; - - .modal-footer { - padding: 30px 0 0; - } - } - - .subdescription { - display: inline-block; - border: 1px solid #eff6f8; - background: #fff; - padding: 10px 80px; - border-radius: var(--border-radius); - font: 400 22px/34px var(--base-font); - color: #646f79; - box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); - margin: 40px 0 30px; - - .popup-title-styled { - color: #000; - font-weight: 600; - white-space: nowrap; - } - } - - .title { - color: #282b39; - font: 700 40px var(--base-font); - text-align: center; - margin: 0 0 10px; - } - - .description { - padding: 10px 80px; - font: 400 22px/34px var(--base-font); - color: #646f79; - - .popup-title-styled { - color: var(--color-primary); - font-weight: 600; - white-space: nowrap; - } - } - - .description-small { - padding: 10px 0; - font: 400 16px/28px var(--base-font); - color: #646f79; - } - - .modal-icon { - margin-bottom: -40px; - - img { - width: 240px; - } - } - - &.modal-description-pad { - .description { - padding: 50px 0; - color: var(--color-primary) !important; - } - } - } - .modal-footer { padding: 20px 30px; display: flex; @@ -607,32 +528,6 @@ } } - &.modal-notification { - .modal-content { - .modal-section { - font: 400 18px/34px var(--base-font); - - .modal-icon { - img { - width: 140px; - } - } - - .description { - padding: 10px 30px; - font: 400 18px/34px var(--base-font); - } - - .subdescription { - margin-top: 20px; - margin-bottom: 20px; - padding: 10px 30px; - font: 400 18px/34px var(--base-font); - } - } - } - } - &.modal-fund-offers { .modal-window { width: 1400px; @@ -920,10 +815,6 @@ } @media screen and (max-width: 1500px) { - .modal-content { - width: 1000px; - } - .modal-footer { padding: 20px; @@ -958,53 +849,9 @@ right: 20px; } - .modal-content { - border-radius: 0; - height: 100%; - border: none; - transform: none; - top: 0; - left: 0; - overflow-y: auto; - padding: 50px 25px 25px; - - .modal-section { - padding: 0; - } - - .subdescription { - margin: 40px 10px 30px; - } - - .title { - padding: 10px; - } - } - &.modal-auth { padding: 0; - .modal-content { - overflow-y: auto; - padding: 50px 25px 25px; - - .modal-title { - font: 700 22px/32px var(--base-font); - margin: 0 0 10px; - } - - .modal-subtitle { - font: 400 15px/24px var(--base-font); - margin: 0 0 30px; - padding: 0; - } - - .form { - margin-bottom: 10px; - width: 100%; - } - } - .modal-footer { margin: 0 -25px 0; padding: 25px 25px 0 !important; @@ -1031,66 +878,4 @@ } } } - - @media screen and (max-width: 767px) { - .modal-content { - .button { - &:last-child { - margin-bottom: 0; - } - } - } - - &.modal-notification { - .modal-content { - .modal-section { - font: 400 18px/34px var(--base-font); - - .modal-icon { - img { - width: 140px; - } - } - - .description { - padding: 10px 30px; - font: 400 18px/34px var(--base-font); - } - - .subdescription { - margin-top: 20px; - margin-bottom: 20px; - padding: 10px 30px; - font: 400 18px/34px var(--base-font); - } - } - } - } - } - - @media screen and (max-width: 320px) { - &.modal-notification { - .modal-content { - .modal-section { - .modal-icon { - img { - width: 100px; - } - } - - .description { - padding: 10px; - font: 400 16px/34px var(--base-font); - } - - .subdescription { - margin-top: 10px; - margin-bottom: 10px; - padding: 10px 20px; - font: 400 16px/34px var(--base-font); - } - } - } - } - } } diff --git a/react/assets/forus-platform/scss/_common/dashboard.scss b/react/assets/forus-platform/scss/_common/dashboard.scss index aa62ac8dd..b5eee5e9e 100644 --- a/react/assets/forus-platform/scss/_common/dashboard.scss +++ b/react/assets/forus-platform/scss/_common/dashboard.scss @@ -92,6 +92,7 @@ @import 'blocks/block-provider-products-required.scss'; @import 'blocks/block-push-notifications.scss'; @import 'blocks/block-inline-copy.scss'; +@import 'blocks/block-inline-edit.scss'; @import 'blocks/block-collapsable.scss'; @import 'blocks/block-fund-request-assigned.scss'; @import 'blocks/block-product.scss'; @@ -114,7 +115,6 @@ .modal { @import 'modals/modal-photo-upload.scss'; - @import 'modals/modal-physical-cards.scss'; @import 'modals/modal-voucher-transaction.scss'; @import 'modals/modal-pin-code.scss'; @import 'modals/modal-provider-products-required.scss'; @@ -936,6 +936,10 @@ body { flex-direction: row; align-items: center; + .card-title { + margin: 0 0 !important; + } + .card-header-filters { display: flex; flex-direction: row; @@ -1719,6 +1723,18 @@ body { } } + &.card-block-keyvalue-lg { + .keyvalue-item { + .keyvalue-key { + width: 280px; + } + + .keyvalue-value { + width: calc(100% - 280px); + } + } + } + &.card-block-keyvalue-text-sm { .keyvalue-item { padding: 0 0 4px; diff --git a/react/assets/forus-platform/scss/_common/modals/modal-physical-cards.scss b/react/assets/forus-platform/scss/_common/modals/modal-physical-cards.scss deleted file mode 100644 index b906e020b..000000000 --- a/react/assets/forus-platform/scss/_common/modals/modal-physical-cards.scss +++ /dev/null @@ -1,318 +0,0 @@ -&.modal-physical-cards { - .modal-window { - width: 800px; - - .modal-section { - border-bottom: 1px solid var(--border-color); - - &:last-child { - border-bottom: none; - } - } - } - - .modal-header { - background-color: #ffffff; - } - - .modal-content { - background-color: #f3f3f3; - border-radius: 0; - - .physical-card-title { - font: 700 18px/26px var(--base-font); - text-align: center; - margin-bottom: 15px; - color: var(--text-color); - } - - .physical-card-description { - font: 700 14px/21px var(--base-font); - text-align: center; - margin-bottom: 25px; - color: #646f79; - - .physical-card-order { - display: inline-block; - text-decoration: underline; - } - - & > .label { - font: inherit; - padding-left: 5px; - padding-right: 5px; - } - } - - .physical-card-media { - img, - svg { - display: block; - height: 200px; - margin: 0 auto 20px; - } - - svg { - height: auto; - } - - .mdi { - font-size: 100px; - display: flex; - justify-content: center; - } - - &.physical-card-media-sm { - img { - height: 130px; - padding: 20px; - margin: 0 auto; - } - } - } - - .physical-card-icon { - background: #134478; - text-align: center; - width: 96px; - height: 96px; - border-radius: 96px; - border: 3px solid #fff; - line-height: 90px; - font-size: 45px; - color: #fff; - margin: 0 auto 20px; - box-shadow: 2px 4px 10px rgba($color: #000000, $alpha: 0.1); - } - - .physical-card-row { - display: flex; - flex-direction: row; - justify-content: center; - margin: 0 0 20px; - - &:last-child { - margin-bottom: 0; - } - } - - .physical-card-item { - position: relative; - margin-right: 0; - padding: 15px 20px; - width: 190px; - padding: 0 20px; - display: flex; - flex-direction: column; - text-align: center; - cursor: default; - - .physical-card-item-title { - font: 700 16px/20px var(--base-font); - margin: 0 -10px 0; - color: var(--text-color); - } - - .physical-card-item-icon { - width: 100px; - height: 100px; - background-color: transparent; - border-radius: var(--border-radius); - margin: 0 auto 10px; - border: 1px dashed #767676; - transition: 0.4s; - - .mdi { - color: #626161; - line-height: 100px; - font-size: 70px; - } - } - - .physical-card-item-description { - margin: 0 -10px 0; - font: 400 12px/16px var(--base-font); - text-align: center; - color: var(--text-color); - padding-top: 15px; - } - - .physical-card-item-details { - display: flex; - flex-direction: column; - - & > .physical-card-item-title { - display: none; - } - } - - &:hover { - .physical-card-item-icon { - border-color: #303030; - background-color: #303030; - - em { - &:before { - color: #fff; - } - } - } - } - - &:last-child { - margin-right: 0; - } - } - } - - .modal-footer { - background: #f3f3f3; - padding: 20px 25px; - font: 600 16px/25px 'Source Sans Pro', sans-serif; - border-top: 1px solid #d4d9dd; - position: relative; - border-radius: 0 0 3px 3px; - } - - @media screen and (max-width: 760px) { - .modal-window { - height: 50%; - display: flex; - flex-direction: column; - } - - .modal-header { - border-radius: 0; - } - - .modal-content { - flex-grow: 1; - padding: 0; - flex-direction: column; - - .modal-section { - min-height: 100%; - flex-grow: 1; - justify-content: center; - padding: 25px 25px 25px; - - .pincode-number { - margin-right: -1px; - width: auto; - padding: 0 4px; - - &.pincode-number-block-start { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - padding-left: 15px; - } - - &.pincode-number-block-end { - margin-right: 10px; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding-right: 15px; - } - } - } - - .physical-card-result { - flex-direction: column; - justify-content: center; - display: flex; - flex-direction: column; - height: 100%; - padding: 50px 0; - } - - .physical-card-row { - flex-direction: column; - margin: 0 0 20px; - - .physical-card-item { - margin: 0 0 20px; - width: 100%; - border: 2px solid #767676; - border-radius: var(--border-radius); - flex-direction: row; - padding: 0; - text-align: left; - - .physical-card-item-inner { - .physical-card-item-icon { - border: none; - width: 90px; - height: 90px; - margin: 0 0; - } - } - - .physical-card-item-title { - display: none; - margin: 0 0 5px; - font: 700 13px/16px var(--base-font); - width: 100%; - } - - .physical-card-item-description { - font: 400 11px/16px var(--base-font); - margin: 0 0 0; - width: 100%; - padding: 0; - text-align: left; - } - - .physical-card-item-details { - display: flex; - flex-direction: column; - justify-content: center; - border-left: 2px solid #767676; - padding: 15px 20px; - flex-grow: 1; - - & > .physical-card-item-title { - display: block; - } - } - - &:last-child { - margin-bottom: 0; - } - - &.physical-card-item-sm { - margin: 0 0 5px; - - .physical-card-item-inner { - .physical-card-item-icon { - width: 40px; - height: 40px; - margin: -2px 0; - - .mdi { - color: #000; - &:before { - position: absolute; - margin: 0; - top: 15%; - left: 6px; - font: normal normal normal 26px/1 'Material Design Icons'; - } - } - } - } - - .physical-card-item-title { - font: 700 16px/18px var(--base-font); - margin: 0 0 0; - } - - .physical-card-item-details { - border-left: none; - padding: 5px 20px 5px 5px; - } - } - } - } - } - } -} diff --git a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-variant.png b/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-variant.png deleted file mode 100644 index 1bc7cd0ae..000000000 Binary files a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-variant.png and /dev/null differ diff --git a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-vertical.png b/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-vertical.png deleted file mode 100644 index 5bb1fe282..000000000 Binary files a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview-vertical.png and /dev/null differ diff --git a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.png b/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.png deleted file mode 100644 index 8ec8c67f0..000000000 Binary files a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.png and /dev/null differ diff --git a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.svg b/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.svg deleted file mode 100644 index 3805e38c5..000000000 --- a/react/assets/forus-webshop/resources/_webshop-common/assets/img/icon-physical-cards/icon-physical-cards-preview.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/react/assets/forus-webshop/resources/_webshop-common/assets/img/placeholders/physical-card-type.svg b/react/assets/forus-webshop/resources/_webshop-common/assets/img/placeholders/physical-card-type.svg new file mode 100644 index 000000000..61aee5381 --- /dev/null +++ b/react/assets/forus-webshop/resources/_webshop-common/assets/img/placeholders/physical-card-type.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/react/assets/forus-webshop/scss/includes/blocks/block-action-card.scss b/react/assets/forus-webshop/scss/includes/blocks/block-action-card.scss index e2f8e76ab..65c9d7382 100644 --- a/react/assets/forus-webshop/scss/includes/blocks/block-action-card.scss +++ b/react/assets/forus-webshop/scss/includes/blocks/block-action-card.scss @@ -30,15 +30,14 @@ .block-card-logo { margin: 0 25px 0 0; + width: 100px; + height: 100px; display: flex; flex-direction: column; justify-content: center; img { display: block; - max-width: 230px; - margin-left: -20px; - margin-bottom: -10px; } svg { diff --git a/react/assets/forus-webshop/scss/includes/blocks/block-pincode.scss b/react/assets/forus-webshop/scss/includes/blocks/block-pincode.scss index 15ae1ab50..b7a7b294e 100644 --- a/react/assets/forus-webshop/scss/includes/blocks/block-pincode.scss +++ b/react/assets/forus-webshop/scss/includes/blocks/block-pincode.scss @@ -132,7 +132,7 @@ margin: 0 auto; .pincode-number { - width: 23px !important; + width: 25px !important; padding: 0; margin-right: 2px; diff --git a/react/assets/forus-webshop/scss/includes/blocks/block-product-category-filter.scss b/react/assets/forus-webshop/scss/includes/blocks/block-product-category-filter.scss new file mode 100644 index 000000000..13919101f --- /dev/null +++ b/react/assets/forus-webshop/scss/includes/blocks/block-product-category-filter.scss @@ -0,0 +1,64 @@ +.block.block-product-category-filter { + display: flex; + flex-direction: column; + gap: 5px; + max-height: 365px; + overflow: auto; + padding-right: 10px; + @include webkit_scrollbar(); + + .category-filter-item { + display: flex; + flex-direction: row; + align-items: center; + padding: 0 0; + border-radius: var(--border-radius); + background-color: #fff; + border: 1px solid transparent; + gap: 2px; + cursor: pointer; + outline-offset: -2px !important; + transition: + background-color 0.4s, + border 0.4s, + color 0.4s; + + .category-filter-item-icon { + display: flex; + flex: 0 0 30px; + height: 30px; + line-height: 30px; + font-size: 18px; + gap: 5px; + align-items: center; + justify-content: center; + color: var(--tc); + } + + .category-filter-item-name { + display: inline-block; + font: 600 13px/20px var(--base-font); + color: var(--tc); + } + + &:hover, + &:focus { + background: #f4f4f4; + border: 1px solid var(--color-primary); + + .category-filter-item-icon, + .category-filter-item-name { + color: #282b39; + } + } + + &.category-filter-item-active { + border: 1px solid var(--color-primary); + + .category-filter-item-icon, + .category-filter-item-name { + color: #282b39; + } + } + } +} diff --git a/react/assets/forus-webshop/scss/includes/blocks/block-showcase.scss b/react/assets/forus-webshop/scss/includes/blocks/block-showcase.scss index 6242090f9..a37a805d4 100644 --- a/react/assets/forus-webshop/scss/includes/blocks/block-showcase.scss +++ b/react/assets/forus-webshop/scss/includes/blocks/block-showcase.scss @@ -76,39 +76,101 @@ } } - .showcase-aside-block-title { - margin: 0 0; - font: 600 15px/18px var(--base-font); - } - - .showcase-aside-block-info { + .showcase-aside-group { display: flex; flex-direction: column; + gap: 10px; + padding: 0 0 12px; + border-bottom: var(--showcase-aside-border); - .showcase-aside-block-info-link { - font: 600 13px var(--base-font); - color: #282b39; + .showcase-aside-group-title { + margin: 0 0; + font: 600 15px/24px var(--base-font); display: flex; flex-direction: row; - gap: 5px; - align-items: center; - cursor: pointer; - text-decoration: underline; - .mdi { - font-size: 18px; + .showcase-aside-group-title-toggle { + all: unset; + cursor: pointer; + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.5rem; + flex: 1 1 auto; + font: inherit; + + .showcase-aside-group-title-toggle-icon { + transition: transform 0.2s ease; + + .mdi { + font-size: 18px; + height: 18px; + line-height: 18px; + display: flex; + flex: 0 0 auto; + color: #848484; + } + + &.showcase-aside-group-title-toggle-icon-open { + transform: rotate(0deg); + } + + &.showcase-aside-group-title-toggle-icon-closed { + transform: rotate(-90deg); + } + } + + &:focus { + outline: 2px solid #005fcc; + outline-offset: 2px; + } } + } - &:hover { - text-decoration: none; + .showcase-aside-group-body { + display: flex; + flex-direction: column; + gap: 10px; + + &[hidden] { + display: none; } } + + .showcase-aside-group-info { + display: flex; + flex-direction: column; + + .showcase-aside-group-info-link { + font: 600 13px var(--base-font); + color: #282b39; + display: flex; + flex-direction: row; + gap: 5px; + align-items: center; + cursor: pointer; + text-decoration: underline; + + .mdi { + font-size: 18px; + } + + &:hover { + text-decoration: none; + } + } + } + + &:last-of-type { + border-bottom: none; + padding-bottom: 0; + } } .showcase-aside-block-options { display: flex; flex-direction: column; - gap: 8px; + gap: 6px; margin: 0 -6px; .showcase-aside-block-option { @@ -118,7 +180,7 @@ background: transparent; border-radius: var(--border-radius); cursor: pointer; - align-items: center; + align-items: flex-start; gap: 8px; transition: background-color 0.4s; @@ -183,19 +245,6 @@ } } - .showcase-aside-block-separator { - display: block; - height: 10px; - padding: 10px 0; - - &:after { - content: ''; - display: block; - height: 1px; - background: var(--border-color); - } - } - .showcase-aside-tabs { display: flex; border-color: var(--color-primary); diff --git a/react/assets/forus-webshop/scss/includes/blocks/vouchers.scss b/react/assets/forus-webshop/scss/includes/blocks/vouchers.scss index c8d06c746..56f5fa024 100644 --- a/react/assets/forus-webshop/scss/includes/blocks/vouchers.scss +++ b/react/assets/forus-webshop/scss/includes/blocks/vouchers.scss @@ -110,7 +110,6 @@ align-items: center; .voucher-overview-items { - margin-bottom: 10px; float: left; position: absolute; bottom: 15px; diff --git a/react/assets/forus-webshop/scss/includes/includes/shame.scss b/react/assets/forus-webshop/scss/includes/includes/shame.scss index f5aa2e1f6..0d372475a 100644 --- a/react/assets/forus-webshop/scss/includes/includes/shame.scss +++ b/react/assets/forus-webshop/scss/includes/includes/shame.scss @@ -123,10 +123,6 @@ body { font-size: 24px !important; } } - - .section-voucher-details { - margin-top: 25px; - } } @media screen and (max-width: 1500px) { diff --git a/react/assets/forus-webshop/scss/webshop.scss b/react/assets/forus-webshop/scss/webshop.scss index ba4f9a160..da0ef3c1a 100644 --- a/react/assets/forus-webshop/scss/webshop.scss +++ b/react/assets/forus-webshop/scss/webshop.scss @@ -143,6 +143,7 @@ @import 'includes/blocks/block-lang-control'; @import 'includes/blocks/block-reservation-address'; @import 'includes/blocks/block-banner'; +@import 'includes/blocks/block-product-category-filter'; @import 'includes/modals/modal-file-preview'; @import 'includes/modals/modal-photo-cropper'; diff --git a/react/src/dashboard/components/elements/block-inline-copy/BlockInlineEdit.tsx b/react/src/dashboard/components/elements/block-inline-copy/BlockInlineEdit.tsx new file mode 100644 index 000000000..f0c488747 --- /dev/null +++ b/react/src/dashboard/components/elements/block-inline-copy/BlockInlineEdit.tsx @@ -0,0 +1,21 @@ +import React, { MouseEventHandler, ReactNode } from 'react'; +import classNames from 'classnames'; + +export default function BlockInlineEdit({ + children, + className, + onClick, + editDusk = null, +}: { + children: ReactNode | ReactNode[]; + className?: string; + onClick?: MouseEventHandler; + editDusk?: string; +}) { + return ( +
+ {children} + +
+ ); +} diff --git a/react/src/dashboard/components/elements/block-label-tabs/BlockLabelTabs.tsx b/react/src/dashboard/components/elements/block-label-tabs/BlockLabelTabs.tsx index edf99a90f..5829b1eb9 100644 --- a/react/src/dashboard/components/elements/block-label-tabs/BlockLabelTabs.tsx +++ b/react/src/dashboard/components/elements/block-label-tabs/BlockLabelTabs.tsx @@ -1,14 +1,14 @@ import classNames from 'classnames'; import React from 'react'; -export default function BlockLabelTabs({ +export default function BlockLabelTabs({ value, setValue, tabs, }: { - value: string; - setValue: (state: string) => void; - tabs: Array<{ value: string; label: string }>; + value: t; + setValue: (state: t) => void; + tabs: Array<{ value: t; label: string }>; }) { return (
diff --git a/react/src/dashboard/components/elements/card/Card.tsx b/react/src/dashboard/components/elements/card/Card.tsx index 52304d059..1ef70660c 100644 --- a/react/src/dashboard/components/elements/card/Card.tsx +++ b/react/src/dashboard/components/elements/card/Card.tsx @@ -6,6 +6,7 @@ export default function Card({ title, section = true, buttons, + filters, children, footer, footerHidden = false, @@ -15,6 +16,7 @@ export default function Card({ title: string; section?: boolean; buttons?: Array; + filters?: ReactNode | ReactNode[]; children: ReactNode | ReactNode[]; footer?: ReactNode | ReactNode[]; footerHidden?: boolean; @@ -34,6 +36,7 @@ export default function Card({
)} +
{filters}
{section ?
{children}
: children}
diff --git a/react/src/dashboard/components/elements/forms/elements/FormGroupInfo.tsx b/react/src/dashboard/components/elements/forms/elements/FormGroupInfo.tsx index e3297c620..e07757f08 100644 --- a/react/src/dashboard/components/elements/forms/elements/FormGroupInfo.tsx +++ b/react/src/dashboard/components/elements/forms/elements/FormGroupInfo.tsx @@ -30,32 +30,37 @@ export default function FormGroupInfo({
{copyShow && (