('home_page_content', (content) => {
+ this.content = content;
+ }),
+ );
+ }
+
+ override render(): unknown {
+ this._logger.logMethod('render');
+ if (this.content == null) return nothing;
+ return html`
+
+ ${map(this.content.boxList, this._boxTemplate)}
+
+ `;
+ }
+
+ protected _boxTemplate(box: BoxType): unknown {
+ const slot = box.slot == null ? nothing : unsafeHTML(box.slot);
+ return html`${slot}`;
+ }
+}
diff --git a/uniquely/com-pwa/src/type.ts b/uniquely/com-pwa/src/type.ts
new file mode 100644
index 000000000..c60200a5b
--- /dev/null
+++ b/uniquely/com-pwa/src/type.ts
@@ -0,0 +1,14 @@
+import type {StringifyableRecord} from '@alwatr/type';
+import type {IconBoxContent} from '@alwatr/ui-kit/card/icon-box.js';
+import type {TopAppBarContent} from '@alwatr/ui-kit/top-app-bar/top-app-bar.js';
+
+export interface BoxType extends IconBoxContent {
+ wide?: boolean;
+ slot?: string;
+ small?: boolean;
+}
+
+export interface PageHomeContent extends StringifyableRecord {
+ topAppBar: TopAppBarContent;
+ boxList: Array;
+}
diff --git a/uniquely/com-pwa/web-dev-server.config.js b/uniquely/com-pwa/web-dev-server.config.js
index 9a6df8182..9c4e13e1e 100644
--- a/uniquely/com-pwa/web-dev-server.config.js
+++ b/uniquely/com-pwa/web-dev-server.config.js
@@ -1,2 +1,2 @@
-import {config} from '@alwatr/pwa-helper/web-dev-server.config';
+import {config} from '@alwatr/pwa-helper/pwa-dev-server.config.js';
export default config;