diff --git a/public/assets/bf2-image.png b/public/assets/bf2-image.png
new file mode 100644
index 0000000..a5463b8
Binary files /dev/null and b/public/assets/bf2-image.png differ
diff --git a/public/assets/step1-visual.png b/public/assets/step1-visual.png
new file mode 100644
index 0000000..a0296cb
Binary files /dev/null and b/public/assets/step1-visual.png differ
diff --git a/public/assets/step2-visual.png b/public/assets/step2-visual.png
new file mode 100644
index 0000000..f684ec7
Binary files /dev/null and b/public/assets/step2-visual.png differ
diff --git a/public/assets/step3-visual.png b/public/assets/step3-visual.png
new file mode 100644
index 0000000..95a7fd3
Binary files /dev/null and b/public/assets/step3-visual.png differ
diff --git a/src/data/faq.json b/src/data/faq.json
index 02306fb..175e1cf 100644
--- a/src/data/faq.json
+++ b/src/data/faq.json
@@ -1,7 +1,11 @@
[
{
"title": "What is JSON Crack and what does it do?",
- "content": "JSON Crack is a versatile online tool designed to visualize and analyze various data formats, including JSON, YAML, CSV, XML and more. It transforms complex data into intuitive graphs and tree views, making it ideal for developers, data analysts, and anyone working with structured data."
+ "content": "JSON Crack is an online JSON viewer tool designed to visualize and analyze various data formats, including JSON, YAML, CSV, XML and more. It transforms complex data into intuitive graphs and tree views, making it ideal for developers, data analysts, and anyone working with structured data."
+ },
+ {
+ "title": "How is it different than traditional JSON viewers?",
+ "content": "While traditional JSON Viewers and JSON formatters only allow you to work with raw data on text editors, JSON Crack offers a unique visual representation of your data, making it easier to understand and analyze complex data structures. It provides a tree view and graph view to help you visualize your data in different ways."
},
{
"title": "Is JSON Crack free?",
diff --git a/src/layout/Landing/Features.tsx b/src/layout/Landing/Features.tsx
index 1f84d26..a5764d1 100644
--- a/src/layout/Landing/Features.tsx
+++ b/src/layout/Landing/Features.tsx
@@ -25,36 +25,36 @@ interface FeatureItem {
const features: FeatureItem[] = [
{
- title: "Visualizer",
+ title: "JSON Visualizer",
description:
"Transform your data into interactive graphs or trees as you type. Supports JSON, YAML, CSV, XML, and TOML.",
icon: ,
color: "yellow",
},
{
- title: "Convert",
+ title: "Convert Data",
description:
"Convert JSON to CSV, YAML to JSON, XML to JSON, and more. Our JSON converter supports multiple formats for easy data exchange.",
icon: ,
color: "orange",
},
{
- title: "Format & Validate",
+ title: "JSON Formatter and JSON Validator",
description:
"Format and beautify your JSON data to make it more readable. Validate JSON, YAML, and CSV.",
icon: ,
color: "green",
},
{
- title: "Generate Code",
- description: "Generate TypeScript interface, Golang structs, JSON Schema and more.",
+ title: "Generate Code/Types",
+ description: "Generate TypeScript interface, Golang structs, Rust serde, JSON Schema and more.",
icon: ,
color: "grape",
},
{
- title: "JSON Schema",
+ title: "JSON Schema Generator",
description:
- "Generate JSON Schema, create mock data, and validate JSON Schema from various data formats like JSON, YAML, XML, and CSV.",
+ "Validate JSON Schema, create mock data, and generate JSON Schema from various data formats like JSON, YAML, XML, and CSV.",
icon: ,
color: "cyan",
},
@@ -65,9 +65,9 @@ const features: FeatureItem[] = [
color: "teal.5",
},
{
- title: "Download Image",
+ title: "Export Image",
description:
- "Export image of the graph as PNG, JPEG, or SVG. Share your data visualization with others.",
+ "Export image of the graphs as PNG, JPEG, or SVG. Share your data visualization with others.",
icon: ,
color: "blue.4",
},
@@ -122,8 +122,7 @@ export const Features = () => {
fz={{ base: 16, sm: 18 }}
w={{ base: "100%", xs: "80%", sm: "60%", md: "40%" }}
>
- All in one tool for JSON, YAML, CSV, XML, and TOML. Formatter, validator, visualizer, and
- editor.
+ All in one tool for JSON, YAML, CSV, XML, and TOML.
{
Visualize JSON into interactive graphs
- The best online JSON viewer tool to visualize, format{" "}
- and explore.
+ The best online JSON viewer to visualize, format and{" "}
+ explore.
diff --git a/src/layout/Landing/LovedBy.tsx b/src/layout/Landing/LovedBy.tsx
index 49601fd..b79630c 100644
--- a/src/layout/Landing/LovedBy.tsx
+++ b/src/layout/Landing/LovedBy.tsx
@@ -61,7 +61,7 @@ const Featured = ({ stars }: LovedByProps) => {
export const LovedBy = ({ stars }: LovedByProps) => {
return (
-
+
);
};
diff --git a/src/layout/Landing/Section2.tsx b/src/layout/Landing/Section2.tsx
new file mode 100644
index 0000000..c064359
--- /dev/null
+++ b/src/layout/Landing/Section2.tsx
@@ -0,0 +1,171 @@
+import React from "react";
+import {
+ Button,
+ Container,
+ Flex,
+ Image,
+ JsonInput,
+ List,
+ SimpleGrid,
+ Stack,
+ Text,
+ Title,
+} from "@mantine/core";
+import styled from "styled-components";
+import { LuBadgeCheck } from "react-icons/lu";
+
+const StyledDottedContainer = styled.div`
+ position: relative;
+ background-color: #f3f3f3;
+ background-image: radial-gradient(#e0e0e0 3px, transparent 0);
+ background-size: 40px 40px;
+ border: 1px solid #e0e0e0;
+
+ width: 100%;
+ min-width: 300px;
+ max-width: 500px;
+ border-radius: 15px;
+ height: 460px;
+
+ .jc {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: 12px;
+ border-radius: 15px;
+ transform: translate(-80px, 10%);
+ border: 1px solid #000;
+ box-shadow: 0px 4px 0px 0px #000;
+ background: #f3f3f3;
+ --line-color-1: #e3e3e3;
+ --line-color-2: #e5e5e5;
+ background-image: linear-gradient(var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(90deg, var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(var(--line-color-2) 1px, transparent 1px),
+ linear-gradient(90deg, var(--line-color-2) 1px, transparent 1px);
+ background-position:
+ -1.5px -1.5px,
+ -1.5px -1.5px,
+ -1px -1px,
+ -1px -1px;
+ background-size:
+ 100px 100px,
+ 100px 100px,
+ 20px 20px,
+ 20px 20px;
+ }
+
+ .jcode {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform: translate(80%, 80%);
+ width: 273px;
+ border-radius: 15px;
+ border: 1px solid #000;
+ box-shadow: 0px 4px 0px 0px #000;
+ overflow: hidden;
+ }
+
+ @media only screen and (max-width: 1085px) {
+ display: none;
+ }
+`;
+
+export const Section2 = () => {
+ return (
+
+
+
+
+ Don't waste time with JSON formatters
+
+
+ Format JSON and transform into a readable graph in seconds. JSON Crack is an open-source
+ online tool that helps you visualize and understand data.
+
+
}
+ >
+
+ VS Code Extension
+ Open-source
+ JSON Validator/Formatter
+ Export Image
+
+
+
+ Open JSON Editor
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/src/layout/Landing/Section3.tsx b/src/layout/Landing/Section3.tsx
new file mode 100644
index 0000000..b7c1bae
--- /dev/null
+++ b/src/layout/Landing/Section3.tsx
@@ -0,0 +1,117 @@
+import React from "react";
+import {
+ Button,
+ Container,
+ Flex,
+ Image,
+ List,
+ SimpleGrid,
+ Stack,
+ Text,
+ Title,
+} from "@mantine/core";
+import styled from "styled-components";
+import { LuBadgeCheck } from "react-icons/lu";
+
+const StyledDottedContainer = styled.div`
+ position: relative;
+ width: 100%;
+ min-width: 300px;
+ max-width: 500px;
+ border-radius: 15px;
+ height: 460px;
+
+ .jc {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: 12px;
+ border-radius: 15px;
+ border: 1px solid #e0e0e0;
+ background: #f3f3f3;
+ --line-color-1: #e3e3e3;
+ --line-color-2: #e5e5e5;
+ background-image: linear-gradient(var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(90deg, var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(var(--line-color-2) 1px, transparent 1px),
+ linear-gradient(90deg, var(--line-color-2) 1px, transparent 1px);
+ background-position:
+ -1.5px -1.5px,
+ -1.5px -1.5px,
+ -1px -1px,
+ -1px -1px;
+ background-size:
+ 100px 100px,
+ 100px 100px,
+ 20px 20px,
+ 20px 20px;
+ }
+
+ @media only screen and (max-width: 1085px) {
+ display: none;
+ }
+`;
+
+export const Section3 = () => {
+ return (
+
+
+
+
+
+
+
+ Visualize and convert to multiple formats
+
+
+ JSON Crack supports formats like TOML, CSV, YAML, and XML, making it easier to visualize
+ your data, no matter the type.
+
+
}
+ >
+
+ JSON to CSV
+ YAML to JSON
+ XML to JSON
+ and more...
+
+
+
+ Open Converter
+
+
+
+
+ );
+};
diff --git a/src/layout/Landing/SeePremium.tsx b/src/layout/Landing/SeePremium.tsx
deleted file mode 100644
index 8771849..0000000
--- a/src/layout/Landing/SeePremium.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import React from "react";
-import {
- Title,
- Image,
- Flex,
- Box,
- Button,
- Text,
- Paper,
- Container,
- Mark,
- Avatar,
- Rating,
- Stack,
-} from "@mantine/core";
-import styled from "styled-components";
-import { FaArrowRightLong } from "react-icons/fa6";
-
-const StyledImageWrapper = styled.div`
- margin: 0 -30px -30px;
- padding-left: 30px;
- padding-top: 30px;
-`;
-
-export const SeePremium = () => {
- return (
-
-
-
-
-
-
-
- Upgrade to{" "}
-
- ToDiagram
-
-
-
-
-
- Try out the premium features of ToDiagram and create beautiful diagrams with ease.
-
-
-
-
-
-
-
-
-
-
- Loved by 400+ users
-
-
-
- }
- radius="xl"
- rel="noopener"
- >
- Upgrade
-
-
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 59621bc..e2a6c9b 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -8,7 +8,8 @@ import { HeroPreview } from "src/layout/Landing/HeroPreview";
import { HeroSection } from "src/layout/Landing/HeroSection";
import { LovedBy } from "src/layout/Landing/LovedBy";
import { Section1 } from "src/layout/Landing/Section1";
-import { SeePremium } from "src/layout/Landing/SeePremium";
+import { Section2 } from "src/layout/Landing/Section2";
+import { Section3 } from "src/layout/Landing/Section3";
import Layout from "src/layout/PageLayout";
export const HomePage = (props: InferGetStaticPropsType) => {
@@ -18,10 +19,11 @@ export const HomePage = (props: InferGetStaticPropsType)
+
+
-
-
+
);
};