diff --git a/src/components/Forms/Form.tsx b/src/components/Forms/Form.tsx new file mode 100644 index 0000000..074879c --- /dev/null +++ b/src/components/Forms/Form.tsx @@ -0,0 +1,12 @@ +import react, { Fragment } from 'react'; + +interface FormProps { + context: any; + validate: (ctx: any) => {}; +} + +const Form: react.FC<{}> = () => { + return ; +}; + +export default Form; diff --git a/src/i18n/tile-providers.tsx b/src/i18n/tile-providers.tsx new file mode 100644 index 0000000..443b283 --- /dev/null +++ b/src/i18n/tile-providers.tsx @@ -0,0 +1,50 @@ +import LocalizedStrings from 'react-localization'; +import { stopRecursion } from 'localized-strings/lib/StopRecursion'; + +const strings = new LocalizedStrings({ + en: { + internationalTileProviders: { + osm: { + name: 'Open Street Map', + }, + otm: { + name: 'Open Topo Map', + }, + CyclOSM: { + name: 'CyclOSM', + title: 'CyclOSM: OpenStreetMap-based bicycle map', + description: ( + <> +

+ + CyclOSM + {' '} + is a bicycle-oriented map built on top of{' '} + OpenStreetMap data. + It aims at providing a beautiful and practical map for cyclists, + no matter their cycling habits or abilities. +

+

+ In urban areas, it renders the main different types of cycle + tracks and lanes, on each side of the road, for helping you draw + your bike to work route. It also features essential POIs as well + as bicycle parking spots or spots shared with motorbikes, specific + infrastructure (elevators / ramps), road speeds or surfaces to + avoid streets with pavings, bumpers and bike boxes, etc. +

+

+ The same map also lets you visualize main bicycle touring routes + as well as essential POIs when touring (emergency services, + shelters, tourism, shops). +

+ + ), + }, + }, + localizedTileProviders: stopRecursion({}), + }, + + fr: {}, +}); + +export default strings; diff --git a/src/lib/pubsub.ts b/src/lib/pubsub.ts new file mode 100644 index 0000000..0b14adc --- /dev/null +++ b/src/lib/pubsub.ts @@ -0,0 +1,25 @@ +/** + * + * See https://www.pluralsight.com/guides/how-to-communicate-between-independent-components-in-reactjs (and many similar pages) + * + * + */ + +const eventBus = { + on(event: string, callback: any) { + // ... + document.addEventListener(event, (e) => callback(e)); + }, + + dispatch(event: string, data: any) { + // ... + document.dispatchEvent(new CustomEvent(event, { detail: data })); + }, + + remove(event: string, callback: (e: Event) => void) { + // ... + document.removeEventListener(event, callback); + }, +}; + +export default eventBus;