diff --git a/next/components/molecules/DataInformationQuery.js b/next/components/molecules/DataInformationQuery.js index 80a1b2fa..74aefb63 100644 --- a/next/components/molecules/DataInformationQuery.js +++ b/next/components/molecules/DataInformationQuery.js @@ -10,7 +10,9 @@ import { useClipboard, Tooltip, Skeleton, - Stack + Stack, + useDisclosure, + ModalCloseButton } from "@chakra-ui/react"; import { useState, useEffect, useRef } from "react"; import hljs from "highlight.js/lib/core"; @@ -23,6 +25,8 @@ import 'highlight.js/styles/obsidian.css' import GreenTab from "../atoms/GreenTab"; import Toggle from "../atoms/Toggle"; import ColumnsTable from "./ColumnsTable"; +import { SectionPrice } from "../../pages/precos"; +import { ModalGeneral } from "./uiUserPage"; import { AlertDiscalimerBox} from "./DisclaimerBox"; import { triggerGAEvent, formatBytes } from "../../utils"; @@ -182,6 +186,7 @@ export default function DataInformationQuery({ resource }) { const [hasLoadingColumns, setHasLoadingColumns] = useState(true) const [isLoadingCode, setIsLoadingCode] = useState(false) const [hasLoadingResponse, setHasLoadingResponse] = useState(false) + const plansModal = useDisclosure() const [gcpProjectID, setGcpProjectID] = useState("") const [gcpDatasetID, setGcpDatasetID] = useState("") @@ -297,6 +302,36 @@ export default function DataInformationQuery({ resource }) { border="1px solid #DEDFE0" borderRadius="16px" > + + + + Compare os planos + + + + + + + { + onClick={() => { + if(downloadWarning === "100mbBetween1gb") return plansModal.onOpen() triggerGAEvent("download_da_tabela",`{ gcp: ${gcpProjectID+"."+gcpDatasetID+"."+gcpTableId}, tamanho: ${formatBytes(resource.uncompressedFileSize) || ""}, @@ -578,9 +614,9 @@ export default function DataInformationQuery({ resource }) { height="40px" width="fit-content" borderRadius="8px" - backgroundColor={downloadPermitted ? "#2B8C4D" : "#ACAEB1"} + backgroundColor={downloadWarning !== "biggest1gb" ? "#2B8C4D" : "#ACAEB1"} padding="8px 16px" - cursor={downloadPermitted ? "pointer" : "default"} + cursor={downloadWarning !== "biggest1gb" ? "pointer" : "default"} color="#FFF" fill="#FFF" fontFamily="Roboto" @@ -588,7 +624,7 @@ export default function DataInformationQuery({ resource }) { fontSize="14px" gap="8px" lineHeight="20px" - pointerEvents={downloadPermitted ? "default" : "none"} + pointerEvents={downloadWarning !== "biggest1gb" ? "default" : "none"} _hover={{ backgroundColor: "#22703E" }} @@ -597,7 +633,7 @@ export default function DataInformationQuery({ resource }) { width="24px" height="24px" /> - Download da tabela {downloadPermitted && `(${formatBytes(resource.uncompressedFileSize)})`} + Download da tabela {downloadWarning !== "biggest1gb" && `(${formatBytes(resource.uncompressedFileSize)})`} diff --git a/next/components/molecules/TemporalCoverageDisplay.js b/next/components/molecules/TemporalCoverageDisplay.js index 96a56b93..28d04638 100644 --- a/next/components/molecules/TemporalCoverageDisplay.js +++ b/next/components/molecules/TemporalCoverageDisplay.js @@ -5,9 +5,13 @@ import { Text, Box, Tooltip, + useDisclosure, + ModalCloseButton } from "@chakra-ui/react"; import { useState, useEffect } from "react"; import { CalendarComunIcon } from "../../public/img/icons/calendarIcon"; +import { SectionPrice } from "../../pages/precos"; +import { ModalGeneral } from "./uiUserPage"; import RedirectIcon from "../../public/img/icons/redirectIcon"; export function TemporalCoverage ({ @@ -126,6 +130,7 @@ export function TemporalCoverageString({ export function TemporalCoverageBar ({ value }) { const [values, setValues] = useState({}) + const plansModal = useDisclosure() const TextData = ({ string, ...style }) => { return ( @@ -168,6 +173,36 @@ export function TemporalCoverageBar ({ value }) { alignItems="normal" spacing={0} > + + + + Compare os planos + + + + + + + plansModal.onOpen()} > PAGO {button.text} @@ -293,11 +275,23 @@ export const CardPrice = ({ ) } -export default function Price({ username ,isBDPro, isBDEmp }) { +export function SectionPrice() { const [toggleAnual, setToggleAnual] = useState(false) const [plans, setPlans] = useState(null) + const [username, setUsername] = useState(null) + const [isBDPro, setIsBDPro] = useState(false) + const [isBDEmp, setIsBDEmp] = useState(false) useEffect(() => { + let user = null + if(cookies.get("userBD")) user = JSON.parse(cookies.get("userBD")) + + if(user != null) { + setUsername(user?.username) + setIsBDPro(user?.proSubscription === "bd_pro") + setIsBDEmp(user?.proSubscription === "bd_pro_empresas") + } + async function fecthPlans() { try { const result = await fetch(`/api/stripe/getPlans`, { method: "GET" }) @@ -331,6 +325,119 @@ export default function Price({ username ,isBDPro, isBDEmp }) { fecthPlans() }, []) + return ( + + + setToggleAnual(!toggleAnual)} + /> + + Desconto anual + Economize 20% + + + + + Para você descobrir o potencial da plataforma de dados} + price={"0"} + textResource="Recursos:" + resources={[ + {name: "Tabelas tratadas"}, + {name: "Dados integrados", tooltip: "Nossa metodologia de padronização e compatibilização de dados permite que você cruze tabelas de diferentes instituições e temas de maneira simplificada."}, + {name: "Acesso em nuvem"}, + {name: "Acesso via SQL, Python e R"}, + {name: "Integração com ferramentas BI"}, + {name: "Download direto até 100 MB", tooltip: "Esse limite não se aplica ao acesso via SQL, Python e R."}, + ]} + button={{ + text: "Explorar recursos", + href: "/dataset", + }} + /> + + Para você ter acesso aos
dados mais atualizados} + price={plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`].amount || 47} + anualPlan={toggleAnual} + textResource="Todos os recursos da BD Grátis, mais:" + resources={[ + {name: "Dezenas de bases de alta frequência atualizadas"}, + {name: "Download direto até 1GB (80% das tabelas da plataforma)", tooltip: "Tabelas maiores que 1 GB não estão disponíveis para download parcial ou completo. Esse limite não se aplica ao acesso via SQL, Python e R."} + ]} + button={{ + text: isBDPro ? "Plano atual" : `Iniciar teste grátis`, + href: username === null ? `/user/login?q=pro&i=${plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}` :`/user/${username}?plans_and_payment&q=pro&i=${plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}`, + isCurrentPlan: isBDPro, + }} + /> + + Para sua empresa ganhar tempo
e qualidade em decisões} + price={plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`].amount || 350} + anualPlan={toggleAnual} + textResource="Todos os recursos da BD Pro, mais:" + resources={[ + {name: "Acesso para 10 contas"}, + {name: "Suporte prioritário via email e Discord"} + ]} + button={{ + text: isBDEmp ? "Plano atual" : "Iniciar teste grátis", + href: username === null ? `/user/login?q=empresas&i=${plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}` :`/user/${username}?plans_and_payment&q=empresas&i=${plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}`, + isCurrentPlan: isBDEmp, + }} + /> +
+
+ ) +} + +export default function Price() { return ( @@ -353,6 +460,7 @@ export default function Price({ username ,isBDPro, isBDEmp }) { width="100%" maxWidth="1264px" flexDirection="column" + marginBottom="80px !important" margin="auto" spacing={0} > @@ -368,109 +476,7 @@ export default function Price({ username ,isBDPro, isBDEmp }) { Compare os planos - - setToggleAnual(!toggleAnual)} - /> - - Desconto anual - Economize 20% - - - - - Para você descobrir o potencial da plataforma de dados} - price={"0"} - textResource="Recursos:" - resources={[ - {name: "Tabelas tratadas"}, - {name: "Dados integrados", tooltip: "Nossa metodologia de padronização e compatibilização de dados permite que você cruze tabelas de diferentes instituições e temas de maneira simplificada."}, - {name: "Acesso em nuvem"}, - {name: "Acesso via SQL, Python e R"}, - {name: "Integração com ferramentas BI"}, - {name: "Download direto até 100 MB", tooltip: "Esse limite não se aplica ao acesso via SQL, Python e R."}, - ]} - button={{ - text: "Explorar recursos", - href: "/dataset", - }} - /> - - Para você ter acesso aos
dados mais atualizados} - price={plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`].amount || 47} - anualPlan={toggleAnual} - textResource="Todos os recursos da BD Grátis, mais:" - resources={[ - {name: "Dezenas de bases de alta frequência atualizadas"}, - {name: "Download direto até 1GB (80% das tabelas da plataforma)", tooltip: "Tabelas maiores que 5 GB não estão disponíveis para download parcial ou completo. Esse limite não se aplica ao acesso via SQL, Python e R."} - ]} - button={{ - text: isBDPro ? "Plano atual" : `Iniciar teste grátis`, - href: username === null ? `/user/login?q=pro&i=${plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}` :`/user/${username}?plans_and_payment&q=pro&i=${plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}`, - isCurrentPlan: isBDPro, - }} - /> - - Para sua empresa ganhar tempo
e qualidade em decisões} - price={plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`].amount || 350} - anualPlan={toggleAnual} - textResource="Todos os recursos da BD Pro, mais:" - resources={[ - {name: "Acesso para 10 contas"}, - {name: "Suporte prioritário via email e Discord"} - ]} - button={{ - text: isBDEmp ? "Plano atual" : "Iniciar teste grátis", - href: username === null ? `/user/login?q=empresas&i=${plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}` :`/user/${username}?plans_and_payment&q=empresas&i=${plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}`, - isCurrentPlan: isBDEmp, - }} - /> -
+
) diff --git a/next/pages/servicos.js b/next/pages/servicos.js index ed7c6aab..5cdba911 100644 --- a/next/pages/servicos.js +++ b/next/pages/servicos.js @@ -2,7 +2,6 @@ import { Stack, VStack, Image, - Text, Box, Skeleton } from "@chakra-ui/react"; diff --git a/next/pages/transparencia.js b/next/pages/transparencia.js index 636af6bb..cda9011e 100644 --- a/next/pages/transparencia.js +++ b/next/pages/transparencia.js @@ -298,6 +298,25 @@ export default function Transparencia({ pages }) { + + + BD Relatório Anual 2023 + + + { isCentered={isMobileMod() ? false : true} > - + Compare os planos - + + + { justifyContent="center" alignitems="center" gap="8px" - margin="20px 0 24px !important" > { >Economize 20% - - - Para você descobrir o potencial da plataforma de dados} - price={"0"} - textResource="Recursos:" - resources={[ - {name: "Tabelas tratadas"}, - {name: "Dados integrados", tooltip: "Nossa metodologia de padronização e compatibilização de dados permite que você cruze tabelas de diferentes instituições e temas de maneira simplificada."}, - {name: "Acesso em nuvem"}, - {name: "Acesso via SQL, Python e R"}, - {name: "Integração com ferramentas BI"}, - {name: "Download direto até 100 MB", tooltip: "Esse limite não se aplica ao acesso via SQL, Python e R."}, - ]} - button={{ - text: "Explorar recursos", - href: "/dataset", - noHasModal: true, - }} - /> + + Para você descobrir o potencial da plataforma de dados} + price={"0"} + textResource="Recursos:" + resources={[ + {name: "Tabelas tratadas"}, + {name: "Dados integrados", tooltip: "Nossa metodologia de padronização e compatibilização de dados permite que você cruze tabelas de diferentes instituições e temas de maneira simplificada."}, + {name: "Acesso em nuvem"}, + {name: "Acesso via SQL, Python e R"}, + {name: "Integração com ferramentas BI"}, + {name: "Download direto até 100 MB", tooltip: "Esse limite não se aplica ao acesso via SQL, Python e R."}, + ]} + button={{ + text: "Explorar recursos", + href: "/dataset", + noHasModal: true, + }} + /> - Para você ter acesso aos
dados mais atualizados} - price={plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`].amount || 47} - anualPlan={toggleAnual} - textResource="Todos os recursos da BD Grátis, mais:" - resources={[ - {name: "Dezenas de bases de alta frequência atualizadas"}, - {name: "Download direto até 1GB (80% das tabelas da plataforma)", tooltip: "Tabelas maiores que 5 GB não estão disponíveis para download parcial ou completo. Esse limite não se aplica ao acesso via SQL, Python e R."} - ]} - button={{ - text: `${userData?.proSubscription === "bd_pro" ? "Plano atual" : "Assinar"}`, - onClick: userData?.proSubscription === "bd_pro" ? () => {} : () => { - setPlan({id: plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}) - PlansModal.onClose() - PaymentModal.onOpen() - }, - isCurrentPlan: userData?.proSubscription === "bd_pro" ? true : false, - }} - /> + Para você ter acesso aos
dados mais atualizados} + price={plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`].amount || 47} + anualPlan={toggleAnual} + textResource="Todos os recursos da BD Grátis, mais:" + resources={[ + {name: "Dezenas de bases de alta frequência atualizadas"}, + {name: "Download direto até 1GB (80% das tabelas da plataforma)", tooltip: "Tabelas maiores que 1 GB não estão disponíveis para download parcial ou completo. Esse limite não se aplica ao acesso via SQL, Python e R."} + ]} + button={{ + text: `${userData?.proSubscription === "bd_pro" ? "Plano atual" : "Assinar"}`, + onClick: userData?.proSubscription === "bd_pro" ? () => {} : () => { + setPlan({id: plans?.[`bd_pro_${toggleAnual ? "year" : "month"}`]._id}) + PlansModal.onClose() + PaymentModal.onOpen() + }, + isCurrentPlan: userData?.proSubscription === "bd_pro" ? true : false, + }} + /> - Para sua empresa ganhar tempo
e qualidade em decisões} - price={plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`].amount || 350} - anualPlan={toggleAnual} - textResource="Todos os recursos da BD Pro, mais:" - resources={[ - {name: "Acesso para 10 contas"}, - {name: "Suporte prioritário via email e Discord"} - ]} - button={{ - text: `${userData?.proSubscription === "bd_pro_empresas" ? "Plano atual" : "Assinar"}`, - onClick: userData?.proSubscription === "bd_pro_empresas" ? () => {} : () => { - setPlan({id: plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}) - PlansModal.onClose() - PaymentModal.onOpen() - }, - isCurrentPlan: userData?.proSubscription === "bd_pro_empresas" ? true : false, - }} - /> -
+ Para sua empresa ganhar tempo
e qualidade em decisões} + price={plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`].amount || 350} + anualPlan={toggleAnual} + textResource="Todos os recursos da BD Pro, mais:" + resources={[ + {name: "Acesso para 10 contas"}, + {name: "Suporte prioritário via email e Discord"} + ]} + button={{ + text: `${userData?.proSubscription === "bd_pro_empresas" ? "Plano atual" : "Assinar"}`, + onClick: userData?.proSubscription === "bd_pro_empresas" ? () => {} : () => { + setPlan({id: plans?.[`bd_empresas_${toggleAnual ? "year" : "month"}`]._id}) + PlansModal.onClose() + PaymentModal.onOpen() + }, + isCurrentPlan: userData?.proSubscription === "bd_pro_empresas" ? true : false, + }} + /> +
+