mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-05-07 05:34:40 +00:00
Introduce a new `DeployAlert` interface and related components to provide visual feedback on build and deployment stages. This includes status updates for Vercel and Netlify deployments, with progress visualization and error handling. The changes enhance user experience by offering real-time updates during the deployment process.
77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
import type { Change } from 'diff';
|
|
|
|
export type ActionType = 'file' | 'shell' | 'supabase';
|
|
|
|
export interface BaseAction {
|
|
content: string;
|
|
}
|
|
|
|
export interface FileAction extends BaseAction {
|
|
type: 'file';
|
|
filePath: string;
|
|
}
|
|
|
|
export interface ShellAction extends BaseAction {
|
|
type: 'shell';
|
|
}
|
|
|
|
export interface StartAction extends BaseAction {
|
|
type: 'start';
|
|
}
|
|
|
|
export interface BuildAction extends BaseAction {
|
|
type: 'build';
|
|
}
|
|
|
|
export interface SupabaseAction extends BaseAction {
|
|
type: 'supabase';
|
|
operation: 'migration' | 'query';
|
|
filePath?: string;
|
|
projectId?: string;
|
|
}
|
|
|
|
export type BoltAction = FileAction | ShellAction | StartAction | BuildAction | SupabaseAction;
|
|
|
|
export type BoltActionData = BoltAction | BaseAction;
|
|
|
|
export interface ActionAlert {
|
|
type: string;
|
|
title: string;
|
|
description: string;
|
|
content: string;
|
|
source?: 'terminal' | 'preview'; // Add source to differentiate between terminal and preview errors
|
|
}
|
|
|
|
export interface SupabaseAlert {
|
|
type: string;
|
|
title: string;
|
|
description: string;
|
|
content: string;
|
|
source?: 'supabase';
|
|
}
|
|
|
|
export interface DeployAlert {
|
|
type: 'success' | 'error' | 'info';
|
|
title: string;
|
|
description: string;
|
|
content?: string;
|
|
url?: string;
|
|
stage?: 'building' | 'deploying' | 'complete';
|
|
buildStatus?: 'pending' | 'running' | 'complete' | 'failed';
|
|
deployStatus?: 'pending' | 'running' | 'complete' | 'failed';
|
|
source?: 'vercel' | 'netlify' | 'github';
|
|
}
|
|
|
|
export interface FileHistory {
|
|
originalContent: string;
|
|
lastModified: number;
|
|
changes: Change[];
|
|
versions: {
|
|
timestamp: number;
|
|
content: string;
|
|
}[];
|
|
|
|
// Novo campo para rastrear a origem das mudanças
|
|
changeSource?: 'user' | 'auto-save' | 'external';
|
|
}
|