Files
openscreen/src/lib/assetPath.ts
T
2025-11-16 22:12:22 -07:00

26 lines
924 B
TypeScript

export async function getAssetPath(relativePath: string): Promise<string> {
try {
if (typeof window !== 'undefined') {
// If running in a dev server (http/https), prefer the web-served path
if (window.location && window.location.protocol && window.location.protocol.startsWith('http')) {
return `/${relativePath.replace(/^\//, '')}`
}
if ((window as any).electronAPI && typeof (window as any).electronAPI.getAssetBasePath === 'function') {
const base = await (window as any).electronAPI.getAssetBasePath()
if (base) {
const normalized = base.replace(/\\/g, '/')
return `file://${normalized}/${relativePath}`
}
}
}
} catch (err) {
// ignore and use fallback
}
// Fallback for web/dev server: public/wallpapers are served at '/wallpapers/...'
return `/${relativePath.replace(/^\//, '')}`
}
export default getAssetPath;