From ab2165e8aad5fa9de9da50dc8ed571577a2ba069 Mon Sep 17 00:00:00 2001 From: Gabriel Sozinho <90806505+gabrielsozinho@users.noreply.github.com> Date: Tue, 3 Jan 2023 14:12:16 +0000 Subject: [PATCH 1/2] feat(faq): create a frequent asked questions page (cherry picked from commit 3fa9a1a07827060505782833e2622cfb65852931) --- pages/faq/index.public.js | 86 ++++++++++++++++++++++ pages/interface/components/Footer/index.js | 1 + 2 files changed, 87 insertions(+) create mode 100644 pages/faq/index.public.js diff --git a/pages/faq/index.public.js b/pages/faq/index.public.js new file mode 100644 index 000000000..758dbc586 --- /dev/null +++ b/pages/faq/index.public.js @@ -0,0 +1,86 @@ +import { Box, Heading } from '@primer/react'; +import { Viewer } from 'pages/interface'; + +import { DefaultLayout } from 'pages/interface/index.js'; + +export default function Page() { + const body = `Esta página existe para responder as dúvidas mais frequentes sobre o projeto. + +
+ + ## Como funcionam as TabCoins? + As TabCoins são como moedas digitais do TabNews que podem ser usadas para avaliar outras postagens e comentários. + + Você pode ganhar TabCoins das seguintes formas: + - Ao criar um conteúdo (seja ele um conteúdo que vá para a home ou uma resposta a outro conteúdo) você ganha 2 TabCoins. + - Ao ter um conteúdo avaliado positivamente você ganha 1 TabCoin (por avaliação). + + Você também pode perder TabCoins nos seguintes casos: + - Quando você avalia um conteúdo você gasta 2 TabCoins. + - Quando uma pessoa avalia negativamente o seu conteúdo você perde 1 TabCoin. + - Quando uma publicação sua é apagada (seja por você ou seja pela moderação) você perde 2 TabCoins + todas as avaliações positivas. + +
+ + ## Como funcionam os TabCashs? + Da mesma forma que as TabCoins, TabCashs são como moedas digitais do TabNews que poderão ser usadas no sistema de Revenue Share (ainda não implementado). + + Atualmente a única forma de ganhar TabCashs é avaliando um conteúdo com TabCoins, você ganha 1 TabCash por avaliação. + +
+ + ## Onde fazer testes? + Testes das mais variadas formas devem ser feitas no ambiente de homologação. Você pode acessar [esse link](https://github.com/filipedeschamps/tabnews.com.br/deployments/activity_log?environment=Preview) para ver a lista de deploys e depois basta clicar em \`View deployment\` no deploy mais recente para acessar o ambiente. + + Como é um abiente diferente, você precisará criar uma nova conta lá. + +
+ + ## Onde posso fazer sugestões e/ou reportar bugs? + Para sugestões, pedimos que abra uma issue no [repositório do projeto](https://github.com/filipedeschamps/tabnews.com.br), pois desta forma outras pessoas poderão se beneficiar, incluindo participar adicionando novos pontos de vista ou novas dúvidas. + + Você também poderá criar uma [nova publicação](https://www.tabnews.com.br/publicar) no próprio TabNews para que todos possam participar. + + + Caso você descubra ou esbarre com alguma falha, brecha ou vulnerabilidade de segurança do serviço e encontre **informações sensíveis** (por exemplo, dados privados de outros usuários, dados sensíveis do sistema ou acesso não autorizado), pedimos que entre em contato de forma privada através do email \`contato@tabnews.com.br\`. + + Após o fechamento da falha, o TabNews se compromete em criar um Postmortem público com os detalhes do que aconteceu. Não temos interesse algum em esconder estes acontecimentos e queremos compartilhar todos os conhecimentos adquiridos e estratégias adotadas, mantendo em mente que iremos proteger ao máximo dados sensíveis dos usuários. + + Falhas que não possuem informações sensíveis e não irão prejudicar outros usuários poderão ser livremente reportados através de issues no [repositório do projeto](https://github.com/filipedeschamps/tabnews.com.br). + +
+ + ## Como posso contribuir com o TabNews? + Além de usar o site e publicar conteúdos de forma saudável, o TabNews é um projeto open source. Isso significa que qualquer pessoa pode contribuir com o código do projeto. Para isso, pedimos que leia o [README do projeto no GitHub](https://github.com/filipedeschamps/tabnews.com.br#readme) e caso ainda tenha dúvidas, você pode ler [essa publicação)[https://www.tabnews.com.br/rodrigoKulb/boas-praticas-para-criar-um-pull-request-no-projeto-tabnews-com-br]. + +
+ + ## Que tipo de conteúdo eu posso publicar no TabNews? + Consideramos conteúdos de valor concreto: notícias, artigos, tutoriais, indicações, curiosidades, perguntas bem formuladas ou qualquer outro tipo de conteúdo que poderá fazer alguma diferença na vida de quem trabalha em áreas diretamente ou indiretamente relacionadas ao desenvolvimento de software. + + Conteúdos que não se encaixam nessa definição poderão ser removidos pela moderação do TabNews. Então antes de criar uma publicação, leia os [Termos de Uso](/termos-de-uso) e pense se o conteúdo que você quer publicar se encaixa nessa definição. + +
+ + ## Como funciona a aba "Relevantes"? + O algoritmo que gera a lista de conteúdos relevantes se baseia na quantidade de TabCoins que o conteúdo recebeu e a quanto tempo ele foi publicado. + +
+ + ## Posso publicar meus projetos aqui? + Sim, uma explicação com detalhes técnicos e suas experiências na criação do projeto será muito bem-vinda. Para isso você deve usar a tag \`Pitch\` no título do post. + + Lembre-se que se o post for apenas uma propaganda do seu projeto ou não tenha relação com tecnologia, ele poderá ser removido pela moderação do TabNews. + + Caso você queira saber o significado da palavra \`Pitch\`, nada mais é do que uma apresentação curta e objetiva de um projeto, produto ou ideia com a intenção de despertar o interesse de outras pessoas. + `; + + return ( + + + FAQ - Perguntas Frequentes + + + + ); +} diff --git a/pages/interface/components/Footer/index.js b/pages/interface/components/Footer/index.js index b7047a812..671a99eec 100644 --- a/pages/interface/components/Footer/index.js +++ b/pages/interface/components/Footer/index.js @@ -49,6 +49,7 @@ export default function Footer(props) { flexWrap: 'wrap', }}> Contato + FAQ GitHub Museu RSS From c3995b78087c5a11aedd8d14ebd8720e5bfcfa07 Mon Sep 17 00:00:00 2001 From: Rafael Tavares <26308880+Rafatcb@users.noreply.github.com> Date: Thu, 11 Jan 2024 22:28:09 -0300 Subject: [PATCH 2/2] feat(faq): improve formatting, answers and questions Format questions as headings with anchors; divide the questions into more questions to become more specific. Co-authored-by: Felipe Barso <77860630+aprendendofelipe@users.noreply.github.com> --- pages/faq/index.public.js | 214 +++++++++++++-------- pages/interface/components/Footer/index.js | 1 + 2 files changed, 139 insertions(+), 76 deletions(-) diff --git a/pages/faq/index.public.js b/pages/faq/index.public.js index 758dbc586..12c6fd1ad 100644 --- a/pages/faq/index.public.js +++ b/pages/faq/index.public.js @@ -1,85 +1,147 @@ -import { Box, Heading } from '@primer/react'; -import { Viewer } from 'pages/interface'; - -import { DefaultLayout } from 'pages/interface/index.js'; +import { Box, DefaultLayout, Heading, Link, Text, Viewer } from '@/TabNewsUI'; +import { LinkIcon } from '@/TabNewsUI/icons'; export default function Page() { - const body = `Esta página existe para responder as dúvidas mais frequentes sobre o projeto. - -
- - ## Como funcionam as TabCoins? - As TabCoins são como moedas digitais do TabNews que podem ser usadas para avaliar outras postagens e comentários. - - Você pode ganhar TabCoins das seguintes formas: - - Ao criar um conteúdo (seja ele um conteúdo que vá para a home ou uma resposta a outro conteúdo) você ganha 2 TabCoins. - - Ao ter um conteúdo avaliado positivamente você ganha 1 TabCoin (por avaliação). - - Você também pode perder TabCoins nos seguintes casos: - - Quando você avalia um conteúdo você gasta 2 TabCoins. - - Quando uma pessoa avalia negativamente o seu conteúdo você perde 1 TabCoin. - - Quando uma publicação sua é apagada (seja por você ou seja pela moderação) você perde 2 TabCoins + todas as avaliações positivas. - -
- - ## Como funcionam os TabCashs? - Da mesma forma que as TabCoins, TabCashs são como moedas digitais do TabNews que poderão ser usadas no sistema de Revenue Share (ainda não implementado). - - Atualmente a única forma de ganhar TabCashs é avaliando um conteúdo com TabCoins, você ganha 1 TabCash por avaliação. - -
- - ## Onde fazer testes? - Testes das mais variadas formas devem ser feitas no ambiente de homologação. Você pode acessar [esse link](https://github.com/filipedeschamps/tabnews.com.br/deployments/activity_log?environment=Preview) para ver a lista de deploys e depois basta clicar em \`View deployment\` no deploy mais recente para acessar o ambiente. - - Como é um abiente diferente, você precisará criar uma nova conta lá. - -
- - ## Onde posso fazer sugestões e/ou reportar bugs? - Para sugestões, pedimos que abra uma issue no [repositório do projeto](https://github.com/filipedeschamps/tabnews.com.br), pois desta forma outras pessoas poderão se beneficiar, incluindo participar adicionando novos pontos de vista ou novas dúvidas. - - Você também poderá criar uma [nova publicação](https://www.tabnews.com.br/publicar) no próprio TabNews para que todos possam participar. - - - Caso você descubra ou esbarre com alguma falha, brecha ou vulnerabilidade de segurança do serviço e encontre **informações sensíveis** (por exemplo, dados privados de outros usuários, dados sensíveis do sistema ou acesso não autorizado), pedimos que entre em contato de forma privada através do email \`contato@tabnews.com.br\`. - - Após o fechamento da falha, o TabNews se compromete em criar um Postmortem público com os detalhes do que aconteceu. Não temos interesse algum em esconder estes acontecimentos e queremos compartilhar todos os conhecimentos adquiridos e estratégias adotadas, mantendo em mente que iremos proteger ao máximo dados sensíveis dos usuários. - - Falhas que não possuem informações sensíveis e não irão prejudicar outros usuários poderão ser livremente reportados através de issues no [repositório do projeto](https://github.com/filipedeschamps/tabnews.com.br). - -
- - ## Como posso contribuir com o TabNews? - Além de usar o site e publicar conteúdos de forma saudável, o TabNews é um projeto open source. Isso significa que qualquer pessoa pode contribuir com o código do projeto. Para isso, pedimos que leia o [README do projeto no GitHub](https://github.com/filipedeschamps/tabnews.com.br#readme) e caso ainda tenha dúvidas, você pode ler [essa publicação)[https://www.tabnews.com.br/rodrigoKulb/boas-praticas-para-criar-um-pull-request-no-projeto-tabnews-com-br]. - -
- - ## Que tipo de conteúdo eu posso publicar no TabNews? - Consideramos conteúdos de valor concreto: notícias, artigos, tutoriais, indicações, curiosidades, perguntas bem formuladas ou qualquer outro tipo de conteúdo que poderá fazer alguma diferença na vida de quem trabalha em áreas diretamente ou indiretamente relacionadas ao desenvolvimento de software. - - Conteúdos que não se encaixam nessa definição poderão ser removidos pela moderação do TabNews. Então antes de criar uma publicação, leia os [Termos de Uso](/termos-de-uso) e pense se o conteúdo que você quer publicar se encaixa nessa definição. - -
- - ## Como funciona a aba "Relevantes"? - O algoritmo que gera a lista de conteúdos relevantes se baseia na quantidade de TabCoins que o conteúdo recebeu e a quanto tempo ele foi publicado. - -
- - ## Posso publicar meus projetos aqui? - Sim, uma explicação com detalhes técnicos e suas experiências na criação do projeto será muito bem-vinda. Para isso você deve usar a tag \`Pitch\` no título do post. - - Lembre-se que se o post for apenas uma propaganda do seu projeto ou não tenha relação com tecnologia, ele poderá ser removido pela moderação do TabNews. - - Caso você queira saber o significado da palavra \`Pitch\`, nada mais é do que uma apresentação curta e objetiva de um projeto, produto ou ideia com a intenção de despertar o interesse de outras pessoas. - `; + const faqContent = [ + { + id: 'proposito-tabnews', + question: 'Por que o TabNews foi criado?', + answer: `O TabNews nasceu com o objetivo de ser um local com **conteúdos de valor concreto para quem trabalha com tecnologia**. + +Queremos ter conteúdo de qualidade tanto na publicação principal quanto nos comentários, e algo que contribui para isso acontecer é a plataforma dar o mesmo espaço de criação para quem está publicando ambos os tipos de conteúdo. Tudo no TabNews é considerado um **conteúdo**, tanto que um comentário possui a sua própria página (basta clicar na data de publicação do comentário).`, + }, + { + id: 'conteudo-tabnews', + question: 'Que tipo de conteúdo eu posso publicar no TabNews?', + answer: `Você pode publicar notícias, artigos, tutoriais, indicações, curiosidades, sugestões de software e ferramentas, perguntas bem formuladas ou qualquer outro tipo de conteúdo que poderá fazer alguma diferença na vida de quem trabalha em áreas diretamente ou indiretamente relacionadas à área de tecnologia.`, + }, + { + id: 'assunto-tabnews', + question: 'Que tipo de assunto é aceito no TabNews?', + answer: `O conteúdo publicado no TabNews deve estar diretamente relacionado à tecnologia. Alguns exemplos de assuntos diretamente relacionados à tecnologia são: desenvolvimento de software, análise de dados, design, inteligência artificial, modelagem 3D, edição de vídeo, manipulação de imagens etc. Exemplos de assuntos indiretamente relacionados à tecnologia, mas que podem ser abordados do ponto de vista da tecnologia, são: produtividade, empreendedorismo, criação de conteúdo etc.`, + }, + { + id: 'tabcash', + question: 'O que é TabCash?', + answer: `O TabCash é uma moeda digital para recompensar pessoas que estão criando conteúdos com valor concreto e também ajudando a qualificar outros conteúdos. O saldo de TabCash poderá ser utilizado no sistema de Revenue Share, onde você poderá usar espaços de anúncio para compartilhar o que desejar, desde que respeite os [Termos de Uso](/termos-de-uso). Esse sistema ainda não está implementado, mas você pode [acompanhar o progresso no GitHub](https://github.com/filipedeschamps/tabnews.com.br/issues/1490).`, + }, + { + id: 'ganhar-tabcash', + question: 'Como ganhar TabCash?', + answer: `Para ganhar TabCash, é necessário contribuir com a qualificação de conteúdos de outras pessoas, consumindo 2 TabCoins a cada qualificação realizada e, ao mesmo tempo, ganhando 1 TabCash.`, + }, + { + id: 'tabcoin', + question: 'O que é TabCoin?', + answer: `TabCoin é a moeda de troca no sistema de qualificação de conteúdos do TabNews. Você utiliza seus TabCoins para qualificar conteúdos dos outros e, por sua vez, recebe ou perde TabCoins com base nas qualificações recebidas em seus próprios conteúdos.`, + }, + { + id: 'ganhar-tabcoins', + question: 'Como ganhar TabCoins?', + answer: `As formas de ganho de TabCoins são: + +- **Criando um conteúdo:** existe um algoritmo que leva em consideração os TabCoins dos seus conteúdos mais recentes para definir quantos TabCoins você ganhará ao criar um novo conteúdo. +- **Recebendo votos positivos:** quando outro usuário avalia positivamente seu conteúdo. +- **Recompensa diária:** você pode ganhar TabCoins ao acessar o TabNews pelo menos uma vez no dia. Existe um algoritmo que leva em consideração as qualificações dos seus conteúdos mais recentes e também a quantidade de TabCoins que você possui. Quanto melhor avaliados forem seus conteúdos e menos TabCoins você possuir, mais receberá na recompensa diária.`, + }, + { + id: 'perder-tabcoins', + question: 'É possível perder TabCoins?', + answer: `Sim, você pode perder TabCoins: + +- **Ao apagar um conteúdo:** você perderá os TabCoins que ganhou ao criar o conteúdo, caso tenha ganhado algum TabCoin, e também perderá os TabCoins que ganhou com as avaliações positivas nessa publicação. O mesmo vale para caso um moderador apague um conteúdo seu. +- **Recebendo votos negativos:** você perderá 1 TabCoin a cada avaliação negativa recebida de outros usuários em seus conteúdos.`, + }, + { + id: 'utilizar-tabcoins', + question: 'Como utilizar meus TabCoins?', + answer: `Os TabCoins são utilizados para poder qualificar conteúdos de outros usuários e ajudar a comunidade a identificar conteúdos relevantes. + +Ao avaliar uma publicação, serão consumidos 2 TabCoins e creditado 1 TabCash nos seus saldos.`, + }, + { + id: 'publicar-projeto-envolvido', + question: 'Posso criar publicações divulgando projetos em que estou envolvido?', + answer: `Sim, você pode criar uma publicação sobre um projeto que está envolvido desde que agregue valor ao leitor, por exemplo explicando detalhes técnicos do projeto, compartilhando suas experiências na criação, dificuldades e decisões tomadas. + +Se você pretende fazer um pitch, ou seja, uma apresentação curta e direta com o objetivo despertar atenção das pessoas para o projeto em si, você deve colocar \`Pitch\` no título da publicação, por exemplo: \`Pitch: TabInvest — Um TabNews sobre investimentos\`. Mesmo sendo um pitch você deve contribuir com a comunidade como explicado no parágrafo anterior. + +Uma divulgação de um projeto que você está envolvido deve seguir as mesmas regras de qualquer outra publicação: leia os [Termos de Uso](/termos-de-uso) e o tópico [Que tipo de conteúdo eu posso publicar no TabNews?](#publicar-tabnews). Publicações com foco exclusivo comercial são expressamente proibidas.`, + }, + { + id: 'publicar-mesmo-conteudo', + question: 'Posso publicar o mesmo conteúdo várias vezes?', + answer: `Não. Se deseja criar uma nova publicação sobre o mesmo assunto, leve em consideração há quanto tempo o conteúdo foi feito e o quão diferente será a nova publicação. Lembre-se que toda publicação está sujeita à qualificação por outros usuários através do uso de TabCoins, e casos de abuso serão tratados pela moderação. Apagar um conteúdo avaliado negativamente e republicá-lo para tentar chamar mais atenção é um exemplo de **manipulação das qualificações** e poderá resultar no banimento permanente da sua conta, como dito nos [Termos de Uso](/termos-de-uso).`, + }, + { + id: 'erro-nova-publicacao', + question: 'Não consigo criar novas publicações. O que fazer?', + answer: `Se, ao criar uma nova publicação ou comentário, você recebe uma mensagem de erro dizendo que não é possível publicar porque há outras publicações mal avaliadas que ainda não foram excluídas, revise seus conteúdos mais recentes que estão zerados ou negativados. Essa é uma proteção para o TabNews e para o usuário, impedindo a criação de muitas publicações mal recebidas e permitindo que o usuário analise o que está fazendo de errado e corrija seu comportamento. + +Ao encontrar suas publicações que estão qualificadas negativamente, você poderá apagar alguma e tentar criar a publicação que deseja. O TabNews avaliará suas publicações novamente para definir se você pode ou não criar uma nova publicação. Caso receba a mesma mensagem de erro, basta realizar o processo novamente.`, + }, + { + id: 'como-relevantes', + question: 'Como funciona a página "Relevantes"?', + answer: `A página [Relevantes](/) tem como objetivo exibir as publicações recentes que foram mais relevantes para os usuários do TabNews. O algoritmo leva em consideração diferentes fatores como: há quanto tempo a publicação foi feita, quão positivamente ela foi avaliada, se a comunidade engajou por meio de comentários etc.`, + }, + { + id: 'sugestoes-e-bugs', + question: 'Onde posso fazer sugestões e/ou reportar bugs?', + answer: `Para sugestões de melhorias ou para reportar bugs que não envolvem informações sensíveis ou falhas de segurança, você pode abrir um issue no [repositório do TabNews no GitHub](https://github.com/filipedeschamps/tabnews.com.br). + +Caso você descubra alguma falha, brecha ou vulnerabilidade de segurança e encontre **informações sensíveis** (por exemplo, dados privados de outros usuários, dados sensíveis do sistema ou acesso não autorizado), pedimos que [entre em contato de forma privada pelo GitHub](https://github.com/filipedeschamps/tabnews.com.br/security/advisories/new). Você pode seguir [o tutorial do GitHub](https://docs.github.com/pt/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) sobre como fazer esse tipo de relato. + +Após o fechamento da falha, o TabNews se compromete em criar um Postmortem público com os detalhes do que aconteceu. Não temos interesse algum em esconder esses acontecimentos e queremos compartilhar todos os conhecimentos adquiridos e estratégias adotadas, mantendo em mente que iremos proteger ao máximo dados sensíveis dos usuários.`, + }, + { + id: 'testar-tabnews', + question: 'Como posso fazer testes no site do TabNews?', + answer: `Testes das mais variadas formas devem ser feitos no ambiente de homologação. Você pode acessar a [lista de implantações](https://github.com/filipedeschamps/tabnews.com.br/deployments/activity_log?environment=Preview) e clicar em algum link da seção \`Active deployments\` para acessar o ambiente. Por ser um ambiente diferente, você precisará criar uma nova conta e confirmar o e-mail. `, + }, + { + id: 'contribuir-tabnews', + question: 'Como posso contribuir com o TabNews?', + answer: `Existem diferentes formas de participação que contribuem para a evolução do TabNews: + +- **Criação de conteúdo:** você pode criar publicações ou comentários com conteúdo de valor para outros leitores. +- **Qualificação de conteúdo:** você pode usar seus TabCoins para qualificar as publicações e comentários. Ao qualificar positivamente, você reforça que aquele tipo de conteúdo é relevante e desejado no TabNews. Ao qualificar negativamente, você demonstra que aquele conteúdo não é relevante ou possui algum problema. +- **Participação no repositório:** as sugestões de melhorias e reportes de bugs são realizados no [repositório do TabNews no GitHub](https://github.com/filipedeschamps/tabnews.com.br). Você pode contribuir com detalhes para a resolução de algum problema ou com ideias de implementação de algum recurso. +- **Modificações no código:** como o TabNews é um projeto de código aberto, além de sugerir melhorias e reportar bugs, você também pode contribuir com o código do projeto. Leia o [README](https://github.com/filipedeschamps/tabnews.com.br/tree/main#readme) do projeto para mais detalhes.`, + }, + ]; + + const tableOfContents = faqContent.map((faq) => `- [${faq.question}](#${faq.id})`).join('\n'); + + const introduction = `Esta página existe para responder as dúvidas mais frequentes sobre o TabNews. + +${tableOfContents}\n`; return ( - + FAQ - Perguntas Frequentes - + + {faqContent.map((faq) => [ + + + {faq.question} + + + + + , + , + ])} ); diff --git a/pages/interface/components/Footer/index.js b/pages/interface/components/Footer/index.js index 671a99eec..35daae4d8 100644 --- a/pages/interface/components/Footer/index.js +++ b/pages/interface/components/Footer/index.js @@ -48,6 +48,7 @@ export default function Footer(props) { paddingX: [2, null, null, 5], flexWrap: 'wrap', }}> + {/* Ordered alphabetically. */} Contato FAQ GitHub