Explicação 🧐
A função getDisqusConfig
tem como objetivo gerar um objeto de configuração para o Disqus, um sistema de comentários utilizado em páginas web. Ela recebe várias informações sobre o curso, módulo e lição, e retorna um objeto com as propriedades necessárias para a integração do Disqus.
Detalhamento do Código 🔍
- Definição da Função
getDisqusConfig
🪝
export const getDisqusConfig = (courseSlug, moduleIndex, lessonIndex, lessonName, courseId) => ({
getDisqusConfig
: A função é exportada diretamente, permitindo que seja utilizada em outros módulos. Ela recebe cinco parâmetros:courseSlug
: O identificador do curso na URL.moduleIndex
: O índice do módulo do curso (provavelmente para identificar a ordem do módulo).lessonIndex
: O índice da lição dentro do módulo.lessonName
: O nome da lição, que será utilizado como o título dos comentários no Disqus.courseId
: O identificador único do curso, usado para diferenciar os comentários de cursos distintos.
- Retorno de Objeto com Configurações ⚙️
url: `https://petacademy.vercel/cursos/${courseSlug}/${parseInt(moduleIndex) + 1}/${
parseInt(lessonIndex) + 1
}`,
identifier: `${courseId}-${parseInt(moduleIndex) + 1}-${parseInt(lessonIndex) + 1}`,
title: lessonName,
language: 'pt_BR',
})
url
: Ourl
é gerado concatenando ocourseSlug
,moduleIndex
elessonIndex
. A funçãoparseInt
é utilizada para garantir que os índices sejam tratados como números e somados com 1, já que os índices geralmente começam de 0. Isso cria uma URL única para cada lição de cada curso.identifier
: Oidentifier
é uma string única criada combinando ocourseId
,moduleIndex
elessonIndex
, também com incremento de 1. Isso garante que cada comentário no Disqus seja vinculado de forma única a um curso, módulo e lição específicos.title
: Otitle
recebe o nome da lição, o que será exibido no sistema de comentários do Disqus como título para os comentários daquela lição.language
: Olanguage
é definido como'pt_BR'
, indicando que a interface do Disqus será exibida em português do Brasil.
Código Completo 👨💻
export const getDisqusConfig = (courseSlug, moduleIndex, lessonIndex, lessonName, courseId) => ({
url: `https://petacademy.vercel/cursos/${courseSlug}/${parseInt(moduleIndex) + 1}/${
parseInt(lessonIndex) + 1
}`,
identifier: `${courseId}-${parseInt(moduleIndex) + 1}-${parseInt(lessonIndex) + 1}`,
title: lessonName,
language: 'pt_BR',
})