-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: remove unnecessary dependencies from root package.json * docs: update issue template * chore: update frontend dependencies * chore: remove unnecessary imports * refactor: improve styles for delivery location component and rename to DeliveryCountry * refactor: update BreadcrumbNavigation to use shadcn/ui Breadcrumb component * refactor: remove Bounded component * style: update styles for product cards and pagination * style: update footer styles * style: update pagination styles * style: update layout styles * style: update header button styles * fix: display AddProductModal in Marketplace * style: center title of AddProductModal * style: update layout styles * refactor: reorganize component structure * refactor: reorganize imports for clarity * refactor: use shadcn/ui button in product page * chore: format code * fix: resolve type constraint error in ProductList * chore: remove unused react-icons package * chore: remove unused react-icons package * chore: clean code
- Loading branch information
1 parent
7580065
commit 7cd5d66
Showing
45 changed files
with
1,854 additions
and
1,469 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
import { BarChart3, Coins, Lock, Shield, Users, Zap } from "lucide-react"; | ||
|
||
export function FeatureSection() { | ||
const features = [ | ||
{ | ||
icon: <Shield className="h-8 w-8" />, | ||
title: "Smart Contract Escrow", | ||
description: ( | ||
<> | ||
Automated protection with Stellar smart contracts. Trustless Work API | ||
abstracts the complexities of smart contract configuration. It | ||
leverages the blockchain to ensure transactions are secure and | ||
transparent, providing fairness without bias in the marketplace. Read | ||
more on | ||
<a | ||
href="https://www.trustlesswork.com/" | ||
target="_blank" | ||
className="text-blue-500 hover:underline" | ||
> | ||
<span></span> Trustless Work | ||
</a> | ||
</> | ||
), | ||
gradient: "from-blue-500 to-cyan-500", | ||
}, | ||
{ | ||
icon: <Zap className="h-8 w-8" />, | ||
title: "Lightning Settlement", | ||
description: "3-5 second finality on Stellar network", | ||
gradient: "from-yellow-500 to-orange-500", | ||
}, | ||
{ | ||
icon: <Lock className="h-8 w-8" />, | ||
title: "Non-Custodial Trading", | ||
description: "Keep full control of your assets", | ||
gradient: "from-purple-500 to-pink-500", | ||
}, | ||
{ | ||
icon: <Coins className="h-8 w-8" />, | ||
title: "Multi-Asset Support", | ||
description: "Trade any Stellar-based token", | ||
gradient: "from-green-500 to-emerald-500", | ||
}, | ||
{ | ||
icon: <Users className="h-8 w-8" />, | ||
title: "DAO Governance", | ||
description: "Community-driven protocol decisions", | ||
gradient: "from-red-500 to-pink-500", | ||
}, | ||
{ | ||
icon: <BarChart3 className="h-8 w-8" />, | ||
title: "Real-Time Analytics", | ||
description: "Advanced trading metrics & insights", | ||
gradient: "from-indigo-500 to-purple-500", | ||
}, | ||
]; | ||
|
||
return ( | ||
<div className="relative bg-black/5 dark:bg-white/5 py-24"> | ||
<div className="max-w-6xl mx-auto px-4"> | ||
<h2 className="text-3xl font-bold text-center mb-4"> | ||
Built for the Future of Finance | ||
</h2> | ||
<p className="text-center text-muted-foreground mb-16 max-w-[600px] mx-auto"> | ||
Leveraging the power of Stellar blockchain to provide a secure, | ||
efficient, and truly decentralized trading experience. | ||
</p> | ||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"> | ||
{features.map((feature) => ( | ||
<div | ||
key={feature.title} | ||
className="group relative p-6 rounded-xl bg-card hover:bg-card/50 transition-all duration-300" | ||
> | ||
<div | ||
className={`absolute inset-0 opacity-0 group-hover:opacity-10 bg-gradient-to-br ${feature.gradient} rounded-xl transition-opacity duration-300`} | ||
/> | ||
<div className="relative"> | ||
<div | ||
className={`mb-4 bg-gradient-to-br ${feature.gradient} text-white p-3 rounded-lg inline-block`} | ||
> | ||
{feature.icon} | ||
</div> | ||
<h3 className="text-xl font-semibold mb-2">{feature.title}</h3> | ||
<p className="text-muted-foreground">{feature.description}</p> | ||
</div> | ||
</div> | ||
))} | ||
</div> | ||
</div> | ||
</div> | ||
); | ||
} |
6 changes: 3 additions & 3 deletions
6
frontend/app/components/ui/hero-section.tsx → ...tend/app/components/home/hero-section.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 0 additions & 2 deletions
2
frontend/app/components/ui/stats-section.tsx → ...end/app/components/home/stats-section.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
frontend/app/components/marketplace/breadcrumb-navigation.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import { | ||
Breadcrumb, | ||
BreadcrumbItem, | ||
BreadcrumbLink, | ||
BreadcrumbList, | ||
BreadcrumbPage, | ||
BreadcrumbSeparator, | ||
} from "@/app/components/ui/breadcrumb"; | ||
|
||
export default function BreadcrumbNavigation() { | ||
return ( | ||
<Breadcrumb> | ||
<BreadcrumbList className="text-base"> | ||
<BreadcrumbItem> | ||
<BreadcrumbLink href="/">Home</BreadcrumbLink> | ||
</BreadcrumbItem> | ||
<BreadcrumbSeparator /> | ||
<BreadcrumbItem> | ||
<BreadcrumbPage>Marketplace</BreadcrumbPage> | ||
</BreadcrumbItem> | ||
</BreadcrumbList> | ||
</Breadcrumb> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
"use client"; | ||
|
||
import { Checkbox, Slider } from "@radix-ui/themes"; | ||
import { useState } from "react"; | ||
|
||
import { SidebarContent, SidebarHeader } from "@/app/components/ui/sidebar"; | ||
|
||
const Filters = () => { | ||
const [priceRange, setPriceRange] = useState<[number, number]>([0, 1500]); | ||
const [selectedCategories, setSelectedCategories] = useState<string[]>([]); | ||
|
||
const handleCategoryChange = (category: string) => { | ||
setSelectedCategories((prev) => | ||
prev.includes(category) | ||
? prev.filter((c) => c !== category) | ||
: [...prev, category], | ||
); | ||
}; | ||
|
||
return ( | ||
<> | ||
<SidebarHeader className="p-6 border-b"> | ||
<h2 className="text-xl font-semibold">Filters</h2> | ||
</SidebarHeader> | ||
<SidebarContent className="p-6"> | ||
<div className="space-y-8"> | ||
<div> | ||
<h3 className="mb-2 text-lg font-medium">Price range</h3> | ||
<Slider | ||
min={0} | ||
max={1500} | ||
step={10} | ||
value={priceRange} | ||
onValueChange={(value) => | ||
setPriceRange(value as [number, number]) | ||
} | ||
className="mb-3" | ||
/> | ||
<div className="flex justify-between text-lg"> | ||
<span>${priceRange[0]}</span> | ||
<span>${priceRange[1]}</span> | ||
</div> | ||
</div> | ||
<div> | ||
<h3 className="mb-2 text-lg font-medium">Categories</h3> | ||
<div className="space-y-3"> | ||
{["Electronics", "Furniture", "Appliances", "Sports"].map( | ||
(category) => ( | ||
<div key={category} className="flex items-center"> | ||
<Checkbox | ||
id={category} | ||
checked={selectedCategories.includes(category)} | ||
onCheckedChange={() => handleCategoryChange(category)} | ||
/> | ||
<label htmlFor={category} className="ml-3 text-lg"> | ||
{category} | ||
</label> | ||
</div> | ||
), | ||
)} | ||
</div> | ||
</div> | ||
</div> | ||
</SidebarContent> | ||
</> | ||
); | ||
}; | ||
|
||
export default Filters; |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.