Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
d137384
add fund request criteria steps browser tests
ateamcms Jan 16, 2025
261c330
add dusk attributes for bsn warning and digid expired block on fund r…
ateamcms Jan 16, 2025
668bb91
Merge branch 'develop' into feature.add-fund-request-criteria-steps-b…
ateamcms Jan 16, 2025
4e757c0
Merge branch 'develop' into feature.add-fund-request-criteria-steps-b…
dev-rminds Jan 21, 2025
ea1ec65
Merge branch 'feature.change-check-fund-request-active-voucher-or-pay…
ateamcms Jan 21, 2025
ddfa3d1
Bump eslint-config-prettier from 9.1.0 to 10.0.1
dependabot[bot] Feb 1, 2025
9d84d7a
Bump @types/diff from 6.0.0 to 7.0.1
dependabot[bot] Feb 1, 2025
011d84f
Bump react-datepicker from 7.4.0 to 8.0.0
dependabot[bot] Feb 1, 2025
ecefb9f
add policy and terms checkbox configs to cms
ateamcms Feb 5, 2025
3bc0269
Merge pull request #573 from teamforus/auto/master_to_develop_update-…
Feb 6, 2025
07464bf
Merge pull request #576 from teamforus/auto/master_to_develop_update-…
Feb 6, 2025
ee207ed
remove unused eslint-config-fbjs package
dev-rminds Feb 7, 2025
bef61f2
remove unused eslint-plugin-flowtype package
dev-rminds Feb 7, 2025
c9d76f2
remove unused eslint-plugin-jsx-a11y package
dev-rminds Feb 7, 2025
79995c6
remove unused eslint-plugin-eslint-plugin package
dev-rminds Feb 7, 2025
fa453fb
Merge pull request #560 from teamforus/dependabot/npm_and_yarn/develo…
Feb 7, 2025
86c8fa3
Merge pull request #564 from teamforus/dependabot/npm_and_yarn/develo…
Feb 7, 2025
4ff49ff
Merge pull request #562 from teamforus/dependabot/npm_and_yarn/develo…
Feb 7, 2025
bb53026
merge develop into feature.add-policy-and-terms-checkbox-configs-to-cms
dev-rminds Feb 7, 2025
3d261cf
merge develop into remove.eslint-config-fbjs
dev-rminds Feb 7, 2025
08c2ed8
Merge pull request #577 from teamforus/remove.eslint-config-fbjs
Feb 7, 2025
183145c
Bump eslint from 8.57.0 to 9.19.0
dependabot[bot] Feb 7, 2025
e548994
Merge pull request #561 from teamforus/dependabot/npm_and_yarn/develo…
Feb 7, 2025
65808d4
add info boxes and minor refactoring
dev-rminds Feb 7, 2025
b9f293d
merge develop into feature.add-fund-request-criteria-steps-browser-tests
dev-rminds Feb 7, 2025
cbd9b9d
Merge branch 'develop' into feature.add-policy-and-terms-checkbox-con…
RobinMeles Feb 10, 2025
9f15cf1
Merge pull request #566 from teamforus/feature.add-policy-and-terms-c…
RobinMeles Feb 10, 2025
2b3dfb8
Merge pull request #547 from teamforus/feature.add-fund-request-crite…
RobinMeles Feb 10, 2025
095033c
fix fund activate page if user not logged in
ateamcms Feb 12, 2025
ea95a16
fix backoffice error texts on fund request page
ateamcms Feb 12, 2025
d2263bf
Merge pull request #579 from teamforus/fixes.fund-activate-page-if-us…
RobinMeles Feb 12, 2025
a9112f5
Merge pull request #580 from teamforus/fixes.backoffice-error-texts-o…
RobinMeles Feb 12, 2025
03d7bc1
Update modal_reserve_product.mjs
RobinMeles Feb 13, 2025
030de02
Merge pull request #581 from teamforus/reservation_translation
RobinMeles Feb 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
849 changes: 250 additions & 599 deletions package-lock.json

Large diffs are not rendered by default.

