mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-03-25 16:48:50 +08:00
26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
export const mainHost = '.';
|
|
export const anotherHost = 'another-host';
|
|
export const internalHosts = new Set([mainHost, anotherHost]);
|
|
|
|
export const mainWindowOrigin = `assets://${mainHost}`;
|
|
export const anotherOrigin = `assets://${anotherHost}`;
|
|
|
|
export const onboardingViewUrl = `${mainWindowOrigin}/onboarding`;
|
|
export const shellViewUrl = `${mainWindowOrigin}/shell.html`;
|
|
export const backgroundWorkerViewUrl = `${mainWindowOrigin}/background-worker.html`;
|
|
export const customThemeViewUrl = `${mainWindowOrigin}/theme-editor`;
|
|
|
|
// mitigate the issue that popup window share the same zoom level of the main window
|
|
// Notes from electron official docs:
|
|
// "The zoom policy at the Chromium level is same-origin, meaning that the zoom level for a specific domain propagates across all instances of windows with the same domain. Differentiating the window URLs will make zoom work per-window."
|
|
export const popupViewUrl = `${anotherOrigin}/popup.html`;
|
|
|
|
export const isInternalUrl = (url: string) => {
|
|
try {
|
|
const parsed = new URL(url);
|
|
return parsed.protocol === 'assets:' && internalHosts.has(parsed.hostname);
|
|
} catch {
|
|
return false;
|
|
}
|
|
};
|