{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/privacy_policy/index.jsx"],"names":["messages","defineMessages","title","id","defaultMessage","PrivacyPolicy","PureComponent","constructor","arguments","_defineProperty","content","lastUpdated","isLoading","componentDidMount","api","get","then","_ref","data","this","setState","updated_at","catch","render","intl","multiColumn","props","state","_jsx","Column","bindToDocument","label","formatMessage","className","FormattedMessage","values","date","Skeleton","width","FormattedDate","value","year","month","day","dangerouslySetInnerHTML","__html","Helmet","name","injectIntl"],"mappings":"qLAWA,MAAMA,EAAWC,YAAe,CAC9BC,MAAO,CAAEC,GAAG,uBAAyBC,eAAe,oBAGtD,MAAMC,UAAsBC,gBAAcC,cAAA,SAAAC,WAAAC,YAAA,aAOhC,CACNC,QAAS,KACTC,YAAa,KACbC,WAAW,GACZ,CAEDC,oBACEC,cAAMC,IAAI,mCAAmCC,MAAKC,IAAe,IAAd,KAAEC,GAAMD,EACzDE,KAAKC,SAAS,CAAEV,QAASQ,EAAKR,QAASC,YAAaO,EAAKG,WAAYT,WAAW,GAAQ,IACvFU,OAAM,KACPH,KAAKC,SAAS,CAAER,WAAW,GAAQ,GAEvC,CAEAW,SACE,MAAM,KAAEC,EAAI,YAAEC,GAAgBN,KAAKO,OAC7B,UAAEd,EAAS,QAAEF,EAAO,YAAEC,GAAgBQ,KAAKQ,MAEjD,OACEC,YAACC,IAAM,CAACC,gBAAiBL,EAAaM,MAAOP,EAAKQ,cAAchC,EAASE,aAAO,EAC9E0B,YAAA,OAAKK,UAAU,kCAA2B,EACxCL,YAAA,OAAKK,UAAU,qBAAc,EAC3BL,YAAA,eAAIA,YAACM,IAAgB,CAAC/B,GAAE,uBAAwBC,eAAe,oBAC/DwB,YAAA,cAAGA,YAACM,IAAgB,CAAC/B,GAAE,8BAA+BC,eAAe,sBAAsB+B,OAAQ,CAAEC,KAAMxB,EAAYgB,YAACS,IAAQ,CAACC,MAAM,SAAYV,YAACW,IAAa,CAACC,MAAO7B,EAAa8B,KAAK,UAAUC,MAAM,QAAQC,IAAI,iBAGzNf,YAAA,OACEK,UAAU,6BACVW,wBAAyB,CAAEC,OAAQnC,MAIvCkB,YAACkB,IAAM,UACLlB,YAAA,kBAAQJ,EAAKQ,cAAchC,EAASE,QACpC0B,YAAA,QAAMmB,KAAK,SAASrC,QAAQ,SAIpC,EAIasC,sBAAW3C,E","file":"js/features/privacy_policy-ea0a8c9309c72f81a62a.chunk.js","sourcesContent":["import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage, FormattedDate, injectIntl, defineMessages } from 'react-intl';\n\nimport { Helmet } from 'react-helmet';\n\nimport api from 'mastodon/api';\nimport Column from 'mastodon/components/column';\nimport { Skeleton } from 'mastodon/components/skeleton';\n\nconst messages = defineMessages({\n  title: { id: 'privacy_policy.title', defaultMessage: 'Privacy Policy' },\n});\n\nclass PrivacyPolicy extends PureComponent {\n\n  static propTypes = {\n    intl: PropTypes.object,\n    multiColumn: PropTypes.bool,\n  };\n\n  state = {\n    content: null,\n    lastUpdated: null,\n    isLoading: true,\n  };\n\n  componentDidMount () {\n    api().get('/api/v1/instance/privacy_policy').then(({ data }) => {\n      this.setState({ content: data.content, lastUpdated: data.updated_at, isLoading: false });\n    }).catch(() => {\n      this.setState({ isLoading: false });\n    });\n  }\n\n  render () {\n    const { intl, multiColumn } = this.props;\n    const { isLoading, content, lastUpdated } = this.state;\n\n    return (\n      <Column bindToDocument={!multiColumn} label={intl.formatMessage(messages.title)}>\n        <div className='scrollable privacy-policy'>\n          <div className='column-title'>\n            <h3><FormattedMessage id='privacy_policy.title' defaultMessage='Privacy Policy' /></h3>\n            <p><FormattedMessage id='privacy_policy.last_updated' defaultMessage='Last updated {date}' values={{ date: isLoading ? <Skeleton width='10ch' /> : <FormattedDate value={lastUpdated} year='numeric' month='short' day='2-digit' /> }} /></p>\n          </div>\n\n          <div\n            className='privacy-policy__body prose'\n            dangerouslySetInnerHTML={{ __html: content }}\n          />\n        </div>\n\n        <Helmet>\n          <title>{intl.formatMessage(messages.title)}</title>\n          <meta name='robots' content='all' />\n        </Helmet>\n      </Column>\n    );\n  }\n\n}\n\nexport default injectIntl(PrivacyPolicy);\n"],"sourceRoot":""}