fix: remove folder icons, add single run for maintenance, fix batch 400
- Remove AddToFolderMenu from grid/list/table library views (folders removed) - Add single "Run" button to MaintenanceFlowDetailPage alongside Batch Launch - Change seed script to publish maintenance flows (batch rejects drafts) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -766,7 +766,7 @@ async def create_maintenance_flow(client: httpx.AsyncClient, token: str, flow_da
|
|||||||
|
|
||||||
flow_data["is_default"] = True
|
flow_data["is_default"] = True
|
||||||
flow_data["is_public"] = True
|
flow_data["is_public"] = True
|
||||||
flow_data["status"] = "draft"
|
flow_data["status"] = "published"
|
||||||
|
|
||||||
# Check if flow with same name exists
|
# Check if flow with same name exists
|
||||||
list_response = await client.get(f"{API_BASE_URL}/trees", headers=headers, params={"tree_type": "maintenance"})
|
list_response = await client.get(f"{API_BASE_URL}/trees", headers=headers, params={"tree_type": "maintenance"})
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import { Link } from 'react-router-dom'
|
|||||||
import { Pencil, Globe, Lock, Trash2, GitBranch, FileText, Wrench } from 'lucide-react'
|
import { Pencil, Globe, Lock, Trash2, GitBranch, FileText, Wrench } from 'lucide-react'
|
||||||
import type { TreeListItem } from '@/types'
|
import type { TreeListItem } from '@/types'
|
||||||
import { TagBadges } from '@/components/common/TagBadges'
|
import { TagBadges } from '@/components/common/TagBadges'
|
||||||
import { AddToFolderMenu } from './AddToFolderMenu'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
import { usePermissions } from '@/hooks/usePermissions'
|
import { usePermissions } from '@/hooks/usePermissions'
|
||||||
|
|
||||||
@@ -19,7 +18,6 @@ export function TreeGridView({
|
|||||||
trees,
|
trees,
|
||||||
onStartSession,
|
onStartSession,
|
||||||
onTagClick,
|
onTagClick,
|
||||||
onFolderCreated,
|
|
||||||
onDeleteTree,
|
onDeleteTree,
|
||||||
onForkTree,
|
onForkTree,
|
||||||
}: TreeGridViewProps) {
|
}: TreeGridViewProps) {
|
||||||
@@ -81,7 +79,6 @@ export function TreeGridView({
|
|||||||
v{tree.version} · {tree.usage_count} uses
|
v{tree.version} · {tree.usage_count} uses
|
||||||
</span>
|
</span>
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<AddToFolderMenu treeId={tree.id} onFolderCreated={onFolderCreated} />
|
|
||||||
{onForkTree && (
|
{onForkTree && (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import { Link } from 'react-router-dom'
|
|||||||
import { Pencil, Globe, Lock, GitBranch, FileText, Trash2, Wrench } from 'lucide-react'
|
import { Pencil, Globe, Lock, GitBranch, FileText, Trash2, Wrench } from 'lucide-react'
|
||||||
import type { TreeListItem } from '@/types'
|
import type { TreeListItem } from '@/types'
|
||||||
import { TagBadges } from '@/components/common/TagBadges'
|
import { TagBadges } from '@/components/common/TagBadges'
|
||||||
import { AddToFolderMenu } from './AddToFolderMenu'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
import { usePermissions } from '@/hooks/usePermissions'
|
import { usePermissions } from '@/hooks/usePermissions'
|
||||||
|
|
||||||
@@ -20,7 +19,6 @@ export function TreeListView({
|
|||||||
onStartSession,
|
onStartSession,
|
||||||
onTagClick,
|
onTagClick,
|
||||||
onDeleteTree,
|
onDeleteTree,
|
||||||
onFolderCreated,
|
|
||||||
onForkTree,
|
onForkTree,
|
||||||
}: TreeListViewProps) {
|
}: TreeListViewProps) {
|
||||||
const { canEditTree } = usePermissions()
|
const { canEditTree } = usePermissions()
|
||||||
@@ -85,7 +83,6 @@ export function TreeListView({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<AddToFolderMenu treeId={tree.id} onFolderCreated={onFolderCreated} />
|
|
||||||
{onForkTree && (
|
{onForkTree && (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { Link } from 'react-router-dom'
|
|||||||
import { Pencil, Globe, Lock, ChevronUp, ChevronDown, GitBranch, FileText, Trash2, Wrench } from 'lucide-react'
|
import { Pencil, Globe, Lock, ChevronUp, ChevronDown, GitBranch, FileText, Trash2, Wrench } from 'lucide-react'
|
||||||
import type { TreeListItem } from '@/types'
|
import type { TreeListItem } from '@/types'
|
||||||
import { TagBadges } from '@/components/common/TagBadges'
|
import { TagBadges } from '@/components/common/TagBadges'
|
||||||
import { AddToFolderMenu } from './AddToFolderMenu'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
import { usePermissions } from '@/hooks/usePermissions'
|
import { usePermissions } from '@/hooks/usePermissions'
|
||||||
|
|
||||||
@@ -23,7 +22,6 @@ export function TreeTableView({
|
|||||||
trees,
|
trees,
|
||||||
onStartSession,
|
onStartSession,
|
||||||
onTagClick,
|
onTagClick,
|
||||||
onFolderCreated,
|
|
||||||
onDeleteTree,
|
onDeleteTree,
|
||||||
onSortChange,
|
onSortChange,
|
||||||
onForkTree,
|
onForkTree,
|
||||||
@@ -189,7 +187,6 @@ export function TreeTableView({
|
|||||||
</td>
|
</td>
|
||||||
<td className="px-4 py-3">
|
<td className="px-4 py-3">
|
||||||
<div className="flex items-center justify-end gap-2">
|
<div className="flex items-center justify-end gap-2">
|
||||||
<AddToFolderMenu treeId={tree.id} onFolderCreated={onFolderCreated} />
|
|
||||||
{onForkTree && (
|
{onForkTree && (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -99,10 +99,16 @@ export default function MaintenanceFlowDetailPage() {
|
|||||||
Edit Flow
|
Edit Flow
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
onClick={() => setShowBatchModal(true)}
|
onClick={() => navigate(`/flows/${id}/navigate`)}
|
||||||
className="flex items-center gap-1.5 rounded-lg bg-gradient-brand px-4 py-2 text-[0.875rem] font-medium text-white shadow-lg shadow-primary/20 hover:opacity-90"
|
className="flex items-center gap-1.5 rounded-lg bg-gradient-brand px-4 py-2 text-[0.875rem] font-medium text-white shadow-lg shadow-primary/20 hover:opacity-90"
|
||||||
>
|
>
|
||||||
<Play className="h-3.5 w-3.5" />
|
<Play className="h-3.5 w-3.5" />
|
||||||
|
Run
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
onClick={() => setShowBatchModal(true)}
|
||||||
|
className="flex items-center gap-1.5 rounded-lg border border-border px-3 py-2 text-[0.875rem] text-muted-foreground hover:bg-accent hover:text-foreground"
|
||||||
|
>
|
||||||
Batch Launch
|
Batch Launch
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user