fix: 完善剧本完成状态限制并优化表单对齐与配色

This commit is contained in:
GouJ
2026-09-01 22:37:51 +08:00
parent a24326b85d
commit 370e7bb4a6
19 changed files with 340 additions and 67 deletions
+16
View File
@@ -0,0 +1,16 @@
import type { InjectionKey, ShallowRef } from 'vue'
import type { Project } from './types'
/** 由项目布局发布给应用侧栏的访问状态;不额外请求或持久化项目数据。 */
export interface ProjectAccess {
projectId: string
completed: boolean
}
/** 侧栏与项目布局共享同一份判定,初次读取和切换项目时默认锁定。 */
export const projectAccessKey: InjectionKey<ShallowRef<ProjectAccess | null>> = Symbol('project-access')
/** 仅正式项目状态 completed 解锁下游;已有部分剧集或旧 checkpoint 不代表剧本完成。 */
export function isProjectComplete(project: Pick<Project, 'id' | 'status'> | null, projectId: string): boolean {
return !!projectId && project?.id === projectId && project.status === 'completed'
}