Create Publish panel to easy GitHub and Vercel push (#655)

This commit is contained in:
Will Chen
2025-07-17 15:54:08 -07:00
committed by GitHub
parent cb60a0562b
commit 444397ea86
26 changed files with 2113 additions and 28 deletions

View File

@@ -40,6 +40,15 @@ import type {
EditAppFileReturnType,
GetAppEnvVarsParams,
SetAppEnvVarsParams,
ConnectToExistingVercelProjectParams,
IsVercelProjectAvailableResponse,
CreateVercelProjectParams,
VercelDeployment,
GetVercelDeploymentsParams,
DisconnectVercelProjectParams,
IsVercelProjectAvailableParams,
SaveVercelAccessTokenParams,
VercelProject,
} from "./ipc_types";
import type { AppChatContext, ProposalResult } from "@/lib/schemas";
import { showError } from "@/lib/toast";
@@ -646,6 +655,51 @@ export class IpcClient {
}
// --- End GitHub Repo Management ---
// --- Vercel Token Management ---
public async saveVercelAccessToken(
params: SaveVercelAccessTokenParams,
): Promise<void> {
await this.ipcRenderer.invoke("vercel:save-token", params);
}
// --- End Vercel Token Management ---
// --- Vercel Project Management ---
public async listVercelProjects(): Promise<VercelProject[]> {
return this.ipcRenderer.invoke("vercel:list-projects", undefined);
}
public async connectToExistingVercelProject(
params: ConnectToExistingVercelProjectParams,
): Promise<void> {
await this.ipcRenderer.invoke("vercel:connect-existing-project", params);
}
public async isVercelProjectAvailable(
params: IsVercelProjectAvailableParams,
): Promise<IsVercelProjectAvailableResponse> {
return this.ipcRenderer.invoke("vercel:is-project-available", params);
}
public async createVercelProject(
params: CreateVercelProjectParams,
): Promise<void> {
await this.ipcRenderer.invoke("vercel:create-project", params);
}
// Get Vercel Deployments
public async getVercelDeployments(
params: GetVercelDeploymentsParams,
): Promise<VercelDeployment[]> {
return this.ipcRenderer.invoke("vercel:get-deployments", params);
}
public async disconnectVercelProject(
params: DisconnectVercelProjectParams,
): Promise<void> {
await this.ipcRenderer.invoke("vercel:disconnect", params);
}
// --- End Vercel Project Management ---
// Get the main app version
public async getAppVersion(): Promise<string> {
const result = await this.ipcRenderer.invoke("get-app-version");