feat: add account-scoped in-app reminder center

This commit is contained in:
leefer
2026-07-23 00:06:33 +08:00
parent 5ae2791dd3
commit a2a5db8f6a
8 changed files with 608 additions and 0 deletions
+30
View File
@@ -62,6 +62,7 @@
<button id="nextDate" class="icon-button" type="button" title="后一个交易日" aria-label="后一个交易日"><i data-lucide="chevron-right"></i></button>
</div>
<button id="globalSearchButton" class="icon-button global-search-button" type="button" title="全局搜索(Ctrl+K" aria-label="全局搜索"><i data-lucide="search"></i></button>
<button id="alertButton" class="icon-button alert-button" type="button" title="提醒中心" aria-label="提醒中心"><i data-lucide="bell"></i><span id="alertBadge" class="alert-badge" hidden>0</span></button>
<button id="headerMenuButton" class="icon-button header-menu-button" type="button" title="打开命令菜单" aria-label="打开命令菜单" aria-expanded="false" aria-controls="headerCommandGroup"><i data-lucide="ellipsis"></i></button>
<div id="headerCommandGroup" class="header-command-group">
<button id="refreshButton" class="button command-button" type="button"><i data-lucide="refresh-cw"></i><span>刷新</span></button>
@@ -1022,6 +1023,7 @@
</div>
<div class="dialog-header-actions">
<button id="stockHeavenButton" class="button stock-heaven-button" type="button"><i data-lucide="sparkles"></i><span>观势</span></button>
<button id="stockReminderButton" class="button" type="button"><i data-lucide="bell-plus"></i><span>设提醒</span></button>
<button id="watchStockButton" class="button" type="button">加入自选</button>
<button id="closeStockDialog" class="icon-button" type="button" aria-label="关闭" title="关闭"><i data-lucide="x"></i></button>
</div>
@@ -1078,6 +1080,34 @@
</section>
</dialog>
<dialog id="alertsDialog" class="settings-dialog alerts-dialog" aria-labelledby="alertsDialogTitle">
<div class="dialog-header">
<div><span class="dialog-eyebrow">当前账号</span><h2 id="alertsDialogTitle">提醒中心</h2></div>
<button id="closeAlertsDialog" class="icon-button" type="button" aria-label="关闭" title="关闭"><i data-lucide="x"></i></button>
</div>
<div class="alerts-toolbar">
<div class="segmented" role="group" aria-label="提醒筛选">
<button class="segment active" type="button" data-alert-filter="all">全部</button>
<button class="segment" type="button" data-alert-filter="unread">未读</button>
</div>
<button id="markAllAlertsRead" class="button" type="button">全部已读</button>
</div>
<form id="alertForm" class="settings-section alert-form">
<div class="settings-section-heading"><h3>新建提醒</h3><span>仅站内</span></div>
<div class="alert-form-grid">
<label class="form-field"><span>标题</span><input id="alertTitle" maxlength="80" required placeholder="例如:复核开盘承接"></label>
<label class="form-field"><span>提醒日期</span><input id="alertDate" type="date" required></label>
<label class="form-field"><span>股票代码(可选)</span><input id="alertCode" maxlength="12" inputmode="numeric" placeholder="002141"></label>
</div>
<label class="form-field"><span>提醒内容(可选)</span><textarea id="alertContent" maxlength="500" placeholder="记录触发条件和应对动作"></textarea></label>
<div class="dialog-actions"><button class="button primary" type="submit">保存提醒</button></div>
</form>
<section class="settings-section alert-list-section">
<div class="settings-section-heading"><h3>提醒记录</h3><span id="alertListCount">0 条</span></div>
<div id="alertList" class="alert-list"></div>
</section>
</dialog>
<dialog id="settingsDialog" class="settings-dialog">
<div class="dialog-header">
<div>