deps: react-bootstrap 0.31 -> 2 (Bootstrap 5 CSS deferred as debt)

Removes the largest batch of React-19-blocking warnings: the 0.31
components (Grid, FormGroup, ControlLabel, Navbar.Header/Brand, Checkbox,
SafeAnchor) all leaned on legacy context / defaultProps.

29 files converted: Grid->Container, FormGroup/ControlLabel/FormControl/
HelpBlock -> Form.Group/Label/Control/Text, Checkbox -> Form.Check (label
as prop), bsStyle->variant (default->secondary), bsSize->size,
pull-right->float-end. Custom Col.js now re-exports v2's Col; custom
NavItem.js rewritten self-contained (no SafeAnchor/createChainedFunction);
Navigation.js drops react-bootstrap Navbar (raw markup anyway).

CSS stays on Bootstrap 4 (alexwine:bootstrap-4) for now: the BS4->5 jump
is entangled with the jQuery carousel/swipe + navbar-collapse and is
tracked as separate debt in UPGRADE.md. Only .form-label needed a shim
(forms.scss). Browser-verified home carousel+navbar, signup form + terms
checkbox, login form; REST smoke byte-identical.
This commit is contained in:
vjrj 2026-07-21 12:44:46 +02:00
parent 12bdbe8fed
commit a1a1b9a801
30 changed files with 539 additions and 333 deletions

View file

@ -3,7 +3,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { withTranslation } from 'react-i18next';
import PlacesAutocomplete, { geocodeByAddress, getLatLng } from 'react-places-autocomplete';
import { FormGroup, ControlLabel, HelpBlock } from 'react-bootstrap';
import { Form } from 'react-bootstrap';
import { Bert } from 'meteor/themeteorchef:bert';
@ -82,8 +82,8 @@ class LocationAutocomplete extends React.Component {
return (
<form>
<FormGroup>
{ label.length > 0 && <ControlLabel>{t(label)}</ControlLabel> }
<Form.Group>
{ label.length > 0 && <Form.Label>{t(label)}</Form.Label> }
<PlacesAutocomplete
styles={myStyles}
autocompleteItem={AutocompleteItem}
@ -114,8 +114,8 @@ class LocationAutocomplete extends React.Component {
autoFocus: this.props.focusInput
}}
/>
{ helpText.length > 0 && <HelpBlock>{t(helpText)}</HelpBlock> }
</FormGroup>
{ helpText.length > 0 && <Form.Text>{t(helpText)}</Form.Text> }
</Form.Group>
</form>
);
}