12 changes: 4 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"@babel/preset-typescript": "^7.26.0",
"@mdi/react": "^1.5.0",
"@svgr/webpack": "^8.0.1",
"@types/diff": "^6.0.0",
"@types/diff": "^7.0.1",
"@types/file-saver": "^2.0.7",
"@types/jquery": "^3.5.18",
"@types/lodash": "^4.14.192",
Expand All @@ -54,13 +54,9 @@
"compression-webpack-plugin": "^11.1.0",
"copy-webpack-plugin": "^12.0.2",
"css-loader": "^7.1.2",
"eslint": "^8.37.0",
"eslint-config-fbjs": "^4.0",
"eslint-config-prettier": "^9.1.0",
"eslint": "^9.19.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-eslint-plugin": "^6.3.1",
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-no-for-of-loops": "^1.0.1",
"eslint-plugin-no-function-declare-after-return": "^1.1.0",
"eslint-plugin-prettier": "^5.0.0",
Expand Down Expand Up @@ -112,7 +108,7 @@
"query-string": "^9.1.0",
"react": "^18.1.0",
"react-chartjs-2": "^5.2.0",
"react-datepicker": "^7.4.0",
"react-datepicker": "^8.0.0",
"react-dom": "^18.1.0",
"react-error-boundary": "^5.0.0",
"react-gtm-module": "^2.0.11",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function FormGroup({
id?: string;
error?: string | Array<string>;
inline?: boolean;
inlineSize?: 'sm' | 'md' | 'lg';
inlineSize?: 'sm' | 'md' | 'lg' | 'xl';
label?: string | React.ReactElement | Array<React.ReactElement>;
input?: (input_id: string) => React.ReactElement;
required?: boolean;
Expand All @@ -32,6 +32,7 @@ export default function FormGroup({
inlineSize === 'sm' && 'form-group-inline-sm',
inlineSize === 'md' && 'form-group-inline-md',
inlineSize === 'lg' && 'form-group-inline-lg',
inlineSize === 'xl' && 'form-group-inline-xl',
error && 'form-group-error',
className,
)}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export default function UIControlCheckbox({
slim = false,
className = '',
disabled = false,
dataDusk = null,
onChange = null,
onChangeValue = null,
}: {
Expand All @@ -21,6 +22,7 @@ export default function UIControlCheckbox({
checked?: boolean;
className?: string;
disabled?: boolean;
dataDusk?: string;
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
onChangeValue?: (checked: boolean) => void;
}) {
Expand Down Expand Up @@ -59,6 +61,7 @@ export default function UIControlCheckbox({
htmlFor={innerId}
tabIndex={0}
aria-checked={inputRef?.current?.checked}
data-dusk={dataDusk}
onKeyDown={toggleCheckbox}>
<span className="ui-checkbox-box">
<em className="mdi mdi-check" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export default function UIControlDate({
onChange,
placeholder = null,
className,
dataDusk = null,
}: {
id?: string;
dateMin?: Date;
Expand All @@ -19,13 +20,14 @@ export default function UIControlDate({
onChange: (date?: Date) => void;
placeholder?: string;
className?: string;
dataDusk?: string;
}) {
const reset = useCallback(() => {
onChange(null);
}, [onChange]);

return (
<div id={id} className={`ui-control ui-control-date ${className}`}>
<div id={id} className={`ui-control ui-control-date ${className}`} data-dusk={dataDusk}>
<DatePickerControl
dateFormat={format || null}
value={value}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import classNames from 'classnames';

export default function UIControlStep({
id,
dataDusk = null,
min = null,
max = null,
name,
Expand All @@ -13,6 +14,7 @@ export default function UIControlStep({
className,
}: {
id?: string;
dataDusk?: string;
min?: number;
max?: number;
name?: string;
Expand All @@ -34,12 +36,14 @@ export default function UIControlStep({
<div
className={classNames(`ui-control ui-control-step`, className)}
role={role}
data-dusk={dataDusk}
aria-label="Aanpassen"
aria-valuenow={value}
aria-valuemin={min}
aria-valuemax={max}>
<input type="number" name={name} id={id} value={value} hidden={true} readOnly={true} />
<div
data-dusk="decreaseStep"
className="ui-control-step-icon"
onKeyDown={(e) => (e.key == 'Enter' ? decrease() : null)}
onClick={decrease}
Expand All @@ -52,6 +56,7 @@ export default function UIControlStep({
<div className="ui-control-step-value">{value?.toString()}</div>

<div
data-dusk="increaseStep"
className="ui-control-step-icon"
onKeyDown={(e) => (e.key == 'Enter' ? increase() : null)}
onClick={increase}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import CheckboxControl from '../../elements/forms/controls/CheckboxControl';
import PhotoSelectorData from '../../elements/photo-selector/types/PhotoSelectorData';
import useTranslate from '../../../hooks/useTranslate';
import FormGroupInfo from '../../elements/forms/elements/FormGroupInfo';
import FormGroup from '../../elements/forms/controls/FormGroup';

export default function ImplementationsCms() {
const { id } = useParams();
Expand Down Expand Up @@ -77,6 +78,11 @@ export default function ImplementationsCms() {
{ value: true, label: 'Ja' },
]);

const [privacyAndTermsState] = useState([
{ value: false, label: 'Nee' },
{ value: true, label: 'Ja' },
]);

const [announcementTypes] = useState([
{ value: 'warning', label: 'Waarschuwing' },
{ value: 'success', label: 'Succes' },
Expand Down Expand Up @@ -113,6 +119,8 @@ export default function ImplementationsCms() {
description_html?: string;
description_alignment?: string;
informal_communication?: boolean;
show_privacy_checkbox?: boolean;
show_terms_checkbox?: boolean;
announcement?: {
type?: string;
title?: string;
Expand Down Expand Up @@ -264,6 +272,8 @@ export default function ImplementationsCms() {
page_title_suffix: implementation.page_title_suffix,
description_alignment: implementation.description_alignment,
informal_communication: implementation.informal_communication,
show_terms_checkbox: implementation.show_terms_checkbox,
show_privacy_checkbox: implementation.show_privacy_checkbox,
announcement: {
type: announcementTypes[0].value,
active: announcementState[0].value,
Expand Down Expand Up @@ -652,6 +662,86 @@ export default function ImplementationsCms() {
</div>
</div>

<div className="card-section card-section-primary">
<div className="row">
<div className="col col-lg-9">
<FormGroup
inline={true}
inlineSize={'xl'}
label={translate('implementation_edit.labels.show_privacy_checkbox')}
error={form.errors.show_privacy_checkbox}
input={(id) => (
<FormGroupInfo
info={
<Fragment>
<p>
Activeer deze instelling als de gebruiker akkoord moet gaan met
de privacyvoorwaarden op de website. Op de aanmeldpagina
verschijnt een checkbox.
</p>
<p>
<strong>Belangrijk!</strong> Zorg ervoor dat de privacypagina is
ingesteld in het CMS, zodat de link naar deze pagina goed werkt.
</p>
</Fragment>
}>
<SelectControl
id={id}
className="form-control"
propKey="value"
propValue="label"
allowSearch={false}
options={privacyAndTermsState}
value={form.values?.show_privacy_checkbox}
onChange={(value?: boolean) => {
form.update({ show_privacy_checkbox: value });
}}
optionsComponent={SelectControlOptions}
/>
</FormGroupInfo>
)}
/>
<FormGroup
inline={true}
inlineSize={'xl'}
label={translate('implementation_edit.labels.show_terms_checkbox')}
error={form.errors.show_terms_checkbox}
input={(id) => (
<FormGroupInfo
info={
<Fragment>
<p>
Activeer deze instelling als de gebruiker akkoord moet gaan met
de voorwaarden van de website. Op de aanmeldpagina verschijnt
een checkbox.
</p>
<p>
<strong>Belangrijk!</strong> Zorg ervoor dat de voorwaarden
pagina is ingesteld in het CMS, zodat de link naar deze pagina
goed werkt.
</p>
</Fragment>
}>
<SelectControl
id={id}
className="form-control"
propKey="value"
propValue="label"
allowSearch={false}
options={privacyAndTermsState}
value={form.values?.show_terms_checkbox}
onChange={(value?: boolean) => {
form.update({ show_terms_checkbox: value });
}}
optionsComponent={SelectControlOptions}
/>
</FormGroupInfo>
)}
/>
</div>
</div>
</div>

<div className="card-section card-section-primary">
<div className="button-group flex-center">
<StateNavLink
Expand Down
2 changes: 2 additions & 0 deletions react/src/dashboard/i18n/i18n-nl.js
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,8 @@ export default {
footer_opening_times: 'Footer openingstijden content',
footer_app_info: 'Footer download de Me-app content',
cms_media_links: 'Social media links',
show_terms_checkbox: 'Toon voorwaarden checkbox',
show_privacy_checkbox: 'Toon privacy checkbox',
},
implementations_table: {
title: "Webshop pagina's",
Expand Down
2 changes: 2 additions & 0 deletions react/src/dashboard/props/models/Implementation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,7 @@ export default interface Implementation {
pre_check_banner_title: string;
allow_per_fund_notification_templates?: boolean;
page_title_suffix?: string;
show_terms_checkbox?: boolean;
show_privacy_checkbox?: boolean;
languages?: Array<Language>;
}
4 changes: 4 additions & 0 deletions react/src/dashboard/services/ConfigService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,13 +166,15 @@ export type AppConfigProp = {
pages: {
home: ImplementationPage;
funds: ImplementationPage;
privacy: ImplementationPage;
products: ImplementationPage;
provider: ImplementationPage;
providers: ImplementationPage;
explanation: ImplementationPage;
block_home_products: ImplementationPage;
footer_app_info: ImplementationPage;
footer_opening_times: ImplementationPage;
terms_and_conditions: ImplementationPage;
footer_contact_details: ImplementationPage;
};
has_productboard_integration: boolean;
Expand All @@ -197,6 +199,8 @@ export type AppConfigProp = {
show_voucher_map: boolean;
show_product_map: boolean;
page_title_suffix?: string;
show_terms_checkbox?: boolean;
show_privacy_checkbox?: boolean;
languages: Array<Language>;
};

Expand Down
1 change: 0 additions & 1 deletion react/src/props/EnvDataWebshopProp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ export default interface EnvDataWebshopProp {
noPrintOption?: boolean;
activateFirstFund?: boolean;
accessibilityPage?: boolean;
privacyPage?: boolean;

// home
showStartButton?: boolean;
Expand Down
Loading
Loading