6b245c628c
Add complete project scaffold for Gitpub Desktop (Tauri + Rust backend and vanilla HTML/CSS/JS frontend). Includes frontend entry (index.html), styles (base/components CSS), app logic and modules (app.js, gitea-api.js, tauri-api.js, state.js, storage.js), static assets and component READMEs, README.md, VSCode recommendations, and project config (package.json, package-lock.json). Also adds src-tauri skeleton (Cargo.toml, main.rs, lib.rs, build.rs, tauri.conf.json), application icons, and .gitignore files. Provides MVP plumbing for server setup and management, repository dashboard, local repo opening, and Git operations via Tauri invoke (clone/pull/push/status/branch).
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
const invoke = window.__TAURI__?.core?.invoke;
|
|
|
|
function ensureInvoke() {
|
|
if (!invoke) {
|
|
throw new Error("Tauri invoke API is not available.");
|
|
}
|
|
}
|
|
|
|
export async function runGitClone(repoUrl, destinationPath, gitPath) {
|
|
ensureInvoke();
|
|
return invoke("git_clone", {
|
|
repoUrl,
|
|
destinationPath,
|
|
gitPath: gitPath || null,
|
|
});
|
|
}
|
|
|
|
export async function runGitPull(repoPath, gitPath) {
|
|
ensureInvoke();
|
|
return invoke("git_pull", { repoPath, gitPath: gitPath || null });
|
|
}
|
|
|
|
export async function runGitPush(repoPath, gitPath) {
|
|
ensureInvoke();
|
|
return invoke("git_push", { repoPath, gitPath: gitPath || null });
|
|
}
|
|
|
|
export async function runGitStatus(repoPath, gitPath) {
|
|
ensureInvoke();
|
|
return invoke("git_status", { repoPath, gitPath: gitPath || null });
|
|
}
|
|
|
|
export async function runGitBranch(repoPath, gitPath) {
|
|
ensureInvoke();
|
|
return invoke("git_branch", { repoPath, gitPath: gitPath || null });
|
|
}
|
|
|
|
export async function testGiteaConnection(payload) {
|
|
ensureInvoke();
|
|
return invoke("test_gitea_connection", payload);
|
|
}
|