Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development #692

Merged
merged 3 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion next/components/atoms/TemporalCoverageDisplay.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ export function TemporalCoverageBar ({ value }) {

const checkoutBdpro = (value) => {
if(value === "open") return
window.open("https://buy.stripe.com/8wM01TeVQ3kg0mIeV4", "_blank")
window.open("/precos", "_blank")
}

const BadgeContainer = ({
Expand Down
157 changes: 157 additions & 0 deletions next/content/serviceTermsBDPro.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@

import {
VStack,
Box
} from "@chakra-ui/react";
import BodyText from "../components/atoms/BodyText";
import SectionText from "../components/atoms/SectionText";

export default function ServiceTermsBDPro() {

return (
<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="24px"
>
<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">1. Aceitação dos Termos</BodyText>
<SectionText>Ao acessar ou usar os serviços oferecidos pela Base dos Dados ("Nós", "Nosso" ou "Nossos"), você concorda em cumprir e aceitar estes Termos de Serviço. Se você não concordar com todos os termos e condições deste acordo, não poderá utilizar nossos serviços.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">2. Descrição do Serviço</BodyText>
<SectionText>2.1. Nossos serviços consistem em uma assinatura mensal que concede aos seus assinantes o acesso a diversos dados exclusivos, harmonizados e atualizados na plataforma da Base dos Dados. O acesso se dá via os pacotes Python, R ou Stata da Base dos Dados, ou via BigQuery, serviço de armazenamento de dados de baixo custo e totalmente gerenciado do Google para análises.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">3. Pagamento e Assinaturas</BodyText>
<Box>
<SectionText>3.1. Ao se inscrever em nossos serviços, você concorda em pagar a taxa mensal especificada. O pagamento será processado automaticamente a cada mês, a menos que você cancele sua assinatura antes da data de renovação, devidamente explicita na contratação do serviço.</SectionText>
<SectionText>3.2. Os preços e os métodos de pagamento estão sujeitos a alterações a critério exclusivo da Base dos Dados. As alterações de preço ou de métodos de pagamento serão notificadas com antecedência.</SectionText>
</Box>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">4. Cancelamento e Reembolso</BodyText>
<SectionText>4.1. Você pode cancelar sua assinatura a qualquer momento através das opções disponíveis em sua conta. No entanto, não serão fornecidos reembolsos ou créditos por períodos em que a assinatura não foi utilizada.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">5. Uso Responsável</BodyText>
<SectionText>5.1. Você concorda em usar nossos serviços de forma responsável e em conformidade com todas as leis e regulamentos aplicáveis.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">6. Propriedade Intelectual</BodyText>
<SectionText>6.1. Todos os direitos de propriedade intelectual relacionados aos dados fornecidos são de propriedade de terceiros e estão sujeitos às suas respectivas políticas de uso.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">7. Privacidade</BodyText>
<SectionText>7.1. O uso de seus dados pessoais é regido por nossa Política de Privacidade. Ao usar nossos serviços, você concorda com a coleta e o uso de suas informações conforme descrito em nossa Política de Privacidade.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">8. Rescisão</BodyText>
<SectionText>8.1. Reservamo-nos o direito de encerrar ou suspender sua conta a qualquer momento, por qualquer motivo, sem aviso prévio.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">9. Limitação de Responsabilidade</BodyText>
<SectionText>9.1. Em nenhuma circunstância seremos responsáveis por danos diretos, indiretos, especiais, incidentais ou consequentes decorrentes do uso ou da incapacidade de usar nossos serviços.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">10. Alterações nos Termos de Serviço</BodyText>
<SectionText>10.1. Reservamo-nos o direito de modificar estes Termos de Serviço a qualquer momento. As alterações serão efetivas após a publicação das versões atualizadas em nosso site.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">11. Lei Aplicável e Jurisdição</BodyText>
<SectionText>11.1. Estes Termos de Serviço serão regidos e interpretados de acordo com as leis do Brasil. Qualquer disputa relacionada a estes termos estará sujeita à jurisdição exclusiva dos tribunais do Rio de Janeiro, RJ, Brasil.</SectionText>
</VStack>

<VStack
display="flex"
flexDirection="column"
spacing={0}
alignItems="start"
gap="8px"
>
<BodyText fontWeight="500">12. Contato</BodyText>
<SectionText>12.1. Para entrar em contato conosco com perguntas ou preocupações relacionadas a estes Termos de Serviço, por favor, envie um e-mail para [email protected].</SectionText>
</VStack>

<SectionText fontSize="16px">Ao utilizar nossos serviços, você concorda com todos os termos e condições estabelecidos neste acordo. Por favor, leia estes termos atentamente antes de prosseguir.</SectionText>
</VStack>
)
}
111 changes: 99 additions & 12 deletions next/pages/precos.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ import {
Tooltip,
Badge,
Button,
useDisclosure,
Modal,
ModalOverlay,
ModalContent,
ModalHeader,
ModalBody,
ModalFooter,
} from "@chakra-ui/react";
import { useState } from "react";
import Head from "next/head";
Expand All @@ -13,7 +20,8 @@ import BigTitle from "../components/atoms/BigTitle"
import BodyText from "../components/atoms/BodyText";
import RoundedButton from "../components/atoms/RoundedButton";
import { MainPageTemplate } from "../components/templates/main";
import { isMobileMod } from "../hooks/useCheckMobile.hook"
import { isMobileMod } from "../hooks/useCheckMobile.hook";
import ServiceTermsBDPro from "../content/serviceTermsBDPro";

import CheckIcon from "../public/img/icons/checkIcon";
import CrossIcon from "../public/img/icons/crossIcon";
Expand All @@ -28,10 +36,13 @@ export default function Price() {
personConfig,
textResource,
resources = [],
button
button,
hasServiceTerms= false
}) => {
const { isOpen, onOpen, onClose } = useDisclosure()
const [nubmerOfPerson, setNubmerOfPerson] = useState(personConfig.person)
const [priceValue, setPriceValue] = useState(personConfig.price)
const [linkStripe, setLinkStripe] = useState("")

const addRemovePersonPrice = (action) => {
if(action === "add") {
Expand All @@ -57,6 +68,38 @@ export default function Price() {
padding="40px 24px"
textAlign="center"
>
<Modal
isOpen={isOpen}
onClose={onClose}
scrollBehavior="inside"
>
<ModalOverlay />
<ModalContent maxWidth="800px !important">
<ModalHeader>Termos de serviço</ModalHeader>
<ModalBody>
<ServiceTermsBDPro/>
</ModalBody>

<ModalFooter>
{linkStripe === "" ?
<RoundedButton onClick={onClose} borderRadius="12px">
Fechar
</RoundedButton>
:
<RoundedButton onClick={() => {
onClose()
window.open(linkStripe, "_blank")
setLinkStripe("")
}}
borderRadius="12px"
>
Concordar
</RoundedButton>
}
</ModalFooter>
</ModalContent>
</Modal>

<Box
height="fit-content"
>
Expand Down Expand Up @@ -267,15 +310,57 @@ export default function Price() {
})}
</Box>

<RoundedButton
width="100%"
color={button.colorText || "#FFF"}
backgroundColor={button.color || "#42B0FF"}
onClick={() => window.open(button.href, button.target || "_blank")}
border={button.color && `1px solid ${button.colorText}`}
<Box
display="flex"
flexDirection="column"
gap="16px"
>
{button.text}
</RoundedButton>
<RoundedButton
width="100%"
color={button.colorText || "#FFF"}
backgroundColor={button.color || "#42B0FF"}
onClick={() => {
onOpen()
setLinkStripe(button.href)
}}
border={button.color && `1px solid ${button.colorText}`}
>
{button.text}
</RoundedButton>

<Text
display="flex"
flexDirection="row"
justifyContent="center"
color="#252A32"
fontSize="14px"
fontWeight="400"
fontHeight="27px"
letterSpacing="0.3px"
fontFamily="Ubuntu"
height="20px"
textAlign="center"
>
{hasServiceTerms &&
<Text
display="flex"
flexDirection="row"
>Leia os
<Text
color="#42B0FF"
cursor="pointer"
_hover={{opacity: 0.7}}
marginLeft="6px"
onClick={() => {
onOpen()
setLinkStripe("")
}}
>termos de serviço</Text>
.
</Text>
}
</Text>
</Box>
</Box>
</Box>
)
Expand Down Expand Up @@ -366,8 +451,9 @@ export default function Price() {
]}
button={{
text: "Iniciar teste grátis",
href: "https://buy.stripe.com/8wM01TeVQ3kg0mIeV4"
href: "https://buy.stripe.com/8wM01TeVQ3kg0mIeV4?locale=pt"
}}
hasServiceTerms
/>

<CardPrice
Expand All @@ -384,8 +470,9 @@ export default function Price() {
]}
button={{
text: "Assine já",
href: "https://buy.stripe.com/00g4i93d8f2Y5H24gr"
href: "https://buy.stripe.com/00g4i93d8f2Y5H24gr?locale=pt"
}}
hasServiceTerms
/>
</Stack>
</Stack>
Expand Down