parent
58a459a1dc
commit
d3a109a0cc
6 changed files with 163 additions and 15 deletions
33
main.js
33
main.js
|
|
@ -64,29 +64,36 @@ function createWindow() {
|
|||
|
||||
console.log(`Loading desktop app from: ${localUrl}`);
|
||||
|
||||
const loadDesktopApp = () => {
|
||||
win.loadURL(localUrl).catch((err) => {
|
||||
const loadDesktopApp = (queryParams = '') => {
|
||||
const fullUrl = queryParams ? `${localUrl}&${queryParams}` : localUrl;
|
||||
win.loadURL(fullUrl).catch((err) => {
|
||||
console.error(`Failed to load desktop file: ${err}`);
|
||||
});
|
||||
};
|
||||
|
||||
// Use a navigation listener to detect when the remote login is complete
|
||||
win.webContents.on('will-navigate', (event, navigatedUrl) => {
|
||||
const normalizedNav = navigatedUrl.replace(/\/$/, '');
|
||||
// If the user lands back on the remote root, they are logged in.
|
||||
// Redirect them back to our local bugfixed desktop UI.
|
||||
if (normalizedNav === backendUrl) {
|
||||
console.log("Detected remote landing (login success), returning to desktop UI...");
|
||||
event.preventDefault();
|
||||
loadDesktopApp();
|
||||
try {
|
||||
const urlObj = new URL(navigatedUrl);
|
||||
const backendObj = new URL(backendUrl);
|
||||
if (urlObj.origin === backendObj.origin && urlObj.pathname === '/') {
|
||||
console.log("Detected remote landing (login success), returning to desktop UI...");
|
||||
event.preventDefault();
|
||||
loadDesktopApp(urlObj.search.slice(1));
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
});
|
||||
|
||||
win.webContents.on('did-navigate', (event, navigatedUrl) => {
|
||||
const normalizedNav = navigatedUrl.replace(/\/$/, '');
|
||||
if (normalizedNav === backendUrl) {
|
||||
loadDesktopApp();
|
||||
}
|
||||
try {
|
||||
const urlObj = new URL(navigatedUrl);
|
||||
const backendObj = new URL(backendUrl);
|
||||
if (urlObj.origin === backendObj.origin && urlObj.pathname === '/') {
|
||||
loadDesktopApp(urlObj.search.slice(1));
|
||||
}
|
||||
} catch (e) { }
|
||||
});
|
||||
|
||||
loadDesktopApp();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue