@medialane/ui 0.315.0 → 0.317.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/account/input-otp.d.cts +2 -2
- package/dist/components/account/input-otp.d.ts +2 -2
- package/dist/components/badge.d.cts +1 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/button.d.cts +2 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/discover-collections-strip.cjs +1 -2
- package/dist/components/discover-collections-strip.cjs.map +1 -1
- package/dist/components/discover-collections-strip.js +1 -2
- package/dist/components/discover-collections-strip.js.map +1 -1
- package/dist/components/discover-community-section.cjs +6 -37
- package/dist/components/discover-community-section.cjs.map +1 -1
- package/dist/components/discover-community-section.js +6 -37
- package/dist/components/discover-community-section.js.map +1 -1
- package/dist/components/discover-feed-section.cjs +6 -33
- package/dist/components/discover-feed-section.cjs.map +1 -1
- package/dist/components/discover-feed-section.js +7 -34
- package/dist/components/discover-feed-section.js.map +1 -1
- package/dist/components/fast-mint/fast-mint.d.cts +2 -2
- package/dist/components/fast-mint/fast-mint.d.ts +2 -2
- package/dist/components/home-page.cjs +2 -4
- package/dist/components/home-page.cjs.map +1 -1
- package/dist/components/home-page.js +2 -4
- package/dist/components/home-page.js.map +1 -1
- package/dist/components/launchpad/edition-mint-schema.d.cts +4 -4
- package/dist/components/launchpad/edition-mint-schema.d.ts +4 -4
- package/dist/components/launchpad-strip.cjs +1 -2
- package/dist/components/launchpad-strip.cjs.map +1 -1
- package/dist/components/launchpad-strip.js +1 -2
- package/dist/components/launchpad-strip.js.map +1 -1
- package/dist/components/listing-card.cjs +24 -32
- package/dist/components/listing-card.cjs.map +1 -1
- package/dist/components/listing-card.js +25 -33
- package/dist/components/listing-card.js.map +1 -1
- package/dist/components/scroll-section.cjs +3 -42
- package/dist/components/scroll-section.cjs.map +1 -1
- package/dist/components/scroll-section.d.cts +1 -2
- package/dist/components/scroll-section.d.ts +1 -2
- package/dist/components/scroll-section.js +3 -32
- package/dist/components/scroll-section.js.map +1 -1
- package/dist/components/section-heading.cjs +65 -0
- package/dist/components/section-heading.cjs.map +1 -0
- package/dist/components/section-heading.d.cts +12 -0
- package/dist/components/section-heading.d.ts +12 -0
- package/dist/components/section-heading.js +31 -0
- package/dist/components/section-heading.js.map +1 -0
- package/dist/utils/media-wallet/use-erc20-balance.d.cts +1 -1
- package/dist/utils/media-wallet/use-erc20-balance.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as input_otp from 'input-otp';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
4
|
+
declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
5
5
|
value?: string;
|
|
6
6
|
onChange?: (newValue: string) => unknown;
|
|
7
7
|
maxLength: number;
|
|
@@ -14,7 +14,7 @@ declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHT
|
|
|
14
14
|
} & {
|
|
15
15
|
render: (props: input_otp.RenderProps) => React.ReactNode;
|
|
16
16
|
children?: never;
|
|
17
|
-
} & React.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
17
|
+
} & React.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
18
18
|
value?: string;
|
|
19
19
|
onChange?: (newValue: string) => unknown;
|
|
20
20
|
maxLength: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as input_otp from 'input-otp';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
4
|
+
declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
5
5
|
value?: string;
|
|
6
6
|
onChange?: (newValue: string) => unknown;
|
|
7
7
|
maxLength: number;
|
|
@@ -14,7 +14,7 @@ declare const InputOTP: React.ForwardRefExoticComponent<(Omit<Omit<React.InputHT
|
|
|
14
14
|
} & {
|
|
15
15
|
render: (props: input_otp.RenderProps) => React.ReactNode;
|
|
16
16
|
children?: never;
|
|
17
|
-
} & React.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
17
|
+
} & React.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
|
|
18
18
|
value?: string;
|
|
19
19
|
onChange?: (newValue: string) => unknown;
|
|
20
20
|
maxLength: number;
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
5
|
|
|
6
6
|
declare const badgeVariants: (props?: ({
|
|
7
|
-
variant?: "default" | "
|
|
7
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
10
10
|
}
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
5
|
|
|
6
6
|
declare const badgeVariants: (props?: ({
|
|
7
|
-
variant?: "default" | "
|
|
7
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
10
10
|
}
|
|
@@ -3,8 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
7
|
-
size?: "
|
|
6
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
|
|
7
|
+
size?: "icon" | "default" | "sm" | "lg" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
10
10
|
asChild?: boolean;
|
|
@@ -3,8 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
7
|
-
size?: "
|
|
6
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "premium" | "tonal" | "gradient-border" | "gradient-fill" | null | undefined;
|
|
7
|
+
size?: "icon" | "default" | "sm" | "lg" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
10
10
|
asChild?: boolean;
|
|
@@ -35,8 +35,7 @@ function DiscoverCollectionsStrip({
|
|
|
35
35
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
36
36
|
import_scroll_section.ScrollSection,
|
|
37
37
|
{
|
|
38
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Layers, { className: "h-
|
|
39
|
-
iconBg: "bg-gradient-to-br from-brand-blue to-indigo-600 shadow-md shadow-brand-blue/20",
|
|
38
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Layers, { className: "h-4 w-4" }),
|
|
40
39
|
title,
|
|
41
40
|
href: allCollectionsHref,
|
|
42
41
|
linkLabel: "View all",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-collections-strip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Layers } from \"lucide-react\";\nimport { ScrollSection } from \"./scroll-section.js\";\nimport { CollectionCard, CollectionCardSkeleton } from \"./collection-card.js\";\nimport type { ApiCollection } from \"@medialane/sdk\";\n\nexport interface DiscoverCollectionsStripProps {\n collections: ApiCollection[];\n isLoading: boolean;\n\n getHref?: (collection: ApiCollection) => string;\n allCollectionsHref?: string;\n\n sectionLabel?: string;\n title?: string;\n}\n\nexport function DiscoverCollectionsStrip({\n collections,\n isLoading,\n allCollectionsHref = \"/collections\",\n title = \"Collections\",\n}: DiscoverCollectionsStripProps) {\n return (\n <ScrollSection\n icon={<Layers className=\"h-
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-collections-strip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Layers } from \"lucide-react\";\nimport { ScrollSection } from \"./scroll-section.js\";\nimport { CollectionCard, CollectionCardSkeleton } from \"./collection-card.js\";\nimport type { ApiCollection } from \"@medialane/sdk\";\n\nexport interface DiscoverCollectionsStripProps {\n collections: ApiCollection[];\n isLoading: boolean;\n\n getHref?: (collection: ApiCollection) => string;\n allCollectionsHref?: string;\n\n sectionLabel?: string;\n title?: string;\n}\n\nexport function DiscoverCollectionsStrip({\n collections,\n isLoading,\n allCollectionsHref = \"/collections\",\n title = \"Collections\",\n}: DiscoverCollectionsStripProps) {\n return (\n <ScrollSection\n icon={<Layers className=\"h-4 w-4\" />}\n title={title}\n href={allCollectionsHref}\n linkLabel=\"View all\"\n >\n {isLoading\n ? Array.from({ length: 5 }).map((_, i) => (\n <div key={i} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <CollectionCardSkeleton />\n </div>\n ))\n : collections.map((col) => (\n <div key={col.contractAddress} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <CollectionCard collection={col} />\n </div>\n ))}\n </ScrollSection>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BY;AAxBZ,0BAAuB;AACvB,4BAA8B;AAC9B,6BAAuD;AAchD,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB,QAAQ;AACV,GAAkC;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,4CAAC,8BAAO,WAAU,WAAU;AAAA,MAClC;AAAA,MACA,MAAM;AAAA,MACN,WAAU;AAAA,MAET,sBACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,4CAAC,SAAY,WAAU,oCACrB,sDAAC,iDAAuB,KADhB,CAEV,CACD,IACD,YAAY,IAAI,CAAC,QACf,4CAAC,SAA8B,WAAU,oCACvC,sDAAC,yCAAe,YAAY,KAAK,KADzB,IAAI,eAEd,CACD;AAAA;AAAA,EACP;AAEJ;","names":[]}
|
|
@@ -12,8 +12,7 @@ function DiscoverCollectionsStrip({
|
|
|
12
12
|
return /* @__PURE__ */ jsx(
|
|
13
13
|
ScrollSection,
|
|
14
14
|
{
|
|
15
|
-
icon: /* @__PURE__ */ jsx(Layers, { className: "h-
|
|
16
|
-
iconBg: "bg-gradient-to-br from-brand-blue to-indigo-600 shadow-md shadow-brand-blue/20",
|
|
15
|
+
icon: /* @__PURE__ */ jsx(Layers, { className: "h-4 w-4" }),
|
|
17
16
|
title,
|
|
18
17
|
href: allCollectionsHref,
|
|
19
18
|
linkLabel: "View all",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-collections-strip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Layers } from \"lucide-react\";\nimport { ScrollSection } from \"./scroll-section.js\";\nimport { CollectionCard, CollectionCardSkeleton } from \"./collection-card.js\";\nimport type { ApiCollection } from \"@medialane/sdk\";\n\nexport interface DiscoverCollectionsStripProps {\n collections: ApiCollection[];\n isLoading: boolean;\n\n getHref?: (collection: ApiCollection) => string;\n allCollectionsHref?: string;\n\n sectionLabel?: string;\n title?: string;\n}\n\nexport function DiscoverCollectionsStrip({\n collections,\n isLoading,\n allCollectionsHref = \"/collections\",\n title = \"Collections\",\n}: DiscoverCollectionsStripProps) {\n return (\n <ScrollSection\n icon={<Layers className=\"h-
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-collections-strip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Layers } from \"lucide-react\";\nimport { ScrollSection } from \"./scroll-section.js\";\nimport { CollectionCard, CollectionCardSkeleton } from \"./collection-card.js\";\nimport type { ApiCollection } from \"@medialane/sdk\";\n\nexport interface DiscoverCollectionsStripProps {\n collections: ApiCollection[];\n isLoading: boolean;\n\n getHref?: (collection: ApiCollection) => string;\n allCollectionsHref?: string;\n\n sectionLabel?: string;\n title?: string;\n}\n\nexport function DiscoverCollectionsStrip({\n collections,\n isLoading,\n allCollectionsHref = \"/collections\",\n title = \"Collections\",\n}: DiscoverCollectionsStripProps) {\n return (\n <ScrollSection\n icon={<Layers className=\"h-4 w-4\" />}\n title={title}\n href={allCollectionsHref}\n linkLabel=\"View all\"\n >\n {isLoading\n ? Array.from({ length: 5 }).map((_, i) => (\n <div key={i} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <CollectionCardSkeleton />\n </div>\n ))\n : collections.map((col) => (\n <div key={col.contractAddress} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <CollectionCard collection={col} />\n </div>\n ))}\n </ScrollSection>\n );\n}\n"],"mappings":";AA0BY;AAxBZ,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB,8BAA8B;AAchD,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB,QAAQ;AACV,GAAkC;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,oBAAC,UAAO,WAAU,WAAU;AAAA,MAClC;AAAA,MACA,MAAM;AAAA,MACN,WAAU;AAAA,MAET,sBACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,oBAAC,SAAY,WAAU,oCACrB,8BAAC,0BAAuB,KADhB,CAEV,CACD,IACD,YAAY,IAAI,CAAC,QACf,oBAAC,SAA8B,WAAU,oCACvC,8BAAC,kBAAe,YAAY,KAAK,KADzB,IAAI,eAEd,CACD;AAAA;AAAA,EACP;AAEJ;","names":[]}
|
|
@@ -36,6 +36,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
36
36
|
var import_react = require("react");
|
|
37
37
|
var import_lucide_react = require("lucide-react");
|
|
38
38
|
var import_link = __toESM(require("./link.js"), 1);
|
|
39
|
+
var import_section_heading = require("./section-heading.js");
|
|
39
40
|
var import_skeleton = require("./skeleton.js");
|
|
40
41
|
var import_activity_row = require("./activity-row.js");
|
|
41
42
|
var import_medialane_app = require("./medialane-app.js");
|
|
@@ -45,36 +46,6 @@ var import_time = require("../utils/time.js");
|
|
|
45
46
|
var import_cn = require("../utils/cn.js");
|
|
46
47
|
var import_empty_messages = require("../utils/empty-messages.js");
|
|
47
48
|
const FEED_LIMIT = 8;
|
|
48
|
-
function ColumnHeader({
|
|
49
|
-
icon,
|
|
50
|
-
iconBg,
|
|
51
|
-
title,
|
|
52
|
-
caption,
|
|
53
|
-
href,
|
|
54
|
-
linkLabel
|
|
55
|
-
}) {
|
|
56
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
57
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2.5", children: [
|
|
58
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: (0, import_cn.cn)("h-7 w-7 rounded-lg flex items-center justify-center shadow-md shrink-0", iconBg), children: icon }),
|
|
59
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-lg sm:text-xl font-semibold leading-none", children: title }),
|
|
61
|
-
caption && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-2xs text-muted-foreground mt-1 flex items-center gap-1", children: caption })
|
|
62
|
-
] })
|
|
63
|
-
] }),
|
|
64
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
65
|
-
import_link.default,
|
|
66
|
-
{
|
|
67
|
-
href,
|
|
68
|
-
className: "inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground px-3 py-1.5 rounded-md hover:bg-accent transition-colors shrink-0",
|
|
69
|
-
children: [
|
|
70
|
-
linkLabel,
|
|
71
|
-
" ",
|
|
72
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowRight, { className: "h-3.5 w-3.5" })
|
|
73
|
-
]
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
] });
|
|
77
|
-
}
|
|
78
49
|
function DiscoverCommunitySection() {
|
|
79
50
|
const { activities, isLoading } = (0, import_use_activities.useActivities)({ limit: FEED_LIMIT });
|
|
80
51
|
const { walletAddress: address } = (0, import_medialane_app.useMedialaneApp)();
|
|
@@ -85,12 +56,11 @@ function DiscoverCommunitySection() {
|
|
|
85
56
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-8 items-start", children: [
|
|
86
57
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "lg:col-span-7 space-y-4 sm:space-y-5", children: [
|
|
87
58
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
88
|
-
|
|
59
|
+
import_section_heading.SectionHeading,
|
|
89
60
|
{
|
|
90
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Activity, { className: "h-
|
|
91
|
-
iconBg: "bg-gradient-to-br from-brand-purple to-brand-blue shadow-brand-purple/20",
|
|
61
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Activity, { className: "h-4 w-4" }),
|
|
92
62
|
title: "Activities",
|
|
93
|
-
|
|
63
|
+
subtitle: !isLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
94
64
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.RefreshCw, { className: "h-2.5 w-2.5" }),
|
|
95
65
|
"Updated ",
|
|
96
66
|
(0, import_time.timeAgo)(lastUpdated)
|
|
@@ -121,10 +91,9 @@ function DiscoverCommunitySection() {
|
|
|
121
91
|
] }),
|
|
122
92
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "lg:col-span-5 space-y-4 sm:space-y-5", children: [
|
|
123
93
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
124
|
-
|
|
94
|
+
import_section_heading.SectionHeading,
|
|
125
95
|
{
|
|
126
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Sparkles, { className: "h-
|
|
127
|
-
iconBg: "bg-gradient-to-br from-brand-rose to-brand-orange",
|
|
96
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Sparkles, { className: "h-4 w-4" }),
|
|
128
97
|
title: "Rewards",
|
|
129
98
|
href: "/rewards",
|
|
130
99
|
linkLabel: "Scoreboard"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-community-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { Activity, ArrowRight, RefreshCw, Sparkles } from \"lucide-react\";\nimport Link from \"./link.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { ActivityRow } from \"./activity-row.js\";\nimport { useMedialaneApp } from \"./medialane-app.js\";\nimport { LeaderboardPanel } from \"./rewards/leaderboard-panel.js\";\nimport { useActivities } from \"../utils/use-activities.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport { cn } from \"../utils/cn.js\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nconst FEED_LIMIT = 8;\n\
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-community-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { Activity, ArrowRight, RefreshCw, Sparkles } from \"lucide-react\";\nimport Link from \"./link.js\";\nimport { SectionHeading } from \"./section-heading.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { ActivityRow } from \"./activity-row.js\";\nimport { useMedialaneApp } from \"./medialane-app.js\";\nimport { LeaderboardPanel } from \"./rewards/leaderboard-panel.js\";\nimport { useActivities } from \"../utils/use-activities.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport { cn } from \"../utils/cn.js\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nconst FEED_LIMIT = 8;\n\nexport function DiscoverCommunitySection() {\n const { activities, isLoading } = useActivities({ limit: FEED_LIMIT });\n const { walletAddress: address } = useMedialaneApp();\n const [lastUpdated, setLastUpdated] = useState(() => new Date().toISOString());\n\n useEffect(() => {\n if (!isLoading) setLastUpdated(new Date().toISOString());\n }, [activities, isLoading]);\n\n return (\n <section className=\"grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-8 items-start\">\n\n <div className=\"lg:col-span-7 space-y-4 sm:space-y-5\">\n <SectionHeading\n icon={<Activity className=\"h-4 w-4\" />}\n title=\"Activities\"\n subtitle={\n !isLoading && (\n <>\n <RefreshCw className=\"h-2.5 w-2.5\" />\n Updated {timeAgo(lastUpdated)}\n </>\n )\n }\n href=\"/activities\"\n linkLabel=\"View all\"\n />\n <div>\n {isLoading ? (\n <div className=\"divide-y divide-border/50 rounded-xl border border-border overflow-hidden\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div key={i} className=\"flex items-center gap-3 px-4 py-3.5\">\n <Skeleton className=\"h-8 w-8 rounded-lg shrink-0\" />\n <Skeleton className=\"h-9 w-9 rounded-md shrink-0\" />\n <div className=\"flex-1 space-y-2\">\n <Skeleton className=\"h-3.5 w-40\" />\n <Skeleton className=\"h-2.5 w-24\" />\n </div>\n </div>\n ))}\n </div>\n ) : activities.length === 0 ? (\n <div className={cn(\"rounded-xl border border-border py-12 text-center\")}>\n <p className=\"text-sm font-medium\">{emptyMessages.activity.title}</p>\n <p className=\"text-sm text-muted-foreground\">{emptyMessages.activity.description}</p>\n </div>\n ) : (\n <div className=\"divide-y divide-border/50 rounded-xl border border-border overflow-hidden\">\n {activities.map((activity, i) => (\n <ActivityRow\n key={activity.txHash ? `${activity.txHash}-${activity.type}-${activity.nftTokenId ?? \"\"}` : `activity-${i}`}\n activity={activity}\n showActor\n showExplorer\n />\n ))}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"lg:col-span-5 space-y-4 sm:space-y-5\">\n <SectionHeading\n icon={<Sparkles className=\"h-4 w-4\" />}\n title=\"Rewards\"\n href=\"/rewards\"\n linkLabel=\"Scoreboard\"\n />\n\n <div className=\"overflow-hidden rounded-2xl border border-border/50 bg-card\">\n <div className=\"flex items-center justify-between gap-3 bg-gradient-to-r from-brand-rose/10 to-brand-orange/10 px-4 py-3\">\n <p className=\"text-sm font-semibold leading-snug\">Earn XP. Share the Creator's Fund.</p>\n <Link\n href=\"/rewards\"\n className=\"inline-flex shrink-0 items-center gap-1 text-xs font-semibold text-brand-rose hover:opacity-80 transition-opacity\"\n >\n Start earning <ArrowRight className=\"h-3 w-3\" />\n </Link>\n </div>\n <LeaderboardPanel myAddress={address} limit={5} showHeading={false} compact />\n </div>\n </div>\n </section>\n );\n}\n"],"mappings":"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","names":["Link"]}
|
|
@@ -3,6 +3,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
import { Activity, ArrowRight, RefreshCw, Sparkles } from "lucide-react";
|
|
5
5
|
import Link from "./link.js";
|
|
6
|
+
import { SectionHeading } from "./section-heading.js";
|
|
6
7
|
import { Skeleton } from "./skeleton.js";
|
|
7
8
|
import { ActivityRow } from "./activity-row.js";
|
|
8
9
|
import { useMedialaneApp } from "./medialane-app.js";
|
|
@@ -12,36 +13,6 @@ import { timeAgo } from "../utils/time.js";
|
|
|
12
13
|
import { cn } from "../utils/cn.js";
|
|
13
14
|
import { emptyMessages } from "../utils/empty-messages.js";
|
|
14
15
|
const FEED_LIMIT = 8;
|
|
15
|
-
function ColumnHeader({
|
|
16
|
-
icon,
|
|
17
|
-
iconBg,
|
|
18
|
-
title,
|
|
19
|
-
caption,
|
|
20
|
-
href,
|
|
21
|
-
linkLabel
|
|
22
|
-
}) {
|
|
23
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
24
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
|
|
25
|
-
/* @__PURE__ */ jsx("div", { className: cn("h-7 w-7 rounded-lg flex items-center justify-center shadow-md shrink-0", iconBg), children: icon }),
|
|
26
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
27
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg sm:text-xl font-semibold leading-none", children: title }),
|
|
28
|
-
caption && /* @__PURE__ */ jsx("p", { className: "text-2xs text-muted-foreground mt-1 flex items-center gap-1", children: caption })
|
|
29
|
-
] })
|
|
30
|
-
] }),
|
|
31
|
-
/* @__PURE__ */ jsxs(
|
|
32
|
-
Link,
|
|
33
|
-
{
|
|
34
|
-
href,
|
|
35
|
-
className: "inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground px-3 py-1.5 rounded-md hover:bg-accent transition-colors shrink-0",
|
|
36
|
-
children: [
|
|
37
|
-
linkLabel,
|
|
38
|
-
" ",
|
|
39
|
-
/* @__PURE__ */ jsx(ArrowRight, { className: "h-3.5 w-3.5" })
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
)
|
|
43
|
-
] });
|
|
44
|
-
}
|
|
45
16
|
function DiscoverCommunitySection() {
|
|
46
17
|
const { activities, isLoading } = useActivities({ limit: FEED_LIMIT });
|
|
47
18
|
const { walletAddress: address } = useMedialaneApp();
|
|
@@ -52,12 +23,11 @@ function DiscoverCommunitySection() {
|
|
|
52
23
|
return /* @__PURE__ */ jsxs("section", { className: "grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-8 items-start", children: [
|
|
53
24
|
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-7 space-y-4 sm:space-y-5", children: [
|
|
54
25
|
/* @__PURE__ */ jsx(
|
|
55
|
-
|
|
26
|
+
SectionHeading,
|
|
56
27
|
{
|
|
57
|
-
icon: /* @__PURE__ */ jsx(Activity, { className: "h-
|
|
58
|
-
iconBg: "bg-gradient-to-br from-brand-purple to-brand-blue shadow-brand-purple/20",
|
|
28
|
+
icon: /* @__PURE__ */ jsx(Activity, { className: "h-4 w-4" }),
|
|
59
29
|
title: "Activities",
|
|
60
|
-
|
|
30
|
+
subtitle: !isLoading && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
61
31
|
/* @__PURE__ */ jsx(RefreshCw, { className: "h-2.5 w-2.5" }),
|
|
62
32
|
"Updated ",
|
|
63
33
|
timeAgo(lastUpdated)
|
|
@@ -88,10 +58,9 @@ function DiscoverCommunitySection() {
|
|
|
88
58
|
] }),
|
|
89
59
|
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-5 space-y-4 sm:space-y-5", children: [
|
|
90
60
|
/* @__PURE__ */ jsx(
|
|
91
|
-
|
|
61
|
+
SectionHeading,
|
|
92
62
|
{
|
|
93
|
-
icon: /* @__PURE__ */ jsx(Sparkles, { className: "h-
|
|
94
|
-
iconBg: "bg-gradient-to-br from-brand-rose to-brand-orange",
|
|
63
|
+
icon: /* @__PURE__ */ jsx(Sparkles, { className: "h-4 w-4" }),
|
|
95
64
|
title: "Rewards",
|
|
96
65
|
href: "/rewards",
|
|
97
66
|
linkLabel: "Scoreboard"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-community-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { Activity, ArrowRight, RefreshCw, Sparkles } from \"lucide-react\";\nimport Link from \"./link.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { ActivityRow } from \"./activity-row.js\";\nimport { useMedialaneApp } from \"./medialane-app.js\";\nimport { LeaderboardPanel } from \"./rewards/leaderboard-panel.js\";\nimport { useActivities } from \"../utils/use-activities.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport { cn } from \"../utils/cn.js\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nconst FEED_LIMIT = 8;\n\
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-community-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { Activity, ArrowRight, RefreshCw, Sparkles } from \"lucide-react\";\nimport Link from \"./link.js\";\nimport { SectionHeading } from \"./section-heading.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { ActivityRow } from \"./activity-row.js\";\nimport { useMedialaneApp } from \"./medialane-app.js\";\nimport { LeaderboardPanel } from \"./rewards/leaderboard-panel.js\";\nimport { useActivities } from \"../utils/use-activities.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport { cn } from \"../utils/cn.js\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nconst FEED_LIMIT = 8;\n\nexport function DiscoverCommunitySection() {\n const { activities, isLoading } = useActivities({ limit: FEED_LIMIT });\n const { walletAddress: address } = useMedialaneApp();\n const [lastUpdated, setLastUpdated] = useState(() => new Date().toISOString());\n\n useEffect(() => {\n if (!isLoading) setLastUpdated(new Date().toISOString());\n }, [activities, isLoading]);\n\n return (\n <section className=\"grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-8 items-start\">\n\n <div className=\"lg:col-span-7 space-y-4 sm:space-y-5\">\n <SectionHeading\n icon={<Activity className=\"h-4 w-4\" />}\n title=\"Activities\"\n subtitle={\n !isLoading && (\n <>\n <RefreshCw className=\"h-2.5 w-2.5\" />\n Updated {timeAgo(lastUpdated)}\n </>\n )\n }\n href=\"/activities\"\n linkLabel=\"View all\"\n />\n <div>\n {isLoading ? (\n <div className=\"divide-y divide-border/50 rounded-xl border border-border overflow-hidden\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div key={i} className=\"flex items-center gap-3 px-4 py-3.5\">\n <Skeleton className=\"h-8 w-8 rounded-lg shrink-0\" />\n <Skeleton className=\"h-9 w-9 rounded-md shrink-0\" />\n <div className=\"flex-1 space-y-2\">\n <Skeleton className=\"h-3.5 w-40\" />\n <Skeleton className=\"h-2.5 w-24\" />\n </div>\n </div>\n ))}\n </div>\n ) : activities.length === 0 ? (\n <div className={cn(\"rounded-xl border border-border py-12 text-center\")}>\n <p className=\"text-sm font-medium\">{emptyMessages.activity.title}</p>\n <p className=\"text-sm text-muted-foreground\">{emptyMessages.activity.description}</p>\n </div>\n ) : (\n <div className=\"divide-y divide-border/50 rounded-xl border border-border overflow-hidden\">\n {activities.map((activity, i) => (\n <ActivityRow\n key={activity.txHash ? `${activity.txHash}-${activity.type}-${activity.nftTokenId ?? \"\"}` : `activity-${i}`}\n activity={activity}\n showActor\n showExplorer\n />\n ))}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"lg:col-span-5 space-y-4 sm:space-y-5\">\n <SectionHeading\n icon={<Sparkles className=\"h-4 w-4\" />}\n title=\"Rewards\"\n href=\"/rewards\"\n linkLabel=\"Scoreboard\"\n />\n\n <div className=\"overflow-hidden rounded-2xl border border-border/50 bg-card\">\n <div className=\"flex items-center justify-between gap-3 bg-gradient-to-r from-brand-rose/10 to-brand-orange/10 px-4 py-3\">\n <p className=\"text-sm font-semibold leading-snug\">Earn XP. Share the Creator's Fund.</p>\n <Link\n href=\"/rewards\"\n className=\"inline-flex shrink-0 items-center gap-1 text-xs font-semibold text-brand-rose hover:opacity-80 transition-opacity\"\n >\n Start earning <ArrowRight className=\"h-3 w-3\" />\n </Link>\n </div>\n <LeaderboardPanel myAddress={address} limit={5} showHeading={false} compact />\n </div>\n </div>\n </section>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -25,43 +25,18 @@ __export(discover_feed_section_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(discover_feed_section_exports);
|
|
26
26
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
27
27
|
var import_lucide_react = require("lucide-react");
|
|
28
|
+
var import_section_heading = require("./section-heading.js");
|
|
28
29
|
var import_motion_primitives = require("./motion-primitives.js");
|
|
29
30
|
var import_listing_card = require("./listing-card.js");
|
|
30
31
|
var import_activity_card = require("./activity-card.js");
|
|
31
32
|
var import_time = require("../utils/time.js");
|
|
32
|
-
var import_cn = require("../utils/cn.js");
|
|
33
33
|
var import_empty_messages = require("../utils/empty-messages.js");
|
|
34
34
|
function StripShell({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
title,
|
|
38
|
-
subtitle,
|
|
39
|
-
href,
|
|
40
|
-
linkLabel,
|
|
41
|
-
children
|
|
35
|
+
children,
|
|
36
|
+
...heading
|
|
42
37
|
}) {
|
|
43
38
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "space-y-4", children: [
|
|
44
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
45
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2.5", children: [
|
|
46
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: (0, import_cn.cn)("h-7 w-7 rounded-lg flex items-center justify-center", iconBg), children: icon }),
|
|
47
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
48
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-lg sm:text-xl font-semibold leading-none", children: title }),
|
|
49
|
-
subtitle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-2xs text-muted-foreground mt-1", children: subtitle })
|
|
50
|
-
] })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
53
|
-
"a",
|
|
54
|
-
{
|
|
55
|
-
href,
|
|
56
|
-
className: "inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground px-3 py-1.5 rounded-md hover:bg-accent transition-colors",
|
|
57
|
-
children: [
|
|
58
|
-
linkLabel,
|
|
59
|
-
" ",
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowRight, { className: "h-3.5 w-3.5" })
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
)
|
|
64
|
-
] }),
|
|
39
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_section_heading.SectionHeading, { ...heading }),
|
|
65
40
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full overflow-x-auto scrollbar-hide", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex gap-5 sm:gap-6 snap-x snap-mandatory pb-2", style: { width: "max-content" }, children }) })
|
|
66
41
|
] });
|
|
67
42
|
}
|
|
@@ -75,8 +50,7 @@ function DiscoverActivityStrip({
|
|
|
75
50
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_motion_primitives.FadeIn, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
76
51
|
StripShell,
|
|
77
52
|
{
|
|
78
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Tag, { className: "h-
|
|
79
|
-
iconBg: "bg-gradient-to-br from-rose-500 to-pink-600 shadow-md shadow-rose-500/20",
|
|
53
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Tag, { className: "h-4 w-4" }),
|
|
80
54
|
title: "Activity",
|
|
81
55
|
href: marketplaceHref,
|
|
82
56
|
linkLabel: "View all",
|
|
@@ -118,8 +92,7 @@ function DiscoverFeedSection({
|
|
|
118
92
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_motion_primitives.FadeIn, { delay: 0.08, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
119
93
|
StripShell,
|
|
120
94
|
{
|
|
121
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Activity, { className: "h-
|
|
122
|
-
iconBg: "bg-gradient-to-br from-indigo-500 to-blue-600 shadow-md shadow-indigo-500/20",
|
|
95
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Activity, { className: "h-4 w-4" }),
|
|
123
96
|
title: "Community",
|
|
124
97
|
subtitle: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
125
98
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.RefreshCw, { className: "h-2.5 w-2.5" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-feed-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, Activity, RefreshCw
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-feed-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, Activity, RefreshCw } from \"lucide-react\";\nimport { SectionHeading, type SectionHeadingProps } from \"./section-heading.js\";\nimport { FadeIn } from \"./motion-primitives.js\";\nimport { ListingCard, ListingCardSkeleton } from \"./listing-card.js\";\nimport { ActivityCard, ActivityCardSkeleton } from \"./activity-card.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport type { ApiOrder, ApiActivity } from \"@medialane/sdk\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nexport interface DiscoverFeedSectionProps {\n orders: ApiOrder[];\n isLoading: boolean;\n activities: ApiActivity[];\n activitiesLoading: boolean;\n lastUpdated: string;\n explorerUrl?: string;\n marketplaceHref?: string;\n activitiesHref?: string;\n\n onBuyOrder?: (order: ApiOrder) => void;\n\n isOwnOrder?: (order: ApiOrder) => boolean;\n}\n\nfunction StripShell({\n children,\n ...heading\n}: SectionHeadingProps & { children: React.ReactNode }) {\n return (\n <section className=\"space-y-4\">\n <SectionHeading {...heading} />\n\n <div className=\"w-full overflow-x-auto scrollbar-hide\">\n <div className=\"flex gap-5 sm:gap-6 snap-x snap-mandatory pb-2\" style={{ width: \"max-content\" }}>\n {children}\n </div>\n </div>\n </section>\n );\n}\n\nexport interface DiscoverActivityStripProps {\n orders: ApiOrder[];\n isLoading: boolean;\n marketplaceHref?: string;\n onBuyOrder?: (order: ApiOrder) => void;\n isOwnOrder?: (order: ApiOrder) => boolean;\n}\n\nexport function DiscoverActivityStrip({\n orders,\n isLoading,\n marketplaceHref = \"/marketplace\",\n onBuyOrder,\n isOwnOrder,\n}: DiscoverActivityStripProps) {\n return (\n <FadeIn>\n <StripShell\n icon={<Tag className=\"h-4 w-4\" />}\n title=\"Activity\"\n href={marketplaceHref}\n linkLabel=\"View all\"\n >\n {isLoading\n ? Array.from({ length: 8 }).map((_, i) => (\n <div key={i} className=\"w-72 snap-start shrink-0\">\n <ListingCardSkeleton />\n </div>\n ))\n : orders.length === 0\n ? (\n <p className=\"text-sm text-muted-foreground py-4\">No active listings yet.</p>\n )\n : orders.map((order) => {\n const own = isOwnOrder?.(order) ?? false;\n return (\n <div key={order.orderHash} className=\"w-72 snap-start shrink-0\">\n <ListingCard\n order={order}\n onBuy={onBuyOrder && !own ? () => onBuyOrder(order) : undefined}\n />\n </div>\n );\n })}\n </StripShell>\n </FadeIn>\n );\n}\n\nexport function DiscoverFeedSection({\n orders,\n isLoading,\n activities,\n activitiesLoading,\n lastUpdated,\n marketplaceHref = \"/marketplace\",\n activitiesHref = \"/activities\",\n onBuyOrder,\n isOwnOrder,\n}: DiscoverFeedSectionProps) {\n return (\n <div className=\"space-y-14 sm:space-y-20\">\n <DiscoverActivityStrip\n orders={orders}\n isLoading={isLoading}\n marketplaceHref={marketplaceHref}\n onBuyOrder={onBuyOrder}\n isOwnOrder={isOwnOrder}\n />\n\n <FadeIn delay={0.08}>\n <StripShell\n icon={<Activity className=\"h-4 w-4\" />}\n title=\"Community\"\n subtitle={\n <span className=\"flex items-center gap-1\">\n <RefreshCw className=\"h-2.5 w-2.5\" />\n Updated {timeAgo(lastUpdated)}\n </span>\n }\n href={activitiesHref}\n linkLabel=\"Activities\"\n >\n {activitiesLoading\n ? Array.from({ length: 8 }).map((_, i) => (\n <div key={i} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <ActivityCardSkeleton />\n </div>\n ))\n : activities.length === 0\n ? (\n <div className=\"py-4\">\n <p className=\"text-sm font-medium\">{emptyMessages.activity.title}</p>\n <p className=\"text-sm text-muted-foreground\">{emptyMessages.activity.description}</p>\n </div>\n )\n : activities.map((act, i) => {\n const key = act.txHash\n ? `${act.txHash}-${act.type}-${act.nftTokenId ?? \"\"}`\n : `activity-${i}`;\n return (\n <div key={key} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <ActivityCard activity={act} />\n </div>\n );\n })}\n </StripShell>\n </FadeIn>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BI;AA7BJ,0BAAyC;AACzC,6BAAyD;AACzD,+BAAuB;AACvB,0BAAiD;AACjD,2BAAmD;AACnD,kBAAwB;AAExB,4BAA8B;AAiB9B,SAAS,WAAW;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAAwD;AACtD,SACE,6CAAC,aAAQ,WAAU,aACjB;AAAA,gDAAC,yCAAgB,GAAG,SAAS;AAAA,IAE7B,4CAAC,SAAI,WAAU,yCACb,sDAAC,SAAI,WAAU,kDAAiD,OAAO,EAAE,OAAO,cAAc,GAC3F,UACH,GACF;AAAA,KACF;AAEJ;AAUO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AACF,GAA+B;AAC7B,SACE,4CAAC,mCACC;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,4CAAC,2BAAI,WAAU,WAAU;AAAA,MAC/B,OAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAU;AAAA,MAET,sBACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,4CAAC,SAAY,WAAU,4BACrB,sDAAC,2CAAoB,KADb,CAEV,CACD,IACD,OAAO,WAAW,IAEhB,4CAAC,OAAE,WAAU,sCAAqC,qCAAuB,IAE3E,OAAO,IAAI,CAAC,UAAU;AACpB,cAAM,MAAM,aAAa,KAAK,KAAK;AACnC,eACE,4CAAC,SAA0B,WAAU,4BACnC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,OAAO,cAAc,CAAC,MAAM,MAAM,WAAW,KAAK,IAAI;AAAA;AAAA,QACxD,KAJQ,MAAM,SAKhB;AAAA,MAEJ,CAAC;AAAA;AAAA,EACP,GACF;AAEJ;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB;AAAA,EACA;AACF,GAA6B;AAC3B,SACE,6CAAC,SAAI,WAAU,4BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IAEA,4CAAC,mCAAO,OAAO,MACb;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,4CAAC,gCAAS,WAAU,WAAU;AAAA,QACpC,OAAM;AAAA,QACN,UACE,6CAAC,UAAK,WAAU,2BACd;AAAA,sDAAC,iCAAU,WAAU,eAAc;AAAA,UAAE;AAAA,cAC5B,qBAAQ,WAAW;AAAA,WAC9B;AAAA,QAEF,MAAM;AAAA,QACN,WAAU;AAAA,QAET,8BACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,4CAAC,SAAY,WAAU,oCACrB,sDAAC,6CAAqB,KADd,CAEV,CACD,IACD,WAAW,WAAW,IAEpB,6CAAC,SAAI,WAAU,QACb;AAAA,sDAAC,OAAE,WAAU,uBAAuB,8CAAc,SAAS,OAAM;AAAA,UACjE,4CAAC,OAAE,WAAU,iCAAiC,8CAAc,SAAS,aAAY;AAAA,WACnF,IAEF,WAAW,IAAI,CAAC,KAAK,MAAM;AACzB,gBAAM,MAAM,IAAI,SACZ,GAAG,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,cAAc,EAAE,KACjD,YAAY,CAAC;AACjB,iBACE,4CAAC,SAAc,WAAU,oCACvB,sDAAC,qCAAa,UAAU,KAAK,KADrB,GAEV;AAAA,QAEJ,CAAC;AAAA;AAAA,IACP,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,43 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Tag, Activity, RefreshCw
|
|
3
|
+
import { Tag, Activity, RefreshCw } from "lucide-react";
|
|
4
|
+
import { SectionHeading } from "./section-heading.js";
|
|
4
5
|
import { FadeIn } from "./motion-primitives.js";
|
|
5
6
|
import { ListingCard, ListingCardSkeleton } from "./listing-card.js";
|
|
6
7
|
import { ActivityCard, ActivityCardSkeleton } from "./activity-card.js";
|
|
7
8
|
import { timeAgo } from "../utils/time.js";
|
|
8
|
-
import { cn } from "../utils/cn.js";
|
|
9
9
|
import { emptyMessages } from "../utils/empty-messages.js";
|
|
10
10
|
function StripShell({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
title,
|
|
14
|
-
subtitle,
|
|
15
|
-
href,
|
|
16
|
-
linkLabel,
|
|
17
|
-
children
|
|
11
|
+
children,
|
|
12
|
+
...heading
|
|
18
13
|
}) {
|
|
19
14
|
return /* @__PURE__ */ jsxs("section", { className: "space-y-4", children: [
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
|
|
22
|
-
/* @__PURE__ */ jsx("div", { className: cn("h-7 w-7 rounded-lg flex items-center justify-center", iconBg), children: icon }),
|
|
23
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
24
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg sm:text-xl font-semibold leading-none", children: title }),
|
|
25
|
-
subtitle && /* @__PURE__ */ jsx("p", { className: "text-2xs text-muted-foreground mt-1", children: subtitle })
|
|
26
|
-
] })
|
|
27
|
-
] }),
|
|
28
|
-
/* @__PURE__ */ jsxs(
|
|
29
|
-
"a",
|
|
30
|
-
{
|
|
31
|
-
href,
|
|
32
|
-
className: "inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground px-3 py-1.5 rounded-md hover:bg-accent transition-colors",
|
|
33
|
-
children: [
|
|
34
|
-
linkLabel,
|
|
35
|
-
" ",
|
|
36
|
-
/* @__PURE__ */ jsx(ArrowRight, { className: "h-3.5 w-3.5" })
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
)
|
|
40
|
-
] }),
|
|
15
|
+
/* @__PURE__ */ jsx(SectionHeading, { ...heading }),
|
|
41
16
|
/* @__PURE__ */ jsx("div", { className: "w-full overflow-x-auto scrollbar-hide", children: /* @__PURE__ */ jsx("div", { className: "flex gap-5 sm:gap-6 snap-x snap-mandatory pb-2", style: { width: "max-content" }, children }) })
|
|
42
17
|
] });
|
|
43
18
|
}
|
|
@@ -51,8 +26,7 @@ function DiscoverActivityStrip({
|
|
|
51
26
|
return /* @__PURE__ */ jsx(FadeIn, { children: /* @__PURE__ */ jsx(
|
|
52
27
|
StripShell,
|
|
53
28
|
{
|
|
54
|
-
icon: /* @__PURE__ */ jsx(Tag, { className: "h-
|
|
55
|
-
iconBg: "bg-gradient-to-br from-rose-500 to-pink-600 shadow-md shadow-rose-500/20",
|
|
29
|
+
icon: /* @__PURE__ */ jsx(Tag, { className: "h-4 w-4" }),
|
|
56
30
|
title: "Activity",
|
|
57
31
|
href: marketplaceHref,
|
|
58
32
|
linkLabel: "View all",
|
|
@@ -94,8 +68,7 @@ function DiscoverFeedSection({
|
|
|
94
68
|
/* @__PURE__ */ jsx(FadeIn, { delay: 0.08, children: /* @__PURE__ */ jsx(
|
|
95
69
|
StripShell,
|
|
96
70
|
{
|
|
97
|
-
icon: /* @__PURE__ */ jsx(Activity, { className: "h-
|
|
98
|
-
iconBg: "bg-gradient-to-br from-indigo-500 to-blue-600 shadow-md shadow-indigo-500/20",
|
|
71
|
+
icon: /* @__PURE__ */ jsx(Activity, { className: "h-4 w-4" }),
|
|
99
72
|
title: "Community",
|
|
100
73
|
subtitle: /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
101
74
|
/* @__PURE__ */ jsx(RefreshCw, { className: "h-2.5 w-2.5" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/discover-feed-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, Activity, RefreshCw
|
|
1
|
+
{"version":3,"sources":["../../src/components/discover-feed-section.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, Activity, RefreshCw } from \"lucide-react\";\nimport { SectionHeading, type SectionHeadingProps } from \"./section-heading.js\";\nimport { FadeIn } from \"./motion-primitives.js\";\nimport { ListingCard, ListingCardSkeleton } from \"./listing-card.js\";\nimport { ActivityCard, ActivityCardSkeleton } from \"./activity-card.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport type { ApiOrder, ApiActivity } from \"@medialane/sdk\";\nimport { emptyMessages } from \"../utils/empty-messages.js\";\n\nexport interface DiscoverFeedSectionProps {\n orders: ApiOrder[];\n isLoading: boolean;\n activities: ApiActivity[];\n activitiesLoading: boolean;\n lastUpdated: string;\n explorerUrl?: string;\n marketplaceHref?: string;\n activitiesHref?: string;\n\n onBuyOrder?: (order: ApiOrder) => void;\n\n isOwnOrder?: (order: ApiOrder) => boolean;\n}\n\nfunction StripShell({\n children,\n ...heading\n}: SectionHeadingProps & { children: React.ReactNode }) {\n return (\n <section className=\"space-y-4\">\n <SectionHeading {...heading} />\n\n <div className=\"w-full overflow-x-auto scrollbar-hide\">\n <div className=\"flex gap-5 sm:gap-6 snap-x snap-mandatory pb-2\" style={{ width: \"max-content\" }}>\n {children}\n </div>\n </div>\n </section>\n );\n}\n\nexport interface DiscoverActivityStripProps {\n orders: ApiOrder[];\n isLoading: boolean;\n marketplaceHref?: string;\n onBuyOrder?: (order: ApiOrder) => void;\n isOwnOrder?: (order: ApiOrder) => boolean;\n}\n\nexport function DiscoverActivityStrip({\n orders,\n isLoading,\n marketplaceHref = \"/marketplace\",\n onBuyOrder,\n isOwnOrder,\n}: DiscoverActivityStripProps) {\n return (\n <FadeIn>\n <StripShell\n icon={<Tag className=\"h-4 w-4\" />}\n title=\"Activity\"\n href={marketplaceHref}\n linkLabel=\"View all\"\n >\n {isLoading\n ? Array.from({ length: 8 }).map((_, i) => (\n <div key={i} className=\"w-72 snap-start shrink-0\">\n <ListingCardSkeleton />\n </div>\n ))\n : orders.length === 0\n ? (\n <p className=\"text-sm text-muted-foreground py-4\">No active listings yet.</p>\n )\n : orders.map((order) => {\n const own = isOwnOrder?.(order) ?? false;\n return (\n <div key={order.orderHash} className=\"w-72 snap-start shrink-0\">\n <ListingCard\n order={order}\n onBuy={onBuyOrder && !own ? () => onBuyOrder(order) : undefined}\n />\n </div>\n );\n })}\n </StripShell>\n </FadeIn>\n );\n}\n\nexport function DiscoverFeedSection({\n orders,\n isLoading,\n activities,\n activitiesLoading,\n lastUpdated,\n marketplaceHref = \"/marketplace\",\n activitiesHref = \"/activities\",\n onBuyOrder,\n isOwnOrder,\n}: DiscoverFeedSectionProps) {\n return (\n <div className=\"space-y-14 sm:space-y-20\">\n <DiscoverActivityStrip\n orders={orders}\n isLoading={isLoading}\n marketplaceHref={marketplaceHref}\n onBuyOrder={onBuyOrder}\n isOwnOrder={isOwnOrder}\n />\n\n <FadeIn delay={0.08}>\n <StripShell\n icon={<Activity className=\"h-4 w-4\" />}\n title=\"Community\"\n subtitle={\n <span className=\"flex items-center gap-1\">\n <RefreshCw className=\"h-2.5 w-2.5\" />\n Updated {timeAgo(lastUpdated)}\n </span>\n }\n href={activitiesHref}\n linkLabel=\"Activities\"\n >\n {activitiesLoading\n ? Array.from({ length: 8 }).map((_, i) => (\n <div key={i} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <ActivityCardSkeleton />\n </div>\n ))\n : activities.length === 0\n ? (\n <div className=\"py-4\">\n <p className=\"text-sm font-medium\">{emptyMessages.activity.title}</p>\n <p className=\"text-sm text-muted-foreground\">{emptyMessages.activity.description}</p>\n </div>\n )\n : activities.map((act, i) => {\n const key = act.txHash\n ? `${act.txHash}-${act.type}-${act.nftTokenId ?? \"\"}`\n : `activity-${i}`;\n return (\n <div key={key} className=\"w-56 sm:w-64 snap-start shrink-0\">\n <ActivityCard activity={act} />\n </div>\n );\n })}\n </StripShell>\n </FadeIn>\n </div>\n );\n}\n"],"mappings":";AA+BI,SACE,KADF;AA7BJ,SAAS,KAAK,UAAU,iBAAiB;AACzC,SAAS,sBAAgD;AACzD,SAAS,cAAc;AACvB,SAAS,aAAa,2BAA2B;AACjD,SAAS,cAAc,4BAA4B;AACnD,SAAS,eAAe;AAExB,SAAS,qBAAqB;AAiB9B,SAAS,WAAW;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAAwD;AACtD,SACE,qBAAC,aAAQ,WAAU,aACjB;AAAA,wBAAC,kBAAgB,GAAG,SAAS;AAAA,IAE7B,oBAAC,SAAI,WAAU,yCACb,8BAAC,SAAI,WAAU,kDAAiD,OAAO,EAAE,OAAO,cAAc,GAC3F,UACH,GACF;AAAA,KACF;AAEJ;AAUO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AACF,GAA+B;AAC7B,SACE,oBAAC,UACC;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,oBAAC,OAAI,WAAU,WAAU;AAAA,MAC/B,OAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAU;AAAA,MAET,sBACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,oBAAC,SAAY,WAAU,4BACrB,8BAAC,uBAAoB,KADb,CAEV,CACD,IACD,OAAO,WAAW,IAEhB,oBAAC,OAAE,WAAU,sCAAqC,qCAAuB,IAE3E,OAAO,IAAI,CAAC,UAAU;AACpB,cAAM,MAAM,aAAa,KAAK,KAAK;AACnC,eACE,oBAAC,SAA0B,WAAU,4BACnC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,OAAO,cAAc,CAAC,MAAM,MAAM,WAAW,KAAK,IAAI;AAAA;AAAA,QACxD,KAJQ,MAAM,SAKhB;AAAA,MAEJ,CAAC;AAAA;AAAA,EACP,GACF;AAEJ;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB;AAAA,EACA;AACF,GAA6B;AAC3B,SACE,qBAAC,SAAI,WAAU,4BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,UAAO,OAAO,MACb;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,oBAAC,YAAS,WAAU,WAAU;AAAA,QACpC,OAAM;AAAA,QACN,UACE,qBAAC,UAAK,WAAU,2BACd;AAAA,8BAAC,aAAU,WAAU,eAAc;AAAA,UAAE;AAAA,UAC5B,QAAQ,WAAW;AAAA,WAC9B;AAAA,QAEF,MAAM;AAAA,QACN,WAAU;AAAA,QAET,8BACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAChC,oBAAC,SAAY,WAAU,oCACrB,8BAAC,wBAAqB,KADd,CAEV,CACD,IACD,WAAW,WAAW,IAEpB,qBAAC,SAAI,WAAU,QACb;AAAA,8BAAC,OAAE,WAAU,uBAAuB,wBAAc,SAAS,OAAM;AAAA,UACjE,oBAAC,OAAE,WAAU,iCAAiC,wBAAc,SAAS,aAAY;AAAA,WACnF,IAEF,WAAW,IAAI,CAAC,KAAK,MAAM;AACzB,gBAAM,MAAM,IAAI,SACZ,GAAG,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,cAAc,EAAE,KACjD,YAAY,CAAC;AACjB,iBACE,oBAAC,SAAc,WAAU,oCACvB,8BAAC,gBAAa,UAAU,KAAK,KADrB,GAEV;AAAA,QAEJ,CAAC;AAAA;AAAA,IACP,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
3
|
import { FastMintProps } from './types.cjs';
|
|
4
4
|
import 'starknet';
|
|
5
5
|
import '@medialane/sdk';
|
|
6
6
|
import '@medialane/sdk/starknet';
|
|
7
7
|
|
|
8
|
-
declare function FastMint(props: FastMintProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> |
|
|
8
|
+
declare function FastMint(props: FastMintProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
|
|
9
9
|
|
|
10
10
|
export { FastMint };
|