|
@@ -2,20 +2,22 @@ import React from "react";
|
|
|
import Head from "next/head";
|
|
|
import Link from "next/link";
|
|
|
import Script from "next/script";
|
|
|
-import { FaGithub, FaHeart, FaLinkedin, FaTwitter } from "react-icons/fa";
|
|
|
+import { AiOutlineRight } from "react-icons/ai";
|
|
|
import {
|
|
|
HiCursorClick,
|
|
|
HiLightningBolt,
|
|
|
HiOutlineDownload,
|
|
|
HiOutlineSearchCircle,
|
|
|
} from "react-icons/hi";
|
|
|
+import { IoRocketSharp } from "react-icons/io5";
|
|
|
import { SiVisualstudiocode } from "react-icons/si";
|
|
|
import { CarbonAds } from "src/components/CarbonAds";
|
|
|
+import { Footer } from "src/components/Footer";
|
|
|
import { Producthunt } from "src/components/Producthunt";
|
|
|
import { Sponsors } from "src/components/Sponsors";
|
|
|
-import { defaultJson } from "src/constants/data";
|
|
|
-import { GoalsModal } from "src/containers/Modals/GoalsModal";
|
|
|
-import pkg from "../../../package.json";
|
|
|
+import { SupportButton } from "src/components/SupportButton";
|
|
|
+import { baseURL } from "src/constants/data";
|
|
|
+import { PricingCards } from "../PricingCards";
|
|
|
import * as Styles from "./styles";
|
|
|
|
|
|
const Navbar = () => (
|
|
@@ -34,6 +36,9 @@ const Navbar = () => (
|
|
|
>
|
|
|
GitHub
|
|
|
</Styles.StyledNavLink>
|
|
|
+ <Link href="docs" passHref>
|
|
|
+ <Styles.StyledNavLink>Documentation</Styles.StyledNavLink>
|
|
|
+ </Link>
|
|
|
</Styles.StyledNavbar>
|
|
|
);
|
|
|
|
|
@@ -43,34 +48,31 @@ const HeroSection = () => {
|
|
|
return (
|
|
|
<Styles.StyledHeroSection id="main">
|
|
|
<Styles.StyledTitle>
|
|
|
- <Styles.StyledGradientText>JSON</Styles.StyledGradientText> Crack
|
|
|
+ <Styles.StyledGradientText>JSON</Styles.StyledGradientText> CRACK
|
|
|
</Styles.StyledTitle>
|
|
|
<Styles.StyledSubTitle>
|
|
|
Seamlessly visualize your JSON data{" "}
|
|
|
- <Styles.StyledHighlightedText>instantly</Styles.StyledHighlightedText> into
|
|
|
- graphs.
|
|
|
+ <Styles.StyledHighlightedText>instantly</Styles.StyledHighlightedText> into graphs.
|
|
|
</Styles.StyledSubTitle>
|
|
|
- <Styles.StyledMinorTitle>Paste - Import - Fetch!</Styles.StyledMinorTitle>
|
|
|
|
|
|
- <Styles.StyledButton rel="prefetch" href="/editor" link>
|
|
|
+ <Styles.StyledButton href="/editor" link>
|
|
|
GO TO EDITOR
|
|
|
+ <AiOutlineRight strokeWidth="80" />
|
|
|
</Styles.StyledButton>
|
|
|
|
|
|
<Styles.StyledButtonWrapper>
|
|
|
- <Styles.StyledSponsorButton onClick={() => setModalVisible(true)}>
|
|
|
- Help JSON Crack's Goals
|
|
|
- <FaHeart />
|
|
|
+ <Styles.StyledSponsorButton href="/pricing" link>
|
|
|
+ GET PREMIUM
|
|
|
+ <IoRocketSharp />
|
|
|
</Styles.StyledSponsorButton>
|
|
|
- <Link
|
|
|
+ <Styles.StyledSponsorButton
|
|
|
href="https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode"
|
|
|
- passHref
|
|
|
+ link
|
|
|
+ isBlue
|
|
|
>
|
|
|
- <Styles.StyledSponsorButton isBlue>
|
|
|
- GET IT ON VS CODE
|
|
|
- <SiVisualstudiocode />
|
|
|
- </Styles.StyledSponsorButton>
|
|
|
- </Link>
|
|
|
- <GoalsModal visible={isModalVisible} setVisible={setModalVisible} />
|
|
|
+ GET IT ON VS CODE
|
|
|
+ <SiVisualstudiocode />
|
|
|
+ </Styles.StyledSponsorButton>
|
|
|
</Styles.StyledButtonWrapper>
|
|
|
</Styles.StyledHeroSection>
|
|
|
);
|
|
@@ -97,9 +99,9 @@ const FeaturesSection = () => (
|
|
|
</Styles.StyledCardIcon>
|
|
|
<Styles.StyledCardTitle>EASY-TO-USE</Styles.StyledCardTitle>
|
|
|
<Styles.StyledCardDescription>
|
|
|
- Don't even bother to update your schema to view your JSON into graphs;
|
|
|
- directly paste, import or fetch! JSON Crack helps you to visualize without
|
|
|
- any additional values and save your time.
|
|
|
+ We believe that powerful software doesn't have to be difficult to use. That's why
|
|
|
+ we've designed our app to be as intuitive and easy-to-use as possible. You can quickly
|
|
|
+ and easily load your JSON data and start exploring and analyzing it right away!
|
|
|
</Styles.StyledCardDescription>
|
|
|
</Styles.StyledSectionCard>
|
|
|
|
|
@@ -109,9 +111,9 @@ const FeaturesSection = () => (
|
|
|
</Styles.StyledCardIcon>
|
|
|
<Styles.StyledCardTitle>SEARCH</Styles.StyledCardTitle>
|
|
|
<Styles.StyledCardDescription>
|
|
|
- Have a huge file of values, keys or arrays? Worry no more, type in the
|
|
|
- keyword you are looking for into search input and it will take you to each
|
|
|
- node with matching result highlighting the line to understand better!
|
|
|
+ Have a huge file of values, keys or arrays? Worry no more, type in the keyword you are
|
|
|
+ looking for into search input and it will take you to each node with matching result
|
|
|
+ highlighting the line to understand better!
|
|
|
</Styles.StyledCardDescription>
|
|
|
</Styles.StyledSectionCard>
|
|
|
|
|
@@ -121,9 +123,9 @@ const FeaturesSection = () => (
|
|
|
</Styles.StyledCardIcon>
|
|
|
<Styles.StyledCardTitle>DOWNLOAD</Styles.StyledCardTitle>
|
|
|
<Styles.StyledCardDescription>
|
|
|
- Download the graph to your local machine and use it wherever you want, to
|
|
|
- your blogs, website or make it a poster and paste to the wall. Who
|
|
|
- wouldn't want to see a JSON Crack graph onto their wall, eh?
|
|
|
+ Download the graph to your local machine and use it wherever you want, to your blogs,
|
|
|
+ website or make it a poster and paste to the wall. Who wouldn't want to see a JSON
|
|
|
+ Crack graph onto their wall, eh?
|
|
|
</Styles.StyledCardDescription>
|
|
|
</Styles.StyledSectionCard>
|
|
|
|
|
@@ -133,9 +135,9 @@ const FeaturesSection = () => (
|
|
|
</Styles.StyledCardIcon>
|
|
|
<Styles.StyledCardTitle>LIVE</Styles.StyledCardTitle>
|
|
|
<Styles.StyledCardDescription>
|
|
|
- With Microsoft's Monaco Editor which is also used by VS Code, easily
|
|
|
- edit your JSON and directly view through the graphs. Also there's a JSON
|
|
|
- validator above of it to make sure there is no type error.
|
|
|
+ With Microsoft's Monaco Editor which is also used by VS Code, easily edit your JSON and
|
|
|
+ directly view through the graphs. Also there's a JSON validator above of it to make
|
|
|
+ sure there is no type error.
|
|
|
</Styles.StyledCardDescription>
|
|
|
</Styles.StyledSectionCard>
|
|
|
</Styles.StyledFeaturesSection>
|
|
@@ -144,40 +146,37 @@ const FeaturesSection = () => (
|
|
|
const GitHubSection = () => (
|
|
|
<Styles.StyledSection id="github" reverse>
|
|
|
<Styles.StyledTwitterQuote>
|
|
|
- <blockquote
|
|
|
- className="twitter-tweet"
|
|
|
- data-lang="en"
|
|
|
- data-dnt="true"
|
|
|
- data-theme="light"
|
|
|
- >
|
|
|
+ <blockquote className="twitter-tweet" data-lang="en" data-dnt="true" data-theme="light">
|
|
|
<p lang="en" dir="ltr">
|
|
|
- Looking to understand or explore some JSON? Just paste or upload to
|
|
|
- visualize it as a graph with{" "}
|
|
|
- <a href="https://t.co/HlKSrhKryJ">https://t.co/HlKSrhKryJ</a> 😍 <br />
|
|
|
+ Looking to understand or explore some JSON? Just paste or upload to visualize it as a
|
|
|
+ graph with <a href="https://t.co/HlKSrhKryJ">https://t.co/HlKSrhKryJ</a> 😍 <br />
|
|
|
<br />
|
|
|
- Thanks to{" "}
|
|
|
- <a href="https://twitter.com/aykutsarach?ref_src=twsrc%5Etfw">
|
|
|
+ Thanks to <a href="https://twitter.com/aykutsarach?ref_src=twsrc%5Etfw">
|
|
|
@aykutsarach
|
|
|
- </a>
|
|
|
- ! <a href="https://t.co/0LyPUL8Ezz">pic.twitter.com/0LyPUL8Ezz</a>
|
|
|
+ </a>! <a href="https://t.co/0LyPUL8Ezz">pic.twitter.com/0LyPUL8Ezz</a>
|
|
|
</p>
|
|
|
— GitHub (@github){" "}
|
|
|
<a href="https://twitter.com/github/status/1519363257794015233?ref_src=twsrc%5Etfw">
|
|
|
April 27, 2022
|
|
|
</a>
|
|
|
</blockquote>{" "}
|
|
|
- <Script
|
|
|
- async
|
|
|
- src="https://platform.twitter.com/widgets.js"
|
|
|
- charSet="utf-8"
|
|
|
- ></Script>
|
|
|
+ <Script async src="https://platform.twitter.com/widgets.js" charSet="utf-8"></Script>
|
|
|
</Styles.StyledTwitterQuote>
|
|
|
<Styles.StyledSectionArea>
|
|
|
<Styles.StyledSubTitle>Open Source Community</Styles.StyledSubTitle>
|
|
|
<Styles.StyledMinorTitle>
|
|
|
- Join the Open Source Community by suggesting new ideas, support by
|
|
|
- contributing; implementing new features, fixing bugs and doing changes minor
|
|
|
- to major!
|
|
|
+ At JSON Crack, we believe in the power of open source software and the communities that
|
|
|
+ support it. That's why we're proud to be part of the open source community and to
|
|
|
+ contribute to the development and growth of open source tools and technologies.
|
|
|
+ <br />
|
|
|
+ <br /> As part of our commitment to the open source community, we've made our app
|
|
|
+ freely available to anyone who wants to use it, and we welcome contributions from anyone
|
|
|
+ who's interested in helping to improve it. Whether you're a developer, a data
|
|
|
+ scientist, or just someone who's passionate about open source, we'd love to have
|
|
|
+ you join our community and help us make JSON Crack the best it can be.
|
|
|
+ <br />
|
|
|
+ <br /> So why not join us and become part of the JSON Crack open source community today? We
|
|
|
+ can't wait to see what we can accomplish together!
|
|
|
</Styles.StyledMinorTitle>
|
|
|
<Styles.StyledButton
|
|
|
href="https://github.com/AykutSarac/jsoncrack.com"
|
|
@@ -195,19 +194,41 @@ const EmbedSection = () => (
|
|
|
<Styles.StyledSectionArea>
|
|
|
<Styles.StyledSubTitle>Embed Into Your Website</Styles.StyledSubTitle>
|
|
|
<Styles.StyledMinorTitle>
|
|
|
- Easily embed the JSON Crack graph into your website to showcase your
|
|
|
- visitors, blog readers or anybody else!
|
|
|
+ JSON Crack provides users with the necessary code to embed the app into a website easily
|
|
|
+ using an iframe. This code can be easily copied and pasted into the desired location on the
|
|
|
+ website, allowing users to quickly and easily integrate JSON Crack into existing workflows.
|
|
|
+ <br />
|
|
|
+ <br /> Once the app is embedded, users can use it to view and analyze JSON data directly on
|
|
|
+ the website. This can be useful for a variety of purposes, such as quickly checking the
|
|
|
+ structure of a JSON file or verifying the data contained within it. JSON Crack's
|
|
|
+ intuitive interface makes it easy to navigate and understand even complex JSON data, making
|
|
|
+ it a valuable tool for anyone working with JSON.
|
|
|
</Styles.StyledMinorTitle>
|
|
|
+ <Styles.StyledButton href="/docs" status="SECONDARY" link>
|
|
|
+ LEARN TO EMBED
|
|
|
+ </Styles.StyledButton>
|
|
|
</Styles.StyledSectionArea>
|
|
|
<div>
|
|
|
<Styles.StyledIframge
|
|
|
- src="https://jsoncrack.com/widget"
|
|
|
+ src={`${baseURL}/widget`}
|
|
|
onLoad={e => {
|
|
|
const frame = e.currentTarget.contentWindow;
|
|
|
setTimeout(() => {
|
|
|
- frame?.postMessage({
|
|
|
- json: defaultJson,
|
|
|
- });
|
|
|
+ frame?.postMessage(
|
|
|
+ {
|
|
|
+ json: JSON.stringify({
|
|
|
+ "random images": [
|
|
|
+ "https://random.imagecdn.app/50/50?.png",
|
|
|
+ "https://random.imagecdn.app/80/80?.png",
|
|
|
+ "https://random.imagecdn.app/100/100?.png",
|
|
|
+ ],
|
|
|
+ }),
|
|
|
+ options: {
|
|
|
+ theme: "dark",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ "*"
|
|
|
+ );
|
|
|
}, 500);
|
|
|
}}
|
|
|
></Styles.StyledIframge>
|
|
@@ -250,42 +271,6 @@ const SponsorSection = () => (
|
|
|
</Styles.StyledSponsorSection>
|
|
|
);
|
|
|
|
|
|
-const Footer = () => (
|
|
|
- <Styles.StyledFooter>
|
|
|
- <Styles.StyledFooterText>
|
|
|
- © 2022 JSON Crack - {pkg.version}
|
|
|
- </Styles.StyledFooterText>
|
|
|
- <Styles.StyledIconLinks>
|
|
|
- <Styles.StyledNavLink
|
|
|
- href="https://github.com/AykutSarac/jsoncrack.com"
|
|
|
- rel="external"
|
|
|
- target="_blank"
|
|
|
- aria-label="github"
|
|
|
- >
|
|
|
- <FaGithub size={26} />
|
|
|
- </Styles.StyledNavLink>
|
|
|
-
|
|
|
- <Styles.StyledNavLink
|
|
|
- href="https://www.linkedin.com/in/aykutsarac/"
|
|
|
- rel="me"
|
|
|
- target="_blank"
|
|
|
- aria-label="linkedin"
|
|
|
- >
|
|
|
- <FaLinkedin size={26} />
|
|
|
- </Styles.StyledNavLink>
|
|
|
-
|
|
|
- <Styles.StyledNavLink
|
|
|
- href="https://twitter.com/jsoncrack"
|
|
|
- rel="me"
|
|
|
- target="_blank"
|
|
|
- aria-label="twitter"
|
|
|
- >
|
|
|
- <FaTwitter size={26} />
|
|
|
- </Styles.StyledNavLink>
|
|
|
- </Styles.StyledIconLinks>
|
|
|
- </Styles.StyledFooter>
|
|
|
-);
|
|
|
-
|
|
|
const Home: React.FC = () => {
|
|
|
return (
|
|
|
<Styles.StyledHome>
|
|
@@ -298,8 +283,10 @@ const Home: React.FC = () => {
|
|
|
<FeaturesSection />
|
|
|
<GitHubSection />
|
|
|
<EmbedSection />
|
|
|
+ <PricingCards />
|
|
|
<SupportSection />
|
|
|
<SponsorSection />
|
|
|
+ <SupportButton />
|
|
|
<Footer />
|
|
|
</Styles.StyledHome>
|
|
|
);
|