mirror of
https://github.com/dream-pep/koring-launcher.git
synced 2026-09-12 05:45:18 +08:00
Replace the Tauri/sidecar architecture with an Electron main process. Adds an electron/ directory (main, preload, handlers, core integrations for @xmcl/*), electron-builder.yml, TypeScript electron config and declarations, and updated IPC utilities (ipc.ts) so frontend uses ipcRenderer/ipcMain. Removes Tauri sidecar and src-tauri artifacts, deletes sidecar sources and keys, updates .gitignore, VSCode recommendations, package scripts and icons, and updates documentation (README, AGENTS, DEV) and frontend stores/apis to reflect the Electron-based architecture and config/auth persistence changes.
48 lines
1.9 KiB
JavaScript
48 lines
1.9 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.registerModsHandlers = registerModsHandlers;
|
|
const electron_1 = __importDefault(require("electron"));
|
|
const modrinth_1 = require("../core/modrinth");
|
|
const { ipcMain } = electron_1.default;
|
|
function registerModsHandlers() {
|
|
ipcMain.handle('mods:search', async (_event, payload) => {
|
|
try {
|
|
const data = await (0, modrinth_1.searchMods)(payload.query, payload.gameVersion, payload.loader, payload.limit, payload.offset, payload.source);
|
|
return { success: true, data, error: null };
|
|
}
|
|
catch (e) {
|
|
return { success: false, data: null, error: String(e) };
|
|
}
|
|
});
|
|
ipcMain.handle('mods:detail', async (_event, payload) => {
|
|
try {
|
|
const data = await (0, modrinth_1.getModDetail)(payload.projectId, payload.source);
|
|
return { success: true, data, error: null };
|
|
}
|
|
catch (e) {
|
|
return { success: false, data: null, error: String(e) };
|
|
}
|
|
});
|
|
ipcMain.handle('mods:versions', async (_event, payload) => {
|
|
try {
|
|
const data = await (0, modrinth_1.getModVersions)(payload.projectId, payload.gameVersion, payload.loader, payload.source);
|
|
return { success: true, data, error: null };
|
|
}
|
|
catch (e) {
|
|
return { success: false, data: null, error: String(e) };
|
|
}
|
|
});
|
|
ipcMain.handle('mods:install', async (_event, payload) => {
|
|
try {
|
|
const data = await (0, modrinth_1.installMod)(payload.projectId, payload.versionId, payload.gamePath, payload.source);
|
|
return { success: true, data, error: null };
|
|
}
|
|
catch (e) {
|
|
return { success: false, data: null, error: String(e) };
|
|
}
|
|
});
|
|
}
|