chore(polish): integrate toasts, reports paging, loading motion; login centring floor for short windows; load-more uses notifyError; round records
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3e0c615fd8
commit
da3ed2f3ab
@@ -2083,10 +2083,10 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
|
||||
|
||||
/* Three rows so the legal footer sits at the bottom without pushing the card up
|
||||
(BUG-1122): the card is centred in the viewport, the footer takes the last row. */
|
||||
.auth-page { display: grid; grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr); justify-items: center; padding: var(--space-8) var(--space-8) 0; background: var(--color-canvas-soft); }
|
||||
.auth-page { display: grid; grid-template-rows: minmax(56px, 1fr) auto minmax(56px, 1fr); justify-items: center; padding: 0 var(--space-8); background: var(--color-canvas-soft); }
|
||||
.auth-page > .auth-shell { grid-row: 2; }
|
||||
.auth-page > .auth-legal-footer { grid-row: 3; align-self: end; }
|
||||
.auth-shell { width: min(1040px, 100%); min-height: min(680px, calc(100dvh - 64px)); display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: var(--radius-xl); background: var(--color-canvas); box-shadow: var(--shadow-elevated); }
|
||||
.auth-shell { width: min(1040px, 100%); min-height: min(680px, calc(100dvh - 128px)); display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: var(--radius-xl); background: var(--color-canvas); box-shadow: var(--shadow-elevated); }
|
||||
.auth-story { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-12); border-right: 1px solid var(--color-border); background: var(--color-canvas-muted); color: var(--color-ink); }
|
||||
.auth-story-brand, .auth-brand { display: flex; align-items: center; gap: var(--space-3); font-family: var(--font-display); font-size: var(--type-title-lg); }
|
||||
.auth-story-brand strong, .auth-brand strong { font-weight: 400; }
|
||||
|
||||
@@ -4,7 +4,7 @@ import { AppLink } from "@/components/app-link";
|
||||
import { FileText, RefreshCw } from "lucide-react";
|
||||
import { InlineSpinner } from "@/components/inline-spinner";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import { notifyError } from "@/lib/notify";
|
||||
|
||||
import { SecondaryPageShell } from "@/components/secondary-page-shell";
|
||||
import { readCurrentSubjectScope, useCurrentSubjectScope, useCurrentSubjectReady } from "@/lib/current-subject";
|
||||
@@ -172,10 +172,10 @@ export function PersonalReportCenter() {
|
||||
const fresh = page.reports.filter(report => !deletedIds.current.has(report.id));
|
||||
setState(current => ({ ...current, reports: appendReportPage(current.reports, fresh), nextCursor: page.nextCursor, extended: true }));
|
||||
} else {
|
||||
toast.error("更早的报告没读出来,再试一次。");
|
||||
notifyError("更早的报告没读出来,再试一次。", { id: "reports-load-more" });
|
||||
}
|
||||
} catch {
|
||||
if (!cancelled.current) toast.error("更早的报告没读出来,再试一次。");
|
||||
if (!cancelled.current) notifyError("更早的报告没读出来,再试一次。", { id: "reports-load-more" });
|
||||
} finally {
|
||||
if (!cancelled.current) setLoadingMore(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user