[fix] quick fix

This commit is contained in:
ITQ
2024-04-02 16:47:50 +03:00
parent 4bfa151c96
commit 196044bdac
13 changed files with 997 additions and 3418 deletions
+997 -256
View File
File diff suppressed because it is too large Load Diff
-41
View File
@@ -1,41 +0,0 @@
import { Button } from "./ui/button";
import { Input } from "./ui/input";
export const Newsletter = () => {
const handleSubmit = (e: any) => {
e.preventDefault();
console.log("Subscribed!");
};
return (
<section id="newsletter">
<hr className="w-11/12 mx-auto" />
<div className="container py-24 sm:py-32">
<h3 className="text-center text-4xl md:text-5xl font-bold">
Join Our Daily{" "}
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
Newsletter
</span>
</h3>
<p className="text-xl text-muted-foreground text-center mt-4 mb-8">
Lorem ipsum dolor sit amet consectetur.
</p>
<form
className="flex flex-col w-full md:flex-row md:w-6/12 lg:w-4/12 mx-auto gap-4 md:gap-2"
onSubmit={handleSubmit}
>
<Input
placeholder="leomirandadev@gmail.com"
className="bg-muted/50 dark:bg-muted/80 "
aria-label="email"
/>
<Button>Subscribe</Button>
</form>
</div>
<hr className="w-11/12 mx-auto" />
</section>
);
};
-147
View File
@@ -1,147 +0,0 @@
import { Badge } from "../components/ui/badge";
import { Button } from "../components/ui/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "../components/ui/card";
import { Check } from "lucide-react";
enum PopularPlanType {
NO = 0,
YES = 1,
}
interface PricingProps {
title: string;
popular: PopularPlanType;
price: number;
description: string;
buttonText: string;
benefitList: string[];
}
const pricingList: PricingProps[] = [
{
title: "Free",
popular: 0,
price: 0,
description:
"Lorem ipsum dolor sit, amet ipsum consectetur adipisicing elit.",
buttonText: "Get Started",
benefitList: [
"1 Team member",
"2 GB Storage",
"Upto 4 pages",
"Community support",
"lorem ipsum dolor",
],
},
{
title: "Premium",
popular: 1,
price: 5,
description:
"Lorem ipsum dolor sit, amet ipsum consectetur adipisicing elit.",
buttonText: "Start Free Trial",
benefitList: [
"4 Team member",
"4 GB Storage",
"Upto 6 pages",
"Priority support",
"lorem ipsum dolor",
],
},
{
title: "Enterprise",
popular: 0,
price: 40,
description:
"Lorem ipsum dolor sit, amet ipsum consectetur adipisicing elit.",
buttonText: "Contact US",
benefitList: [
"10 Team member",
"8 GB Storage",
"Upto 10 pages",
"Priority support",
"lorem ipsum dolor",
],
},
];
export const Pricing = () => {
return (
<section
id="pricing"
className="container py-24 sm:py-32"
>
<h2 className="text-3xl md:text-4xl font-bold text-center">
Get
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
{" "}
Unlimited{" "}
</span>
Access
</h2>
<h3 className="text-xl text-center text-muted-foreground pt-4 pb-8">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Alias
reiciendis.
</h3>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{pricingList.map((pricing: PricingProps) => (
<Card
key={pricing.title}
className={
pricing.popular === PopularPlanType.YES
? "drop-shadow-xl shadow-black/10 dark:shadow-white/10"
: ""
}
>
<CardHeader>
<CardTitle className="flex item-center justify-between">
{pricing.title}
{pricing.popular === PopularPlanType.YES ? (
<Badge
variant="secondary"
className="text-sm text-primary"
>
Most popular
</Badge>
) : null}
</CardTitle>
<div>
<span className="text-3xl font-bold">${pricing.price}</span>
<span className="text-muted-foreground"> /month</span>
</div>
<CardDescription>{pricing.description}</CardDescription>
</CardHeader>
<CardContent>
<Button className="w-full">{pricing.buttonText}</Button>
</CardContent>
<hr className="w-4/5 m-auto mb-4" />
<CardFooter className="flex">
<div className="space-y-4">
{pricing.benefitList.map((benefit: string) => (
<span
key={benefit}
className="flex"
>
<Check className="text-green-500" />{" "}
<h3 className="ml-2">{benefit}</h3>
</span>
))}
</div>
</CardFooter>
</Card>
))}
</div>
</section>
);
};
-58
View File
@@ -1,58 +0,0 @@
import { Radar } from "lucide-react";
interface SponsorProps {
icon: JSX.Element;
name: string;
}
const sponsors: SponsorProps[] = [
{
icon: <Radar size={34} />,
name: "Sponsor 1",
},
{
icon: <Radar size={34} />,
name: "Sponsor 2",
},
{
icon: <Radar size={34} />,
name: "Sponsor 3",
},
{
icon: <Radar size={34} />,
name: "Sponsor 4",
},
{
icon: <Radar size={34} />,
name: "Sponsor 5",
},
{
icon: <Radar size={34} />,
name: "Sponsor 6",
},
];
export const Sponsors = () => {
return (
<section
id="sponsors"
className="container pt-24 sm:py-32"
>
<h2 className="text-center text-md lg:text-xl font-bold mb-8 text-primary">
Investors and founders
</h2>
<div className="flex flex-wrap justify-center items-center gap-4 md:gap-8">
{sponsors.map(({ icon, name }: SponsorProps) => (
<div
key={name}
className="flex items-center gap-1 text-muted-foreground/60"
>
<span>{icon}</span>
<h3 className="text-xl font-bold">{name}</h3>
</div>
))}
</div>
</section>
);
};
-111
View File
@@ -1,111 +0,0 @@
import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar";
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "../components/ui/card";
interface TestimonialProps {
image: string;
name: string;
userName: string;
comment: string;
}
const testimonials: TestimonialProps[] = [
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe",
comment: "This landing page is awesome!",
},
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe1",
comment:
"Lorem ipsum dolor sit amet,empor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.",
},
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe2",
comment:
"Lorem ipsum dolor sit amet,exercitation. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.",
},
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe3",
comment:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.",
},
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe4",
comment:
"Lorem ipsum dolor sit amet, tempor incididunt aliqua. Ut enim ad minim veniam, quis nostrud.",
},
{
image: "https://github.com/shadcn.png",
name: "John Doe React",
userName: "@john_Doe5",
comment:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
},
];
export const Testimonials = () => {
return (
<section
id="testimonials"
className="container py-24 sm:py-32"
>
<h2 className="text-3xl md:text-4xl font-bold">
Discover Why
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
{" "}
People Love{" "}
</span>
This Landing Page
</h2>
<p className="text-xl text-muted-foreground pt-4 pb-8">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Non unde error
facere hic reiciendis illo
</p>
<div className="grid md:grid-cols-2 lg:grid-cols-4 sm:block columns-2 lg:columns-3 lg:gap-6 mx-auto space-y-4 lg:space-y-6">
{testimonials.map(
({ image, name, userName, comment }: TestimonialProps) => (
<Card
key={userName}
className="max-w-md md:break-inside-avoid overflow-hidden"
>
<CardHeader className="flex flex-row items-center gap-4 pb-2">
<Avatar>
<AvatarImage
alt=""
src={image}
/>
<AvatarFallback>OM</AvatarFallback>
</Avatar>
<div className="flex flex-col">
<CardTitle className="text-lg">{name}</CardTitle>
<CardDescription>{userName}</CardDescription>
</div>
</CardHeader>
<CardContent>{comment}</CardContent>
</Card>
)
)}
</div>
</section>
);
};
@@ -21,16 +21,12 @@ function Landing() {
<ThemeProvider> <ThemeProvider>
<Navbar /> <Navbar />
<Hero /> <Hero />
<Sponsors />
<About /> <About />
<HowItWorks /> <HowItWorks />
<Features /> <Features />
<Services /> <Services />
<Cta /> <Cta />
<Testimonials />
<Team /> <Team />
<Pricing />
<Newsletter />
<FAQ /> <FAQ />
<Footer /> <Footer />
<ScrollToTop /> <ScrollToTop />
-12
View File
@@ -1,12 +0,0 @@
{
"name": "PROD-Animulichki-SkillHub",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/@balkangraph/orgchart.js": {
"version": "8.14.19",
"resolved": "https://registry.npmjs.org/@balkangraph/orgchart.js/-/orgchart.js-8.14.19.tgz",
"integrity": "sha512-pa4km/5mTWmMcVLBIsHcuC73s4y1La9BOx4AU9ilGetQwlAbWfrFcSU7hf8FO49otmk1AysfBhPrcBoRl2i46w=="
}
}
}
-61
View File
@@ -1,61 +0,0 @@
# ![Org Chart JS](https://balkangraph.com/content/img/icon-orgchart-js.png) Org Chart JS
Build organizational chart app with BALKAN OrgChartJS JavaScript library. Org Chart JS is a simple, flexible and highly customizable organization chart plugin for presenting the structure of your organization and the relationships in an elegant way.
![Org Chart JS](https://balkan.app/Content/Img/oc.png)
## [Demos](https://balkan.app/OrgChartJS/Demos/BasicUsage) &nbsp;&nbsp;&nbsp;&nbsp; [Docs](https://balkan.app/OrgChartJS/Docs/GettingStarted) &nbsp;&nbsp;&nbsp;&nbsp; [Download](https://balkan.app/OrgChartJS/Download) &nbsp;&nbsp;&nbsp;&nbsp; [Support](https://balkan.app/OrgChartJS/Support)
## Features
- Supports both local data and remote data (JSON)
- Smooth expand/collapse effects
- Align the chart in 8 orientations
- Allows user to change orgchart structure by drag/drop nodes
- Supports pan and zoom
- Edit Form
- Node Customization
- Search
- Scroll Bars
- Lazy Loading
- Mixed Hierarchy
- Exporting
- Assistant
- Partners
- Sub Trees
- Family Tree
## Installation
Option 1 - [standalone build](https://balkan.app/OrgChartJS/Docs/GettingStarted)
Option 2 - NPM
```
npm i @balkangraph/orgchart.js
```
Option 3 - Bower
```
bower install orgchart.js
```
## Usage
```
<script src="https://balkan.app/js/orgchart.js"></script>
<div id="tree"/>
<script>
var chart = new OrgChart(document.getElementById("tree"), {
nodeBinding: {
field_0: "name"
},
nodes: [
{ id: 1, name: "Amber McKenzie" },
{ id: 2, pid: 1, name: "Ava Field" },
{ id: 3, pid: 1, name: "Peter Stevens" }
]
});
</script>
```
## 1 click to talk 2 us
[![OrgChart](https://balkangraph.com/content/img/phone-icon4.png)](https://webcall.me/BALKANGraph)
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
{"author":{"name":"BALKAN App"},"bugs":{"email":"support@balkan.app","url":"https://github.com/BALKANGraph/OrgChartJS/issues"},"deprecated":false,"description":"Ultimate Organizational Chart JavaScript library, Interactive Diagrams","files":["orgchart.js","orgchart.d.ts","package.json","README.md"],"homepage":"https://balkan.app/","keywords":["diagram","chart","tree","orgchart","graph","svg","hierarchy","family-tree","decision-tree","visualization","tree-layout","hierarchical","javascript","js","html","html5"],"license":"SEE LICENSE IN https://balkan.app","main":"orgchart.js","types":"orgchart.d.ts","name":"@balkangraph/orgchart.js","repository":{"type":"git","url":"https://github.com/BALKANGraph/OrgChartJS"},"dependencies":{},"version":"8.14.19"}
-17
View File
@@ -1,17 +0,0 @@
{
"name": "PROD-Animulichki-SkillHub",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"@balkangraph/orgchart.js": "^8.14.19"
}
},
"node_modules/@balkangraph/orgchart.js": {
"version": "8.14.19",
"resolved": "https://registry.npmjs.org/@balkangraph/orgchart.js/-/orgchart.js-8.14.19.tgz",
"integrity": "sha512-pa4km/5mTWmMcVLBIsHcuC73s4y1La9BOx4AU9ilGetQwlAbWfrFcSU7hf8FO49otmk1AysfBhPrcBoRl2i46w=="
}
}
}
-5
View File
@@ -1,5 +0,0 @@
{
"dependencies": {
"@balkangraph/orgchart.js": "^8.14.19"
}
}