@parhelia/core 0.1.12793 → 0.1.12800
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.js +11 -5
- package/dist/config/config.js.map +1 -1
- package/dist/config/types/workspace.d.ts +13 -2
- package/dist/editor/Editor.js +3 -1
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +20 -17
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/MainLayout.js +1 -1
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/ai/AgentPanesGrid.js +8 -7
- package/dist/editor/ai/AgentPanesGrid.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.d.ts +11 -8
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js +13 -9
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js.map +1 -1
- package/dist/editor/client/EditorShell.js +3 -2
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/field-types/InternalLinkFieldEditor.js +3 -2
- package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +14 -4
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/notifications/WatchButton.d.ts +1 -2
- package/dist/editor/notifications/WatchButton.js +24 -40
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/notifications/useNotificationSubscriptions.d.ts +8 -0
- package/dist/editor/notifications/useNotificationSubscriptions.js +25 -1
- package/dist/editor/notifications/useNotificationSubscriptions.js.map +1 -1
- package/dist/editor/notifications/watchEventOptions.d.ts +13 -0
- package/dist/editor/notifications/watchEventOptions.js +108 -0
- package/dist/editor/notifications/watchEventOptions.js.map +1 -0
- package/dist/editor/services/notificationService.d.ts +3 -0
- package/dist/editor/services/notificationService.js.map +1 -1
- package/dist/editor/services/reviewsService.d.ts +3 -0
- package/dist/editor/services/reviewsService.js +4 -0
- package/dist/editor/services/reviewsService.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +3 -3
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.d.ts +2 -0
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +137 -0
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -0
- package/dist/editor/settings/panels/ProjectTemplateSelector.js +7 -8
- package/dist/editor/settings/panels/ProjectTemplateSelector.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +5 -9
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/index.d.ts +1 -0
- package/dist/editor/settings/panels/index.js +1 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +1 -0
- package/dist/editor/ui/ItemSearch.js +3 -3
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/licensing/types.d.ts +1 -1
- package/dist/licensing/types.js +3 -1
- package/dist/licensing/types.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +359 -54
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/OpenPage.js +9 -16
- package/dist/splash-screen/OpenPage.js.map +1 -1
- package/dist/splash-screen/RecentPages.d.ts +3 -1
- package/dist/splash-screen/RecentPages.js +12 -16
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js +20 -23
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
- package/dist/task-board/services/taskService.d.ts +7 -0
- package/dist/task-board/services/taskService.js +4 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/tour/Tour.js +3 -3
- package/dist/tour/Tour.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsView.js","sourceRoot":"","sources":["../../../src/editor/settings/SettingsView.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SettingsView.js","sourceRoot":"","sources":["../../../src/editor/settings/SettingsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { Bell, BellOff, FileText, FolderTree, Globe, Loader2, Sparkles, Trash2, Wand2, } from "lucide-react";
|
|
4
|
+
import { Badge } from "../../../components/ui/badge";
|
|
5
|
+
import { Button } from "../../../components/ui/button";
|
|
6
|
+
import { Card } from "../../../components/ui/card";
|
|
7
|
+
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../../components/ui/tooltip";
|
|
8
|
+
import { cn } from "../../../lib/utils";
|
|
9
|
+
import { useNotificationSubscriptions } from "../../notifications/useNotificationSubscriptions";
|
|
10
|
+
import { getEventTypeLabel } from "../../notifications/watchEventOptions";
|
|
11
|
+
import { SecretAgentIcon } from "../../ui/Icons";
|
|
12
|
+
const GROUPS = [
|
|
13
|
+
{
|
|
14
|
+
key: "item",
|
|
15
|
+
title: "Items",
|
|
16
|
+
icon: _jsx(FileText, { strokeWidth: 1, className: "h-5 w-5" }),
|
|
17
|
+
targetTypes: ["item"],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
key: "project",
|
|
21
|
+
title: "Projects",
|
|
22
|
+
icon: _jsx(Sparkles, { strokeWidth: 1, className: "h-5 w-5" }),
|
|
23
|
+
targetTypes: ["project"],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
key: "review",
|
|
27
|
+
title: "Reviews",
|
|
28
|
+
icon: _jsx(Wand2, { strokeWidth: 1, className: "h-5 w-5" }),
|
|
29
|
+
targetTypes: ["review"],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "agent-run",
|
|
33
|
+
title: "Agent runs",
|
|
34
|
+
icon: _jsx(SecretAgentIcon, { size: 20, strokeWidth: 1 }),
|
|
35
|
+
targetTypes: ["agent-run"],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
function groupSubscriptions(subscriptions) {
|
|
39
|
+
const buckets = new Map();
|
|
40
|
+
const knownTypes = new Set(GROUPS.flatMap((g) => g.targetTypes));
|
|
41
|
+
const others = [];
|
|
42
|
+
for (const subscription of subscriptions) {
|
|
43
|
+
const type = (subscription.targetType ?? "").toLowerCase();
|
|
44
|
+
if (knownTypes.has(type)) {
|
|
45
|
+
const list = buckets.get(type) ?? [];
|
|
46
|
+
list.push(subscription);
|
|
47
|
+
buckets.set(type, list);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
others.push(subscription);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const sortedGroups = GROUPS.map((group) => ({
|
|
54
|
+
config: group,
|
|
55
|
+
items: group.targetTypes.flatMap((type) => buckets.get(type) ?? []),
|
|
56
|
+
})).filter((group) => group.items.length > 0);
|
|
57
|
+
if (others.length > 0) {
|
|
58
|
+
sortedGroups.push({
|
|
59
|
+
config: {
|
|
60
|
+
key: "other",
|
|
61
|
+
title: "Other",
|
|
62
|
+
icon: _jsx(Bell, { strokeWidth: 1, className: "h-5 w-5" }),
|
|
63
|
+
targetTypes: [],
|
|
64
|
+
},
|
|
65
|
+
items: others,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return sortedGroups;
|
|
69
|
+
}
|
|
70
|
+
function formatTargetIdShort(targetId) {
|
|
71
|
+
if (!targetId)
|
|
72
|
+
return "";
|
|
73
|
+
if (targetId.length <= 12)
|
|
74
|
+
return targetId;
|
|
75
|
+
return `${targetId.slice(0, 8)}…`;
|
|
76
|
+
}
|
|
77
|
+
function SubscriptionRow({ subscription, }) {
|
|
78
|
+
const { muteTarget, unmuteTarget, unsubscribeFromTarget } = useNotificationSubscriptions();
|
|
79
|
+
const [pending, setPending] = useState(null);
|
|
80
|
+
const targetType = (subscription.targetType ?? "").toLowerCase();
|
|
81
|
+
const displayName = subscription.displayName && subscription.displayName.trim().length > 0
|
|
82
|
+
? subscription.displayName
|
|
83
|
+
: `${subscription.targetType} ${formatTargetIdShort(subscription.targetId)}`.trim();
|
|
84
|
+
const subtitle = subscription.path ?? null;
|
|
85
|
+
const deleted = subscription.exists === false;
|
|
86
|
+
const eventTypes = Array.isArray(subscription.eventTypes)
|
|
87
|
+
? subscription.eventTypes
|
|
88
|
+
: [];
|
|
89
|
+
const handleMuteToggle = async () => {
|
|
90
|
+
if (pending)
|
|
91
|
+
return;
|
|
92
|
+
setPending("mute");
|
|
93
|
+
try {
|
|
94
|
+
if (subscription.isMuted) {
|
|
95
|
+
await unmuteTarget({
|
|
96
|
+
targetType: subscription.targetType,
|
|
97
|
+
targetId: subscription.targetId,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
await muteTarget({
|
|
102
|
+
targetType: subscription.targetType,
|
|
103
|
+
targetId: subscription.targetId,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
setPending(null);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const handleUnsubscribe = async () => {
|
|
112
|
+
if (pending)
|
|
113
|
+
return;
|
|
114
|
+
setPending("unsubscribe");
|
|
115
|
+
try {
|
|
116
|
+
await unsubscribeFromTarget({
|
|
117
|
+
targetType: subscription.targetType,
|
|
118
|
+
targetId: subscription.targetId,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
setPending(null);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
return (_jsxs("div", { className: "flex items-start justify-between gap-4 border-b border-gray-100 py-3 last:border-b-0", "data-testid": `notification-subscription-${targetType}-${subscription.targetId}`, children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: cn("truncate text-sm font-medium", deleted ? "text-gray-400 line-through" : "text-gray-900"), title: displayName, children: displayName }), subscription.isAuto && (_jsx(Badge, { variant: "secondary", className: "shrink-0", children: "Auto" })), subscription.isMuted && (_jsx(Badge, { variant: "outline", className: "shrink-0 border-amber-300 text-amber-700", children: "Muted" })), subscription.includeDescendants && (_jsxs(Badge, { variant: "outline", className: "shrink-0 gap-1", children: [_jsx(FolderTree, { className: "size-3" }), "Subtree"] })), subscription.language && (_jsxs(Badge, { variant: "outline", className: "shrink-0 gap-1", children: [_jsx(Globe, { className: "size-3" }), subscription.language.toUpperCase()] }))] }), subtitle && (_jsx("div", { className: "mt-0.5 truncate text-xs text-gray-500", title: subtitle, children: subtitle })), eventTypes.length > 0 && (_jsx("div", { className: "mt-1.5 flex flex-wrap gap-1", children: eventTypes.map((eventType) => (_jsx(Badge, { variant: "secondary", className: "text-[10px] font-normal", children: getEventTypeLabel(eventType) }, eventType))) }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "iconSm", onClick: () => void handleMuteToggle(), disabled: pending !== null, "aria-label": subscription.isMuted ? "Unmute" : "Mute", "data-testid": `notification-subscription-${targetType}-${subscription.targetId}-mute`, children: pending === "mute" ? (_jsx(Loader2, { className: "size-4 animate-spin" })) : subscription.isMuted ? (_jsx(Bell, { className: "size-4" })) : (_jsx(BellOff, { className: "size-4" })) }) }), _jsx(TooltipContent, { children: subscription.isMuted ? "Unmute" : "Mute" })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "iconSm", onClick: () => void handleUnsubscribe(), disabled: pending !== null, "aria-label": "Unsubscribe", "data-testid": `notification-subscription-${targetType}-${subscription.targetId}-unsubscribe`, children: pending === "unsubscribe" ? (_jsx(Loader2, { className: "size-4 animate-spin" })) : (_jsx(Trash2, { className: "size-4 text-red-600" })) }) }), _jsx(TooltipContent, { children: "Unsubscribe" })] })] })] }));
|
|
126
|
+
}
|
|
127
|
+
export function NotificationSubscriptionsPanel() {
|
|
128
|
+
const { subscriptions, initialized, refreshing } = useNotificationSubscriptions();
|
|
129
|
+
const groups = useMemo(() => groupSubscriptions(subscriptions), [subscriptions]);
|
|
130
|
+
const isLoading = !initialized && refreshing;
|
|
131
|
+
const isEmpty = initialized && subscriptions.length === 0;
|
|
132
|
+
return (_jsx("div", { className: "h-full overflow-auto p-4", "data-testid": "notification-subscriptions-panel", children: _jsx("div", { className: "mx-auto max-w-3xl", children: isLoading ? (_jsxs("div", { className: "flex items-center justify-center py-12 text-sm text-gray-500", children: [_jsx(Loader2, { className: "mr-2 size-4 animate-spin" }), "Loading subscriptions\u2026"] })) : isEmpty ? (_jsx(Card, { icon: _jsx(Bell, { strokeWidth: 1, className: "h-5 w-5" }), title: "No subscriptions yet", description: "You're not watching anything right now.", children: _jsx("p", { className: "py-2 text-sm text-gray-500", children: "Use the watch button on items, projects, reviews, or agent runs to subscribe to notifications. They'll show up here so you can mute or unsubscribe at any time." }) })) : (_jsx("div", { className: "space-y-4", children: groups.map((group) => {
|
|
133
|
+
return (_jsx(Card, { icon: group.config.icon, title: group.config.title, description: `${group.items.length} subscription${group.items.length === 1 ? "" : "s"}`, children: _jsx("div", { className: "divide-y-0", children: group.items.map((subscription) => (_jsx(SubscriptionRow, { subscription: subscription }, subscription.id))) }) }, group.config.key));
|
|
134
|
+
}) })) }) }));
|
|
135
|
+
}
|
|
136
|
+
export default NotificationSubscriptionsPanel;
|
|
137
|
+
//# sourceMappingURL=NotificationSubscriptionsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationSubscriptionsPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/NotificationSubscriptionsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useEditContext } from "../../client/editContext";
|
|
4
4
|
import { ChevronDown, GitBranch, Loader2, Search, Trash2, } from "lucide-react";
|
|
5
|
+
import { useMemo, useState } from "react";
|
|
5
6
|
import { Badge } from "../../../components/ui/badge";
|
|
6
7
|
import { Button } from "../../../components/ui/button";
|
|
7
8
|
import { Input } from "../../../components/ui/input";
|
|
@@ -10,15 +11,13 @@ import { cn } from "../../../lib/utils";
|
|
|
10
11
|
import { ParheliaIconWhite } from "../../ui/ParheliaIconWhite";
|
|
11
12
|
function getTemplateSummary(template) {
|
|
12
13
|
if (!template) {
|
|
13
|
-
return "Select a template to start
|
|
14
|
-
}
|
|
15
|
-
const summaryParts = [`${template.taskTemplates.length} task templates`];
|
|
16
|
-
if (template.defaultCostLimit != null) {
|
|
17
|
-
summaryParts.push(`Default budget: ${template.defaultCostLimit}`);
|
|
14
|
+
return "Select a template to start";
|
|
18
15
|
}
|
|
19
|
-
return
|
|
16
|
+
return `${template.taskTemplates.length} task templates`;
|
|
20
17
|
}
|
|
21
18
|
export function ProjectTemplateSelector({ templates, selectedTemplate, selectedTemplateId, error, deleting, loading, onSelectTemplate, onDeleteTemplate, }) {
|
|
19
|
+
const editContext = useEditContext();
|
|
20
|
+
const isMobile = editContext?.isMobile;
|
|
22
21
|
const [open, setOpen] = useState(false);
|
|
23
22
|
const [searchQuery, setSearchQuery] = useState("");
|
|
24
23
|
const filteredTemplates = useMemo(() => {
|
|
@@ -34,7 +33,7 @@ export function ProjectTemplateSelector({ templates, selectedTemplate, selectedT
|
|
|
34
33
|
}, [searchQuery, templates]);
|
|
35
34
|
const selectorTitle = selectedTemplate?.name?.trim() || "Project Templates";
|
|
36
35
|
const selectorSummary = getTemplateSummary(selectedTemplate);
|
|
37
|
-
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "data-testid": "project-template-selector-trigger", className: "group flex min-w-0 items-center gap-2 rounded-md px-2 py-0.5 text-left hover:bg-slate-100/70",
|
|
36
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "data-testid": "project-template-selector-trigger", className: "group flex min-w-0 items-center gap-2 rounded-md px-2 py-0.5 text-left hover:bg-slate-100/70", children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-[2px]", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-900 leading-tight", children: selectorTitle }), !isMobile ? (_jsx("div", { className: "flex flex-wrap items-center gap-2 text-[11px] leading-tight text-slate-500", children: _jsx("span", { className: "truncate", children: selectorSummary }) })) : null] }), _jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-slate-500 group-hover:text-slate-700" })] }) }), _jsxs(PopoverContent, { align: "start", sideOffset: 8, className: "w-[calc(100vw-2rem)] max-w-[560px] p-0", "data-testid": "project-template-selector-popover", children: [_jsxs("div", { className: "border-b px-3 py-2", children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { className: "pointer-events-none absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-slate-400", strokeWidth: 1.5 }), _jsx(Input, { type: "text", placeholder: "Search templates...", value: searchQuery, onChange: (event) => setSearchQuery(event.target.value), className: "pl-9 text-xs md:text-xs", "data-testid": "project-template-search-input" })] }), error ? (_jsx("div", { className: "mt-2 rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: error })) : null] }), _jsx("div", { className: "max-h-[360px] overflow-y-auto p-2", children: loading && templates.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", "data-testid": "project-template-selector-loading", children: [_jsx(Loader2, { className: "mb-4 h-8 w-8 animate-spin text-gray-300", strokeWidth: 1.5 }), _jsx("p", { className: "text-xs text-gray-500", children: "Loading project templates..." })] })) : filteredTemplates.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx(GitBranch, { className: "mb-4 h-10 w-10 text-gray-300", strokeWidth: 1.2 }), _jsx("p", { className: "text-xs text-gray-500", children: searchQuery
|
|
38
37
|
? "No templates match your search"
|
|
39
38
|
: "No project templates found" })] })) : (_jsx("div", { className: "flex flex-col gap-0.5", children: filteredTemplates.map((template) => {
|
|
40
39
|
const isSelected = selectedTemplateId === template.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTemplateSelector.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/ProjectTemplateSelector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ProjectTemplateSelector.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/ProjectTemplateSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1700,12 +1700,12 @@ export function ProjectTemplatesPanel() {
|
|
|
1700
1700
|
state,
|
|
1701
1701
|
templates,
|
|
1702
1702
|
]);
|
|
1703
|
-
const
|
|
1703
|
+
const breadcrumbTemplateSelector = useMemo(() => (_jsx("div", { className: "min-w-0 max-w-[min(28rem,calc(100vw-12rem))] md:max-w-[32rem]", children: templateSelector })), [templateSelector]);
|
|
1704
1704
|
const desktopHeaderActions = useMemo(() => {
|
|
1705
1705
|
if (isMobile)
|
|
1706
1706
|
return null;
|
|
1707
1707
|
const showDelete = draftTemplate && !draftTemplate.isSystem;
|
|
1708
|
-
return (_jsxs("div", { className: "flex items-center gap-2", children: [headerStatusBadge, _jsxs(Button, { size: "sm", onClick: () => void handleCreateTemplate(), "data-testid": "project-template-create-button", children: [_jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 }), "Create
|
|
1708
|
+
return (_jsxs("div", { className: "flex items-center gap-2", children: [headerStatusBadge, _jsxs(Button, { size: "sm", onClick: () => void handleCreateTemplate(), "data-testid": "project-template-create-button", children: [_jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 }), "Create template"] }), showDelete ? (_jsxs(Button, { variant: "outline", size: "sm", onClick: () => handleDeleteTemplate(), disabled: deleting, "data-testid": "project-template-delete-button", children: [_jsx(Trash2, { className: "h-4 w-4", strokeWidth: 1.5 }), deleting ? "Deleting..." : "Delete"] })) : null] }));
|
|
1709
1709
|
}, [
|
|
1710
1710
|
deleting,
|
|
1711
1711
|
draftTemplate,
|
|
@@ -1717,11 +1717,11 @@ export function ProjectTemplatesPanel() {
|
|
|
1717
1717
|
useEffect(() => {
|
|
1718
1718
|
if (!setSettingsBreadcrumbExtra)
|
|
1719
1719
|
return;
|
|
1720
|
-
setSettingsBreadcrumbExtra(
|
|
1720
|
+
setSettingsBreadcrumbExtra(breadcrumbTemplateSelector);
|
|
1721
1721
|
return () => {
|
|
1722
1722
|
setSettingsBreadcrumbExtra(null);
|
|
1723
1723
|
};
|
|
1724
|
-
}, [
|
|
1724
|
+
}, [breadcrumbTemplateSelector, setSettingsBreadcrumbExtra]);
|
|
1725
1725
|
useEffect(() => {
|
|
1726
1726
|
if (!setSettingsHeaderActions)
|
|
1727
1727
|
return;
|
|
@@ -1813,11 +1813,7 @@ export function ProjectTemplatesPanel() {
|
|
|
1813
1813
|
},
|
|
1814
1814
|
] }) }));
|
|
1815
1815
|
};
|
|
1816
|
-
const detailContent = (_jsxs("div", { className: "flex h-full flex-col bg-gray-50/40", "data-testid": "project-template-detail-pane", children: [isMobile ? (
|
|
1817
|
-
? "grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3"
|
|
1818
|
-
: "flex items-center justify-end"), "data-testid": "project-template-detail-pane-header", children: [isMobile ? _jsx("div", { className: "min-w-0", children: templateSelector }) : null, _jsx("div", { className: "flex shrink-0 items-center gap-1.5 self-center bg-white pl-1", children: draftTemplate &&
|
|
1819
|
-
!draftTemplate.isSystem &&
|
|
1820
|
-
(isMobile ? (_jsx(Button, { variant: "outline", size: "icon", className: "h-9 w-9 shrink-0", onClick: () => handleDeleteTemplate(), disabled: deleting, "aria-label": deleting ? "Deleting template" : "Delete template", title: deleting ? "Deleting…" : "Delete template", "data-testid": "project-template-delete-button", children: deleting ? (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin", strokeWidth: 1.5 })) : (_jsx(Trash2, { className: "h-4 w-4", strokeWidth: 1.5 })) })) : null) })] })) : null, draftTemplate ? ((() => {
|
|
1816
|
+
const detailContent = (_jsxs("div", { className: "flex h-full flex-col bg-gray-50/40", "data-testid": "project-template-detail-pane", children: [isMobile && draftTemplate && !draftTemplate.isSystem ? (_jsx("div", { className: "flex items-center justify-end border-b border-gray-200 bg-white px-5 py-2", "data-testid": "project-template-detail-pane-header", children: _jsx("div", { className: "flex shrink-0 items-center gap-1.5 self-center", children: _jsx(Button, { variant: "outline", size: "icon", className: "h-9 w-9 shrink-0", onClick: () => handleDeleteTemplate(), disabled: deleting, "aria-label": deleting ? "Deleting template" : "Delete template", title: deleting ? "Deleting…" : "Delete template", "data-testid": "project-template-delete-button", children: deleting ? (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin", strokeWidth: 1.5 })) : (_jsx(Trash2, { className: "h-4 w-4", strokeWidth: 1.5 })) }) }) })) : null, draftTemplate ? ((() => {
|
|
1821
1817
|
const detailTabs = [
|
|
1822
1818
|
{
|
|
1823
1819
|
id: "project-template-tab-basic-settings",
|