[新增] 集成 Sonner 通知库,添加 Toaster 组件并在 InlineMessage 中使用

This commit is contained in:
ryan
2026-06-01 10:41:54 +08:00
parent f034b73a47
commit 65f899d334
15 changed files with 1775 additions and 4792 deletions
@@ -208,7 +208,11 @@ export function ApplyLogsPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<AppCard
@@ -547,7 +547,11 @@ export function ConfigVersionsPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
{publishPreview ? (
@@ -90,7 +90,11 @@ export function DnsAccountsPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<AppCard title="DNS 账号列表">
@@ -702,7 +702,11 @@ export function NodeDetailPage({ nodeId }: { nodeId: string }) {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<div className="flex flex-wrap gap-3">
@@ -207,7 +207,11 @@ export function NodesPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<AppCard
@@ -83,7 +83,11 @@ export function OriginsPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<AppCard
@@ -612,7 +612,11 @@ export function PerformancePage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<div className="flex flex-wrap gap-3">
@@ -220,7 +220,11 @@ export function ProxyRoutesPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<div className="grid gap-4 xl:grid-cols-4">
@@ -323,7 +323,11 @@ export function WAFIPGroupsPage() {
/>
{feedback ? (
<InlineMessage tone={feedback.tone} message={feedback.message} />
<InlineMessage
tone={feedback.tone}
message={feedback.message}
onClear={() => setFeedback(null)}
/>
) : null}
<div className="grid gap-5 xl:grid-cols-[360px_minmax(0,1fr)]">