\n ));\n}\n\n/**\n * Returns true if there is displayable information in this entry.\n * Returns false if there is no data in this entry or this is only a reference\n * to another entry.\n */\nfunction hasData(entry: GedcomEntry) {\n return entry.tree.length > 0 || (entry.data && !entry.data.startsWith('@'));\n}\n\nfunction getOtherDetails(entries: GedcomEntry[]) {\n return entries\n .filter(\n (entry) =>\n !EXCLUDED_TAGS.includes(entry.tag) && !EVENT_TAGS.includes(entry.tag),\n )\n .filter(hasData)\n .map((entry) => dataDetails(entry))\n .filter((element) => element !== null)\n .map((element, index) => (\n
\n {element}\n
\n ));\n}\n\n/**\n * If the entry is a reference to a top-level entry, the referenced entry is\n * returned. Otherwise, returns the given entry unmodified.\n */\nfunction dereference(entry: GedcomEntry, gedcom: GedcomData) {\n if (entry.data) {\n const dereferenced = gedcom.other[pointerToId(entry.data)];\n if (dereferenced) {\n return dereferenced;\n }\n }\n return entry;\n}\n\nclass DetailsComponent extends React.Component<\n Props & WrappedComponentProps,\n {}\n> {\n render() {\n const entries = this.props.gedcom.indis[this.props.indi].tree;\n const entriesWithData = entries\n .map((entry) => dereference(entry, this.props.gedcom))\n .filter(hasData);\n\n return (\n
\n );\n\n case AppState.ERROR:\n return ;\n\n case AppState.INITIAL:\n case AppState.LOADING:\n return ;\n }\n };\n\n render() {\n return (\n <>\n (\n \n )}\n />\n \n \n \n \n \n >\n );\n }\n}\n","import {IntlShape} from 'react-intl';\nimport {TopolaError} from './error';\n\n/**\n * Returns a translated message for the given error. If the message can't be\n * translated, the original error.message is returned.\n */\nexport function getI18nMessage(error: Error, intl: IntlShape): string {\n if (!(error instanceof TopolaError)) {\n return error.message;\n }\n return intl.formatMessage(\n {\n id: `error.${error.code}`,\n defaultMessage: error.message,\n },\n error.args,\n );\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport messages_cs from './translations/cs.json';\nimport messages_de from './translations/de.json';\nimport messages_fr from './translations/fr.json';\nimport messages_it from './translations/it.json';\nimport messages_pl from './translations/pl.json';\nimport messages_ru from './translations/ru.json';\nimport {App} from './app';\nimport {detect} from 'detect-browser';\nimport {HashRouter as Router, Route} from 'react-router-dom';\nimport {IntlProvider} from 'react-intl';\nimport {MediaContextProvider, mediaStyles} from './util/media';\nimport './index.css';\nimport 'semantic-ui-css/semantic.min.css';\nimport 'canvas-toBlob';\n\nconst messages = {\n cs: messages_cs,\n de: messages_de,\n fr: messages_fr,\n it: messages_it,\n pl: messages_pl,\n ru: messages_ru,\n};\nconst language = navigator.language && navigator.language.split(/[-_]/)[0];\n\nconst browser = detect();\n\nif (browser && browser.name === 'ie') {\n ReactDOM.render(\n
\n Topola Genealogy Viewer does not support Internet Explorer. Please try a\n different (modern) browser.\n
\n );\n\n case AppState.ERROR:\n return ;\n\n case AppState.INITIAL:\n case AppState.LOADING:\n return ;\n }\n };\n\n render() {\n return (\n <>\n (\n \n )}\n />\n \n \n \n \n \n >\n );\n }\n}\n","import {IntlShape} from 'react-intl';\nimport {TopolaError} from './error';\n\n/**\n * Returns a translated message for the given error. If the message can't be\n * translated, the original error.message is returned.\n */\nexport function getI18nMessage(error: Error, intl: IntlShape): string {\n if (!(error instanceof TopolaError)) {\n return error.message;\n }\n return intl.formatMessage(\n {\n id: `error.${error.code}`,\n defaultMessage: error.message,\n },\n error.args,\n );\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport messages_cs from './translations/cs.json';\nimport messages_de from './translations/de.json';\nimport messages_fr from './translations/fr.json';\nimport messages_it from './translations/it.json';\nimport messages_pl from './translations/pl.json';\nimport messages_ru from './translations/ru.json';\nimport {App} from './app';\nimport {detect} from 'detect-browser';\nimport {HashRouter as Router, Route} from 'react-router-dom';\nimport {IntlProvider} from 'react-intl';\nimport {MediaContextProvider, mediaStyles} from './util/media';\nimport './index.css';\nimport 'semantic-ui-css/semantic.min.css';\nimport 'canvas-toBlob';\n\nconst messages = {\n cs: messages_cs,\n de: messages_de,\n fr: messages_fr,\n it: messages_it,\n pl: messages_pl,\n ru: messages_ru,\n};\nconst language = navigator.language && navigator.language.split(/[-_]/)[0];\n\nconst browser = detect();\n\nif (browser && browser.name === 'ie') {\n ReactDOM.render(\n
\n Topola Genealogy Viewer does not support Internet Explorer. Please try a\n different (modern) browser.\n
,\n document.querySelector('#root'),\n );\n} else {\n ReactDOM.render(\n \n \n \n \n \n \n \n ,\n document.querySelector('#root'),\n );\n}\n"],"sourceRoot":""}
\ No newline at end of file