{"version":3,"file":"component---src-templates-active-methodology-page-js-239b2087e158336623c9.js","mappings":"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","sources":["webpack://Aprendizap Aulas/./src/templates/ActiveMethodologyPage.js","webpack://Aprendizap Aulas/./src/utils/formatTitle.js","webpack://Aprendizap Aulas/./src/templates/ActiveMethodologyPage.module.css"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { graphql } from 'gatsby';\nimport get from 'lodash/get';\nimport Seo from '../components/seo';\nimport Layout from '../components/layout';\nimport getAnonyUserId from '../services/getAnonyUserId';\nimport ContentVisualizer from '../components/ContentVisualizer';\nimport { Divider, Button } from '@mui/material';\nimport CheckIcon from '@mui/icons-material/Check';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport CreateAccountWall from '../components/CreateAccountWall';\nimport { reportData } from '../services/dataReport';\nimport * as styles from './ActiveMethodologyPage.module.css';\nimport { activitiesTypeObject } from '../utils/constants';\nimport { formatTitle } from '../utils/formatTitle';\n\nconst RenderActivitiesSection = ({ title, activities }) => {\n  return (\n    <>\n      <h2 className={styles.titleActivities}>{title}</h2>\n      {activities?.map((activity, index) => (\n        <ul\n          key={`${title.toLowerCase()}-index-${index}`}\n          style={{ padding: 0 }}\n        >\n          <li className={styles.styledList}>\n            <CheckIcon style={{ marginRight: 8, color: '#fff' }} />\n            <div\n              className={styles.textActivities}\n              dangerouslySetInnerHTML={{\n                __html: activity.replaceAll('\\n', '</p><p>'),\n              }}\n            />\n          </li>\n        </ul>\n      ))}\n    </>\n  );\n};\n\nconst ActiveMethodologyPage = (props) => {\n  const userId = getAnonyUserId();\n  const { slug, id, methodology } = props.pageContext;\n  const lesson = get(props, 'data.contentfulAula');\n  const [showWallModal, setShowWallModal] = useState(false);\n\n  const handleCreateAccountWall = () => {\n    setShowWallModal(true);\n    reportData(userId, 'status', 'bloqueio_seo?source=baixar-atividade');\n  };\n\n  const {\n    childrenContentfulAulaActiveMethodologiesJsonNode: activeMethodology = [],\n    activeMethodologyRef = [],\n  } = lesson;\n\n  const methodololyNodeData = activeMethodology.find(\n    (methodologyData) => methodologyData.name === methodology\n  );\n  const methodologyRefData = activeMethodologyRef.find(\n    (methodologyData) => methodologyData.title === methodology\n  );\n\n  const methodologyName =\n    methodololyNodeData?.name || methodologyRefData?.title;\n\n  const reasonsToUseText = methodologyRefData?.reasonsToUse || [];\n  const youKnowText = methodologyRefData?.youKnow.youKnow || [];\n\n  const formatContentText = (content) => {\n    return content\n      .replace(/\\*(.*?)\\*/g, '<em>$1</em>')\n      .replaceAll('\\n', '</p><p>');\n  };\n\n  const createQuery = (name) => {\n    const baseQuery = activitiesTypeObject[name?.toLowerCase()]?.urlSlug;\n    const hasExistingQuery = window.location.search;\n\n    if (hasExistingQuery) {\n      return `${hasExistingQuery}&metodologia=${baseQuery}`;\n    } else {\n      return `?metodologia=${baseQuery}`;\n    }\n  };\n\n  useEffect(() => {\n    if (typeof window !== 'undefined') {\n      reportData(\n        userId,\n        'selectedClassSite',\n        id + createQuery(methodologyName)\n      );\n    }\n  }, [userId, id, createQuery]);\n\n  return (\n    <>\n      <Seo\n        title={methodologyName}\n        description={lesson.intro.childMarkdownRemark.excerpt}\n        urlSlug={lesson.urlSlug}\n        subject={lesson.subject?.name || lesson.knowledgeArea?.name}\n        keywords={lesson.keywords}\n      />\n\n      <Layout>\n        <p className={styles.subtitle}>\n          Aula sobre {formatTitle(lesson.urlSlug)}\n        </p>\n        {methodologyName && (\n          <h1 className={styles.title}>\n            Metodologia ativa - {methodologyName}\n          </h1>\n        )}\n\n        <h2 className={styles.titleH2}>Por que usar essa metodologia?</h2>\n        {reasonsToUseText?.map((reason, index) => (\n          <ul style={{ padding: 0 }} key={`reasons-to-use-${index}`}>\n            <li className={styles.styledList}>\n              <div\n                className={styles.description}\n                dangerouslySetInnerHTML={{\n                  __html: formatContentText(reason.content),\n                }}\n              />\n            </li>\n          </ul>\n        ))}\n\n        <h2 className={styles.titleH2}>Você sabia?</h2>\n        {youKnowText && <p className={styles.description}>{youKnowText}</p>}\n\n        <Divider className={styles.styledDivider} />\n\n        {methodololyNodeData?.activities?.map((activity, index) => (\n          <div key={'activity=' + index}>\n            {activity.contextualization && (\n              <div\n                className={styles.description}\n                dangerouslySetInnerHTML={{\n                  __html: activity.contextualization\n                    .replaceAll('\\n', '</p><p>')\n                    .replace(/\\\\-/g, '-'),\n                }}\n              />\n            )}\n\n            {activity?.supportMaterials?.length > 0 && (\n              <section style={{ marginTop: 20 }}>\n                {activity.supportMaterials.map((material, index) => (\n                  <ContentVisualizer\n                    contentfulId={id}\n                    userId={userId}\n                    key={`material-index-${index}`}\n                    asset={material}\n                    lesson={lesson}\n                    urlSlug={slug}\n                  />\n                ))}\n              </section>\n            )}\n\n            <Divider className={styles.styledDivider} />\n\n            {activity?.stages?.length > 0 && (\n              <ol style={{ padding: 0 }}>\n                {activity.stages.map(({ name, content }, index) => (\n                  <li\n                    key={`stage-index-${index}`}\n                    style={{ listStyle: 'none' }}\n                  >\n                    <h2 className={styles.stagesText}>\n                      Etapa {index + 1} - {name}\n                    </h2>\n                    <div\n                      className={styles.description}\n                      dangerouslySetInnerHTML={{\n                        __html: content.replaceAll('\\n', '</p><p>'),\n                      }}\n                    />\n\n                    <Divider className={styles.styledDivider} />\n                  </li>\n                ))}\n              </ol>\n            )}\n\n            <div className={styles.activitiesContainer}>\n              <RenderActivitiesSection\n                title=\"Intencionalidades pedagógicas\"\n                activities={activity.pedagogicalIntentions}\n              />\n              <RenderActivitiesSection\n                title=\"Critérios de avaliação\"\n                activities={activity.assessmentCriterias}\n              />\n              <RenderActivitiesSection\n                title=\"Ações do professor\"\n                activities={activity.teachersAction}\n              />\n\n              <RenderActivitiesSection\n                title=\"Ações do aluno\"\n                activities={activity.studentsAction}\n              />\n            </div>\n          </div>\n        ))}\n\n        <Button onClick={handleCreateAccountWall} className=\"outlined-btn\">\n          <DownloadIcon />\n          Baixar Atividade\n        </Button>\n\n        <CreateAccountWall\n          open={showWallModal}\n          originAction=\"baixar-atividade\"\n          onClose={() => setShowWallModal(false)}\n        />\n      </Layout>\n    </>\n  );\n};\n\nexport default ActiveMethodologyPage;\n\nexport const pageQuery = graphql`\n  query ActiveMethodologyId($id: String!) {\n    site {\n      siteMetadata {\n        siteUrl\n      }\n    }\n    contentfulAula(contentful_id: { eq: $id }) {\n      childrenContentfulAulaActiveMethodologiesJsonNode {\n        activities {\n          contextualization\n          assessmentCriterias\n          pedagogicalIntentions\n          supportMaterials\n          teachersAction\n          studentsAction\n          stages {\n            content\n            name\n          }\n        }\n        name\n      }\n      intro {\n        childMarkdownRemark {\n          excerpt\n        }\n      }\n      title\n      urlSlug\n      keywords\n      subject {\n        name\n      }\n      knowledgeArea {\n        name\n      }\n      activeMethodologyRef {\n        youKnow {\n          youKnow\n        }\n        title\n        reasonsToUse {\n          content\n        }\n      }\n    }\n  }\n`;\n","export const formatTitle = (urlSlug) => {\n  return urlSlug\n    .replace(/-/g, ' ')\n    .toLowerCase()\n    .split(' ')\n    .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n    .join(' ');\n};\n","// extracted by mini-css-extract-plugin\nexport var activitiesContainer = \"ActiveMethodologyPage-module--activitiesContainer--058e5\";\nexport var description = \"ActiveMethodologyPage-module--description--a2d06\";\nexport var intro = \"ActiveMethodologyPage-module--intro--06385\";\nexport var stagesText = \"ActiveMethodologyPage-module--stagesText--f2414\";\nexport var styledDivider = \"ActiveMethodologyPage-module--styledDivider--25f71\";\nexport var styledList = \"ActiveMethodologyPage-module--styledList--0054d\";\nexport var subtitle = \"ActiveMethodologyPage-module--subtitle--c6c8e\";\nexport var textActivities = \"ActiveMethodologyPage-module--textActivities--13b56\";\nexport var title = \"ActiveMethodologyPage-module--title--0b690\";\nexport var titleActivities = \"ActiveMethodologyPage-module--titleActivities--b354f\";\nexport var titleH2 = \"ActiveMethodologyPage-module--titleH2--e7796\";"],"names":["RenderActivitiesSection","_ref","title","activities","React","className","styles","map","activity","index","key","toLowerCase","style","padding","CheckIcon","marginRight","color","dangerouslySetInnerHTML","__html","replaceAll","props","_lesson$subject","_lesson$knowledgeArea","_methodololyNodeData$","userId","getAnonyUserId","_props$pageContext","pageContext","slug","id","methodology","lesson","get","_useState","useState","showWallModal","setShowWallModal","_lesson$childrenConte","childrenContentfulAulaActiveMethodologiesJsonNode","activeMethodology","_lesson$activeMethodo","activeMethodologyRef","methodololyNodeData","find","methodologyData","name","methodologyRefData","methodologyName","reasonsToUseText","reasonsToUse","youKnowText","youKnow","createQuery","_activitiesTypeObject","baseQuery","activitiesTypeObject","urlSlug","hasExistingQuery","window","location","search","useEffect","reportData","Seo","description","intro","childMarkdownRemark","excerpt","subject","knowledgeArea","keywords","Layout","formatTitle","reason","content","replace","Divider","_activity$supportMate","_activity$stages","contextualization","supportMaterials","length","marginTop","material","ContentVisualizer","contentfulId","asset","stages","_ref2","listStyle","pedagogicalIntentions","assessmentCriterias","teachersAction","studentsAction","Button","onClick","DownloadIcon","CreateAccountWall","open","originAction","onClose","split","word","charAt","toUpperCase","slice","join","activitiesContainer","stagesText","styledDivider","styledList","subtitle","textActivities","titleActivities","titleH2"],"sourceRoot":""}