diff --git a/src/FetchRequests.tsx b/src/FetchRequests.tsx
index 6287f1d..9a21e6a 100644
--- a/src/FetchRequests.tsx
+++ b/src/FetchRequests.tsx
@@ -28,6 +28,7 @@ import {
import DeleteIcon from "@mui/icons-material/Delete";
import CloudUploadIcon from "@mui/icons-material/CloudUpload";
import RefreshIcon from "@mui/icons-material/Refresh";
+import ContentCopyIcon from "@mui/icons-material/ContentCopy";
import {
useFetchRequestsList,
useCreateFetchRequest,
@@ -256,7 +257,7 @@ export default function FetchRequests() {
- ID
+ Fingerprint
Source
Account
Status
@@ -268,7 +269,19 @@ export default function FetchRequests() {
{requests.map((req: FetchRequest) => (
- {req.id.slice(0, 8)}...
+
+ {req.fingerprint}
+ {
+ navigator.clipboard.writeText(req.fingerprint);
+ setSnackbar({ message: "Copied!", severity: "success" });
+ }}
+ sx={{ opacity: 0.5, '&:hover': { opacity: 1 } }}
+ >
+
+
+
{"path" in req.source ? "File" : "Email"}
diff --git a/src/ReportSnapshots.tsx b/src/ReportSnapshots.tsx
index e70bb2f..bd47712 100644
--- a/src/ReportSnapshots.tsx
+++ b/src/ReportSnapshots.tsx
@@ -28,6 +28,7 @@ import {
import DeleteIcon from "@mui/icons-material/Delete";
import AddCircleIcon from "@mui/icons-material/AddCircle";
import RefreshIcon from "@mui/icons-material/Refresh";
+import ContentCopyIcon from "@mui/icons-material/ContentCopy";
import {
useReportSnapshotsList,
useCreateSnapshot,
@@ -41,7 +42,6 @@ function formatDate(iso: string) {
}
export default function ReportSnapshots() {
- const [accounts, setAccounts] = React.useState("");
const [ignoreSelf, setIgnoreSelf] = React.useState(false);
const [startDate, setStartDate] = React.useState("");
const [endDate, setEndDate] = React.useState("");
@@ -60,7 +60,6 @@ export default function ReportSnapshots() {
const handleCreate = async () => {
try {
const result = await createMutation.mutateAsync({
- accounts: accounts.trim() ? accounts.split(",").map((s) => s.trim()).filter(Boolean) : null,
ignore_self: ignoreSelf || null,
start_date: startDate ? new Date(startDate).toISOString() : null,
end_date: endDate ? new Date(endDate).toISOString() : null,
@@ -81,7 +80,6 @@ export default function ReportSnapshots() {
};
const resetForm = () => {
- setAccounts("");
setIgnoreSelf(false);
setStartDate("");
setEndDate("");
@@ -112,14 +110,6 @@ export default function ReportSnapshots() {
- setAccounts(e.target.value)}
- size="small"
- helperText="Comma-separated account IDs (leave empty for all)"
- />
-
setIgnoreSelf(e.target.checked)} />}
label="Ignore self-transfers"
@@ -215,7 +205,19 @@ export default function ReportSnapshots() {
{snapshots.map((snap: ReportSnapshot) => (
- {snap.snapshot_id.slice(0, 12)}...
+
+ {snap.snapshot_id}
+ {
+ navigator.clipboard.writeText(snap.snapshot_id);
+ setSnackbar({ message: "Copied!", severity: "success" });
+ }}
+ sx={{ opacity: 0.5, '&:hover': { opacity: 1 } }}
+ >
+
+
+
{formatDate(snap.created_at)}