@medialane/ui 0.287.0 → 0.289.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/asset-page.cjs +3 -2
- package/dist/components/asset-page.cjs.map +1 -1
- package/dist/components/asset-page.js +3 -2
- package/dist/components/asset-page.js.map +1 -1
- package/dist/components/button.d.cts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/collection-page.cjs +3 -2
- package/dist/components/collection-page.cjs.map +1 -1
- package/dist/components/collection-page.js +3 -2
- package/dist/components/collection-page.js.map +1 -1
- package/dist/components/comments-section.cjs +3 -3
- package/dist/components/comments-section.cjs.map +1 -1
- package/dist/components/comments-section.js +2 -2
- package/dist/components/comments-section.js.map +1 -1
- package/dist/components/creator-page.cjs +6 -5
- package/dist/components/creator-page.cjs.map +1 -1
- package/dist/components/creator-page.js +5 -4
- package/dist/components/creator-page.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/listing-card-menu.cjs +10 -13
- package/dist/components/listing-card-menu.cjs.map +1 -1
- package/dist/components/listing-card-menu.js +10 -13
- package/dist/components/listing-card-menu.js.map +1 -1
- package/dist/components/medialane-app.cjs.map +1 -1
- package/dist/components/medialane-app.d.cts +2 -8
- package/dist/components/medialane-app.d.ts +2 -8
- package/dist/components/medialane-app.js.map +1 -1
- package/dist/components/mint-landing.cjs +232 -0
- package/dist/components/mint-landing.cjs.map +1 -0
- package/dist/components/mint-landing.d.cts +77 -0
- package/dist/components/mint-landing.d.ts +77 -0
- package/dist/components/mint-landing.js +212 -0
- package/dist/components/mint-landing.js.map +1 -0
- package/dist/components/portfolio-assets.cjs +4 -5
- package/dist/components/portfolio-assets.cjs.map +1 -1
- package/dist/components/portfolio-assets.js +3 -4
- package/dist/components/portfolio-assets.js.map +1 -1
- package/dist/components/report-dialog.cjs +191 -0
- package/dist/components/report-dialog.cjs.map +1 -0
- package/dist/components/report-dialog.d.cts +17 -0
- package/dist/components/report-dialog.d.ts +17 -0
- package/dist/components/report-dialog.js +167 -0
- package/dist/components/report-dialog.js.map +1 -0
- package/dist/components/sheet.d.cts +1 -1
- package/dist/components/sheet.d.ts +1 -1
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var mint_landing_exports = {};
|
|
31
|
+
__export(mint_landing_exports, {
|
|
32
|
+
MintLanding: () => MintLanding
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(mint_landing_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_react = require("react");
|
|
37
|
+
var import_lucide_react = require("lucide-react");
|
|
38
|
+
var import_image = __toESM(require("./image.js"), 1);
|
|
39
|
+
var import_link = __toESM(require("./link.js"), 1);
|
|
40
|
+
var import_brand_logo = require("./brand-logo.js");
|
|
41
|
+
const DOCS = "https://docs.medialane.io";
|
|
42
|
+
const FUND_STYLES = [
|
|
43
|
+
{ icon: import_lucide_react.FileCheck, color: "text-blue-400", bg: "bg-blue-500/10" },
|
|
44
|
+
{ icon: import_lucide_react.Coins, color: "text-yellow-500", bg: "bg-yellow-500/10" },
|
|
45
|
+
{ icon: import_lucide_react.Users, color: "text-purple-400", bg: "bg-purple-500/10" }
|
|
46
|
+
];
|
|
47
|
+
function EventCard({ image }) {
|
|
48
|
+
const [errored, setErrored] = (0, import_react.useState)(false);
|
|
49
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "relative rounded-3xl overflow-hidden border border-border/40 shadow-2xl shadow-black/20 aspect-square w-full", children: errored ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "w-full h-full bg-gradient-to-br from-yellow-500/10 via-orange-500/10 to-purple-500/10 flex flex-col items-center justify-center gap-3", children: [
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ImageIcon, { className: "h-8 w-8 text-primary/40" }) }),
|
|
51
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground font-medium", children: image.fallback })
|
|
52
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
53
|
+
import_image.default,
|
|
54
|
+
{
|
|
55
|
+
src: image.src,
|
|
56
|
+
alt: image.alt,
|
|
57
|
+
fill: true,
|
|
58
|
+
sizes: "(min-width: 1024px) 50vw, 100vw",
|
|
59
|
+
className: "object-cover",
|
|
60
|
+
onError: () => setErrored(true)
|
|
61
|
+
}
|
|
62
|
+
) });
|
|
63
|
+
}
|
|
64
|
+
const DocLink = ({ path, className, children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: `${DOCS}${path}`, target: "_blank", rel: "noopener noreferrer", className, children });
|
|
65
|
+
function MintLanding({ copy, mint }) {
|
|
66
|
+
const { how, phases, eligibility, disclaimer, footer } = copy;
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-h-screen flex flex-col bg-background", children: [
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("header", { className: "px-6 py-4 flex items-center border-b border-border/30", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: "/", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_brand_logo.MedialaneLogoFull, {}) }) }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex-1 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-5xl mx-auto px-5 sm:px-8", children: [
|
|
70
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { className: "py-10 lg:py-16", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-start", children: [
|
|
71
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-5", children: [
|
|
72
|
+
copy.badge && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "inline-flex items-center gap-2 rounded-full border border-yellow-500/30 bg-yellow-500/5 px-3 py-1", children: [
|
|
73
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Sparkles, { className: "h-3.5 w-3.5 text-yellow-500" }),
|
|
74
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-semibold text-yellow-600 dark:text-yellow-400", children: copy.badge })
|
|
75
|
+
] }),
|
|
76
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h1", { className: "text-4xl sm:text-5xl lg:text-6xl font-semibold tracking-tight leading-[1.05]", children: [
|
|
77
|
+
copy.headline.lead,
|
|
78
|
+
" ",
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "bg-gradient-to-r from-yellow-400 to-orange-500 bg-clip-text text-transparent", children: copy.headline.highlight })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1.5", children: copy.chips.map((t) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground/80", children: [
|
|
82
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.CheckCircle2, { className: "h-3 w-3 text-emerald-500/70" }),
|
|
83
|
+
t
|
|
84
|
+
] }, t)) }),
|
|
85
|
+
mint,
|
|
86
|
+
copy.intro && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground leading-relaxed", children: copy.intro })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "lg:sticky lg:top-24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EventCard, { image: copy.image }) })
|
|
89
|
+
] }) }),
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("details", { className: "group border-t border-border/30", children: [
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("summary", { className: "flex items-center justify-center gap-2 py-6 cursor-pointer list-none text-sm font-medium text-muted-foreground hover:text-foreground transition-colors [&::-webkit-details-marker]:hidden", children: [
|
|
92
|
+
copy.learnMore,
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, { className: "h-4 w-4 transition-transform group-open:rotate-180" })
|
|
94
|
+
] }),
|
|
95
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "pb-8 space-y-0", children: [
|
|
96
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "py-8 border-t border-border/30 space-y-6", children: [
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl sm:text-3xl font-black", children: copy.fund.title }),
|
|
98
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-4", children: copy.fund.cards.map(({ title, body }, i) => {
|
|
99
|
+
const { icon: Icon, color, bg } = FUND_STYLES[i];
|
|
100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col gap-4 p-5 rounded-2xl border border-border/40 bg-card/30", children: [
|
|
101
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `h-11 w-11 rounded-xl ${bg} flex items-center justify-center shrink-0`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: `h-5 w-5 ${color}` }) }),
|
|
102
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-bold", children: title }),
|
|
104
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground mt-1 leading-relaxed", children: body })
|
|
105
|
+
] })
|
|
106
|
+
] }, title);
|
|
107
|
+
}) })
|
|
108
|
+
] }),
|
|
109
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "py-8 border-t border-border/30 space-y-6", children: [
|
|
110
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-2xl", children: [
|
|
111
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1", children: how.eyebrow }),
|
|
112
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl sm:text-3xl font-black", children: how.title })
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "rounded-2xl border-2 border-emerald-500/30 bg-emerald-500/5 p-6", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-start gap-4", children: [
|
|
115
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-12 w-12 rounded-xl bg-emerald-500/15 flex items-center justify-center shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.UserCheck, { className: "h-6 w-6 text-emerald-500" }) }),
|
|
116
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex-1", children: [
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
118
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-black text-lg", children: how.account.title }),
|
|
119
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-bold bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 px-2.5 py-0.5 rounded-full", children: how.account.tag })
|
|
120
|
+
] }),
|
|
121
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground mt-1 leading-relaxed", children: how.account.body })
|
|
122
|
+
] })
|
|
123
|
+
] }) }),
|
|
124
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [
|
|
125
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-border/40 bg-card/30 p-5 space-y-3", children: [
|
|
126
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
127
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-10 w-10 rounded-xl bg-purple-500/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.PenLine, { className: "h-5 w-5 text-purple-400" }) }),
|
|
128
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-semibold text-purple-400 bg-purple-500/10 px-2.5 py-1 rounded-full", children: how.create.tag })
|
|
129
|
+
] }),
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-bold", children: how.create.title }),
|
|
132
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground mt-1 leading-relaxed", children: how.create.body })
|
|
133
|
+
] })
|
|
134
|
+
] }),
|
|
135
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-border/40 bg-card/30 p-5 space-y-3", children: [
|
|
136
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
137
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-10 w-10 rounded-xl bg-orange-500/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ShoppingCart, { className: "h-5 w-5 text-orange-400" }) }),
|
|
138
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-semibold text-orange-400 bg-orange-500/10 px-2.5 py-1 rounded-full", children: how.trade.tag })
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
141
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-bold", children: how.trade.title }),
|
|
142
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground mt-1 leading-relaxed", children: how.trade.body })
|
|
143
|
+
] })
|
|
144
|
+
] })
|
|
145
|
+
] })
|
|
146
|
+
] }),
|
|
147
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "py-8 border-t border-border/30 space-y-6", children: [
|
|
148
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-2xl", children: [
|
|
149
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1", children: phases.eyebrow }),
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl sm:text-3xl font-black", children: phases.title })
|
|
151
|
+
] }),
|
|
152
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [
|
|
153
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-blue-500/30 bg-blue-500/5 p-5 space-y-3", children: [
|
|
154
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
155
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-bold text-lg", children: phases.first.title }),
|
|
156
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-semibold bg-blue-500/10 text-blue-400 px-2.5 py-1 rounded-full", children: phases.first.tag })
|
|
157
|
+
] }),
|
|
158
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground leading-relaxed", children: phases.first.body })
|
|
159
|
+
] }),
|
|
160
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-purple-500/30 bg-purple-500/5 p-5 space-y-3", children: [
|
|
161
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
162
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "font-bold text-lg", children: phases.second.title }),
|
|
163
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xs font-semibold bg-purple-500/10 text-purple-400 px-2.5 py-1 rounded-full", children: phases.second.tag })
|
|
164
|
+
] }),
|
|
165
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground leading-relaxed", children: phases.second.body })
|
|
166
|
+
] })
|
|
167
|
+
] }),
|
|
168
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-border/40 bg-muted/10 p-4 flex items-start gap-3", children: [
|
|
169
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Info, { className: "h-4 w-4 text-muted-foreground shrink-0 mt-0.5" }),
|
|
170
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground leading-relaxed", children: phases.note })
|
|
171
|
+
] })
|
|
172
|
+
] }),
|
|
173
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { className: "py-8 border-t border-border/30", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-10", children: [
|
|
174
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4", children: [
|
|
175
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
176
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1", children: eligibility.eyebrow }),
|
|
177
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl font-black", children: eligibility.title })
|
|
178
|
+
] }),
|
|
179
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-2.5 text-sm", children: eligibility.items.map(({ ok, text }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
180
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `h-5 w-5 rounded-full flex items-center justify-center shrink-0 mt-0.5 ${ok ? "bg-emerald-500/10" : "bg-destructive/10"}`, children: ok ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.CheckCircle2, { className: "h-3 w-3 text-emerald-500" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.XCircle, { className: "h-3 w-3 text-destructive" }) }),
|
|
181
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-muted-foreground leading-relaxed", children: text })
|
|
182
|
+
] }, text)) })
|
|
183
|
+
] }),
|
|
184
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4", children: [
|
|
185
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
186
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Shield, { className: "h-4 w-4 text-muted-foreground" }),
|
|
187
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl font-black", children: disclaimer.title })
|
|
188
|
+
] }),
|
|
189
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-3 text-sm text-muted-foreground leading-relaxed", children: [
|
|
190
|
+
disclaimer.paragraphs.map((p) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: p }, p)),
|
|
191
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { children: [
|
|
192
|
+
disclaimer.agree.lead,
|
|
193
|
+
" ",
|
|
194
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/campaign-terms", className: "underline underline-offset-2 hover:text-foreground transition-colors", children: disclaimer.agree.campaignTerms }),
|
|
195
|
+
" ",
|
|
196
|
+
disclaimer.agree.and,
|
|
197
|
+
" ",
|
|
198
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/terms", className: "underline underline-offset-2 hover:text-foreground transition-colors", children: disclaimer.agree.terms }),
|
|
199
|
+
"."
|
|
200
|
+
] })
|
|
201
|
+
] })
|
|
202
|
+
] })
|
|
203
|
+
] }) })
|
|
204
|
+
] })
|
|
205
|
+
] }),
|
|
206
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "pb-12" })
|
|
207
|
+
] }) }),
|
|
208
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("footer", { className: "border-t border-border/40", children: [
|
|
209
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-2xs text-center text-muted-foreground/50 px-5 pt-4", children: [
|
|
210
|
+
footer.line,
|
|
211
|
+
" ",
|
|
212
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/campaign-terms", className: "underline underline-offset-2 hover:text-muted-foreground/80 transition-colors", children: footer.campaignTerms })
|
|
213
|
+
] }),
|
|
214
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "px-5 py-4 flex items-center justify-center gap-5 text-xs text-muted-foreground flex-wrap", children: [
|
|
215
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/terms", className: "hover:text-foreground transition-colors", children: footer.links.terms }),
|
|
216
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/privacy", className: "hover:text-foreground transition-colors", children: footer.links.privacy }),
|
|
217
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/guidelines/campaign-terms", className: "hover:text-foreground transition-colors", children: footer.links.campaign }),
|
|
218
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DocLink, { path: "/about", className: "hover:text-foreground transition-colors", children: footer.links.about }),
|
|
219
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
220
|
+
"\xA9 ",
|
|
221
|
+
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
222
|
+
" Medialane"
|
|
223
|
+
] })
|
|
224
|
+
] })
|
|
225
|
+
] })
|
|
226
|
+
] });
|
|
227
|
+
}
|
|
228
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
229
|
+
0 && (module.exports = {
|
|
230
|
+
MintLanding
|
|
231
|
+
});
|
|
232
|
+
//# sourceMappingURL=mint-landing.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/mint-landing.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, type ReactNode } from \"react\";\nimport {\n Sparkles,\n CheckCircle2,\n FileCheck,\n Coins,\n Users,\n ImageIcon,\n Shield,\n Info,\n PenLine,\n ShoppingCart,\n UserCheck,\n XCircle,\n ChevronDown,\n} from \"lucide-react\";\nimport Image from \"./image.js\";\nimport Link from \"./link.js\";\nimport { MedialaneLogoFull as MedialaneLogo } from \"./brand-logo.js\";\n\ninterface Card {\n title: string;\n body: string;\n}\n\ninterface TaggedCard extends Card {\n tag: string;\n}\n\nexport interface MintLandingCopy {\n image: { src: string; alt: string; fallback: string };\n badge?: string;\n headline: { lead: string; highlight: string };\n intro?: string;\n chips: string[];\n learnMore: string;\n fund: { title: string; cards: [Card, Card, Card] };\n how: { eyebrow: string; title: string; account: TaggedCard; create: TaggedCard; trade: TaggedCard };\n phases: { eyebrow: string; title: string; first: TaggedCard; second: TaggedCard; note: string };\n eligibility: { eyebrow: string; title: string; items: Array<{ ok: boolean; text: string }> };\n disclaimer: {\n title: string;\n paragraphs: string[];\n agree: { lead: string; campaignTerms: string; and: string; terms: string };\n };\n footer: {\n line: string;\n campaignTerms: string;\n links: { terms: string; privacy: string; campaign: string; about: string };\n };\n}\n\nconst DOCS = \"https://docs.medialane.io\";\nconst FUND_STYLES = [\n { icon: FileCheck, color: \"text-blue-400\", bg: \"bg-blue-500/10\" },\n { icon: Coins, color: \"text-yellow-500\", bg: \"bg-yellow-500/10\" },\n { icon: Users, color: \"text-purple-400\", bg: \"bg-purple-500/10\" },\n];\n\nfunction EventCard({ image }: { image: MintLandingCopy[\"image\"] }) {\n const [errored, setErrored] = useState(false);\n return (\n <div className=\"relative rounded-3xl overflow-hidden border border-border/40 shadow-2xl shadow-black/20 aspect-square w-full\">\n {errored ? (\n <div className=\"w-full h-full bg-gradient-to-br from-yellow-500/10 via-orange-500/10 to-purple-500/10 flex flex-col items-center justify-center gap-3\">\n <div className=\"h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center\">\n <ImageIcon className=\"h-8 w-8 text-primary/40\" />\n </div>\n <p className=\"text-sm text-muted-foreground font-medium\">{image.fallback}</p>\n </div>\n ) : (\n <Image\n src={image.src}\n alt={image.alt}\n fill\n sizes=\"(min-width: 1024px) 50vw, 100vw\"\n className=\"object-cover\"\n onError={() => setErrored(true)}\n />\n )}\n </div>\n );\n}\n\nconst DocLink = ({ path, className, children }: { path: string; className: string; children: ReactNode }) => (\n <a href={`${DOCS}${path}`} target=\"_blank\" rel=\"noopener noreferrer\" className={className}>\n {children}\n </a>\n);\n\nexport function MintLanding({ copy, mint }: { copy: MintLandingCopy; mint: ReactNode }) {\n const { how, phases, eligibility, disclaimer, footer } = copy;\n return (\n <div className=\"min-h-screen flex flex-col bg-background\">\n\n <header className=\"px-6 py-4 flex items-center border-b border-border/30\">\n <Link href=\"/\"><MedialaneLogo /></Link>\n </header>\n\n <div className=\"flex-1 w-full\">\n <div className=\"max-w-5xl mx-auto px-5 sm:px-8\">\n\n <section className=\"py-10 lg:py-16\">\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-start\">\n\n <div className=\"space-y-5\">\n {copy.badge && (\n <div className=\"inline-flex items-center gap-2 rounded-full border border-yellow-500/30 bg-yellow-500/5 px-3 py-1\">\n <Sparkles className=\"h-3.5 w-3.5 text-yellow-500\" />\n <span className=\"text-xs font-semibold text-yellow-600 dark:text-yellow-400\">{copy.badge}</span>\n </div>\n )}\n <h1 className=\"text-4xl sm:text-5xl lg:text-6xl font-semibold tracking-tight leading-[1.05]\">\n {copy.headline.lead}{\" \"}\n <span className=\"bg-gradient-to-r from-yellow-400 to-orange-500 bg-clip-text text-transparent\">\n {copy.headline.highlight}\n </span>\n </h1>\n\n <div className=\"flex flex-wrap items-center gap-x-4 gap-y-1.5\">\n {copy.chips.map((t) => (\n <div key={t} className=\"flex items-center gap-1.5 text-xs text-muted-foreground/80\">\n <CheckCircle2 className=\"h-3 w-3 text-emerald-500/70\" />\n {t}\n </div>\n ))}\n </div>\n\n {mint}\n\n {copy.intro && <p className=\"text-sm text-muted-foreground leading-relaxed\">{copy.intro}</p>}\n </div>\n\n <div className=\"lg:sticky lg:top-24\">\n <EventCard image={copy.image} />\n </div>\n\n </div>\n </section>\n\n <details className=\"group border-t border-border/30\">\n <summary className=\"flex items-center justify-center gap-2 py-6 cursor-pointer list-none text-sm font-medium text-muted-foreground hover:text-foreground transition-colors [&::-webkit-details-marker]:hidden\">\n {copy.learnMore}\n <ChevronDown className=\"h-4 w-4 transition-transform group-open:rotate-180\" />\n </summary>\n\n <div className=\"pb-8 space-y-0\">\n\n <section className=\"py-8 border-t border-border/30 space-y-6\">\n <h2 className=\"text-2xl sm:text-3xl font-black\">{copy.fund.title}</h2>\n <div className=\"grid grid-cols-1 sm:grid-cols-3 gap-4\">\n {copy.fund.cards.map(({ title, body }, i) => {\n const { icon: Icon, color, bg } = FUND_STYLES[i];\n return (\n <div key={title} className=\"flex flex-col gap-4 p-5 rounded-2xl border border-border/40 bg-card/30\">\n <div className={`h-11 w-11 rounded-xl ${bg} flex items-center justify-center shrink-0`}>\n <Icon className={`h-5 w-5 ${color}`} />\n </div>\n <div>\n <p className=\"font-bold\">{title}</p>\n <p className=\"text-sm text-muted-foreground mt-1 leading-relaxed\">{body}</p>\n </div>\n </div>\n );\n })}\n </div>\n </section>\n\n <section className=\"py-8 border-t border-border/30 space-y-6\">\n <div className=\"max-w-2xl\">\n <p className=\"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1\">{how.eyebrow}</p>\n <h2 className=\"text-2xl sm:text-3xl font-black\">{how.title}</h2>\n </div>\n\n <div className=\"rounded-2xl border-2 border-emerald-500/30 bg-emerald-500/5 p-6\">\n <div className=\"flex items-start gap-4\">\n <div className=\"h-12 w-12 rounded-xl bg-emerald-500/15 flex items-center justify-center shrink-0\">\n <UserCheck className=\"h-6 w-6 text-emerald-500\" />\n </div>\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-2 flex-wrap\">\n <p className=\"font-black text-lg\">{how.account.title}</p>\n <span className=\"text-xs font-bold bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 px-2.5 py-0.5 rounded-full\">{how.account.tag}</span>\n </div>\n <p className=\"text-sm text-muted-foreground mt-1 leading-relaxed\">\n {how.account.body}\n </p>\n </div>\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n <div className=\"rounded-2xl border border-border/40 bg-card/30 p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <div className=\"h-10 w-10 rounded-xl bg-purple-500/10 flex items-center justify-center\">\n <PenLine className=\"h-5 w-5 text-purple-400\" />\n </div>\n <span className=\"text-xs font-semibold text-purple-400 bg-purple-500/10 px-2.5 py-1 rounded-full\">{how.create.tag}</span>\n </div>\n <div>\n <p className=\"font-bold\">{how.create.title}</p>\n <p className=\"text-sm text-muted-foreground mt-1 leading-relaxed\">\n {how.create.body}\n </p>\n </div>\n </div>\n <div className=\"rounded-2xl border border-border/40 bg-card/30 p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <div className=\"h-10 w-10 rounded-xl bg-orange-500/10 flex items-center justify-center\">\n <ShoppingCart className=\"h-5 w-5 text-orange-400\" />\n </div>\n <span className=\"text-xs font-semibold text-orange-400 bg-orange-500/10 px-2.5 py-1 rounded-full\">{how.trade.tag}</span>\n </div>\n <div>\n <p className=\"font-bold\">{how.trade.title}</p>\n <p className=\"text-sm text-muted-foreground mt-1 leading-relaxed\">\n {how.trade.body}\n </p>\n </div>\n </div>\n </div>\n </section>\n\n <section className=\"py-8 border-t border-border/30 space-y-6\">\n <div className=\"max-w-2xl\">\n <p className=\"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1\">{phases.eyebrow}</p>\n <h2 className=\"text-2xl sm:text-3xl font-black\">{phases.title}</h2>\n </div>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n <div className=\"rounded-2xl border border-blue-500/30 bg-blue-500/5 p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <p className=\"font-bold text-lg\">{phases.first.title}</p>\n <span className=\"text-xs font-semibold bg-blue-500/10 text-blue-400 px-2.5 py-1 rounded-full\">{phases.first.tag}</span>\n </div>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n {phases.first.body}\n </p>\n </div>\n <div className=\"rounded-2xl border border-purple-500/30 bg-purple-500/5 p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <p className=\"font-bold text-lg\">{phases.second.title}</p>\n <span className=\"text-xs font-semibold bg-purple-500/10 text-purple-400 px-2.5 py-1 rounded-full\">{phases.second.tag}</span>\n </div>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n {phases.second.body}\n </p>\n </div>\n </div>\n <div className=\"rounded-2xl border border-border/40 bg-muted/10 p-4 flex items-start gap-3\">\n <Info className=\"h-4 w-4 text-muted-foreground shrink-0 mt-0.5\" />\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n {phases.note}\n </p>\n </div>\n </section>\n\n <section className=\"py-8 border-t border-border/30\">\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-10\">\n <div className=\"space-y-4\">\n <div>\n <p className=\"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-1\">{eligibility.eyebrow}</p>\n <h2 className=\"text-2xl font-black\">{eligibility.title}</h2>\n </div>\n <div className=\"space-y-2.5 text-sm\">\n {eligibility.items.map(({ ok, text }) => (\n <div key={text} className=\"flex items-start gap-3\">\n <div className={`h-5 w-5 rounded-full flex items-center justify-center shrink-0 mt-0.5 ${ok ? \"bg-emerald-500/10\" : \"bg-destructive/10\"}`}>\n {ok\n ? <CheckCircle2 className=\"h-3 w-3 text-emerald-500\" />\n : <XCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n <span className=\"text-muted-foreground leading-relaxed\">{text}</span>\n </div>\n ))}\n </div>\n </div>\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-2\">\n <Shield className=\"h-4 w-4 text-muted-foreground\" />\n <h2 className=\"text-2xl font-black\">{disclaimer.title}</h2>\n </div>\n <div className=\"space-y-3 text-sm text-muted-foreground leading-relaxed\">\n {disclaimer.paragraphs.map((p) => <p key={p}>{p}</p>)}\n <p>\n {disclaimer.agree.lead}{\" \"}\n <DocLink path=\"/guidelines/campaign-terms\" className=\"underline underline-offset-2 hover:text-foreground transition-colors\">{disclaimer.agree.campaignTerms}</DocLink>\n {\" \"}{disclaimer.agree.and}{\" \"}\n <DocLink path=\"/guidelines/terms\" className=\"underline underline-offset-2 hover:text-foreground transition-colors\">{disclaimer.agree.terms}</DocLink>.\n </p>\n </div>\n </div>\n </div>\n </section>\n\n </div>\n </details>\n\n <div className=\"pb-12\" />\n </div>\n </div>\n\n <footer className=\"border-t border-border/40\">\n <p className=\"text-2xs text-center text-muted-foreground/50 px-5 pt-4\">\n {footer.line}{\" \"}\n <DocLink path=\"/guidelines/campaign-terms\" className=\"underline underline-offset-2 hover:text-muted-foreground/80 transition-colors\">\n {footer.campaignTerms}\n </DocLink>\n </p>\n <div className=\"px-5 py-4 flex items-center justify-center gap-5 text-xs text-muted-foreground flex-wrap\">\n <DocLink path=\"/guidelines/terms\" className=\"hover:text-foreground transition-colors\">{footer.links.terms}</DocLink>\n <DocLink path=\"/guidelines/privacy\" className=\"hover:text-foreground transition-colors\">{footer.links.privacy}</DocLink>\n <DocLink path=\"/guidelines/campaign-terms\" className=\"hover:text-foreground transition-colors\">{footer.links.campaign}</DocLink>\n <DocLink path=\"/about\" className=\"hover:text-foreground transition-colors\">{footer.links.about}</DocLink>\n <span>© {new Date().getFullYear()} Medialane</span>\n </div>\n </footer>\n </div>\n );\n}\n"],"mappings":"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","names":["Image","Link","MedialaneLogo"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface Card {
|
|
5
|
+
title: string;
|
|
6
|
+
body: string;
|
|
7
|
+
}
|
|
8
|
+
interface TaggedCard extends Card {
|
|
9
|
+
tag: string;
|
|
10
|
+
}
|
|
11
|
+
interface MintLandingCopy {
|
|
12
|
+
image: {
|
|
13
|
+
src: string;
|
|
14
|
+
alt: string;
|
|
15
|
+
fallback: string;
|
|
16
|
+
};
|
|
17
|
+
badge?: string;
|
|
18
|
+
headline: {
|
|
19
|
+
lead: string;
|
|
20
|
+
highlight: string;
|
|
21
|
+
};
|
|
22
|
+
intro?: string;
|
|
23
|
+
chips: string[];
|
|
24
|
+
learnMore: string;
|
|
25
|
+
fund: {
|
|
26
|
+
title: string;
|
|
27
|
+
cards: [Card, Card, Card];
|
|
28
|
+
};
|
|
29
|
+
how: {
|
|
30
|
+
eyebrow: string;
|
|
31
|
+
title: string;
|
|
32
|
+
account: TaggedCard;
|
|
33
|
+
create: TaggedCard;
|
|
34
|
+
trade: TaggedCard;
|
|
35
|
+
};
|
|
36
|
+
phases: {
|
|
37
|
+
eyebrow: string;
|
|
38
|
+
title: string;
|
|
39
|
+
first: TaggedCard;
|
|
40
|
+
second: TaggedCard;
|
|
41
|
+
note: string;
|
|
42
|
+
};
|
|
43
|
+
eligibility: {
|
|
44
|
+
eyebrow: string;
|
|
45
|
+
title: string;
|
|
46
|
+
items: Array<{
|
|
47
|
+
ok: boolean;
|
|
48
|
+
text: string;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
disclaimer: {
|
|
52
|
+
title: string;
|
|
53
|
+
paragraphs: string[];
|
|
54
|
+
agree: {
|
|
55
|
+
lead: string;
|
|
56
|
+
campaignTerms: string;
|
|
57
|
+
and: string;
|
|
58
|
+
terms: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
footer: {
|
|
62
|
+
line: string;
|
|
63
|
+
campaignTerms: string;
|
|
64
|
+
links: {
|
|
65
|
+
terms: string;
|
|
66
|
+
privacy: string;
|
|
67
|
+
campaign: string;
|
|
68
|
+
about: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
declare function MintLanding({ copy, mint }: {
|
|
73
|
+
copy: MintLandingCopy;
|
|
74
|
+
mint: ReactNode;
|
|
75
|
+
}): react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
export { MintLanding, type MintLandingCopy };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface Card {
|
|
5
|
+
title: string;
|
|
6
|
+
body: string;
|
|
7
|
+
}
|
|
8
|
+
interface TaggedCard extends Card {
|
|
9
|
+
tag: string;
|
|
10
|
+
}
|
|
11
|
+
interface MintLandingCopy {
|
|
12
|
+
image: {
|
|
13
|
+
src: string;
|
|
14
|
+
alt: string;
|
|
15
|
+
fallback: string;
|
|
16
|
+
};
|
|
17
|
+
badge?: string;
|
|
18
|
+
headline: {
|
|
19
|
+
lead: string;
|
|
20
|
+
highlight: string;
|
|
21
|
+
};
|
|
22
|
+
intro?: string;
|
|
23
|
+
chips: string[];
|
|
24
|
+
learnMore: string;
|
|
25
|
+
fund: {
|
|
26
|
+
title: string;
|
|
27
|
+
cards: [Card, Card, Card];
|
|
28
|
+
};
|
|
29
|
+
how: {
|
|
30
|
+
eyebrow: string;
|
|
31
|
+
title: string;
|
|
32
|
+
account: TaggedCard;
|
|
33
|
+
create: TaggedCard;
|
|
34
|
+
trade: TaggedCard;
|
|
35
|
+
};
|
|
36
|
+
phases: {
|
|
37
|
+
eyebrow: string;
|
|
38
|
+
title: string;
|
|
39
|
+
first: TaggedCard;
|
|
40
|
+
second: TaggedCard;
|
|
41
|
+
note: string;
|
|
42
|
+
};
|
|
43
|
+
eligibility: {
|
|
44
|
+
eyebrow: string;
|
|
45
|
+
title: string;
|
|
46
|
+
items: Array<{
|
|
47
|
+
ok: boolean;
|
|
48
|
+
text: string;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
disclaimer: {
|
|
52
|
+
title: string;
|
|
53
|
+
paragraphs: string[];
|
|
54
|
+
agree: {
|
|
55
|
+
lead: string;
|
|
56
|
+
campaignTerms: string;
|
|
57
|
+
and: string;
|
|
58
|
+
terms: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
footer: {
|
|
62
|
+
line: string;
|
|
63
|
+
campaignTerms: string;
|
|
64
|
+
links: {
|
|
65
|
+
terms: string;
|
|
66
|
+
privacy: string;
|
|
67
|
+
campaign: string;
|
|
68
|
+
about: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
declare function MintLanding({ copy, mint }: {
|
|
73
|
+
copy: MintLandingCopy;
|
|
74
|
+
mint: ReactNode;
|
|
75
|
+
}): react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
export { MintLanding, type MintLandingCopy };
|