397 lines
21 KiB
HTML
397 lines
21 KiB
HTML
<!-- 新客有礼页 -->
|
||
<style>
|
||
.page-nc { max-width:960px; }
|
||
.nc-toolbar { display:flex; align-items:center; gap:12px; margin-bottom:16px; box-shadow:var(--g-shadow-sm); border-radius:10px; padding:10px 14px; background:#fff; }
|
||
.nc-toolbar select { height:34px; padding:0 10px; border:1px solid #e5e7eb; border-radius:8px; font-size:13px; outline:none; background:#fff; transition:var(--g-transition); }
|
||
.nc-toolbar select:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
|
||
.nc-banner { display:flex; align-items:center; gap:12px; padding:14px 18px; background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, #fff), color-mix(in srgb, var(--primary) 3%, #fff)); border:1px solid color-mix(in srgb, var(--primary) 15%, #fff); border-radius:10px; margin-bottom:16px; }
|
||
.nc-banner-icon { width:40px; height:40px; border-radius:10px; background:color-mix(in srgb, var(--primary) 12%, #fff); display:flex; align-items:center; justify-content:center; color:var(--primary); flex-shrink:0; }
|
||
.nc-banner-text { font-size:13px; color:var(--g-text-secondary); line-height:1.6; }
|
||
.nc-banner-text strong { color:var(--g-text); font-weight:600; }
|
||
.nc-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:16px; }
|
||
.nc-stat-card { background:#fff; border:1px solid var(--g-border); border-radius:10px; padding:18px 20px; transition:box-shadow var(--g-transition); }
|
||
.nc-stat-card:hover { box-shadow:var(--g-shadow-md); }
|
||
.nc-stat-label { font-size:12px; color:var(--g-text-muted); margin-bottom:8px; display:flex; align-items:center; gap:6px; }
|
||
.nc-stat-val { font-size:28px; font-weight:700; color:var(--g-text); display:flex; align-items:baseline; gap:8px; }
|
||
.nc-stat-unit { font-size:13px; font-weight:400; color:var(--g-text-muted); }
|
||
.nc-stat-trend { font-size:12px; font-weight:500; display:inline-flex; align-items:center; gap:2px; }
|
||
.nc-stat-trend.up { color:var(--g-success); }
|
||
.nc-stat-sub { font-size:11px; color:var(--g-text-muted); margin-top:4px; }
|
||
.nc-section-hd { font-size:15px; font-weight:600; color:var(--g-text); padding-left:10px; border-left:3px solid var(--primary); margin-bottom:16px; }
|
||
.nc-row { display:flex; align-items:flex-start; gap:16px; padding:14px 0; border-bottom:1px solid #f3f4f6; }
|
||
.nc-row:last-child { border-bottom:none; }
|
||
.nc-row-label { width:120px; flex-shrink:0; font-size:13px; font-weight:500; color:var(--g-text); line-height:22px; padding-top:5px; }
|
||
.nc-row-ctrl { flex:1; display:flex; flex-direction:column; gap:6px; }
|
||
.nc-row-ctrl-inline { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
|
||
.nc-row-hint { font-size:11px; color:var(--g-text-muted); }
|
||
.nc-coupon-list { display:flex; flex-direction:column; gap:10px; }
|
||
.nc-coupon-item { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff; border:1px solid var(--g-border); border-radius:8px; border-left:3px solid var(--primary); transition:box-shadow var(--g-transition); }
|
||
.nc-coupon-item:nth-child(2) { border-left-color:var(--g-success); }
|
||
.nc-coupon-item:nth-child(3) { border-left-color:var(--g-warning); }
|
||
.nc-coupon-item:hover { box-shadow:var(--g-shadow); }
|
||
.nc-coupon-info { flex:1; }
|
||
.nc-coupon-name { font-size:14px; font-weight:600; color:var(--g-text); }
|
||
.nc-coupon-desc { font-size:11px; color:var(--g-text-muted); margin-top:2px; }
|
||
.nc-coupon-validity { font-size:12px; color:var(--g-text-secondary); display:flex; align-items:center; gap:4px; }
|
||
.nc-add-coupon-btn { display:flex; align-items:center; justify-content:center; gap:6px; padding:12px; border:2px dashed #d9d9d9; border-radius:8px; color:var(--g-text-muted); font-size:13px; cursor:pointer; transition:all var(--g-transition); background:none; width:100%; }
|
||
.nc-add-coupon-btn:hover { border-color:var(--primary); color:var(--primary); background:color-mix(in srgb, var(--primary) 3%, #fff); }
|
||
.nc-direct-panel { display:flex; flex-direction:column; gap:12px; }
|
||
.nc-share-url { display:flex; align-items:center; gap:8px; }
|
||
.nc-share-url input { flex:1; }
|
||
.nc-invite-table { margin-top:8px; }
|
||
.nc-save-bar { margin-top:20px; display:flex; justify-content:flex-end; gap:8px; }
|
||
.nc-num-input { width:100px; height:34px; padding:0 10px; border:1px solid #e5e7eb; border-radius:8px; font-size:13px; outline:none; transition:var(--g-transition); }
|
||
.nc-num-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
|
||
.nc-suffix { font-size:13px; color:var(--g-text-secondary); white-space:nowrap; }
|
||
</style>
|
||
|
||
<div class="page-nc">
|
||
<!-- 顶部工具栏 -->
|
||
<div class="nc-toolbar">
|
||
<select style="width:200px;">
|
||
<option>老三家外卖(朝阳店)</option>
|
||
<option>老三家外卖(海淀店)</option>
|
||
<option>老三家外卖(望京店)</option>
|
||
<option>老三家外卖(通州店)</option>
|
||
<option>老三家外卖(丰台店)</option>
|
||
</select>
|
||
<div style="flex:1;"></div>
|
||
</div>
|
||
|
||
<!-- 说明横幅 -->
|
||
<div class="nc-banner">
|
||
<div class="nc-banner-icon"><i data-lucide="gift" style="width:20px;height:20px;"></i></div>
|
||
<div class="nc-banner-text"><strong>新客有礼</strong> — 新用户首次下单自动发放优惠礼包,提升新客转化率。开启后,每位新注册用户将自动收到您配置的欢迎礼包。</div>
|
||
</div>
|
||
|
||
<!-- 统计卡片 -->
|
||
<div class="nc-stats">
|
||
<div class="nc-stat-card">
|
||
<div class="nc-stat-label"><i data-lucide="user-plus" style="width:14px;height:14px;color:var(--primary);"></i>本月新客</div>
|
||
<div class="nc-stat-val">86<span class="nc-stat-unit">人</span><span class="nc-stat-trend up"><i data-lucide="trending-up" style="width:14px;height:14px;"></i>+23%</span></div>
|
||
<div class="nc-stat-sub">较上月增长 16 人</div>
|
||
</div>
|
||
<div class="nc-stat-card">
|
||
<div class="nc-stat-label"><i data-lucide="ticket" style="width:14px;height:14px;color:var(--g-warning);"></i>礼包领取率</div>
|
||
<div class="nc-stat-val">92.4<span class="nc-stat-unit">%</span></div>
|
||
<div class="nc-stat-sub">86 人中 80 人已领取</div>
|
||
</div>
|
||
<div class="nc-stat-card">
|
||
<div class="nc-stat-label"><i data-lucide="shopping-bag" style="width:14px;height:14px;color:var(--g-success);"></i>新客转化率</div>
|
||
<div class="nc-stat-val">68.5<span class="nc-stat-unit">%</span></div>
|
||
<div class="nc-stat-sub">首单完成率,59 人已下单</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 新客礼包配置 -->
|
||
<div class="g-card" style="padding:0; margin-bottom:16px;">
|
||
<div style="padding:18px 18px 0;">
|
||
<div class="nc-section-hd">新客礼包配置</div>
|
||
</div>
|
||
<div style="padding:0 18px 18px;">
|
||
<!-- 启用状态 -->
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">启用状态</div>
|
||
<div class="nc-row-ctrl">
|
||
<div class="nc-row-ctrl-inline">
|
||
<div class="g-toggle on" onclick="toggleSwitch(this)"></div>
|
||
<span class="g-toggle-label">开启后新用户注册即发放礼包</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 礼包类型 -->
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">礼包类型</div>
|
||
<div class="nc-row-ctrl">
|
||
<div class="nc-row-ctrl-inline">
|
||
<span class="g-pill checked" onclick="selectNcType('coupon',this)">优惠券包</span>
|
||
<span class="g-pill" onclick="selectNcType('direct',this)">首单直减</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 优惠券包内容 -->
|
||
<div id="ncTypeCoupon">
|
||
<div class="nc-row" style="flex-direction:column; gap:12px;">
|
||
<div class="nc-row-label" style="width:auto;">券包内容</div>
|
||
<div class="nc-coupon-list" id="ncCouponList">
|
||
<div class="nc-coupon-item" data-idx="0">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">满30减5</div>
|
||
<div class="nc-coupon-desc">订单满 30 元可用</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
<div class="nc-coupon-item" data-idx="1">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">满50享8折</div>
|
||
<div class="nc-coupon-desc">订单满 50 元可用</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
<div class="nc-coupon-item" data-idx="2">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">免配送费</div>
|
||
<div class="nc-coupon-desc">无门槛,减免配送费</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
</div>
|
||
<button class="nc-add-coupon-btn" onclick="openNcDrawer()"><i data-lucide="plus" style="width:14px;height:14px;"></i>添加优惠券</button>
|
||
</div>
|
||
</div>
|
||
<!-- 首单直减 -->
|
||
<div id="ncTypeDirect" style="display:none;">
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">直减金额</div>
|
||
<div class="nc-row-ctrl">
|
||
<div class="nc-row-ctrl-inline">
|
||
<span class="nc-suffix">¥</span>
|
||
<input type="number" class="nc-num-input" placeholder="如:10" value="10" />
|
||
</div>
|
||
<div class="nc-row-hint">新用户首单自动减免的金额</div>
|
||
</div>
|
||
</div>
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">使用门槛</div>
|
||
<div class="nc-row-ctrl">
|
||
<div class="nc-row-ctrl-inline">
|
||
<span class="nc-suffix">订单满</span>
|
||
<input type="number" class="nc-num-input" placeholder="如:30" value="30" />
|
||
<span class="nc-suffix">元可用</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 老带新分享 -->
|
||
<div class="g-card" style="padding:0; margin-bottom:16px;">
|
||
<div style="padding:18px 18px 0;">
|
||
<div class="nc-section-hd">老带新分享</div>
|
||
</div>
|
||
<div style="padding:0 18px 18px;">
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">启用状态</div>
|
||
<div class="nc-row-ctrl">
|
||
<div class="nc-row-ctrl-inline">
|
||
<div class="g-toggle on" onclick="toggleSwitch(this)"></div>
|
||
<span class="g-toggle-label">开启后顾客可在小程序内分享邀请好友</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="nc-row" style="flex-direction:column; gap:12px;">
|
||
<div class="nc-row-label" style="width:auto;">邀请人奖励 <span style="font-weight:400;color:var(--g-text-muted);font-size:12px;">成功邀请新用户下单后发放</span></div>
|
||
<div class="nc-coupon-list" id="ncInviterList">
|
||
<div class="nc-coupon-item">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">满30减5</div>
|
||
<div class="nc-coupon-desc">订单满 30 元可用</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
</div>
|
||
<button class="nc-add-coupon-btn" onclick="openNcDrawer('inviter')"><i data-lucide="plus" style="width:14px;height:14px;"></i>添加奖励券</button>
|
||
</div>
|
||
<div class="nc-row" style="flex-direction:column; gap:12px;">
|
||
<div class="nc-row-label" style="width:auto;">被邀请人奖励 <span style="font-weight:400;color:var(--g-text-muted);font-size:12px;">新用户通过邀请注册后额外获得,叠加新客礼包</span></div>
|
||
<div class="nc-coupon-list" id="ncInviteeList">
|
||
<div class="nc-coupon-item">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">满20减3</div>
|
||
<div class="nc-coupon-desc">订单满 20 元可用</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
<div class="nc-coupon-item">
|
||
<div class="nc-coupon-info">
|
||
<div class="nc-coupon-name">免配送费</div>
|
||
<div class="nc-coupon-desc">无门槛,减免配送费</div>
|
||
</div>
|
||
<div class="nc-coupon-validity"><i data-lucide="clock" style="width:12px;height:12px;"></i>领取后7天</div>
|
||
<button class="g-btn g-btn-sm g-btn-danger" onclick="removeNcCoupon(this)"><i data-lucide="trash-2" style="width:12px;height:12px;"></i></button>
|
||
</div>
|
||
</div>
|
||
<button class="nc-add-coupon-btn" onclick="openNcDrawer('invitee')"><i data-lucide="plus" style="width:14px;height:14px;"></i>添加奖励券</button>
|
||
</div>
|
||
<div class="nc-row">
|
||
<div class="nc-row-label">分享渠道</div>
|
||
<div class="nc-row-ctrl">
|
||
<div style="display:flex;gap:8px;">
|
||
<span class="g-pill checked" onclick="this.classList.toggle('checked')">微信好友</span>
|
||
<span class="g-pill checked" onclick="this.classList.toggle('checked')">朋友圈</span>
|
||
<span class="g-pill" onclick="this.classList.toggle('checked')">短信</span>
|
||
</div>
|
||
<div class="nc-row-hint">顾客在小程序内可通过以上渠道分享邀请</div>
|
||
</div>
|
||
</div>
|
||
<div class="nc-row" style="flex-direction:column; gap:12px;">
|
||
<div class="nc-row-label" style="width:auto;">邀请记录(近期)</div>
|
||
<div class="nc-invite-table" style="width:100%;">
|
||
<table class="g-table">
|
||
<thead>
|
||
<tr>
|
||
<th>邀请人</th>
|
||
<th>被邀请人</th>
|
||
<th>邀请时间</th>
|
||
<th>状态</th>
|
||
<th>奖励发放</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>张**</td>
|
||
<td>李**</td>
|
||
<td>2025-02-10 14:32</td>
|
||
<td><span class="g-tag g-tag-green">已下单</span></td>
|
||
<td><span class="g-tag g-tag-green">已发放</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td>王**</td>
|
||
<td>赵**</td>
|
||
<td>2025-02-09 09:15</td>
|
||
<td><span class="g-tag g-tag-orange">待下单</span></td>
|
||
<td><span class="g-tag g-tag-gray">待触发</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td>张**</td>
|
||
<td>孙**</td>
|
||
<td>2025-02-08 18:47</td>
|
||
<td><span class="g-tag g-tag-green">已下单</span></td>
|
||
<td><span class="g-tag g-tag-green">已发放</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 底部保存 -->
|
||
<div class="g-card" style="padding:14px 18px;">
|
||
<div style="display:flex; justify-content:flex-end; gap:8px;">
|
||
<button class="g-btn"><i data-lucide="rotate-ccw" style="width:14px;height:14px;"></i>重置</button>
|
||
<button class="g-btn g-btn-primary"><i data-lucide="save" style="width:14px;height:14px;"></i>保存设置</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 添加优惠券抽屉 -->
|
||
<div class="g-drawer-mask" id="ncDrawerMask" onclick="closeNcDrawer()"></div>
|
||
<div class="g-drawer" id="ncDrawer" style="width:480px;">
|
||
<div class="g-drawer-hd">
|
||
<span class="g-drawer-title">添加优惠券</span>
|
||
<button class="g-drawer-close" onclick="closeNcDrawer()"><i data-lucide="x" style="width:18px;height:18px;"></i></button>
|
||
</div>
|
||
<div class="g-drawer-bd">
|
||
<div class="g-form-group">
|
||
<label class="g-form-label required">券类型</label>
|
||
<div style="display:flex; gap:8px;">
|
||
<span class="g-pill checked" onclick="selectNcCouponType('reduce',this)">满减券</span>
|
||
<span class="g-pill" onclick="selectNcCouponType('discount',this)">折扣券</span>
|
||
<span class="g-pill" onclick="selectNcCouponType('shipping',this)">免配送费</span>
|
||
</div>
|
||
</div>
|
||
<!-- 满减券面额 -->
|
||
<div id="ncCouponReduce">
|
||
<div class="g-form-group">
|
||
<label class="g-form-label required">减免金额</label>
|
||
<div style="display:flex; align-items:center; gap:8px;">
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">¥</span>
|
||
<input class="g-input" type="number" placeholder="如:5" style="width:120px;" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 折扣券面额 -->
|
||
<div id="ncCouponDiscount" style="display:none;">
|
||
<div class="g-form-group">
|
||
<label class="g-form-label required">折扣</label>
|
||
<div style="display:flex; align-items:center; gap:8px;">
|
||
<input class="g-input" type="number" placeholder="如:8(即8折)" style="width:160px;" />
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">折</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 免配送费无额外字段 -->
|
||
<div id="ncCouponShipping" style="display:none;">
|
||
<div class="g-form-group">
|
||
<div style="padding:16px; background:#f8f9fb; border-radius:8px; font-size:13px; color:var(--g-text-secondary); text-align:center;">
|
||
<i data-lucide="truck" style="width:20px;height:20px;color:var(--g-text-muted);display:block;margin:0 auto 6px;"></i>
|
||
免配送费券无需设置面额
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="g-form-group">
|
||
<label class="g-form-label">使用门槛</label>
|
||
<div style="display:flex; align-items:center; gap:8px;">
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">订单满</span>
|
||
<input class="g-input" type="number" placeholder="如:30" style="width:120px;" />
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">元可用</span>
|
||
</div>
|
||
<div class="g-hint">留空或填 0 表示无门槛</div>
|
||
</div>
|
||
<div class="g-form-group">
|
||
<label class="g-form-label required">有效期</label>
|
||
<div style="display:flex; align-items:center; gap:8px;">
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">领取后</span>
|
||
<input class="g-input" type="number" placeholder="如:7" style="width:100px;" value="7" />
|
||
<span style="font-size:13px; color:var(--g-text-secondary);">天</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="g-drawer-ft">
|
||
<button class="g-btn" onclick="closeNcDrawer()">取消</button>
|
||
<button class="g-btn g-btn-primary" onclick="closeNcDrawer()">添加</button>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function toggleSwitch(el) {
|
||
el.classList.toggle('on');
|
||
}
|
||
|
||
function selectNcType(type, el) {
|
||
el.parentElement.querySelectorAll('.g-pill').forEach(function(p) { p.classList.remove('checked'); });
|
||
el.classList.add('checked');
|
||
document.getElementById('ncTypeCoupon').style.display = type === 'coupon' ? '' : 'none';
|
||
document.getElementById('ncTypeDirect').style.display = type === 'direct' ? '' : 'none';
|
||
}
|
||
|
||
function openNcDrawer() {
|
||
document.getElementById('ncDrawerMask').classList.add('open');
|
||
document.getElementById('ncDrawer').classList.add('open');
|
||
if (typeof lucide !== 'undefined') lucide.createIcons();
|
||
}
|
||
|
||
function closeNcDrawer() {
|
||
document.getElementById('ncDrawerMask').classList.remove('open');
|
||
document.getElementById('ncDrawer').classList.remove('open');
|
||
}
|
||
|
||
function removeNcCoupon(btn) {
|
||
var item = btn.closest('.nc-coupon-item');
|
||
if (item) { item.style.transition = 'opacity 200ms, transform 200ms'; item.style.opacity = '0'; item.style.transform = 'translateX(20px)'; setTimeout(function() { item.remove(); }, 200); }
|
||
}
|
||
|
||
function selectNcCouponType(type, el) {
|
||
el.parentElement.querySelectorAll('.g-pill').forEach(function(p) { p.classList.remove('checked'); });
|
||
el.classList.add('checked');
|
||
document.getElementById('ncCouponReduce').style.display = type === 'reduce' ? '' : 'none';
|
||
document.getElementById('ncCouponDiscount').style.display = type === 'discount' ? '' : 'none';
|
||
document.getElementById('ncCouponShipping').style.display = type === 'shipping' ? '' : 'none';
|
||
}
|
||
|
||
function copyNcLink() {
|
||
var input = document.querySelector('.nc-share-url input');
|
||
input.select();
|
||
document.execCommand('copy');
|
||
}
|
||
|
||
if (typeof lucide !== 'undefined') { lucide.createIcons(); }
|
||
</script>
|