diff --git a/web/app/(commonLayout)/plugins/Container.tsx b/web/app/(commonLayout)/plugins/Container.tsx
index 3e8642c947..1c03b08d37 100644
--- a/web/app/(commonLayout)/plugins/Container.tsx
+++ b/web/app/(commonLayout)/plugins/Container.tsx
@@ -44,7 +44,7 @@ const Container = () => {
: 'bg-background-body',
)}
>
-
+
{
+const MarketplacePage = () => {
return (
-
-
-
- Empower your AI development
-
-
- Discover
-
- models
-
- ,
-
- tools
-
- ,
-
- extensions
-
- and
-
- bundles
-
- in Dify Marketplace
-
-
- {}} />
-
-
{}} />
-
-
+
+
+
)
}
-export default Marketplace
+export default MarketplacePage
diff --git a/web/app/components/plugins/marketplace/list.tsx b/web/app/components/plugins/marketplace/list.tsx
new file mode 100644
index 0000000000..a42e6e3edb
--- /dev/null
+++ b/web/app/components/plugins/marketplace/list.tsx
@@ -0,0 +1,90 @@
+import Card from '@/app/components/plugins/card'
+import CardMoreInfo from '@/app/components/plugins/card/card-more-info'
+import { toolNotion } from '@/app/components/plugins/card/card-mock'
+
+const List = () => {
+ return (
+
+
+
Featured
+
Our top picks to get you started
+
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+
+
+
Popular
+
Explore the library and discover the incredible work of our community
+
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+
+
+ )
+}
+
+export default List
diff --git a/web/app/components/plugins/marketplace/marketplace-wrapper.tsx b/web/app/components/plugins/marketplace/marketplace-wrapper.tsx
new file mode 100644
index 0000000000..6c78d73c39
--- /dev/null
+++ b/web/app/components/plugins/marketplace/marketplace-wrapper.tsx
@@ -0,0 +1,12 @@
+'use client'
+
+type WrapperProps = {
+ children: React.ReactNode
+}
+const MarketplaceWrapper = ({
+ children,
+}: WrapperProps) => {
+ return children
+}
+
+export default MarketplaceWrapper
diff --git a/web/app/components/plugins/marketplace/marketplace.tsx b/web/app/components/plugins/marketplace/marketplace.tsx
new file mode 100644
index 0000000000..bc40e6c245
--- /dev/null
+++ b/web/app/components/plugins/marketplace/marketplace.tsx
@@ -0,0 +1,41 @@
+import SearchBox from './search-box'
+import PluginTypeSwitch from './plugin-type-switch'
+import List from './list'
+
+const Marketplace = () => {
+ return (
+
+
+
+ Empower your AI development
+
+
+ Discover
+
+ models
+
+ ,
+
+ tools
+
+ ,
+
+ extensions
+
+ and
+
+ bundles
+
+ in Dify Marketplace
+
+
+ {}} />
+
+
{}} />
+
+
+
+ )
+}
+
+export default Marketplace
diff --git a/web/app/components/plugins/marketplace/plugin-type-switch.tsx b/web/app/components/plugins/marketplace/plugin-type-switch.tsx
index 3793e463f7..607bd362a6 100644
--- a/web/app/components/plugins/marketplace/plugin-type-switch.tsx
+++ b/web/app/components/plugins/marketplace/plugin-type-switch.tsx
@@ -1,3 +1,5 @@
+'use client'
+
import { useState } from 'react'
import {
RiHammerLine,
diff --git a/web/app/components/plugins/marketplace/search-box/index.tsx b/web/app/components/plugins/marketplace/search-box/index.tsx
index 1addb4cdd5..627f387aef 100644
--- a/web/app/components/plugins/marketplace/search-box/index.tsx
+++ b/web/app/components/plugins/marketplace/search-box/index.tsx
@@ -1,4 +1,5 @@
'use client'
+
import {
useCallback,
useState,
diff --git a/web/app/components/plugins/marketplace/search-box/tags-filter.tsx b/web/app/components/plugins/marketplace/search-box/tags-filter.tsx
index 1615478af6..83c1ba2872 100644
--- a/web/app/components/plugins/marketplace/search-box/tags-filter.tsx
+++ b/web/app/components/plugins/marketplace/search-box/tags-filter.tsx
@@ -5,7 +5,6 @@ import {
RiArrowDownSLine,
RiCloseCircleFill,
RiFilter3Line,
- RiSearchLine,
} from '@remixicon/react'
import {
PortalToFollowElem,
@@ -14,6 +13,7 @@ import {
} from '@/app/components/base/portal-to-follow-elem'
import Checkbox from '@/app/components/base/checkbox'
import cn from '@/utils/classnames'
+import Input from '@/app/components/base/input'
type TagsFilterProps = {
value: string[]
@@ -98,14 +98,12 @@ const TagsFilter = ({