312 lines
11 KiB
JavaScript
312 lines
11 KiB
JavaScript
/*
|
||
* Extracted from browser-delivered Turbopack chunk: 5d5b47876e53e564.da1ba52a93.js
|
||
* Module id: 788232
|
||
* For reading/searching only; this factory depends on the original Turbopack runtime.
|
||
*/
|
||
|
||
const moduleFactory = (e) => {
|
||
"use strict";
|
||
var t = e.i(462214),
|
||
r = e.i(358379),
|
||
n = e.i(339039),
|
||
o = e.i(291487),
|
||
a = e.i(436178),
|
||
i = e.i(185264);
|
||
e.i(606823);
|
||
var l = e.i(49914),
|
||
s = e.i(841183);
|
||
e.i(693602);
|
||
var c = e.i(499744),
|
||
u = e.i(433761),
|
||
d = e.i(575117),
|
||
f = e.i(357303),
|
||
m = e.i(213306),
|
||
p = e.i(693873);
|
||
let h = { 2: "立即开通", 3: "立即升级" };
|
||
e.s([
|
||
"default",
|
||
0,
|
||
(e) => {
|
||
let {
|
||
member: g,
|
||
handleOpenQRCodeModal: b,
|
||
showSpecialSku: v = !1,
|
||
selectedSkuId: _,
|
||
setSelectedSkuId: y,
|
||
benefitFallbackLabel: x,
|
||
showCancelPlaceholder: C,
|
||
} = e,
|
||
{ vipInfo: E } = (0, i.vipInfoStore)(),
|
||
S = (0, c.calcTokenPrice)(g),
|
||
{
|
||
renewTips: w,
|
||
isMonthSku: k,
|
||
isYearSku: j,
|
||
isContinueMonthSku: P,
|
||
isContinueYearSku: R,
|
||
isPremiumSku: N,
|
||
isUltimateSku: $,
|
||
isFreeSku: O,
|
||
} = (0, l.useSkuConvertHooks)(g),
|
||
T = (0, r.useMemo)(
|
||
() =>
|
||
O ? null : (0, c.calcCheaperThanRechargePercent)(parseFloat(S)),
|
||
[O, S],
|
||
),
|
||
{ membershipLevels: M, commercialConfig: I } = (0,
|
||
a.useCommercialStore)(),
|
||
A = I?.skuPromoteLabel || {},
|
||
{
|
||
isVip: L,
|
||
isSpecialUser: B,
|
||
isOrdinaryUser: D,
|
||
isMasterUser: H,
|
||
isTeamUser: z,
|
||
} = (0, s.useUserIdentificationHooks)(),
|
||
W = (0, d.default)(g?.firstMonthPrice, 100),
|
||
F = (0, c.calcSkuName)(g.packageLevel),
|
||
U = (0, r.useMemo)(() => {
|
||
if (O) return `免费`;
|
||
if (
|
||
E &&
|
||
((1 === g.type && 1 === E.type) ||
|
||
(4 === E.type && 4 === g.type)) &&
|
||
g.packageLevel === E.accountLevel &&
|
||
L
|
||
)
|
||
return `订阅管理`;
|
||
if (E && 1 === g.state)
|
||
if (z) return `您已是团队版会员`;
|
||
else if (2 === E.type || 4 === E.type)
|
||
return `您已是尊贵的年会员`;
|
||
else if (E?.accountLevel === 6) return `您已是尊贵的尊享会员`;
|
||
else if (E?.accountLevel === 5) return `您已是尊贵的旗舰会员`;
|
||
else if (H) return `您已是尊贵的大师会员`;
|
||
else if (B) return `您已是尊贵的专业会员`;
|
||
else if (E?.accountLevel === 2) return `您已是尊贵的基础会员`;
|
||
else return `未知情况`;
|
||
if (E?.memPkgId === g?.id && E?.effective) return "立即续费";
|
||
return h[g?.state];
|
||
}, [D, g, B]),
|
||
G = (0, r.useMemo)(
|
||
() => ["订阅管理", "立即开通", "立即升级", "立即续费"].includes(U),
|
||
[U],
|
||
),
|
||
q = (0, r.useCallback)(() => {
|
||
G &&
|
||
("订阅管理" === U
|
||
? window.open("https://liblib.art/transaction", "_blank")
|
||
: b());
|
||
}, [G, U, b]);
|
||
(0, r.useMemo)(() => g?.state !== 1, [g]);
|
||
let X = 0 !== g.packageLevel,
|
||
K = !X,
|
||
V = (0, r.useMemo)(() => !1, [g.packageLevel, E]),
|
||
Y = !V,
|
||
Q = (0, r.useMemo)(
|
||
() =>
|
||
V
|
||
? {
|
||
bgStyle: p.default.specialBg,
|
||
textStyle: p.default.specialBgContent,
|
||
}
|
||
: {
|
||
bgStyle: p.default.transparentBg,
|
||
textStyle: p.default.transparentBgContent,
|
||
},
|
||
[V],
|
||
),
|
||
Z = (0, r.useMemo)(() => g.id.toString(), [g.id]),
|
||
J = (0, r.useMemo)(() => {
|
||
switch (g.packageLevel) {
|
||
case 0:
|
||
default:
|
||
return {
|
||
bgStyle: p.default.freeLevel,
|
||
levelStyle: p.default.commonLowLevel,
|
||
borderStyle: p.default.freeLevelBorder,
|
||
};
|
||
case 2:
|
||
return {
|
||
bgStyle: p.default.baseLevel,
|
||
icon: o.STATIC_CDN_MAP["diamond.svg"],
|
||
levelStyle: p.default.commonLevel,
|
||
borderStyle: p.default.baseLevelBorder,
|
||
};
|
||
case 3:
|
||
return {
|
||
bgStyle: p.default.proLevel,
|
||
icon: o.STATIC_CDN_MAP["svip.svg"],
|
||
levelStyle: p.default.commonLevel,
|
||
borderStyle: p.default.proLevelBorder,
|
||
};
|
||
case 4:
|
||
return {
|
||
bgStyle: p.default.materLevel,
|
||
icon: o.STATIC_CDN_MAP["master_vip.svg"],
|
||
levelStyle: p.default.commonLevel,
|
||
borderStyle: p.default.materLevelBorder,
|
||
};
|
||
case 5:
|
||
return {
|
||
bgStyle: p.default.premiumLevel,
|
||
icon: o.STATIC_CDN_MAP["premium_vip.svg"],
|
||
levelStyle: p.default.commonLevel,
|
||
borderStyle: p.default.premiumLevelBorder,
|
||
};
|
||
case 6:
|
||
return {
|
||
bgStyle: p.default.ultimateLevel,
|
||
icon: o.STATIC_CDN_MAP["ssuper_vip.svg"],
|
||
levelStyle: p.default.commonLevel,
|
||
borderStyle: p.default.ultimateLevelBorder,
|
||
};
|
||
}
|
||
}, [g]),
|
||
ee = (0, r.useMemo)(
|
||
() =>
|
||
G
|
||
? $
|
||
? p.default.premiumLevelBtn
|
||
: p.default.becomeVipBtn
|
||
: O
|
||
? p.default.normalLevelBtn
|
||
: p.default.disabledBtn,
|
||
[G, $],
|
||
),
|
||
et = (0, r.useCallback)(() => {
|
||
y?.(g.id);
|
||
}, [g.id, y]);
|
||
return (0, t.jsxs)("div", {
|
||
className: `${p.default.container} ${J.levelStyle} ${Q.bgStyle}`,
|
||
onClick: y ? et : void 0,
|
||
role: y ? "button" : void 0,
|
||
children: [
|
||
V &&
|
||
(0, t.jsx)("div", {
|
||
className: Q.textStyle,
|
||
children: " 升级以获取更多积分",
|
||
}),
|
||
(0, t.jsxs)("div", {
|
||
className: `${p.default.contentContainer} ${J.bgStyle} ${Y && J.borderStyle}`,
|
||
children: [
|
||
(0, t.jsxs)("div", {
|
||
className: p.default.header,
|
||
children: [
|
||
(0, t.jsxs)("div", {
|
||
className: "flex items-center gap-2",
|
||
children: [
|
||
g.packageLevel > 1 &&
|
||
(0, t.jsx)("img", {
|
||
src: J.icon,
|
||
width: 24,
|
||
height: 24,
|
||
}),
|
||
(0, t.jsx)("span", {
|
||
className: p.default.skuName,
|
||
children: F,
|
||
}),
|
||
(0, t.jsx)("div", { className: "flex-1" }),
|
||
A[g.id] &&
|
||
(0, t.jsx)("div", {
|
||
className: p.default.promoteLabel,
|
||
children: A[g.id],
|
||
}),
|
||
],
|
||
}),
|
||
(0, t.jsxs)("div", {
|
||
className: p.default.rmb,
|
||
children: [
|
||
(0, t.jsx)("span", {
|
||
className: p.default.rmbIcon,
|
||
children: "¥",
|
||
}),
|
||
(0, t.jsx)("span", {
|
||
className: p.default.rmbNumber,
|
||
children: W,
|
||
}),
|
||
(0, t.jsx)("span", {
|
||
className:
|
||
"text-[var(--vip-price-color)] text-[16px] relative -top-[3px] ml-0.5",
|
||
children: j ? "/年" : "/月",
|
||
}),
|
||
g?.originalPrice > 0 &&
|
||
g?.firstMonthPrice != g.originalPrice &&
|
||
X &&
|
||
(0, t.jsxs)("span", {
|
||
className: p.default.rmbOrigin,
|
||
children: [
|
||
"¥",
|
||
(0, d.default)(g?.originalPrice, 100),
|
||
],
|
||
}),
|
||
],
|
||
}),
|
||
(0, t.jsxs)("div", {
|
||
className: "mb-4 w-fit",
|
||
style: {
|
||
fontSize: 12,
|
||
lineHeight: "16px",
|
||
height: 32,
|
||
color: "var(--vip-text-secondary, #424242)",
|
||
marginTop: 12,
|
||
opacity: +!K,
|
||
},
|
||
children: [w ? w + "," : "", " ", S, "元/100积分"],
|
||
}),
|
||
],
|
||
}),
|
||
(0, t.jsx)("div", {
|
||
className: "flex flex-col gap-2 w-full",
|
||
children: (0, t.jsxs)("div", {
|
||
className: `${ee}`,
|
||
onClick: (e) => {
|
||
e.stopPropagation(), q();
|
||
},
|
||
children: [
|
||
U || "立即开通",
|
||
g.cornerMark &&
|
||
(0, t.jsx)("div", {
|
||
className: `${p.default.cornerMark} right-0`,
|
||
children: g.cornerMark,
|
||
}),
|
||
g.countdownAt &&
|
||
(0, u.getCountdownSeconds)(g) > 0 &&
|
||
(0, t.jsx)("div", {
|
||
className: "absolute -top-[10px] right-0",
|
||
children: (0, t.jsx)(n.CountdownTimer, {
|
||
countdownAt: g.countdownAt,
|
||
}),
|
||
}),
|
||
],
|
||
}),
|
||
}),
|
||
(P || R || C) &&
|
||
(0, t.jsx)("div", {
|
||
className: "text-[12px] mt-2 text-center",
|
||
style: {
|
||
color: P || R ? "var(--vip-text-muted)" : "transparent",
|
||
},
|
||
children: P || R ? "可随时取消" : " ",
|
||
}),
|
||
M &&
|
||
(0, t.jsx)("div", {
|
||
className: "mt-3",
|
||
children: (0, t.jsx)(m.default, {
|
||
benefits: (0, f.getMembershipBenefits)(Z, M)?.length
|
||
? (0, f.getMembershipBenefits)(Z, M)
|
||
: (0, f.getMembershipBenefits)(x || Z, M) || [],
|
||
packageLevel: g.packageLevel,
|
||
cheaperThanRechargePercent: T,
|
||
}),
|
||
}),
|
||
],
|
||
}),
|
||
],
|
||
});
|
||
},
|
||
]);
|
||
};
|
||
|
||
export default moduleFactory;
|