{"version":3,"sources":["pages/APIPage/tabs/APIDefaultView.js","pages/APIPage/queries.js","pages/APIPage/tabs/APIDocumentationView.js","pages/APIPage/tabs/APIGraphiQLView.js","pages/APIPage/tabs/APISandboxView.js","pages/APIPage/tabs/APIV2SandboxView.js","pages/APIPage/APIPage.js","pages/APIPage/index.js","hooks/useFormatMessage.ts","helpers/toast.ts","components/Layouts/Footer/index.tsx","components/Layouts/Header/index.tsx","components/Layouts/PublicBasePage/index.tsx","components/Layouts/PublicBasePage/PublicBasePage.module.scss","models/Publications/operations.ts","components/Layouts/Footer/Footer.module.scss","components/Layouts/Header/Header.module.scss","components/Layouts/Header/logo.png","pages/APIPage/APIPage.module.scss"],"names":["APIDefaultView","formatMessage","useFormatMessage","React","createElement","Grid","container","item","sm","className","styles","title","FormattedMessage","id","Typography","Alert","severity","href","concat","getEnvVar","justifyContent","alignItems","spacing","card_container","xs","xl","Card","CardContent","variant","component","card_pos","color","CardActions","card_actions","Tooltip","Button","startIcon","FileCopyIcon","onClick","copy","toast","bind","size","direction","md","ls","window","open","target","support","queryMutationSignIn","queryPublishedAlerts","queryPublishedAlert","queryAlertReport","queryAlertFromCAR","queryActionsByAlert","queryTerritories","queryMyMaps","queryMutationSignInGraphQL","variablesMutationSignInGraphQL","queryTerritoriesGraphQL","variablesTerritoriesGraphQL","queryAlertsFromCarGraphQL","variablesAlertsFromCarGraphQL","queryAlertReportGraphQL","variablesAlertReportGraphQL","queryActionsByAlertGraphQL","variablesActionsByAlertGraphQL","queryPublishedAlertsGraphQL","queryPublishedAlertGraphQL","variablesPublishedAlertsGraphQL","queryMyMapsGraphQL","variablesMyMapsGraphQL","variablesPublishedAlertGraphQL","TabPanel","props","children","value","index","other","_objectWithoutProperties","Object","assign","role","hidden","aria-labelledby","Box","p","a11yProps","aria-controls","useStyles","makeStyles","theme","root","flexGrow","width","APIDocumentationView","classes","_React$useState","useState","_React$useState2","_slicedToArray","setValue","param_url","block_graphql_code","code","showLineNumbers","CopyBlock","text","language","dracula","wrapLines","customStyle","fontSize","code_graphql","Code","useEffect","document","location","hash","indexOf","replace","Tabs","onChange","event","newValue","indicatorColor","textColor","scrollButtons","aria-label","Tab","label","ButtonGroup","PlayCircleOutlineIcon","appBar","position","toolbar","backgroundColor","graphiqlGrid","textAlign","marginLeft","flex","APISandboxView","fetcher","createGraphiQLFetcher","url","headers","Authorization","localStorage","tokenAPI","_useState","_useState2","queryGraphl","setQueryGraphl","_useState3","_useState4","variablesGraphl","setVariablesGraphl","queries_graphql","variables_graphql","_useState5","_useState6","containerAPI","GraphiQL","editorTheme","query","variables","Transition","forwardRef","ref","Slide","graphqiql_interface","setOpen","handleClose","content","buttonFullScreen","FullscreenIcon","Dialog","fullScreen","onClose","TransitionComponent","AppBar","Toolbar","IconButton","edge","CloseIcon","DialogContent","paddingTop","APIPage","PublicBasePage","simple","Switch","Route","exact","path","pathname","APIGraphiQLView","APIV2SandboxView","__webpack_require__","d","__webpack_exports__","react_intl__WEBPACK_IMPORTED_MODULE_0__","useIntl","_core_apollo_client_v2_apollo_client__WEBPACK_IMPORTED_MODULE_0__","arguments","length","undefined","client","writeData","data","__typename","visible","Footer","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","react_intl__WEBPACK_IMPORTED_MODULE_1__","_material_ui_core_Link__WEBPACK_IMPORTED_MODULE_2__","_Footer_module_scss__WEBPACK_IMPORTED_MODULE_3__","_Footer_module_scss__WEBPACK_IMPORTED_MODULE_3___default","wrapper","copyText","alertText","process","Link","withRouter","_ref","_localStorage","_localStorage2","_localStorage6","_localStorage7","_localStorage8","_localStorage9","_localStorage10","_localStorage11","_localStorage12","_localStorage13","_localStorage14","_localStorage15","_ref$simple","useApolloClient","token","getItem","profile","_","get","search","isOnLandingPage","includes","isMobile","useMediaQuery","baseData","useQuery","GET_ACTIVE_ALERT_VISIBLE_AND_BATCH_EXPORT_REPORTS","menuIsVisible","filtersVisibility","queryString","queryObject","qs","parse","omit","stringify","encodeValuesOnly","pathSignIn","_useQuery2","LAST_ALERT_PUBLICATION","skip","_useMutation","loading","useMutation","SIGN_OUT","onCompleted","onError","signOut","updateClientAppState","params","app","_objectSpread","toggleFilters","handleCloseMobileMenu","mobileMenuIsVisible","handleOpenGuidedTour","openTourGuided","filtersAreVisible","handleExit","resetToken","sessionToken","handleLocaleChange","locale","_localStorage3","setItem","reload","anchorLocaleEl","setAnchorLocaleEl","_React$useState3","_React$useState4","anchorLaucherEl","setAnchorLaucherEl","_React$useState5","_React$useState6","anchorPerfilEl","setAnchorPerfilEl","noteOpen","setNoteOpen","_localStorage4","noticeRead","Number","Date","now","isDocumentRecentlyRead","handleNoteDialogClose","reason","_localStorage5","String","classnames","_defineProperty","wrapperSimple","topContent","logoImage","src","logo","alt","actions","navList","NavLink","navLinkActive","to","isModule","activeClassName","navListItemSpacing","navListItemNotification","PriorityHighIcon","LiveHelpIcon","navListItemTranslate","TranslateIcon","endIcon","Boolean","ExpandLessIcon","ExpandMoreIcon","currentTarget","Menu","anchorEl","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","keepMounted","aria-haspopup","MenuItem","selected","this","navListItemGrap","navListItemLogin","InputIcon","PersonIcon","split","menuItemSubMenu","Fragment","Divider","navListItemLaucher","AppsRoundedIcon","navMenuLaucherMenu","name","image","map","iniciative","key","navMenuLaucherItem","menuButton","menuButtonActive","MenuIcon","mobileMenuNav","mobileMenuNavIsVisible","style","height","innerHeight","navListMobile","navListMobileLink","navListMobileLinkActive","navListMobileIconItem","navListMobileItemLogin","navListMobileItemUserInfo","ExitToAppIcon","scroll","DialogTitle","dividers","DialogContentText","listStyle","marginBottom","DialogActions","HEADER_HEIGHT","HEADER_SIMPLE_HEIGHT","FOOTER_HEIGHT","_ref$match","match","_useLazyQuery","useLazyQuery","GET_CURRENT_USER_ID","_useLazyQuery2","checkUserTokenStatus","userIdData","DEFAULT_LANGUAGE","headerHeight","windowHeight","setWindowHeight","contentHeight","setContentHeight","routes_paths","find","x","alertId","carId","addEventListener","debouncedUpdateHeight","removeEventListener","currentUserId","debounce","pageWrapper","locale-en","Header","contentWrapper","minHeight","module","exports","kind","definitions","operation","variableDefinitions","directives","selectionSet","selections","loc","start","end","source","body","locationOffset","line","column","ecostageImage","primaryColor","secondaryColor","thirdColor","fourthColor","fifthColor","sixthColor","blackColor","blackColorSecondary","blackColorThird","blackDisabled","blackHint","grayColor","whiteColor","whiteTrueColor","errorColor","successColor","waitingColor","fontFamily","bottomContent","bottomRightContent","profileBox","link","activeLink","signInButton","signInButtonIcon","signInButtonText","locationIcon","autocompleteOptionTitle","autocompleteOptionSubtitle","infoList","infoItem","infoItemBadgeTotalTag","infoItemLabel","infoItemValue","actionControls","actionControlsWithPadding","actionButton","actionButtonIconBadge","actionButtonIconWrapper","spin","actionButtonLeft","actionButtonActive","actionButtonActiveLeft","actionsSeparator","MuiButton-endIcon","MuiButton-startIcon","loadingAggregationWrapper","navListItemUserInfo","navListItemUserInfoName","profileBoxLink","exitButton","betaInfo","actionButtonIconFile","navListItemApi","navListItemGenerateReports","section","titleSecondary","videoContainer","text_info","tab_root"],"mappings":"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","file":"static/js/611.5a4671a0.chunk.js","sourcesContent":["import Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport {FormattedMessage} from 'react-intl';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardActions from '@material-ui/core/CardActions';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Button from '@material-ui/core/Button';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport React from 'react';\nimport copy from 'copy-to-clipboard';\nimport toast from '../../../helpers/toast';\nimport useFormatMessage from '../../../hooks/useFormatMessage';\nimport styles from './../APIPage.module.scss';\nimport Alert from '@material-ui/lab/Alert';\nimport { getEnvVar } from '../../../helpers/tenant';\n\nexport default function APIDefaultView(){\n\n  const endPointURL = 'https://plataforma.alerta.mapbiomas.org/api/v1/graphql';\n  const formatMessage = useFormatMessage();\n\n  const handleCopy = () => {\n    if (copy) {\n      copy(endPointURL);\n      toast(formatMessage('map_controls.share_box.actions.copy_success'));\n    }\n  };\n\n  return (\n    <Grid container>\n      <Grid item sm={ 12 }>\n        <h1 className={ styles.title }><FormattedMessage id=\"api.title.api\" /></h1>\n      </Grid>\n      <Grid item sm={ 12 }>\n        <Typography>\n          <Alert severity=\"error\"><b>Atenção!</b> Esta versão continuará ativa até 30/11/2023 e a partir desta data será removida do catálogo de serviços disponíveis aos parceiros, por favor visite a documentação da API V2. <br/> <b><a href={`${getEnvVar('api_url')}/api/v2`}>Acessar documentação</a>.</b> </Alert>\n        </Typography>\n      </Grid>\n      <Grid item sm={ 12 }>\n        <Typography>\n          <FormattedMessage id=\"api.default.definition_1\" />\n        </Typography>\n        \n      </Grid>\n      <Grid item sm={ 12 }>\n        <Grid container justifyContent=\"center\" alignItems=\"center\" spacing={ 3 } className={ styles.card_container }>\n          <Grid item xs={ 12 } sm={ 10 } xl={ 10 }>\n            <Card>\n              <CardContent>\n                <Typography variant=\"h6\" component=\"h2\">\n                  <FormattedMessage id=\"api.fields.endpoint\" />\n                </Typography>\n                <Typography className={ styles.card_pos } color=\"textSecondary\">\n                  https://plataforma.alerta.mapbiomas.org/api/v1/graphql\n                </Typography>\n              </CardContent>\n              <CardActions className={ styles.card_actions }>\n                <Tooltip title={ <FormattedMessage id='api.fields.endpoint_tooltip' /> }>\n                  <Button\n                    startIcon={ <FileCopyIcon /> }\n                    onClick={ handleCopy.bind() }\n                    size='small'\n                  >\n                    <FormattedMessage id=\"api.fields.copy_address\" />\n                  </Button>\n                </Tooltip>\n              </CardActions>\n            </Card>\n          </Grid>\n        </Grid>\n      </Grid>\n      <Grid item sm={ 12 }>\n        <Typography>\n          <FormattedMessage id=\"api.default.definition_2\" />\n        </Typography>\n      </Grid>\n      <Grid item sm={ 12 } className={ styles.card_container }>\n        <Grid container spacing={ 3 } direction=\"row\" justifyContent=\"center\" alignItems=\"center\">\n          <Grid item sm={ 10 } md={ 4 } ls={ 3 }>\n            <Card>\n              <CardContent>\n                <Typography variant=\"h5\" component=\"h2\" className={ styles.card_pos }>\n                  <FormattedMessage id=\"api.fields.documentation\" />\n                </Typography>\n                <Typography variant=\"body2\" component=\"p\">\n                  <FormattedMessage id=\"api.fields.documentation_description\" />\n                </Typography>\n              </CardContent>\n              <CardActions className={ styles.card_actions }>\n                <Tooltip title={ <FormattedMessage id='api.fields.documentation_tooltip' /> }>\n                  <Button\n                    onClick={ () => { window.open('/api/v1/documentation','documentation') } }\n                    size='small'\n                  >\n                    <FormattedMessage id=\"api.fields.see\" />\n                  </Button>\n                </Tooltip>\n              </CardActions>\n            </Card>\n          </Grid>\n          <Grid item sm={ 10 } md={ 4 } ls={ 3 }>\n            <Card>\n              <CardContent>\n                <Typography variant=\"h5\" component=\"h2\" className={ styles.card_pos }>\n                  <FormattedMessage id=\"api.fields.sandbox\" />\n                </Typography>\n                <Typography variant=\"body2\" component=\"p\">\n                  <FormattedMessage id=\"api.fields.sandbox_description\" />\n                </Typography>\n              </CardContent>\n              <CardActions className={ styles.card_actions }>\n                <Tooltip title={ <FormattedMessage id='api.fields.sandbox_tooltip' /> }>\n                  <Button\n                    onClick={ () => { window.open('/api/v1/sandbox','sandbox') } }\n                    size='small'\n                  >\n                    <FormattedMessage id=\"api.fields.open\" />\n                  </Button>\n                </Tooltip>\n              </CardActions>\n            </Card>\n          </Grid>\n          <Grid item sm={ 10 } md={ 4 } ls={ 3 }>\n            <Card>\n              <CardContent>\n                <Typography variant=\"h5\" component=\"h2\" className={ styles.card_pos }>\n                  <FormattedMessage id=\"api.fields.graphql\" />\n                </Typography>\n                <Typography variant=\"body2\" component=\"p\">\n                  <FormattedMessage id=\"api.fields.graphql_description\" />\n                </Typography>\n              </CardContent>\n              <CardActions className={ styles.card_actions }>\n                <Tooltip title={ <FormattedMessage id='api.fields.graphql_tooltip' /> }>\n                  <Button\n                    onClick={ () => { window.open('/api/v1/graphiql','graphiql') } }\n                    size='small'\n                  >\n                    Ir\n                  </Button>\n                </Tooltip>\n              </CardActions>\n            </Card>\n          </Grid>\n        </Grid>\n      </Grid>\n      <Grid item sm={ 12 }>\n        <Typography>\n          <FormattedMessage id=\"api.default.definition_3\" /> <a href='https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/overview' target='_blank'><FormattedMessage id=\"api.default.definition_3_1\" /></a> <FormattedMessage id=\"api.default.definition_3_2\" /> <a href='https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/overview'  target='_blank'>desktop</a>.\n        </Typography>\n      </Grid>\n      <Grid item sm={ 12 }>\n        <Typography variant=\"body2\" component=\"p\" className={ styles.support }>\n          <FormattedMessage id=\"api.default.definition_4\" /> <a href=\"mailto:suporte.alerta@mapbiomas.org\">suporte.alerta@mapbiomas.org</a>.\n        </Typography>\n      </Grid>\n    </Grid>\n  )\n}\n","export const queryMutationSignIn =\n  `mutation sign_in($email: String!, $password: String!) {\n    signIn(email:$email, password:$password){\n      token\n    }\n  }`\nexport const variablesMutationSignIn =\n  `variables:{\n    \"email\": \"EMAIL\",\n    \"password\": \"PASSWORD\"\n  }`\nexport const queryPublishedAlerts =\n  `query published_alerts($startDetectedAt: String!, $endDetectedAt:String!, $startPublishedAt:String!, $endPublishedAt:String!) {\n    publishedAlerts(startDetectedAt: $startDetectedAt, endDetectedAt: $endDetectedAt, startPublishedAt: $startPublishedAt, endPublishedAt: $endPublishedAt) {\n      alertCode\n      areaHa\n      cars {\n        carCode\n        carType\n        carModule\n        geom\n      }\n      bbox\n      sources\n      alertInsertedAt\n      detectedAt\n      coordinates {\n        latitude\n        longitude\n      }\n    }\n  }\\n`\nexport const variablesPublishedAlerts =\n  `variables: {\n    \"startDetectedAt\": \"2020-01-01\",\n    \"endDetectedAt\": \"2021-12-30\",\n    \"startPublishedAt\": \"2020-01-01\",\n    \"endPublishedAt\": \"2021-12-30\",\n    \"offset\": 0,\n    \"limit\": 100\n  }`\nexport const queryPublishedAlert =\n  `query published_alert($alertCode: String!){\n    publishedAlert(alertCode: $alertCode){\n      alertGeometryId\n      alertBiomes\n      alertCities\n      alertStates\n      ruralProperties\n      detectedAt\n      areaHa\n      sources\n      bbox\n      publishedAt\n      deforestationClass\n    }\n  }`\nexport const variablesPublishedAlert =\n  `variables: {\n     \"alertCode\": 0\n  }`\nexport const queryAlertReport =\n  `query alert_report($alertCode:Int!) {\n    alertReport(alertCode:$alertCode){\n      alertCode\n      carCode\n      source \n      images {\n        after {\n          satellite\n          url\n        }\n        before {\n          satellite\n          url\n        }\n      }\n      changes {\n        labels\n        overYears {\n          year\n          imageUrl\n        }\n      }\n      warnings\n    }\n  }`\nexport const variablesAlertReport =\n  `variables: {\n    \"alertCode\": 0\n  }`\nexport const queryAlertFromCAR =\n  `query alert_from_car($carCode:String!) {\n    alertsFromCar(carCode:$carCode) \n  }`\nexport const variablesAlertFromCAR =\n  `variables: {\n    \"carCode\": \"XX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX\"\n  }`\nexport const queryActionsByAlert =\n  `query actions_by_alert($alertCode: Int!) {\n    actionsByAlert(alertCode: $alertCode){\n      actionDate\n      actionType\n      description\n      ruralPropertyId\n      link\n    }\n  }`\nexport const variablesActionsByAlert =\n  `variables: {\n    \"alertCode\": 0\n  }`\nexport const queryTerritories =\n  `query territories($category:TerritoryCategoryEnum) {\n    territories(category:$category){\n      id\n      name\n      areaHa\n      categoryName \n    }\n  }`\nexport const variablesTerritories =\n  `variables: {\n    \"category\": 'BIOME'\n  }`\nexport const queryMyMaps =\n  `query my_maps{\n    myMaps{\n      alertNotifications {\n      alert{\n          alertCode\n          alertInsertedAt\n          bbox\n        }\n      }\n      name\n      territories {\n        name\n        version\n      }\n    }\n  }`\nexport const variablesMyMap =\n  `variables: {\n   }`\n\nexport const queryMutationSignInGraphQL =\n  'mutation sign_in($email: String!, $password: String!) {\\n' +\n  '  signIn(email:$email, password:$password){\\n' +\n  '    token\\n' +\n  '  }\\n' +\n  '}'\n\nexport const variablesMutationSignInGraphQL =\n  '{\\n' +\n  ' \"email\": \"<EMAIL>\",\\n' +\n  ' \"password\": \"<SENHA>\"\\n' +\n  '}\\n'\nexport const queryTerritoriesGraphQL =\n  'query territories($category: TerritoryCategoryEnum){\\n' +\n  '  territories(category:$category){\\n' +\n  '    id\\n' +\n  '    name\\n' +\n  '    areaHa\\n' +\n  '    categoryName\\n' +\n  '  }\\n' +\n  '}'\n\nexport const variablesTerritoriesGraphQL =\n  '{\\n'+\n  ' \"category\": \"BIOME\"'+\n  '}'\n\nexport const queryAlertsFromCarGraphQL =\n  'query alert_from_car($carCode:String!) {\\n' +\n  '  alertsFromCar(carCode:$carCode) \\n' +\n  '}'\n\nexport const variablesAlertsFromCarGraphQL =\n  '{\\n' +\n  ' \"carCode\": \"XX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX\"\\n' +\n  '}'\nexport const queryAlertReportGraphQL =\n  'query alert_report($alertCode:Int!) {\\n' +\n  '  alertReport(alertCode:$alertCode){\\n' +\n  '    alertCode\\n' +\n  '    carCode\\n' +\n  '    source \\n' +\n  '    images {\\n' +\n  '      after {\\n' +\n  '        satellite\\n' +\n  '        url\\n' +\n  '      }\\n' +\n  '      before {\\n' +\n  '        satellite\\n' +\n  '        url\\n' +\n  '      }\\n' +\n  '    }\\n' +\n  '    changes {\\n' +\n  '      labels\\n' +\n  '      overYears {\\n' +\n  '        year\\n' +\n  '        imageUrl\\n' +\n  '      }\\n' +\n  '    }\\n' +\n  '    warnings\\n' +\n  '  }\\n' +\n  '}'\n\nexport const variablesAlertReportGraphQL =\n  '{\\n' +\n  '\"alertCode\": 0\\n' +\n  '}\\n'\nexport const queryActionsByAlertGraphQL =\n  'query actions_by_alert($alertCode: Int!) {\\n' +\n  '  actionsByAlert(alertCode: $alertCode){\\n' +\n  '    actionDate\\n' +\n  '    actionType\\n' +\n  '    description\\n' +\n  '    ruralPropertyId\\n' +\n  '    link\\n' +\n  '  }\\n' +\n  '}'\nexport const variablesActionsByAlertGraphQL =\n  '{\\n' +\n  ' \"alertCode\": 0\\n' +\n  '}\\n'\nexport const queryPublishedAlertsGraphQL =\n  'query published_alerts($startDetectedAt: String!, $endDetectedAt:String!, $startPublishedAt:String!, $endPublishedAt:String!, $limit: Int, $offset: Int) {\\n' +\n  '  publishedAlerts(startDetectedAt: $startDetectedAt, endDetectedAt: $endDetectedAt, startPublishedAt: $startPublishedAt, endPublishedAt: $endPublishedAt, limit: $limit, offset: $offset) {\\n' +\n  '    alertCode\\n' +\n  '    areaHa\\n' +\n  '    sources\\n' +\n  '    bbox\\n' +\n  '    detectedAt\\n'+\n  '    alertInsertedAt\\n'+\n  '    cars {\\n' +\n  '      carCode\\n' +\n  '      carType\\n' +\n  '      carModule\\n' +\n  '      geom\\n' +\n  '    }\\n' +\n  '    coordinates {\\n' +\n  '      latitude\\n' +\n  '      longitude\\n' +\n  '    }\\n' +\n  '  }\\n' +\n  '}'\nexport const queryPublishedAlertGraphQL =\n  'query published_alert($alertCode: String!) {\\n' +\n  '  publishedAlert(alertCode: $alertCode) {\\n' +\n  '    alertCode\\n' +\n  '    areaHa\\n' +\n  '    sources\\n' +\n  '    bbox\\n' +\n  '    alertBiomes\\n' +\n  '    alertCities\\n' +\n  '    alertStates\\n' +\n  '    detectedAt\\n' +\n  '    publishedAt\\n'+\n  '    deforestationClass\\n'+\n  '  }\\n' +\n  '}'\nexport const variablesPublishedAlertsGraphQL =\n  '{\\n' +\n  '  \"startDetectedAt\": \"2020-01-01\",\\n' +\n  '  \"endDetectedAt\": \"2021-12-30\",\\n' +\n  '  \"startPublishedAt\": \"2020-01-01\",\\n' +\n  '  \"endPublishedAt\": \"2021-12-30\",\\n' +\n  '  \"offset\": 0,\\n' +\n  '  \"limit\": 100\\n' +\n  '}\\n'\n\nexport const queryMyMapsGraphQL =\n  'query my_maps{\\n'+\n  '  myMaps{\\n'+\n  '   alertNotifications {\\n'+\n  '   alert{\\n'+\n  '       alertCode\\n'+\n  '       alertInsertedAt\\n'+\n  '       bbox\\n'+\n  '     }\\n'+\n  '   }\\n'+\n  '   name\\n'+\n  '   territories {\\n'+\n  '     name\\n'+\n  '     version\\n'+\n  '   }\\n'+\n  ' }\\n'+\n  '}'\n\nexport const variablesMyMapsGraphQL =\n  `{\\n\n   }`\n\nexport const variablesPublishedAlertGraphQL = '' +\n  '{\\n' +\n  '  \"alertCode\": \"0\"\\n' +\n  '}\\n'\n","import React, {useEffect} from 'react';\nimport styles from '../APIPage.module.scss';\nimport {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from '@material-ui/core/Tooltip';\nimport ButtonGroup from '@material-ui/core/ButtonGroup';\nimport PlayCircleOutlineIcon from '@material-ui/icons/PlayCircleOutline';\nimport Grid from '@material-ui/core/Grid';\nimport useFormatMessage from '../../../hooks/useFormatMessage';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport {makeStyles} from '@material-ui/core/styles';\nimport {Code, CopyBlock, dracula} from 'react-code-blocks';\nimport Button from '@material-ui/core/Button';\nimport Alert from '@material-ui/lab/Alert';\nimport {\n  queryActionsByAlert,\n  queryAlertFromCAR,\n  queryAlertReport,\n  queryMutationSignIn,\n  queryMyMaps,\n  queryPublishedAlert,\n  queryPublishedAlerts,\n  queryTerritories,\n} from '../queries'\nimport { getEnvVar } from '../../../helpers/tenant';\n\nfunction TabPanel(props) {\n  const { children, value, index, ...other } = props;\n\n  return (\n    <div\n      role=\"tabpanel\"\n      hidden={ value !== index }\n      id={ `scrollable-auto-tabpanel-${index}` }\n      aria-labelledby={ `scrollable-auto-tab-${index}` }\n      { ...other }\n    >\n      { value === index && (\n        <Box p={ 3 }>\n          <Typography>{ children }</Typography>\n        </Box>\n      ) }\n    </div>\n  );\n}\n\nTabPanel.propTypes = {\n  children: PropTypes.node,\n  index: PropTypes.any.isRequired,\n  value: PropTypes.any.isRequired,\n};\n\nfunction a11yProps(index) {\n  return {\n    id: `scrollable-auto-tab-${index}`,\n    'aria-controls': `scrollable-auto-tabpanel-${index}`,\n  };\n}\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    flexGrow: 1,\n    width: '100%',\n  },\n}));\n\n\nexport default function APIDocumentationView() {\n\n  const classes = useStyles();\n  const formatMessage = useFormatMessage();\n  const [value, setValue] = React.useState(1);\n\n  const param_url = ['sign_in','published_alerts','published_alert','report','alerts_from_car','actions_from_alert','territories','my_maps']\n\n  const handleChange = (event, newValue) => {\n    setValue(newValue);\n    document.location.hash='#'+param_url[newValue]\n  };\n\n  useEffect(()=>{\n    if(document.location.hash){\n      if(param_url.indexOf(document.location.hash.replace('#','')) >= 0){\n        setValue(param_url.indexOf(document.location.hash.replace('#','')))\n      }\n    }\n  },[])\n\n  function block_graphql_code(code, showLineNumbers) {\n    return (\n      <CopyBlock\n        text={ code }\n        language={ 'graphql' }\n        showLineNumbers={ showLineNumbers }\n        theme={ dracula }\n        wrapLines={ true }\n        customStyle={{\n          fontSize: '0.85rem',\n        }}\n      />\n    );\n  }\n\n  function code_graphql(code) {\n    return (\n      <Code\n        text={ code }\n        language={ 'graphql' }\n        theme={ dracula }\n        customStyle={{\n          fontSize: '0.80rem',\n        }}\n      />\n    );\n  }\n\n\n  return (\n    <Grid container>\n      <Grid item xs={ 12 }>\n        <h1 className={ styles.title }><FormattedMessage id=\"api.title.documentation\" /></h1>\n      </Grid>\n      <div className={ classes.root }>\n        <Tabs\n          value={ value }\n          onChange={ handleChange }\n          indicatorColor=\"primary\"\n          textColor=\"primary\"\n          variant=\"scrollable\"\n          scrollButtons=\"auto\"\n          aria-label=\"scrollable auto tabs example\"\n        >\n          <Tab label={ <FormattedMessage id=\"api.documentation.sign_in.title\" /> } { ...a11yProps(0) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.published_alerts.title\" /> } { ...a11yProps(1) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.published_alert.title\" /> } { ...a11yProps(2) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.report.title\" /> } { ...a11yProps(3) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.alerts_from_car.title\" /> } { ...a11yProps(4) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.actions_from_alert.title\" /> } { ...a11yProps(5) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.territories.title\" /> } { ...a11yProps(6) } />\n          <Tab label={ <FormattedMessage id=\"api.documentation.my_maps.title\" /> } { ...a11yProps(7) } />\n        </Tabs>\n        <TabPanel value={ value } index={ 0 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.sign_in.definition_1\" /> { code_graphql('mutation signIn') } <FormattedMessage id=\"api.documentation.sign_in.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='secondary'>\n                <FormattedMessage id=\"api.documentation.sign_in.definition_2\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryMutationSignIn,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#sign_in','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-a43d70ea-29ef-4f69-94ce-3d237b0588d2','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.sign_in.create_account.definition_2\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='h5'>\n                <FormattedMessage id=\"api.documentation.sign_in.create_account.title\" />\n              </Typography>\n            </Grid>\n            <Grid item  sm={ 12 }>\n              <Typography variant='secondary'>\n                <FormattedMessage id=\"api.documentation.sign_in.create_account.definition_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.sign_in.definition_3\" /> <a href='#' onClick={ ()=>{ setValue(1) } }>Alerta Publicado</a> <FormattedMessage id=\"api.documentation.sign_in.definition_3_1\" /> <a href='#' onClick={ ()=>{ setValue(6) } }>Territórios</a> <FormattedMessage id=\"api.documentation.sign_in.definition_3_2\" />\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 1 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alerts.definition_1\" />  { code_graphql('query publishedAlerts') } <FormattedMessage id=\"api.documentation.published_alerts.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryPublishedAlerts,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#published_alerts','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-e35f1083-6c2c-4a2c-a6ac-af160c971254','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alerts.definition_3\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alerts.definition_2\" /> <a href='#' onClick={ ()=>{ setValue(2) } }><FormattedMessage id=\"api.documentation.published_alert.title\" /></a> <FormattedMessage id=\"api.documentation.published_alerts.definition_2_1\" /> <a href='#' onClick={ ()=>{ setValue(3) } }><FormattedMessage id=\"api.documentation.report.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 2 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alert.definition_1\" /> { code_graphql('query publishedAlert(alertCode: $alertCode)') }, <FormattedMessage id=\"api.documentation.published_alert.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryPublishedAlert,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#published_alert','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-5427c7ee-4143-4c1e-96a2-3498bc0a3fa1','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alert.definition_2\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.published_alert.definition_3\" /> <a href='#' onClick={ ()=>{ setValue(1) } }><FormattedMessage id=\"api.documentation.published_alerts.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 3 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.report.definition_1\" /> { code_graphql('query alertReport(alertCode: $alertCode)') }. <FormattedMessage id=\"api.documentation.report.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryAlertReport,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#report','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-a68de023-fd43-4a15-a2b9-34d37828d8dc','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.report.definition_2\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.report.definition_3\" />  <a href='#' onClick={ ()=>{ setValue(1) } }><FormattedMessage id=\"api.documentation.published_alerts.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 4 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.alerts_from_car.definition_1\" /> { code_graphql('query alertsFromCar(carCode: $carCode) ') }. <FormattedMessage id=\"api.documentation.alerts_from_car.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryAlertFromCAR,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#alerts_from_car','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-2f3948b8-a340-404c-a59b-6bc2d3581b49','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.alerts_from_car.definition_2\" /> <a href='#' onClick={ ()=>{ setValue(3) } }><FormattedMessage id=\"api.documentation.report.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 5 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='secondary'>\n                <FormattedMessage id=\"api.documentation.actions_from_alert.definition_1\" /> { code_graphql('query actionsByAlert(alertCode:$alertCode) ') } <FormattedMessage id=\"api.documentation.actions_from_alert.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryActionsByAlert,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#actions_from_alert','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-66dae437-42c8-4dd1-93bd-9b7eaad77b70','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.actions_from_alert.definition_2\" />\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 6 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.territories.definition_1\" /> { code_graphql('query territories(category: $category)') }. <FormattedMessage id=\"api.documentation.territories.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryTerritories,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#territories','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-cad0df57-23a0-40a8-b2ec-d0c0621d11a7','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.territories.definition_2\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.territories.definition_3\" /> <a href='#' onClick={ ()=>{ setValue(1) } }><FormattedMessage id=\"api.documentation.published_alerts.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n        <TabPanel value={ value } index={ 7 }>\n          <Grid container spacing={ 3 } justifyContent=\"flex-end\" alignItems=\"center\">\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.my_maps.definition_1\" /> { code_graphql('query myMaps()') } <FormattedMessage id=\"api.documentation.my_maps.definition_1_1\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              { block_graphql_code(queryMyMaps,true) }\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Grid container justifyContent='flex-end'>\n                <ButtonGroup color=\"primary\" aria-label=\"outlined primary button group\">\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_sandbox\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('/api/v1/sandbox#my_maps','sandbox') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Sandbox </Button>\n                  </Tooltip>\n                  <Tooltip title={ <FormattedMessage id=\"api.fields.run_postman\" /> }>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      onClick={ ()=> { window.open('https://www.postman.com/mabiomas-alerta-api/workspace/api-mapbiomas-alerta-client-compartilhado/request/18466584-abf549de-ac90-4eb8-ae3a-effe9efe3449','postman') } }\n                      startIcon={ <PlayCircleOutlineIcon /> }> Postman </Button>\n                  </Tooltip>\n                </ButtonGroup>\n              </Grid>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.my_maps.definition_3\" />\n              </Typography>\n            </Grid>\n            <Grid item sm={ 12 }>\n              <Typography variant='primary'>\n                <FormattedMessage id=\"api.documentation.my_maps.definition_2\" /> <a href='#' onClick={ ()=>{ setValue(1) } }><FormattedMessage id=\"api.documentation.published_alerts.title\" /></a>.\n              </Typography>\n            </Grid>\n          </Grid>\n        </TabPanel>\n      </div>\n      <Grid item xs={ 12 }>\n        <Typography>\n            <Alert severity=\"error\"><b>Atenção!</b> Esta versão continuará ativa até 30/11/2023 e a partir desta data será removida do catálogo de serviços disponíveis aos parceiros, por favor visite a documentação da API V2. <br/> <b><a href={`${getEnvVar('api_url')}/api/v2`}>Acessar documentação</a>.</b> </Alert>\n          </Typography>\n      </Grid>\n    </Grid>\n  )\n}\n","import React, {useEffect, useState} from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport {\n  queryActionsByAlertGraphQL,\n  queryAlertReportGraphQL,\n  queryAlertsFromCarGraphQL,\n  queryMutationSignInGraphQL,\n  queryMyMapsGraphQL,\n  queryPublishedAlertGraphQL,\n  queryPublishedAlertsGraphQL,\n  queryTerritoriesGraphQL,\n  variablesActionsByAlertGraphQL,\n  variablesAlertReportGraphQL,\n  variablesAlertsFromCarGraphQL,\n  variablesMutationSignInGraphQL,\n  variablesMyMapsGraphQL,\n  variablesPublishedAlertGraphQL,\n  variablesPublishedAlertsGraphQL,\n  variablesTerritoriesGraphQL\n} from '../queries';\n\nimport { createGraphiQLFetcher } from '@graphiql/toolkit';\nimport { GraphiQL } from 'graphiql';\nimport {FormattedMessage} from 'react-intl';\nimport styles from './../APIPage.module.scss';\nimport {makeStyles} from '@material-ui/core/styles';\n\nimport 'graphiql/graphiql.css';\nimport { getEnvVar } from '../../../helpers/tenant';\n\nconst useStyles = makeStyles((theme) => ({\n  appBar: {\n    position: 'relative',\n  },\n  toolbar: {\n    backgroundColor: '##f5f5f5'\n  },\n  graphiqlGrid: {\n    textAlign: 'right'\n  },\n  title: {\n    marginLeft: theme.spacing(2),\n    flex: 1,\n    color: '#7a7a7a'\n  },\n}));\n\nexport default function APISandboxView(){\n\n  const fetcher = createGraphiQLFetcher({\n    url: `${getEnvVar('api_url')}/api/v1/graphql`,\n    headers: { Authorization: `Bearer ${localStorage.tokenAPI}` },\n  });\n\n  const [queryGraphl, setQueryGraphl] = useState(queryPublishedAlertsGraphQL)\n  const [variablesGraphl, setVariablesGraphl] = useState(variablesPublishedAlertsGraphQL);\n\n  const param_url = ['sign_in','published_alerts','published_alert','report','alerts_from_car','actions_from_alert','territories','my_maps']\n  const queries_graphql = [queryMutationSignInGraphQL,queryPublishedAlertsGraphQL,queryPublishedAlertGraphQL,queryAlertReportGraphQL,queryAlertsFromCarGraphQL,queryActionsByAlertGraphQL,queryTerritoriesGraphQL,queryMyMapsGraphQL]\n  const variables_graphql = [variablesMutationSignInGraphQL,variablesPublishedAlertsGraphQL,variablesPublishedAlertGraphQL,variablesAlertReportGraphQL,variablesAlertsFromCarGraphQL,variablesActionsByAlertGraphQL,variablesTerritoriesGraphQL,variablesMyMapsGraphQL]\n\n  useEffect(()=>{\n    if(document.location.hash){\n      if(param_url.indexOf(document.location.hash.replace('#','')) >= 0){\n\n        const index = param_url.indexOf(document.location.hash.replace('#',''))\n\n        setQueryGraphl(queries_graphql[index])\n        setVariablesGraphl(variables_graphql[index])\n\n      }\n    }\n  },[document.location.hash])\n\n  const classes = useStyles();\n  const [open, setOpen] = useState(false);\n\n  const handleClickOpen = () => {\n    setOpen(true);\n  };\n\n  const handleClose = () => {\n    setOpen(false);\n  };\n\n  return (\n    <Grid container>\n      <Grid item xs={ 12 }>\n        <h1 className={ styles.title }><FormattedMessage id=\"api.title.graphiql\" /></h1>\n      </Grid>\n      <Grid item xs={ 12 } className={ styles.containerAPI }>\n        <GraphiQL fetcher={ fetcher } editorTheme={'dracula'} query={ queryGraphl } variables={ variablesGraphl }  />\n      </Grid>\n    </Grid>\n  );\n}","import React, {useEffect, useState} from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport {\n  queryActionsByAlertGraphQL,\n  queryAlertReportGraphQL,\n  queryAlertsFromCarGraphQL,\n  queryMutationSignInGraphQL,\n  queryMyMapsGraphQL,\n  queryPublishedAlertGraphQL,\n  queryPublishedAlertsGraphQL,\n  queryTerritoriesGraphQL,\n  variablesActionsByAlertGraphQL,\n  variablesAlertReportGraphQL,\n  variablesAlertsFromCarGraphQL,\n  variablesMutationSignInGraphQL,\n  variablesMyMapsGraphQL,\n  variablesPublishedAlertGraphQL,\n  variablesPublishedAlertsGraphQL,\n  variablesTerritoriesGraphQL\n} from '../queries';\n\nimport styles from './../APIPage.module.scss';\nimport {AppBar, Button, Dialog, DialogContent, IconButton, Slide, Typography} from '@material-ui/core';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport CloseIcon from '@material-ui/icons/Close';\nimport {makeStyles} from '@material-ui/core/styles';\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\nimport {FormattedMessage} from 'react-intl';\nimport { GraphiQL } from 'graphiql';\n\nimport 'graphiql/graphiql.css';\nimport { createGraphiQLFetcher } from '@graphiql/toolkit';\nimport { getEnvVar } from '../../../helpers/tenant';\n\nconst useStyles = makeStyles((theme) => ({\n  appBar: {\n    position: 'relative',\n  },\n  toolbar: {\n    backgroundColor: '##f5f5f5'\n  },\n  graphiqlGrid: {\n    textAlign: 'right'\n  },\n  title: {\n    marginLeft: theme.spacing(2),\n    flex: 1,\n    color: '#7a7a7a'\n  },\n}));\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n  return <Slide direction=\"up\" ref={ ref } { ...props } />;\n});\n\nexport default function APISandboxView(){\n  \n  const fetcher = createGraphiQLFetcher({\n    url: `${getEnvVar('api_url')}/api/v1/graphql`,\n    headers: { Authorization: `Bearer ${localStorage.tokenAPI}` },\n  });\n\n  const [queryGraphl, setQueryGraphl] = useState(queryPublishedAlertsGraphQL)\n  const [variablesGraphl, setVariablesGraphl] = useState(variablesPublishedAlertsGraphQL)\n\n  const graphqiql_interface = () => {\n    return (\n      <GraphiQL fetcher={ fetcher } editorTheme={'dracula'} query={ queryGraphl } variables={ variablesGraphl }  />\n    )\n  }\n\n  const param_url = ['sign_in','published_alerts','published_alert','report','alerts_from_car','actions_from_alert','territories','my_maps']\n  const queries_graphql = [queryMutationSignInGraphQL,queryPublishedAlertsGraphQL,queryPublishedAlertGraphQL,queryAlertReportGraphQL,queryAlertsFromCarGraphQL,queryActionsByAlertGraphQL,queryTerritoriesGraphQL,queryMyMapsGraphQL]\n  const variables_graphql = [variablesMutationSignInGraphQL,variablesPublishedAlertsGraphQL,variablesPublishedAlertGraphQL,variablesAlertReportGraphQL,variablesAlertsFromCarGraphQL,variablesActionsByAlertGraphQL,variablesTerritoriesGraphQL,variablesMyMapsGraphQL]\n\n  useEffect(()=>{\n    if(document.location.hash){\n      if(param_url.indexOf(document.location.hash.replace('#','')) >= 0){\n\n        const index = param_url.indexOf(document.location.hash.replace('#',''))\n\n        setQueryGraphl(queries_graphql[index])\n        setVariablesGraphl(variables_graphql[index])\n\n      }\n    }\n  },[document.location.hash])\n\n  const classes = useStyles();\n  const [open, setOpen] = React.useState(false);\n\n  const handleClickOpen = () => {\n    setOpen(true);\n  };\n\n  const handleClose = () => {\n    setOpen(false);\n  };\n\n  return (\n    <div>\n      <div className={ styles.content }>\n        <Grid container alignItems=\"center\" spacing={ 3 }>\n          <Grid item xs={ 12 }>\n            <h1 className={ styles.title }><FormattedMessage id=\"api.title.sandbox\" /></h1>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <Typography variant='body1'>\n              <FormattedMessage id=\"api.sandbox.definition_1\" /> <FormattedMessage id=\"api.sandbox.definition_2\" />\n            </Typography>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <div className={ styles.containerAPI }>\n              { !open && graphqiql_interface() }\n            </div>\n          </Grid>\n          <Grid item sm={ 12 } className={ styles.buttonFullScreen }>\n            <Button\n              variant=\"contained\"\n              color='secondary'\n              onClick={ ()=> { setOpen(true) } }\n              aria-label=\"full\"\n              size='small'\n              startIcon={ <FullscreenIcon /> }\n            >\n              <FormattedMessage id=\"api.sandbox.full_screen\" />\n            </Button>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <Typography variant='body1'>\n              <FormattedMessage id=\"api.sandbox.definition_3\" /> <a href='/api/v1/documentation'><FormattedMessage id=\"api.sandbox.documentation_simplified\" /></a> <FormattedMessage id=\"api.sandbox.definition_3_1\" /> <a href='https://graphql.org' target='_blank'>GraphQL.org</a> <FormattedMessage id=\"api.sandbox.definition_3_2\" />\n            </Typography>\n          </Grid>\n        </Grid>\n        <Grid item sm={ 12 }>\n          <Typography variant=\"body2\" component=\"p\" className={ styles.support }>\n            <FormattedMessage id=\"api.default.definition_4\" /> <a href=\"mailto:suporte.alerta@mapbiomas.org\">suporte.alerta@mapbiomas.org</a>.\n          </Typography>\n        </Grid>\n      </div>\n      <Dialog fullScreen open={ open } onClose={ handleClose } TransitionComponent={ Transition }>\n        <AppBar className={ classes.appBar }>\n          <Toolbar className={ classes.toolbar }>\n            <IconButton edge=\"start\" onClick={ handleClose } aria-label=\"close\">\n              <CloseIcon />\n            </IconButton>\n            <Typography variant=\"h6\" className={ classes.title }>\n              Graph<i>i</i>QL\n            </Typography>\n          </Toolbar>\n        </AppBar>\n        <DialogContent classes={{paddingTop: '30px'}}>\n          { open && graphqiql_interface() }\n        </DialogContent>\n      </Dialog>\n    </div>\n  )\n}","import React, {useEffect, useState} from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport styles from './../APIPage.module.scss';\nimport {AppBar, Button, Dialog, DialogContent, IconButton, Slide, Typography} from '@material-ui/core';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport CloseIcon from '@material-ui/icons/Close';\nimport {makeStyles} from '@material-ui/core/styles';\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\nimport {FormattedMessage} from 'react-intl';\nimport { GraphiQL } from 'graphiql';\n\nimport 'graphiql/graphiql.css';\nimport { createGraphiQLFetcher } from '@graphiql/toolkit';\nimport { getEnvVar } from '../../../helpers/tenant';\n\nconst useStyles = makeStyles((theme) => ({\n  appBar: {\n    position: 'relative',\n  },\n  toolbar: {\n    backgroundColor: '##f5f5f5'\n  },\n  graphiqlGrid: {\n    textAlign: 'right'\n  },\n  title: {\n    marginLeft: theme.spacing(2),\n    flex: 1,\n    color: '#7a7a7a'\n  },\n}));\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n  return <Slide direction=\"up\" ref={ ref } { ...props } />;\n});\n\nexport default function APISandboxView(){\n  \n  const fetcher = createGraphiQLFetcher({\n    url: `${getEnvVar('api_url')}/api/v2/graphql`,\n    headers: { Authorization: `Bearer ${localStorage.tokenAPI}` },\n  });\n\n  const graphqiql_interface = () => {\n    return (\n      <GraphiQL fetcher={ fetcher } editorTheme={'dracula'} />\n    )\n  }\n\n  useEffect(()=>{\n    if(document.location.hash){\n      if(param_url.indexOf(document.location.hash.replace('#','')) >= 0){\n\n        const index = param_url.indexOf(document.location.hash.replace('#',''))\n\n        setQueryGraphl(queries_graphql[index])\n        setVariablesGraphl(variables_graphql[index])\n\n      }\n    }\n  },[document.location.hash])\n\n  const classes = useStyles();\n  const [open, setOpen] = React.useState(false);\n\n  const handleClickOpen = () => {\n    setOpen(true);\n  };\n\n  const handleClose = () => {\n    setOpen(false);\n  };\n\n  return (\n    <div>\n      <div className={ styles.content }>\n        <Grid container alignItems=\"center\" spacing={ 3 }>\n          <Grid item xs={ 12 }>\n            <h1 className={ styles.title }><FormattedMessage id=\"api.v2.title.sandbox\" /></h1>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <Typography variant='body1'>\n              <FormattedMessage id=\"api.v2.sandbox.definition_1\" /> <FormattedMessage id=\"api.v2.sandbox.definition_2\" />\n            </Typography>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <div className={ styles.containerAPI }>\n              { !open && graphqiql_interface() }\n            </div>\n          </Grid>\n          <Grid item sm={ 12 } className={ styles.buttonFullScreen }>\n            <Button\n              variant=\"contained\"\n              color='secondary'\n              onClick={ ()=> { setOpen(true) } }\n              aria-label=\"full\"\n              size='small'\n              startIcon={ <FullscreenIcon /> }\n            >\n              <FormattedMessage id=\"api.v2.sandbox.full_screen\" />\n            </Button>\n          </Grid>\n          <Grid item sm={ 12 }>\n            <Typography variant='body1'>\n              <FormattedMessage id=\"api.v2.sandbox.definition_3\" /> <a href='/api/v2'><FormattedMessage id=\"api.v2.sandbox.documentation_simplified\" /></a> <FormattedMessage id=\"api.v2.sandbox.definition_3_1\" /> <a href='https://graphql.org' target='_blank'>GraphQL.org</a> <FormattedMessage id=\"api.v2.sandbox.definition_3_2\" />\n            </Typography>\n          </Grid>\n        </Grid>\n        <Grid item sm={ 12 }>\n          <Typography variant=\"body2\" component=\"p\" className={ styles.support }>\n            <FormattedMessage id=\"api.v2.default.definition_4\" /> <a href=\"mailto:suporte.alerta@mapbiomas.org\">suporte.alerta@mapbiomas.org</a>.\n          </Typography>\n        </Grid>\n      </div>\n      <Dialog fullScreen open={ open } onClose={ handleClose } TransitionComponent={ Transition }>\n        <AppBar className={ classes.appBar }>\n          <Toolbar className={ classes.toolbar }>\n            <IconButton edge=\"start\" onClick={ handleClose } aria-label=\"close\">\n              <CloseIcon />\n            </IconButton>\n            <Typography variant=\"h6\" className={ classes.title }>\n              Graph<i>i</i>QL\n            </Typography>\n          </Toolbar>\n        </AppBar>\n        <DialogContent classes={{paddingTop: '30px'}}>\n          { open && graphqiql_interface() }\n        </DialogContent>\n      </Dialog>\n    </div>\n  )\n}","import React, { useEffect } from 'react';\nimport { Route, Switch } from 'react-router-dom';\n\nimport { PublicBasePage } from '../../components/Layouts/PublicBasePage';\nimport { getEnvVar } from '../../helpers/tenant';\nimport toast from '../../helpers/toast';\nimport useFormatMessage from '../../hooks/useFormatMessage';\nimport styles from './APIPage.module.scss';\nimport APIDefaultView from './tabs/APIDefaultView';\nimport APIDocumentationView from './tabs/APIDocumentationView';\nimport APIGraphiQLView from './tabs/APIGraphiQLView';\nimport APISandboxView from './tabs/APISandboxView';\nimport APIV2SandboxView from './tabs/APIV2SandboxView';\n\nexport default function APIPage() {\n  const formatMessage = useFormatMessage();\n\n  useEffect(() => {\n    if (localStorage.tokenAPI !== 'null' && localStorage.tokenAPI != null && localStorage.tokenAPI !== '') {\n    } else {\n      toast(formatMessage('login_page.api_login'), 'warning');\n    }\n  }, []);\n\n  const redirectToAPiV2 = () => {\n    if (window.location.pathname === '/api') {\n      location.href = `${getEnvVar('api_url')}/api/v2`;\n    }\n  };\n\n  return (\n    <PublicBasePage simple>\n      <div className={styles.container}>\n        <Switch>\n          <Route exact path='/api/v1'>\n            <APIDefaultView />\n          </Route>\n          <Route exact path='/api'>\n            {redirectToAPiV2()}\n          </Route>\n          <Route exact path='/api/v1/documentation'>\n            <APIDocumentationView />\n          </Route>\n          <Route exact path='/api/v1/sandbox'>\n            <APISandboxView />\n          </Route>\n          <Route exact path='/api/v1/graphiql'>\n            <APIGraphiQLView />\n          </Route>\n          <Route exact path='/api/v2/sandbox'>\n            <APIV2SandboxView />\n          </Route>\n        </Switch>\n      </div>\n    </PublicBasePage>\n  );\n}\n","export { default } from './APIPage';\n","import { useIntl } from 'react-intl';\n\nexport default function useFormatMessage() {\n  const { formatMessage } = useIntl();\n  const format = (id: string) => formatMessage({ id });\n\n  return format;\n}\n","import client from '../core/apollo-client-v2/apollo-client';\n\nexport default function toast(content: string, severity = 'success') {\n  client.writeData({\n    data: {\n      toast: {\n        __typename: 'ToastState',\n        content,\n        severity,\n        visible: true\n      }\n    }\n  });\n}\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport Link from '@material-ui/core/Link';\n\nimport styles from './Footer.module.scss';\n\nexport function Footer() {\n  return (\n    <footer className={styles.wrapper}>\n      <small className={styles.copyText}>\n        © Copyright · MapBiomas Alerta · <FormattedMessage id='footer.copyright' />\n      </small>\n      <small className={styles.alertText}>\n        <span>\n          <FormattedMessage id='footer.version' /> {process.env.REACT_APP_GIT_TAG}&nbsp;&nbsp;·&nbsp;&nbsp;\n          <Link href='/terms'>\n            <FormattedMessage id='pages.terms_and_privacity' />\n          </Link>\n        </span>\n      </small>\n    </footer>\n  );\n}\n","import React, { Fragment, useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { NavLink, withRouter } from 'react-router-dom';\n\nimport { useApolloClient, useMutation, useQuery } from '@apollo/react-hooks';\nimport classnames from 'classnames';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport qs from 'qs';\n\nimport {\n  Button,\n  DialogActions,\n  DialogContent,\n  DialogContentText,\n  DialogTitle,\n  IconButton,\n  Menu,\n  MenuItem,\n  Typography,\n} from '@material-ui/core';\nimport Dialog from '@material-ui/core/Dialog';\nimport Divider from '@material-ui/core/Divider';\nimport Grid from '@material-ui/core/Grid';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport AppsRoundedIcon from '@material-ui/icons/AppsRounded';\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport InputIcon from '@material-ui/icons/Input';\nimport LiveHelpIcon from '@material-ui/icons/LiveHelp';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport PersonIcon from '@material-ui/icons/Person';\nimport PriorityHighIcon from '@material-ui/icons/PriorityHigh';\nimport TranslateIcon from '@material-ui/icons/Translate';\n\nimport resetToken from '../../../core/apollo-client-v2/helpers/resetToken';\nimport { isModule } from '../../../helpers/locale';\nimport useFormatMessage from '../../../hooks/useFormatMessage';\nimport { GET_ACTIVE_ALERT_VISIBLE_AND_BATCH_EXPORT_REPORTS } from '../../../models/InMemoryCache/localFields';\nimport { LAST_ALERT_PUBLICATION } from '../../../models/Publications/operations';\nimport { SIGN_OUT } from '../../../models/User/operations';\nimport { IHeaderProps, IInitiative } from './Header.interfaces';\n// @ts-ignore\nimport styles from './Header.module.scss';\n// @ts-ignore\nimport logo from './logo.png';\n\nfunction Header({ location, simple = false }: IHeaderProps) {\n  const formatMessage = useFormatMessage();\n  const client = useApolloClient();\n  const token = localStorage?.getItem('token') || '';\n  const profile = localStorage?.getItem('profile') || '';\n  const pathname = _.get(location, 'pathname');\n  const search = _.get(location, 'search');\n  let filteredLocationSearch = '';\n  const isOnLandingPage =\n    _.includes(pathname, '/mapa') ||\n    _.includes(pathname, '/lista') ||\n    _.includes(pathname, '/estatisticas') ||\n    _.includes(pathname, '/laudos-e-acoes');\n  const isMobile = useMediaQuery('(max-width: 640px)');\n\n  // const [menuIsVisible, setMenuIsVisible] = useState(false);\n\n  const { data: baseData } = useQuery(GET_ACTIVE_ALERT_VISIBLE_AND_BATCH_EXPORT_REPORTS);\n  const menuIsVisible = _.get(baseData, 'app.mobileMenuIsVisible');\n  const filtersVisibility = _.get(baseData, 'app.filtersAreVisible');\n  const [noteRADOpen, setNoteRADOpen] = useState(true);\n\n  if (search) {\n    const queryString = search.replace('?', '');\n    let queryObject = qs.parse(queryString);\n    queryObject = _.omit(queryObject, ['locationType', 'locationText']);\n\n    filteredLocationSearch = qs.stringify(queryObject, { encodeValuesOnly: true });\n  }\n\n  const handleRADNoteDialogClose = () => {\n    setNoteRADOpen(false);\n  };\n\n  const [pathSignIn, setPathSignIn] = useState(\n    window.location.pathname && window.location.pathname !== '/sign-in' && window.location.pathname !== '/confirmacao'\n      ? `/sign-in?callback_url=${window.location.pathname}`\n      : '/sign-in'\n  );\n\n  // const [checkExports, {\n  //   data: checkExportsData,\n  //   loading: loadingCheckExportsData,\n  // }] = useLazyQuery(CHECK_EXPORTS_STATUS, {\n  //   fetchPolicy: 'cache-and-network',\n  //   variables: {\n  //     limit: 50,\n  //     offset: 0\n  //   },\n  //   skip: !isOnLandingPage\n  // });\n\n  const mapbiomas_iniciatives: IInitiative[] = [\n    {\n      name: 'MapBiomas Brasil',\n      url: 'https://brasil.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-brasil.png',\n    },\n    {\n      name: 'MapBiomas Alerta',\n      url: 'https://alerta.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-alerta.png',\n    },\n    {\n      name: 'MapBiomas Indonésia',\n      url: 'https://mapbiomas.nusantara.earth/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-indonesia.png',\n    },\n    {\n      name: 'MapBiomas Amazônia',\n      url: 'https://amazonia.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-amazonia.png',\n    },\n    {\n      name: 'MapBiomas Peru',\n      url: 'https://peru.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-peru.png',\n    },\n    {\n      name: 'MapBiomas Chaco',\n      url: 'https://chaco.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-chaco.png',\n    },\n    {\n      name: 'MapBiomas Bolivia',\n      url: 'https://bolivia.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-bolivia.png',\n    },\n    {\n      name: 'MapBiomas Bosqueatlantico',\n      url: 'https://bosqueatlantico.mapbiomas.org/',\n      image:\n        'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-bosque-atlantico.png',\n    },\n    {\n      name: 'MapBiomas Colombia',\n      url: 'https://colombia.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-colombia.png',\n    },\n    {\n      name: 'MapBiomas Pampa',\n      url: 'https://pampa.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-pampa.png',\n    },\n    {\n      name: 'MapBiomas Venezuela',\n      url: 'https://venezuela.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-venezuela.png',\n    },\n    {\n      name: 'MapBiomas Árida',\n      url: 'https://arido.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-arida.png',\n    },\n    {\n      name: 'MapBiomas Uruguay',\n      url: 'https://uruguay.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-uruguay.png',\n    },\n    {\n      name: 'MapBiomas Fogo',\n      url: 'https://plataforma.brasil.mapbiomas.org/fogo',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-fogo.png',\n    },\n    {\n      name: 'MapBiomas Ecuador',\n      url: 'https://ecuador.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-ecuador.png',\n    },\n    {\n      name: 'MapBiomas Solo',\n      url: 'https://plataforma.brasil.mapbiomas.org/solo',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-solo.png',\n    },\n    {\n      name: 'MapBiomas Paraguay',\n      url: 'https://paraguay.mapbiomas.org/',\n      image: 'https://brasil.mapbiomas.org/wp-content/themes/mapbiomas/assets/images/sites/mapbiomas-paraguay.png',\n    },\n    {\n      name: '',\n      url: '',\n    },\n  ];\n\n  const { data: lastPublicationData, loading: loadingLastPublicationData } = useQuery(LAST_ALERT_PUBLICATION, {\n    skip: !isOnLandingPage,\n  });\n\n  const [signOut] = useMutation(SIGN_OUT, {\n    onCompleted: () => {\n      window.location.href = '/';\n    },\n    onError: () => {\n      window.location.href = '/';\n    },\n  });\n\n  const updateClientAppState = (params: any) => {\n    client.writeData({\n      data: {\n        app: {\n          __typename: 'AppState',\n          ...params,\n        },\n      },\n    });\n  };\n\n  useEffect(() => {\n    if (filtersVisibility && isMobile) {\n      toggleFilters();\n    }\n  }, [isMobile]);\n\n  const handleToggleMobileMenu = () => {\n    updateClientAppState({ mobileMenuIsVisible: !menuIsVisible });\n  };\n\n  const handleCloseMobileMenu = () => {\n    updateClientAppState({ mobileMenuIsVisible: false });\n  };\n\n  const handleOpenGuidedTour = () => {\n    updateClientAppState({ openTourGuided: true });\n  };\n\n  const toggleFilters = () => {\n    updateClientAppState({ filtersAreVisible: !filtersVisibility });\n  };\n\n  const handleExit = () => {\n    resetToken();\n    signOut({ variables: { sessionToken: token } });\n  };\n\n  const handleLocaleChange = (locale: string) => {\n    localStorage?.setItem('locale', locale);\n    window.location.reload();\n  };\n\n  const renderLastPublicationData = () => {\n    if (loadingLastPublicationData && !lastPublicationData) {\n      return null;\n    }\n\n    const lastPublication = _.get(lastPublicationData, 'lastAlertPublication');\n    const { total, publishedAt } = lastPublication || {};\n\n    if (total < 1) {\n      return null;\n    }\n\n    return (\n      <Tooltip title={formatMessage('alerts.published_at') + ' ' + moment(publishedAt).format('DD/MM/YYYY')}>\n        <span>\n          {total}{' '}\n          {total > 1\n            ? formatMessage('alerts_filters.panels.alerts.new_alerts')\n            : formatMessage('alerts_filters.panels.alerts.new_alert')}\n        </span>\n      </Tooltip>\n    );\n  };\n\n  //   const renderHeaderLoading = () => {\n  //     // eslint-disable-next-line no-undef\n  //     if (loadingAggregationsData || !aggregationsData || isLoadingAlertData) {\n  //       //setTotalAlert(null)\n  //       return (\n  //         <div className={styles.loadingAggregationWrapper}>\n  //           <CircularProgress color=\"primary\" size={20} />\n  //         </div>\n  //       );\n  //     }\n  //   }\n\n  const [anchorLocaleEl, setAnchorLocaleEl] = React.useState<HTMLButtonElement | null>(null);\n  const [anchorLaucherEl, setAnchorLaucherEl] = React.useState<HTMLButtonElement | null>(null);\n\n  const handleLaucherClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n    setAnchorLaucherEl(event.currentTarget);\n  };\n  const handleLaucherClose = () => {\n    setAnchorLaucherEl(null);\n  };\n\n  const handleLocaleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n    setAnchorLocaleEl(event.currentTarget);\n  };\n  const handleLocaleClose = () => {\n    setAnchorLocaleEl(null);\n  };\n\n  const [anchorPerfilEl, setAnchorPerfilEl] = React.useState<HTMLButtonElement | null>(null);\n  const handlePerfilClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n    setAnchorPerfilEl(event.currentTarget);\n  };\n  const handlePerfilClose = () => {\n    setAnchorPerfilEl(null);\n  };\n\n  const [noteOpen, setNoteOpen] = useState(false);\n\n  const isDocumentRecentlyRead = () => {\n    const noticeRead = Number(localStorage?.getItem('noticeRead'));\n    const thirtyDays = 2592000000;\n    return noticeRead && Date.now() - noticeRead < thirtyDays;\n  };\n\n  useEffect(() => {\n    if (!isDocumentRecentlyRead() && isOnLandingPage) {\n      setNoteOpen(true);\n    }\n  }, []);\n\n  const handleNoteDialogClose = (event: React.MouseEvent<any>, reason?: string) => {\n    if (reason && reason == 'backdropClick') return;\n    localStorage?.setItem('noticeRead', String(Date.now()));\n    setNoteOpen(false);\n  };\n\n  return (\n    <header\n      className={classnames(styles.wrapper, {\n        [styles.wrapperSimple]: simple,\n      })}\n    >\n      <div className={styles.topContent}>\n        <a href='http://alerta.mapbiomas.org/'>\n          <img className={styles.logoImage} src={logo} id='logo-mapbiomas-alerta' alt='logo MapBiomas Alerta' />\n        </a>\n        <nav className={styles.actions}>\n          {!isMobile && (\n            <ul className={styles.navList}>\n              <li>\n                <NavLink\n                  className={classnames({\n                    [styles.navLinkActive]: _.includes(['/mapa', '/lista', '/estatisticas'], pathname),\n                  })}\n                  to={`/mapa${search}`}\n                  id='header-map'\n                >\n                  <FormattedMessage id='menu.alerts' />\n                </NavLink>\n              </li>\n              {isModule('brazil') && (\n                <li>\n                  <NavLink activeClassName={styles.navLinkActive} id='inspection_monitor' to='/monitor-da-fiscalizacao'>\n                    <FormattedMessage id='menu.inspection_monitor' />\n                  </NavLink>\n                </li>\n              )}\n              <li>\n                <NavLink activeClassName={styles.navLinkActive} to='/downloads' id='header-downloads'>\n                  <FormattedMessage id='menu.downloads' />\n                </NavLink>\n              </li>\n              {isModule('brazil') && (\n                <li>\n                  <NavLink activeClassName={styles.navLinkActive} to='/plugins' id='header-plugins'>\n                    <FormattedMessage id='menu.plugins' />\n                  </NavLink>\n                </li>\n              )}\n              <li>\n                <NavLink activeClassName={styles.navLinkActive} to='/api' id='header-api'>\n                  <FormattedMessage id='menu.api' />\n                </NavLink>\n              </li>\n              <li className={styles.navListItemSpacing}></li>\n              <li className={styles.navListItemNotification}>\n                <IconButton\n                  size='small'\n                  aria-label={formatMessage('alert_form.note_concern_read')}\n                  color='inherit'\n                  id='header-precaution'\n                  onClick={() => {\n                    setNoteOpen(true);\n                  }}\n                >\n                  <Tooltip title={formatMessage('alert_form.note_concern_read')}>\n                    <PriorityHighIcon />\n                  </Tooltip>\n                </IconButton>\n              </li>\n              <li className={styles.navListItemNotification}>\n                <IconButton\n                  size='small'\n                  aria-label={formatMessage('tour_guided.title_tooltip')}\n                  color='inherit'\n                  id='header-tour_guided'\n                  onClick={handleOpenGuidedTour}\n                >\n                  <Tooltip title={formatMessage('tour_guided.title_tooltip')}>\n                    <LiveHelpIcon />\n                  </Tooltip>\n                </IconButton>\n              </li>\n              <li className={styles.navListItemTranslate}>\n                <Tooltip\n                  title={\n                    localStorage?.getItem('locale') !== 'en' ? (\n                      <FormattedMessage id='locale.pt_br' />\n                    ) : (\n                      <FormattedMessage id='locale.en' />\n                    )\n                  }\n                >\n                  <Button\n                    size='small'\n                    id='header-translate'\n                    startIcon={<TranslateIcon />}\n                    endIcon={!Boolean(anchorLocaleEl) ? <ExpandMoreIcon /> : <ExpandLessIcon />}\n                    onClick={handleLocaleClick}\n                  >\n                    {\n                      //localStorage?.getItem('locale') !== 'en' ?  'BR'  : 'EN'\n                    }\n                  </Button>\n                </Tooltip>\n                <Menu\n                  id='simple-menu'\n                  anchorEl={anchorLocaleEl}\n                  getContentAnchorEl={null}\n                  anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n                  transformOrigin={{ vertical: 'top', horizontal: 'center' }}\n                  keepMounted\n                  open={Boolean(anchorLocaleEl)}\n                  onClose={handleLocaleClose}\n                  aria-controls='simple-menu'\n                  aria-haspopup='true'\n                >\n                  <MenuItem\n                    selected={localStorage?.getItem('locale') === 'pt-BR'}\n                    onClick={handleLocaleChange.bind(this, 'pt-BR')}\n                  >\n                    <FormattedMessage id='locale.pt_br' />\n                  </MenuItem>\n                  <MenuItem\n                    selected={localStorage?.getItem('locale') === 'en'}\n                    onClick={handleLocaleChange.bind(this, 'en')}\n                  >\n                    <FormattedMessage id='locale.en' />\n                  </MenuItem>\n                  {isModule('indonesia') === true ||\n                    (localStorage?.getItem('beta') === 'true' && (\n                      <MenuItem\n                        selected={localStorage?.getItem('locale') === 'id'}\n                        onClick={handleLocaleChange.bind(this, 'id')}\n                      >\n                        <FormattedMessage id='locale.id' />\n                      </MenuItem>\n                    ))}\n                </Menu>\n              </li>\n              <li className={styles.navListItemGrap}></li>\n              {!token && (\n                <li className={styles.navListItemLogin} id='header-sign-in'>\n                  <NavLink to={pathSignIn}>\n                    <InputIcon />\n                    <span>\n                      <FormattedMessage id='menu.sign_in' />\n                    </span>\n                  </NavLink>\n                </li>\n              )}\n\n              {token && (\n                <li className={styles.navListItemLogin}>\n                  <Tooltip title={`Email: ${localStorage?.getItem('email')}`}>\n                    <Button\n                      onClick={handlePerfilClick}\n                      startIcon={<PersonIcon />}\n                      endIcon={!anchorPerfilEl ? <ExpandMoreIcon /> : <ExpandLessIcon />}\n                    >\n                      {localStorage?.getItem('name')?.split(' ')[0]}\n                    </Button>\n                  </Tooltip>\n                  <Menu\n                    id='perfil-menu'\n                    anchorEl={anchorPerfilEl}\n                    getContentAnchorEl={null}\n                    anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n                    transformOrigin={{ vertical: 'top', horizontal: 'center' }}\n                    keepMounted\n                    open={Boolean(anchorPerfilEl)}\n                    onClose={handlePerfilClose}\n                  >\n                    <MenuItem\n                      onClick={() => {\n                        window.location.href = '/account';\n                      }}\n                    >\n                      <FormattedMessage id='profile_menu.profile' /> {localStorage?.getItem('beta') ? ' (Beta)' : ''}{' '}\n                    </MenuItem>\n                    <MenuItem\n                      className={styles.menuItemSubMenu}\n                      onClick={() => {\n                        window.location.href = '/account';\n                      }}\n                    >\n                      <FormattedMessage id='profile_menu.manager_account' />\n                    </MenuItem>\n                    <MenuItem\n                      className={styles.menuItemSubMenu}\n                      onClick={() => {\n                        window.location.href = '/account/my-maps';\n                      }}\n                    >\n                      <FormattedMessage id='profile_menu.my_maps' />\n                    </MenuItem>\n                    <MenuItem\n                      className={styles.menuItemSubMenu}\n                      onClick={() => {\n                        window.location.href = '/account/authenticated-reports';\n                      }}\n                    >\n                      <FormattedMessage id='profile_menu.my_authenticated_reports' />\n                    </MenuItem>\n                    <MenuItem\n                      className={styles.menuItemSubMenu}\n                      onClick={() => {\n                        window.location.href = '/account/support-cases';\n                      }}\n                    >\n                      <FormattedMessage id='administrator.tabs.support_cases' />\n                    </MenuItem>\n                    {['administrator', 'coordinator', 'institution_member', 'institution_manager'].includes(\n                      profile\n                    ) && (\n                      <MenuItem\n                        onClick={() => {\n                          window.location.href = '/institution';\n                        }}\n                      >\n                        <FormattedMessage id='profile_menu.institution' />\n                      </MenuItem>\n                    )}\n                    {profile && ['administrator', 'coordinator', 'institution_manager'].includes(profile) && (\n                      <Fragment>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/institution/customizable-report';\n                          }}\n                        >\n                          <FormattedMessage id='profile_menu.custom_report' />\n                        </MenuItem>\n                      </Fragment>\n                    )}\n                    {['administrator', 'coordinator'].includes(profile) && (\n                      <MenuItem\n                        className={styles.menuItemSubMenu}\n                        onClick={() => {\n                          window.location.href = '/institution/upload-actions';\n                        }}\n                      >\n                        <FormattedMessage id='profile_menu.upload_actions' />\n                      </MenuItem>\n                    )}\n                    {['institution_manager', 'institution_member', 'administrator', 'coordinator'].includes(\n                      profile\n                    ) && (\n                      <Fragment>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/institution/upload-batch/actions';\n                          }}\n                        >\n                          <FormattedMessage id='profile_menu.upload_actions_lote' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/institution/upload-batch/authorizations';\n                          }}\n                        >\n                          <FormattedMessage id='profile_menu.upload_authorizations_lote' />\n                        </MenuItem>\n                      </Fragment>\n                    )}\n                    {token && ['administrator', 'coordinator'].includes(profile) && (\n                      <Fragment>\n                        <MenuItem\n                          onClick={() => {\n                            window.location.href = '/administrator';\n                          }}\n                        >\n                          <FormattedMessage id='menu.admin' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/users';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.users' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/institutions';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.institutions' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/support-cases';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.support_cases' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/upload-actions';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.uploaded_actions' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/upload-batch/actions';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.uploaded_actions_lote' />\n                        </MenuItem>\n                        <MenuItem\n                          className={styles.menuItemSubMenu}\n                          onClick={() => {\n                            window.location.href = '/administrator/upload-batch/authorizations';\n                          }}\n                        >\n                          <FormattedMessage id='administrator.tabs.uploaded_authorizations_lote' />\n                        </MenuItem>\n                      </Fragment>\n                    )}\n                    <Divider />\n                    <MenuItem onClick={handleExit}>\n                      <FormattedMessage id='menu.sign_out' />\n                    </MenuItem>\n                  </Menu>\n                </li>\n              )}\n              {localStorage?.getItem('beta') && (\n                <li className={styles.navListItemLaucher}>\n                  <Tooltip title='Iniciativas MapBiomas'>\n                    <Button\n                      size='small'\n                      id='header-laucher'\n                      startIcon={<AppsRoundedIcon />}\n                      onClick={handleLaucherClick}\n                    >\n                      {\n                        //localStorage?.getItem('locale') !== 'en' ?  'BR'  : 'EN'\n                      }\n                    </Button>\n                  </Tooltip>\n                  <Menu\n                    id='laucher-menu'\n                    anchorEl={anchorLaucherEl}\n                    getContentAnchorEl={null}\n                    anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n                    transformOrigin={{ vertical: 'top', horizontal: 'center' }}\n                    keepMounted\n                    open={Boolean(anchorLaucherEl)}\n                    onClose={handleLaucherClose}\n                    aria-controls='laucher-menu'\n                    aria-haspopup='true'\n                  >\n                    <Grid container className={styles.navMenuLaucherMenu}>\n                      {mapbiomas_iniciatives.map((iniciative, index) => {\n                        return (\n                          <Grid item xs={6} key={index}>\n                            <Tooltip title={iniciative.name}>\n                              <a href={iniciative.url}>\n                                <img alt='' className={styles.navMenuLaucherItem} src={iniciative.image} />\n                              </a>\n                            </Tooltip>\n                          </Grid>\n                        );\n                      })}\n                    </Grid>\n                  </Menu>\n                </li>\n              )}\n            </ul>\n          )}\n          {isMobile && (\n            <button\n              id='mobile-menu-button'\n              className={classnames(styles.menuButton, {\n                [styles.menuButtonActive]: menuIsVisible,\n              })}\n              onClick={handleToggleMobileMenu}\n            >\n              <MenuIcon />\n            </button>\n          )}\n        </nav>\n      </div>\n      {isMobile && (\n        <nav\n          className={classnames(styles.mobileMenuNav, {\n            [styles.mobileMenuNavIsVisible]: menuIsVisible,\n          })}\n          style={{ height: window.innerHeight - (50 + 30) }}\n        >\n          <ul className={styles.navListMobile}>\n            <li>\n              <NavLink\n                className={classnames(styles.navListMobileLink, {\n                  [styles.navListMobileLinkActive]: _.includes(['/mapa', '/lista', '/estatisticas'], pathname),\n                })}\n                to={`/mapa${search}`}\n                id='header-map'\n                onClick={handleCloseMobileMenu}\n              >\n                <FormattedMessage id='menu.alerts' />\n              </NavLink>\n            </li>\n            {isModule('brazil') && (\n              <li>\n                <NavLink\n                  className={styles.navListMobileLink}\n                  activeClassName={styles.navListMobileLinkActive}\n                  to='/monitor-da-fiscalizacao'\n                  id='inspection_monitor'\n                  onClick={handleCloseMobileMenu}\n                >\n                  <FormattedMessage id='menu.inspection_monitor' />\n                </NavLink>\n              </li>\n            )}\n            <li>\n              <NavLink\n                className={styles.navListMobileLink}\n                activeClassName={styles.navListMobileLinkActive}\n                to='/downloads'\n                id='header-downloads'\n                onClick={handleCloseMobileMenu}\n              >\n                <FormattedMessage id='menu.downloads' />\n              </NavLink>\n            </li>\n            {isModule('brazil') && (\n              <li>\n                <NavLink\n                  className={styles.navListMobileLink}\n                  activeClassName={styles.navListMobileLinkActive}\n                  to='/plugins'\n                  id='header-plugins'\n                  onClick={handleCloseMobileMenu}\n                >\n                  <FormattedMessage id='menu.plugins' />\n                </NavLink>\n              </li>\n            )}\n            <li>\n              <NavLink activeClassName={styles.navLinkActive} to='/api' id='header-api'>\n                <FormattedMessage id='menu.api' />\n              </NavLink>\n            </li>\n            <li\n              className={styles.navListMobileIconItem}\n              id='header-precaution'\n              onClick={() => {\n                setNoteOpen(true);\n              }}\n            >\n              <PriorityHighIcon />\n              <span>\n                <FormattedMessage id='alert_form.note_concern' />\n              </span>\n            </li>\n            <li id='header-tour_guided' className={styles.navListMobileIconItem} onClick={handleOpenGuidedTour}>\n              <LiveHelpIcon />\n              <span>\n                <FormattedMessage id='tour_guided.title' />\n              </span>\n            </li>\n            <li id='header-translate' className={styles.navListMobileIconItem}>\n              <TranslateIcon />\n              <a href='#' onClick={handleLocaleChange.bind(this, 'pt-BR')}>\n                PT-BR\n              </a>\n              <span> | </span>\n              <a href='#' onClick={handleLocaleChange.bind(this, 'en')}>\n                EN\n              </a>\n            </li>\n            {!token && (\n              <li id='header-sign-in' className={styles.navListMobileItemLogin}>\n                <NavLink onClick={handleCloseMobileMenu} to={pathSignIn}>\n                  <InputIcon />\n                  <span>\n                    <FormattedMessage id='menu.sign_in' />\n                  </span>\n                </NavLink>\n              </li>\n            )}\n            {token && (\n              <li className={styles.navListMobileItemLogin}>\n                <span\n                  className={styles.navListMobileItemUserInfo}\n                  onClick={() => {\n                    window.location.href = '/account';\n                  }}\n                >\n                  <PersonIcon />\n                  <span>{localStorage?.getItem('name')}</span>\n                </span>\n                <button onClick={handleExit}>\n                  <ExitToAppIcon />\n                  <span>\n                    <FormattedMessage id='menu.sign_out' />\n                  </span>\n                </button>\n              </li>\n            )}\n          </ul>\n        </nav>\n      )}\n      {/* {\n        isOnLandingPage && <Filters\n          history={ history }\n          isMobile={ isMobile }\n          isOnMapPage={ isOnLandingPage }\n          isVisible={ filtersVisibility && !simple }\n          location={ location }\n          onToggle={ toggleFilters }\n        />\n      } */}\n      <Dialog\n        id='header-note-concern'\n        scroll={'paper'}\n        open={noteOpen}\n        onClose={handleNoteDialogClose}\n        aria-labelledby='confirmation-dialog-title'\n      >\n        <DialogTitle id='alert-dialog-title'>\n          {' '}\n          <FormattedMessage id='alert_form.note_concern' />{' '}\n        </DialogTitle>\n        <DialogContent dividers={true} style={{ textAlign: 'justify' }}>\n          <DialogContentText>\n            <Typography variant='body2'>\n              <FormattedMessage id='alert_form.note_concern_body' />\n            </Typography>\n          </DialogContentText>\n          <DialogContentText>\n            <Typography variant='body2'>\n              <FormattedMessage id='alert_form.note_concern_body_1' />\n            </Typography>\n          </DialogContentText>\n          <DialogContentText>\n            <Typography variant='body2'>\n              <b>\n                <FormattedMessage id='alert_form.note_concern_important' />\n              </b>\n            </Typography>\n            <Typography variant='body2'>\n              <b>\n                <FormattedMessage id='alert_form.note_concern_important_explanation' />\n              </b>\n            </Typography>\n          </DialogContentText>\n          <DialogContentText>\n            <FormattedMessage id='alert_form.note_concern_explanations' />\n          </DialogContentText>\n          <DialogContentText>\n            <Typography variant='body2'>\n              <ol style={{ listStyle: 'decimal' }}>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_1' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_2' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_3' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_4' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_5' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_6' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_7' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_8' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_9' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_10' />\n                </li>\n                <li style={{ listStyle: 'decimal', marginBottom: '10px', marginLeft: '12px' }}>\n                  <FormattedMessage id='alert_form.note_concern_explanations_11' />\n                </li>\n              </ol>\n            </Typography>\n          </DialogContentText>\n          <DialogContentText>\n            <Typography variant='body2'>\n              <FormattedMessage id='alert_form.note_concern_explanations_footer' />\n            </Typography>\n          </DialogContentText>\n          <DialogContentText style={{ textAlign: 'right' }}>\n            <Typography variant='caption'>\n              <FormattedMessage id='alert_form.note_concern_update_at' />\n            </Typography>\n          </DialogContentText>\n        </DialogContent>\n        <DialogActions>\n          <Button onClick={handleNoteDialogClose} color='primary'>\n            <FormattedMessage id='operations.agree' />\n          </Button>\n        </DialogActions>\n      </Dialog>\n      {location?.pathname === '/mapa' && isModule('brazil') && false && (\n        <Dialog\n          id='header-note-concern-rad'\n          scroll={'paper'}\n          open={noteRADOpen}\n          onClose={handleRADNoteDialogClose}\n          aria-labelledby='confirmation-dialog-title'\n        >\n          <DialogTitle id='alert-dialog-title'> Atenção! </DialogTitle>\n          <DialogContent dividers={true}>\n            <DialogContentText>\n              <Typography variant='body2' style={{ textAlign: 'center' }}>\n                Entre <b>27/05 e 16/06</b>, a plataforma do MapBiomas Alerta está passando por um processo de\n                atualização que pode causar instabilidade. Pode haver diferenças em dados que contêm cruzamentos de\n                territórios, particularmente naqueles cruzamentos referentes a imóveis rurais (CAR, SIGEF, RL, APP) e\n                dados de autorizações e embargos.\n              </Typography>\n            </DialogContentText>\n            <DialogContentText>\n              <Typography></Typography>\n            </DialogContentText>\n            <DialogContentText>\n              <Typography variant='body2' style={{ textAlign: 'center', marginTop: '24px', marginBottom: '12px' }}>\n                <b>\n                  PARA ACESSAR A BASE DE DADOS COMPLETA DO RAD 2023, ACESSE{' '}\n                  <a style={{ color: '#c0392b' }} target='_blank' href='https://alerta.mapbiomas.org/relatorio/'>\n                    https://alerta.mapbiomas.org/relatorio\n                  </a>\n                </b>\n              </Typography>\n            </DialogContentText>\n          </DialogContent>\n          <DialogActions>\n            <Button onClick={handleRADNoteDialogClose} color='primary'>\n              Entendi\n            </Button>\n          </DialogActions>\n        </Dialog>\n      )}\n    </header>\n  );\n}\n\nexport default withRouter(Header);\n","import React, { useEffect, useState } from 'react';\nimport { RouteComponentProps } from 'react-router-dom';\n\nimport { useLazyQuery } from '@apollo/react-hooks';\nimport classnames from 'classnames';\nimport _ from 'lodash';\n\nimport { routes_paths } from '@core/routes/Routes';\nimport useFormatMessage from '@hooks/useFormatMessage';\n\nimport { DEFAULT_LANGUAGE } from '@helpers/locale';\nimport toast from '@helpers/toast';\nimport { GET_CURRENT_USER_ID } from '@models/InMemoryCache/localFields';\n\nimport { Footer } from '../Footer';\nimport Header from '../Header';\nimport styles from './PublicBasePage.module.scss';\n\nconst HEADER_HEIGHT = 100;\nconst HEADER_SIMPLE_HEIGHT = 50;\nconst FOOTER_HEIGHT = 30;\n\nexport interface IPublicBasePageProps {\n  children: React.ReactNode;\n  simple?: boolean;\n  match?: any;\n}\n\nexport function PublicBasePage({ children, simple = false, match = null }: IPublicBasePageProps) {\n  const [checkUserTokenStatus, { data: userIdData }] = useLazyQuery(GET_CURRENT_USER_ID);\n\n  const locale = localStorage.getItem('locale') || DEFAULT_LANGUAGE;\n  const formatMessage = useFormatMessage();\n\n  const headerHeight = simple ? HEADER_SIMPLE_HEIGHT : HEADER_HEIGHT;\n  const [windowHeight, setWindowHeight] = useState(window.innerHeight);\n  const [contentHeight, setContentHeight] = useState(window.innerHeight - (headerHeight + FOOTER_HEIGHT));\n\n  useEffect(() => {\n    // TODO\n    //  improve way to change title\n    const pathname = routes_paths.find((x) => x.path === window.location.pathname);\n    if (pathname) {\n      document.title = 'Mapbiomas Alerta | ' + formatMessage(pathname ? pathname.title : '');\n    } else if (window.location.pathname.indexOf('/alerta/') > -1) {\n      if (match) {\n        const { params } = match;\n        const alertId = _.get(params, 'alertId');\n        const carId = _.get(params, 'carId');\n        if (carId) {\n          document.title = 'Mapbiomas Alerta | ' + formatMessage('pages.report') + ` ${alertId} / ${carId}`;\n        } else {\n          document.title = 'Mapbiomas Alerta | ' + formatMessage('pages.report') + ` ${alertId}`;\n        }\n      } else {\n        document.title = 'Mapbiomas Alerta | ' + formatMessage('pages.reports');\n      }\n    }\n\n    if (localStorage.getItem('token') !== null) {\n      checkUserTokenStatus();\n    }\n  }, []);\n\n  useEffect(() => {\n    window.addEventListener('resize', debouncedUpdateHeight);\n\n    return () => {\n      window.removeEventListener('resize', debouncedUpdateHeight);\n    };\n  }, []);\n\n  useEffect(() => {\n    if (userIdData) {\n      const { currentUserId } = userIdData;\n      if (!currentUserId) {\n        toast(formatMessage('auth.session.expirated_token'));\n        //window.location.href = '/sign-in?callback_url='+ window.location.pathname\n      }\n    }\n  }, [userIdData]);\n\n  function updateHeight() {\n    setWindowHeight(window.innerHeight);\n    setContentHeight(window.innerHeight - (headerHeight + FOOTER_HEIGHT));\n  }\n\n  const debouncedUpdateHeight = _.debounce(updateHeight, 500);\n\n  return (\n    <div\n      className={classnames(styles.pageWrapper, {\n        'locale-en': locale === 'en',\n      })}\n      style={{ height: windowHeight }}\n    >\n      <Header simple={simple} />\n      <div className={styles.contentWrapper} style={{ minHeight: contentHeight }}>\n        {children}\n      </div>\n      <Footer />\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageWrapper\":\"PublicBasePage_pageWrapper__OxzMp\",\"contentWrapper\":\"PublicBasePage_contentWrapper__14Xqk\"};","import {gql} from 'graphql.macro';\n\nexport const LAST_ALERT_PUBLICATION = gql`\n    query lastAlertPublication{\n        lastAlertPublication{\n            total\n            publishedAt\n            publicationRange\n        }\n    }\n`;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"Footer_wrapper__1HDMm\",\"copyText\":\"Footer_copyText__2CZho\",\"alertText\":\"Footer_alertText__2hOwn\",\"ecostageImage\":\"Footer_ecostageImage__3rUt5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primaryColor\":\"#595959\",\"secondaryColor\":\"#7a7a7a\",\"thirdColor\":\"#f39c12\",\"fourthColor\":\"#81A5BC\",\"fifthColor\":\"#c0392b\",\"sixthColor\":\"#92B692\",\"blackColor\":\"rgba(23,23,23,0.85)\",\"blackColorSecondary\":\"rgba(23,23,23,0.85)\",\"blackColorThird\":\"#b7b7b7\",\"blackDisabled\":\"rgba(54,54,54,0.73)\",\"blackHint\":\"rgba(54,54,54,0.38)\",\"grayColor\":\"#F8F9FB\",\"whiteColor\":\"#EAEAEA\",\"whiteTrueColor\":\"#fff\",\"errorColor\":\"#d32f2f\",\"successColor\":\"#598f36\",\"waitingColor\":\"#f39c12\",\"fontFamily\":\"\\\"Lato\\\",sans-serif\",\"wrapper\":\"Header_wrapper__2goSM\",\"wrapperSimple\":\"Header_wrapperSimple__30kn8\",\"topContent\":\"Header_topContent__2jlO5\",\"bottomContent\":\"Header_bottomContent__2KHlx\",\"bottomRightContent\":\"Header_bottomRightContent__CXxgm\",\"profileBox\":\"Header_profileBox__3_Iqr\",\"logoImage\":\"Header_logoImage__3QLKy\",\"actions\":\"Header_actions__3Tb92\",\"link\":\"Header_link__3nUY-\",\"activeLink\":\"Header_activeLink__E1u-L\",\"signInButton\":\"Header_signInButton__4HKIy\",\"signInButtonIcon\":\"Header_signInButtonIcon__1cz0Z\",\"signInButtonText\":\"Header_signInButtonText__3OLdn\",\"locationIcon\":\"Header_locationIcon__1mT_r\",\"autocompleteOptionTitle\":\"Header_autocompleteOptionTitle__E-W2N\",\"autocompleteOptionSubtitle\":\"Header_autocompleteOptionSubtitle__1014E\",\"infoList\":\"Header_infoList__1aA1S\",\"infoItem\":\"Header_infoItem__3hAkQ\",\"infoItemBadgeTotalTag\":\"Header_infoItemBadgeTotalTag__3feB3\",\"infoItemLabel\":\"Header_infoItemLabel__1f-rf\",\"infoItemValue\":\"Header_infoItemValue__ZtABx\",\"actionControls\":\"Header_actionControls__33hRf\",\"actionControlsWithPadding\":\"Header_actionControlsWithPadding__3if_Z\",\"actionButton\":\"Header_actionButton__1WbHg\",\"actionButtonIconBadge\":\"Header_actionButtonIconBadge__eJkrt\",\"actionButtonIconWrapper\":\"Header_actionButtonIconWrapper__Q_vHV\",\"spin\":\"Header_spin__1GBUE\",\"actionButtonLeft\":\"Header_actionButtonLeft__18lyu\",\"actionButtonActive\":\"Header_actionButtonActive__1RNG9\",\"actionButtonActiveLeft\":\"Header_actionButtonActiveLeft__2vj0-\",\"actionsSeparator\":\"Header_actionsSeparator__3a98M\",\"navList\":\"Header_navList__3qMH0\",\"navListItemSpacing\":\"Header_navListItemSpacing__32aP6\",\"navListItemTranslate\":\"Header_navListItemTranslate__2oG1I\",\"MuiButton-endIcon\":\"Header_MuiButton-endIcon__1VgNq\",\"navListItemLaucher\":\"Header_navListItemLaucher__1nRjv\",\"navListItemNotification\":\"Header_navListItemNotification__2YvlX\",\"navListItemLogin\":\"Header_navListItemLogin__19mwo\",\"MuiButton-startIcon\":\"Header_MuiButton-startIcon__7sfSc\",\"navLinkActive\":\"Header_navLinkActive__1aks0\",\"menuItemSubMenu\":\"Header_menuItemSubMenu__2Dwsy\",\"loadingAggregationWrapper\":\"Header_loadingAggregationWrapper__G9ejX\",\"navListItemUserInfo\":\"Header_navListItemUserInfo__23CbS\",\"navMenuLaucherMenu\":\"Header_navMenuLaucherMenu__1qOSf\",\"navMenuLaucherItem\":\"Header_navMenuLaucherItem__2cyW_\",\"navListItemUserInfoName\":\"Header_navListItemUserInfoName__alGWM\",\"menuButton\":\"Header_menuButton__1Pmq4\",\"menuButtonActive\":\"Header_menuButtonActive__2dJM1\",\"mobileMenuNav\":\"Header_mobileMenuNav__238JC\",\"mobileMenuNavIsVisible\":\"Header_mobileMenuNavIsVisible__1gIEn\",\"navListMobile\":\"Header_navListMobile__110p3\",\"navListMobileIconItem\":\"Header_navListMobileIconItem__2td_7\",\"navListMobileItemLogin\":\"Header_navListMobileItemLogin__DfEPH\",\"navListMobileItemUserInfo\":\"Header_navListMobileItemUserInfo__2AgGt\",\"navListMobileLink\":\"Header_navListMobileLink__ZzrK5\",\"navListMobileLinkActive\":\"Header_navListMobileLinkActive__k3jhf\",\"profileBoxLink\":\"Header_profileBoxLink__22a45\",\"exitButton\":\"Header_exitButton__2x7iy\",\"betaInfo\":\"Header_betaInfo__2taHJ\",\"actionButtonIconFile\":\"Header_actionButtonIconFile__1NJSY\",\"navListItemApi\":\"Header_navListItemApi__2wlTN\",\"navListItemGenerateReports\":\"Header_navListItemGenerateReports__3WZOz\"};","module.exports = __webpack_public_path__ + \"static/media/logo.a37c8166.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"APIPage_container__1dQlf\",\"section\":\"APIPage_section__3z03k\",\"title\":\"APIPage_title__YQs4G\",\"titleSecondary\":\"APIPage_titleSecondary__2rZ0r\",\"item\":\"APIPage_item__2nped\",\"content\":\"APIPage_content__v3S0N\",\"containerAPI\":\"APIPage_containerAPI__2FD4y\",\"buttonFullScreen\":\"APIPage_buttonFullScreen__hzIj4\",\"videoContainer\":\"APIPage_videoContainer__2Cqg7\",\"text\":\"APIPage_text__ivTbr\",\"text_info\":\"APIPage_text_info__2gvEY\",\"tab_root\":\"APIPage_tab_root__2p8qb\",\"card_container\":\"APIPage_card_container__-ylZv\",\"card_actions\":\"APIPage_card_actions__1eQyQ\",\"support\":\"APIPage_support__lMhoQ\"};"],"sourceRoot":""}