todos-contra-el-fuego-web/imports/ui/pages/NewSubscription/NewSubscription.js
vjrj 12bdbe8fed deps: i18next 10 -> 23, react-i18next 7 -> 14
Modernizes the whole i18n stack:
- 48 translate([], {wait:true}) / translate() HOCs -> withTranslation()
- react.wait:true -> react.useSuspense:false
- whitelist -> supportedLngs; added compatibilityJSON: 'v3' so our
  natural-language keys + v3 _plural layout keep working (custom
  separators ss/eth/dj preserved)
- backends: xhr -> i18next-http-backend (client), sync-fs ->
  i18next-fs-backend (server); dropped i18next-localstorage-cache
  (was enabled:false); languagedetector 2 -> 8
- ReSendEmail: <Interpolate> (removed in v10) -> <Trans values={{email}}/>,
  dropped the removed bare t export
- saveMissing handler signature (lngs, ns, key, fallbackValue)

Silences the per-component Translate/I18n legacy-context warnings.
Browser-verified es/en switch and <Trans> interpolation on /fires;
REST smoke byte-identical.
2026-07-18 06:28:41 +02:00

50 lines
1.3 KiB
JavaScript

/* eslint-disable react/jsx-indent-props */
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Trans, withTranslation } from 'react-i18next';
import SubscriptionEditor from '../../components/SubscriptionEditor/SubscriptionEditor';
class NewSubscription extends Component {
constructor(props) {
super(props);
const pushState = this.props.location.state;
this.state = {
center: pushState ? pushState.center : [null, null],
zoom: pushState ? pushState.zoom : null,
// we have a subscription from home?
doc: pushState && pushState.location ? {
location: {
lat: pushState.location.lat,
lot: pushState.location.lon
},
distance: pushState.distance
} : undefined
};
}
render() {
const { history } = this.props;
return (
<div className="NewSubscription">
<h4 className="page-header"><Trans>Nueva zona</Trans></h4>
<SubscriptionEditor
history={history}
center={this.state.center}
zoom={this.state.zoom}
doc={this.state.doc}
/>
</div>
);
}
}
NewSubscription.defaultProps = {
};
NewSubscription.propTypes = {
history: PropTypes.object.isRequired,
location: PropTypes.object
};
export default withTranslation()(NewSubscription);