Add 'Copy ID' developer actions
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { ToolsIcon, TrashIcon, UserIcon } from "outline-icons";
|
import copy from "copy-to-clipboard";
|
||||||
|
import { CopyIcon, ToolsIcon, TrashIcon, UserIcon } from "outline-icons";
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { createAction } from "~/actions";
|
import { createAction } from "~/actions";
|
||||||
@@ -8,6 +9,71 @@ import { client } from "~/utils/ApiClient";
|
|||||||
import Logger from "~/utils/Logger";
|
import Logger from "~/utils/Logger";
|
||||||
import { deleteAllDatabases } from "~/utils/developer";
|
import { deleteAllDatabases } from "~/utils/developer";
|
||||||
|
|
||||||
|
export const copyId = createAction({
|
||||||
|
name: ({ t }) => t("Copy ID"),
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
keywords: "uuid",
|
||||||
|
section: DeveloperSection,
|
||||||
|
children: ({
|
||||||
|
currentTeamId,
|
||||||
|
currentUserId,
|
||||||
|
activeCollectionId,
|
||||||
|
activeDocumentId,
|
||||||
|
}) => {
|
||||||
|
function copyAndToast(text: string | null | undefined) {
|
||||||
|
if (text) {
|
||||||
|
copy(text);
|
||||||
|
toast.success("Copied to clipboard");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
createAction({
|
||||||
|
name: "Copy User ID",
|
||||||
|
section: DeveloperSection,
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
visible: () => !!currentUserId,
|
||||||
|
perform: () => copyAndToast(currentUserId),
|
||||||
|
}),
|
||||||
|
createAction({
|
||||||
|
name: "Copy Team ID",
|
||||||
|
section: DeveloperSection,
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
visible: () => !!currentTeamId,
|
||||||
|
perform: () => copyAndToast(currentTeamId),
|
||||||
|
}),
|
||||||
|
createAction({
|
||||||
|
name: "Copy Collection ID",
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
section: DeveloperSection,
|
||||||
|
visible: () => !!activeCollectionId,
|
||||||
|
perform: () => copyAndToast(activeCollectionId),
|
||||||
|
}),
|
||||||
|
createAction({
|
||||||
|
name: "Copy Document ID",
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
section: DeveloperSection,
|
||||||
|
visible: () => !!activeDocumentId,
|
||||||
|
perform: () => copyAndToast(activeDocumentId),
|
||||||
|
}),
|
||||||
|
createAction({
|
||||||
|
name: "Copy Team ID",
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
section: DeveloperSection,
|
||||||
|
visible: () => !!currentTeamId,
|
||||||
|
perform: () => copyAndToast(currentTeamId),
|
||||||
|
}),
|
||||||
|
createAction({
|
||||||
|
name: "Copy Release ID",
|
||||||
|
icon: <CopyIcon />,
|
||||||
|
section: DeveloperSection,
|
||||||
|
visible: () => !!env.RELEASE,
|
||||||
|
perform: () => copyAndToast(env.RELEASE),
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
export const clearIndexedDB = createAction({
|
export const clearIndexedDB = createAction({
|
||||||
name: ({ t }) => t("Delete IndexedDB cache"),
|
name: ({ t }) => t("Delete IndexedDB cache"),
|
||||||
icon: <TrashIcon />,
|
icon: <TrashIcon />,
|
||||||
@@ -67,7 +133,13 @@ export const developer = createAction({
|
|||||||
icon: <ToolsIcon />,
|
icon: <ToolsIcon />,
|
||||||
iconInContextMenu: false,
|
iconInContextMenu: false,
|
||||||
section: DeveloperSection,
|
section: DeveloperSection,
|
||||||
children: [clearIndexedDB, toggleDebugLogging, createToast, createTestUsers],
|
children: [
|
||||||
|
copyId,
|
||||||
|
clearIndexedDB,
|
||||||
|
toggleDebugLogging,
|
||||||
|
createToast,
|
||||||
|
createTestUsers,
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
export const rootDeveloperActions = [developer];
|
export const rootDeveloperActions = [developer];
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
"Unstar": "Unstar",
|
"Unstar": "Unstar",
|
||||||
"Delete": "Delete",
|
"Delete": "Delete",
|
||||||
"Delete collection": "Delete collection",
|
"Delete collection": "Delete collection",
|
||||||
|
"Copy ID": "Copy ID",
|
||||||
"Delete IndexedDB cache": "Delete IndexedDB cache",
|
"Delete IndexedDB cache": "Delete IndexedDB cache",
|
||||||
"IndexedDB cache deleted": "IndexedDB cache deleted",
|
"IndexedDB cache deleted": "IndexedDB cache deleted",
|
||||||
"Toggle debug logging": "Toggle debug logging",
|
"Toggle debug logging": "Toggle debug logging",
|
||||||
|
|||||||
Reference in New Issue
Block a user