refactor: split oversized modules and start server src/stores layout

Consolidate format helpers under lib/format, split React Query hooks by domain, extract AuthPicker/ConfigRefHint and HTTP trigger routing, demote file-private exports, and move KV/secrets/variables/profiles/http-auths stores under src/stores with root re-exports.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-22 06:16:38 +07:00
co-authored by Cursor
parent 368a2ca365
commit db884808f2
56 changed files with 2690 additions and 2578 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ import {
import { AuthEditorModal } from "../components/AuthEditorModal.jsx";
import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { useRouteDrivenModal } from "../hooks/useRouteDrivenModal.js";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
function CredDisplay({ field, fieldKey, authId, cache, onRevealed }) {
const [open, setOpen] = useState(false);
+1 -1
View File
@@ -4,7 +4,7 @@ import { LuArrowLeft, LuFilter } from "react-icons/lu";
import { useRun } from "../api/hooks.js";
import { JsonViewBlock } from "../components/JsonViewBlock.jsx";
import { LogViewer } from "../components/LogViewer.jsx";
import { formatTime, StatusBadge } from "../lib/format.jsx";
import { formatTime, StatusBadge } from "../lib/format";
function stepLabel(s) {
if (s.script === "set") return "set";
+1 -1
View File
@@ -1,6 +1,6 @@
import { Link, useSearchParams } from "react-router-dom";
import { useOwners, useRuns } from "../api/hooks.js";
import { formatTime, StatusBadge } from "../lib/format.jsx";
import { formatTime, StatusBadge } from "../lib/format";
const PAGE_SIZES = [25, 50, 100];
const DEFAULT_LIMIT = 50;
+1 -1
View File
@@ -1,6 +1,6 @@
import { Link } from "react-router-dom";
import { useConsecutiveFailures } from "../api/hooks.js";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
export function FailuresPage() {
const { data, isLoading, error } = useConsecutiveFailures();
+1 -1
View File
@@ -6,7 +6,7 @@ import {
LuTriangleAlert,
} from "react-icons/lu";
import { useDashboard } from "../api/hooks.js";
import { formatTime, StatusBadge } from "../lib/format.jsx";
import { formatTime, StatusBadge } from "../lib/format";
export function HomePage() {
const { data, isLoading, error } = useDashboard();
+1 -1
View File
@@ -2,7 +2,7 @@ import { useState } from "react";
import { useSearchParams } from "react-router-dom";
import { useKv, useKvNamespaces } from "../api/hooks.js";
import { FormSelect } from "../components/FormControls.jsx";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
const PAGE_SIZE = 50;
+1 -1
View File
@@ -8,7 +8,7 @@ import { Modal } from "../components/Modal.jsx";
import { ProfileEditorModal } from "../components/ProfileEditorModal.jsx";
import { ScriptIcon } from "../components/ScriptIcon.jsx";
import { useRouteDrivenModal } from "../hooks/useRouteDrivenModal.js";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
function previewConfig(config) {
if (!config || typeof config !== "object") return "";
+1 -1
View File
@@ -7,7 +7,7 @@ import {
useUpsertHttpPage,
} from "../api/hooks.js";
import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
const emptyForm = {
name: "",
+1 -1
View File
@@ -12,7 +12,7 @@ import { CodeEditor } from "../components/CodeEditor.jsx";
import { LogViewer } from "../components/LogViewer.jsx";
import { ScriptIcon } from "../components/ScriptIcon.jsx";
import { ScriptMetaPanel } from "../components/ScriptMetaPanel.jsx";
import { StatusBadge } from "../lib/format.jsx";
import { StatusBadge } from "../lib/format";
import {
DEFAULT_INPUT_CONTEXT,
NEW_SCRIPT_TEMPLATE,
+1 -1
View File
@@ -7,7 +7,7 @@ import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { FormSelect } from "../components/FormControls.jsx";
import { SecretEditorModal } from "../components/SecretEditorModal.jsx";
import { useRouteDrivenModal } from "../hooks/useRouteDrivenModal.js";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
export function SecretsPage() {
const navigate = useNavigate();
+1 -1
View File
@@ -7,7 +7,7 @@ import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { FormSelect } from "../components/FormControls.jsx";
import { VariableEditorModal } from "../components/VariableEditorModal.jsx";
import { useRouteDrivenModal } from "../hooks/useRouteDrivenModal.js";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
function displayValue(value) {
if (typeof value === "string") return value === "" ? '""' : value;
+1 -1
View File
@@ -8,7 +8,7 @@ import {
useWorkflowTrash,
} from "../api/hooks.js";
import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { formatTime } from "../lib/format.jsx";
import { formatTime } from "../lib/format";
import { useNotifications } from "../notifications.jsx";
function formatAge(ms) {
+1 -1
View File
@@ -12,7 +12,7 @@ import {
import { DuplicateWorkflowDialog } from "../components/DuplicateWorkflowDialog.jsx";
import { ConfirmDialog } from "../components/ConfirmDialog.jsx";
import { WorkflowFileIcon } from "../components/WorkflowFileIcon.jsx";
import { formatTime, WorkflowStatusBadge } from "../lib/format.jsx";
import { formatTime, WorkflowStatusBadge } from "../lib/format";
export function WorkflowsPage() {
const navigate = useNavigate();