33 lines
713 B
JavaScript
33 lines
713 B
JavaScript
export const createBrowserWindow = ({
|
|
standalone = false,
|
|
serviceWorker = undefined,
|
|
navigatorStandalone = false,
|
|
} = {}) => {
|
|
return {
|
|
matchMedia: (query) => ({
|
|
media: query,
|
|
matches: query === "(display-mode: standalone)" ? standalone : false,
|
|
addEventListener: () => {},
|
|
removeEventListener: () => {},
|
|
}),
|
|
navigator: {
|
|
standalone: navigatorStandalone,
|
|
serviceWorker,
|
|
},
|
|
};
|
|
};
|
|
|
|
export const createBeforeInstallPromptEvent = ({
|
|
outcome = "accepted",
|
|
} = {}) => {
|
|
let promptCalls = 0;
|
|
|
|
return {
|
|
prompt: async () => {
|
|
promptCalls += 1;
|
|
},
|
|
userChoice: Promise.resolve({ outcome }),
|
|
getPromptCalls: () => promptCalls,
|
|
};
|
|
};
|