diff --git a/frontend/src/index.ts b/frontend/src/index.ts
index 9d545b76..0faffaa4 100644
--- a/frontend/src/index.ts
+++ b/frontend/src/index.ts
@@ -1,6 +1,8 @@
import type { TemplateResult } from "lit";
-import { state } from "lit/decorators.js";
+import { state, query } from "lit/decorators.js";
+import { ifDefined } from "lit/directives/if-defined.js";
import { msg, localized } from "@lit/localize";
+import type { SlDialog } from "@shoelace-style/shoelace";
import "./shoelace";
import { LocalePicker } from "./components/locale-picker";
@@ -32,6 +34,12 @@ const ROUTES = {
"archive-info-tab": "/archive/:aid/:tab",
} as const;
+type DialogContent = {
+ label?: TemplateResult | string;
+ body?: TemplateResult | string;
+ noHeader?: boolean;
+};
+
/**
* @event navigate
* @event notify
@@ -51,12 +59,18 @@ export class App extends LiteElement {
userInfo?: CurrentUser;
@state()
- viewState!: ViewState & {
+ private viewState!: ViewState & {
aid?: string;
// TODO common tab type
tab?: "running" | "finished" | "configs";
};
+ @state()
+ private globalDialogContent: DialogContent = {};
+
+ @query("#globalDialog")
+ private globalDialog!: SlDialog;
+
constructor() {
super();
@@ -155,6 +169,14 @@ export class App extends LiteElement {
Welcome to Browsertrix Cloud!
+ +
+ A confirmation email was sent to:
+ ${email}.
+
+ Click the link in your email to confirm your email address. +
+