feat: refactor openExternalUrl to use dedicated Tauri shell utility
This commit is contained in:
@@ -3,12 +3,10 @@
|
||||
* @param url The URL to open
|
||||
*/
|
||||
export const openExternalUrl = async (url: string): Promise<void> => {
|
||||
// Only try to import Tauri shell in Tauri builds
|
||||
if (typeof window !== 'undefined' && (window as any).__TAURI__) {
|
||||
try {
|
||||
// @ts-ignore
|
||||
const { open } = await import(/* @vite-ignore */ '@tauri-apps/plugin-shell');
|
||||
await open(url);
|
||||
const { openWithTauriShell } = await import('./tauriShell');
|
||||
await openWithTauriShell(url);
|
||||
return;
|
||||
} catch (err) {
|
||||
console.warn('Tauri shell.open failed, falling back to window.open:', err);
|
||||
|
||||
9
src/app/utils/tauriShell.ts
Normal file
9
src/app/utils/tauriShell.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Tauri shell open utility, only imported in Tauri builds
|
||||
*/
|
||||
|
||||
export async function openWithTauriShell(url: string): Promise<void> {
|
||||
// @ts-ignore
|
||||
const { open } = await import(/* @vite-ignore */ '@tauri-apps/plugin-shell');
|
||||
await open(url);
|
||||
}
|
||||
Reference in New Issue
Block a user