- Desktop DE
- [X] Include Application of Funds component
- [X] Delete PCSS from `shared/components/ui`.
- [X] Add TranslationContext to Banner and use translations in all shared components (Form, Infobox). See the wikipedia.de banner (`Banner.jsx` and `ProgressBar.jsx`) for an example. Provide the translations as a property.
- [X] Pass down a "formatter object" (collection of number formatters) as a property and use it in progress bar. This makes the progress bar more generic and we can drop the "locale" property. Create a `getFormatters` factory method in `shared` that creates the formatter collection for DE and EN.
- [X] Move campaign-related properties (everything based on CampaignParameters) to generic `Infobox` component (in `shared/components`), place the banner text in a custom `BannerText` (and `BannerTextVar`) component that uses the properties passed from `Infobox`. Which `BannerText` component to use should be passed down as a property (to allow for easy A/B tests of different texts).
- [X] Address comments regarding `BannerPresenter`
- [ ] Put the form parts (interval, amount, payment type) into their own components.
- [ ] Data for available payments, amounts and intervals should be passed down as properties from `banner_ctrl.js`. There should be a factory function that creates defaults (at least channel defaults), which are used across banners, to keep the setup code in `banner_ctrl.js`as small as possible.
- [ ] Fix coding style violations for js, jsx and CSS.
- [ ] Create VAR
- Desktop EN:
- [ ] Reuse (copy) Desktop DE `Banner.jsx` and CSS and create custom `BannerText` and `BannerTextVar`. Remember to use different number formatters and translations.
- [ ] Add language warning component (maybe as a shared component).
- Mobile DE
- [ ] Copy `MobileBanner.jsx` and `MobileBannerFullpage.jsx` from wikipedia.de and adapt them:
-[ ] Add an event handler for the close button
- [ ] Split slides into `BannerText.jsx` and `BannerTextVar.jsx`.
- [ ] Add animated text highlight component in BannerText, see wikipedia.de banner on how to do it.
- [ ] Split & adapt the `styles.css` from the old mobile banner to the component CSS files.
- Mobile EN
-[ ] Copy JSX and CSS from Mobile DE
-[ ] Split slides into `BannerText.jsx` and `BannerTextVar.jsx`.
- iPad DE
- [ ] Create `Banner.jsx`
- [ ] Split & adapt the `styles.css` from the old iPad banner to the component CSS files.
- [ ] Create alternative `DonationFormVar.jsx` component that uses a `AddressDataDecision` component.
- iPad EN
- [ ] Copy `Banner.jsx` and CSS from iPad DE
- [ ] Create `BannerText.jsx` and `BannerTextVar.jsx`.
- WP.de
- [ ] Use BannerPresenter
- [ ] Use shared components instead of local components, while keeping/adapting the CSS. Extract `SelectGroup.pcss` and adapt the sectioned class names (removed `fullwidth`, `halfwidth` and `quarterwidth` classes).
- [ ] Fix eventual bugs/inconsistencies