diff --git a/web-admin/playwright.config.ts b/web-admin/playwright.config.ts index 6b6a7b10b110..15edb748a2bd 100644 --- a/web-admin/playwright.config.ts +++ b/web-admin/playwright.config.ts @@ -36,11 +36,24 @@ const config: PlaywrightTestConfig = { { name: "e2e", dependencies: process.env.E2E_NO_SETUP_OR_TEARDOWN ? [] : ["setup"], - testIgnore: "/setup", + // The mobile smoke suite runs only in the `mobile` project, at a phone viewport. + testIgnore: ["/setup", "mobile-smoke.spec.ts"], use: { storageState: ADMIN_STORAGE_STATE, }, }, + { + // Responsive smoke checks run on an emulated phone against the same + // seeded stack. Limited to mobile-smoke so the desktop suites aren't + // re-run here. + name: "mobile", + dependencies: process.env.E2E_NO_SETUP_OR_TEARDOWN ? [] : ["setup"], + testMatch: "mobile-smoke.spec.ts", + use: { + ...devices["iPhone 13"], + storageState: ADMIN_STORAGE_STATE, + }, + }, ], }; diff --git a/web-admin/src/app.html b/web-admin/src/app.html index 47e0130dd622..3a8af17c7391 100644 --- a/web-admin/src/app.html +++ b/web-admin/src/app.html @@ -46,11 +46,9 @@ crossorigin /> - - + +
{/snippet} - + {m.billing_change_billing_contact()} diff --git a/web-admin/src/features/billing/plans/dialog/WelcomeToRillCloudDialog.svelte b/web-admin/src/features/billing/plans/dialog/WelcomeToRillCloudDialog.svelte index d9387e943d71..1f3554727d90 100644 --- a/web-admin/src/features/billing/plans/dialog/WelcomeToRillCloudDialog.svelte +++ b/web-admin/src/features/billing/plans/dialog/WelcomeToRillCloudDialog.svelte @@ -31,7 +31,9 @@ {/snippet} - +
diff --git a/web-admin/src/features/bookmarks/Bookmarks.svelte b/web-admin/src/features/bookmarks/Bookmarks.svelte index dc82036e7fcd..f9844ac7c4c5 100644 --- a/web-admin/src/features/bookmarks/Bookmarks.svelte +++ b/web-admin/src/features/bookmarks/Bookmarks.svelte @@ -184,7 +184,7 @@ The "bookmark current view" action and search stay pinned; only the lists scroll. -->
(showDialog = true)}> diff --git a/web-admin/src/features/branches/BranchesSection.svelte b/web-admin/src/features/branches/BranchesSection.svelte index 2ccedf51e101..f2c07a14eb4a 100644 --- a/web-admin/src/features/branches/BranchesSection.svelte +++ b/web-admin/src/features/branches/BranchesSection.svelte @@ -349,7 +349,9 @@ {m.branch_read_only()} -
+
{m.branch_not_editable()} {m.branch_recreate_with()} diff --git a/web-admin/src/features/dashboards/listing/LastRefreshedDate.svelte b/web-admin/src/features/dashboards/listing/LastRefreshedDate.svelte index 4fb631ca6078..b8381bab7d82 100644 --- a/web-admin/src/features/dashboards/listing/LastRefreshedDate.svelte +++ b/web-admin/src/features/dashboards/listing/LastRefreshedDate.svelte @@ -1,10 +1,12 @@ {#if data} + + + + + + + {m.dashboard_last_refreshed_ago({ time: timeAgo(data) })} + {data.toLocaleString()} + + -
+ diff --git a/web-admin/src/features/dashboards/share/ShareDashboardPopover.svelte b/web-admin/src/features/dashboards/share/ShareDashboardPopover.svelte index a5e263fac9bf..7745552a222a 100644 --- a/web-admin/src/features/dashboards/share/ShareDashboardPopover.svelte +++ b/web-admin/src/features/dashboards/share/ShareDashboardPopover.svelte @@ -24,6 +24,7 @@ import type { PdfExportRunOptions } from "@rilldata/web-common/features/exports/pdf/types"; import ScheduledReportDialog from "@rilldata/web-common/features/scheduled-reports/ScheduledReportDialog.svelte"; import { m } from "@rilldata/web-common/lib/i18n/gen/messages"; + import { Share } from "lucide-svelte"; import { readable } from "svelte/store"; import { getDashboardResourceFromPage } from "@rilldata/web-common/features/dashboards/nav-utils.ts"; import { page } from "$app/stores"; @@ -77,16 +78,24 @@ {#snippet child({ props })} - + {m.avatar_share_dashboard()} {/snippet} - + {m.avatar_copy_url()} diff --git a/web-admin/src/features/embeds/EmbedHeader.svelte b/web-admin/src/features/embeds/EmbedHeader.svelte index b15601ca1a16..0f4ee6235a98 100644 --- a/web-admin/src/features/embeds/EmbedHeader.svelte +++ b/web-admin/src/features/embeds/EmbedHeader.svelte @@ -56,7 +56,7 @@ {#if $isErrorStoreEmpty && shouldRender}
{#if navigationBarEnabled} -