Add 'utils' module export (#410)
Export core utils and assets used by RWP in /utils. Add serviceWorkerActivated() utility promise. --------- Co-authored-by: emma <hi@emma.cafe>
This commit is contained in:
+11
-1
@@ -10,12 +10,15 @@ import { Pages } from "./pages";
|
||||
import { PageEntry } from "./pageentry";
|
||||
import { Replay } from "./replay";
|
||||
import { Sorter } from "./sorter";
|
||||
import { SWManager } from "./swmanager";
|
||||
import { SWManager, serviceWorkerActivated } from "./swmanager";
|
||||
import { URLResources } from "./url-resources";
|
||||
import { Embed } from "./embed";
|
||||
import "./coll-description";
|
||||
import "./shoelace";
|
||||
|
||||
import rwpIcon from "~assets/icons/replaywebpage.svg";
|
||||
import rwpLogoAnimated from "~assets/brand/replaywebpage-icon-color-animated.svg";
|
||||
|
||||
export {
|
||||
ReplayWebApp,
|
||||
Chooser,
|
||||
@@ -48,6 +51,9 @@ export {
|
||||
Embed,
|
||||
Embed as ReplayWebPage,
|
||||
SWManager,
|
||||
serviceWorkerActivated,
|
||||
rwpIcon,
|
||||
rwpLogoAnimated,
|
||||
};
|
||||
|
||||
export type { ItemType, URLResource } from "./types";
|
||||
@@ -55,3 +61,7 @@ export type { ItemType, URLResource } from "./types";
|
||||
export type { EmbedReplayEvent } from "./item";
|
||||
|
||||
export * from "./misc";
|
||||
|
||||
export * from "./pageutils";
|
||||
|
||||
export * from "./utils/dateTimeFormatter";
|
||||
|
||||
+2
-8
@@ -9,6 +9,7 @@ import { parseURLSchemeHostPath } from "./pageutils";
|
||||
import { property } from "lit/decorators.js";
|
||||
import type { LoadInfo } from "./item";
|
||||
import { ifDefined } from "lit/directives/if-defined.js";
|
||||
import { serviceWorkerActivated } from "./swmanager";
|
||||
|
||||
// ===========================================================================
|
||||
/**
|
||||
@@ -231,14 +232,7 @@ You can select a file to upload from the main page by clicking the 'Choose File.
|
||||
file: source,
|
||||
};
|
||||
|
||||
if (!navigator.serviceWorker.controller) {
|
||||
await new Promise((resolve) => {
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () =>
|
||||
// @ts-expect-error - TS2794 - Expected 1 arguments, but got 0. Did you forget to include 'void' in your type argument to 'Promise'?
|
||||
resolve(),
|
||||
);
|
||||
});
|
||||
}
|
||||
await serviceWorkerActivated();
|
||||
|
||||
if (this.worker) {
|
||||
if (!this.noWebWorker) {
|
||||
|
||||
@@ -216,10 +216,15 @@ export {
|
||||
clickOnSpacebarPress,
|
||||
FaIcon,
|
||||
WrModal,
|
||||
/** @deprecated Import this directly from `lit` instead */
|
||||
LitElement,
|
||||
/** @deprecated Import this directly from `lit` instead */
|
||||
html,
|
||||
/** @deprecated Import this directly from `lit` instead */
|
||||
css,
|
||||
/** @deprecated Import this directly from `lit/directives/unsafe-css.js` instead */
|
||||
unsafeCSS,
|
||||
/** @deprecated Import this directly from `lit/directives/unsafe-svg.js` instead */
|
||||
unsafeSVG,
|
||||
apiPrefix,
|
||||
replayPrefix,
|
||||
|
||||
@@ -153,3 +153,15 @@ export class SWManager {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
export async function serviceWorkerActivated() {
|
||||
if (navigator.serviceWorker.controller) {
|
||||
return;
|
||||
}
|
||||
|
||||
await new Promise<void>((resolve) => {
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => {
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from "./dateTimeFormatter";
|
||||
export * from "./assertNonNullish";
|
||||
export * from "../pageutils";
|
||||
export { SWManager, serviceWorkerActivated } from "../swmanager";
|
||||
Reference in New Issue
Block a user