Compare commits
8 Commits
0c4823d263
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
ddcfc8d8d2
|
|||
|
dac44e1b12
|
|||
|
5eb34a0c59
|
|||
|
ef40d25e6a
|
|||
|
718165aa23
|
|||
|
c15adf8e3c
|
|||
|
72f0eab718
|
|||
|
beffd5f4e8
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mifi-ventures-landing",
|
||||
"version": "4.0.1",
|
||||
"version": "4.0.3",
|
||||
"private": true,
|
||||
"repository": "https://git.mifi.dev/mifi-ventures/landing.git",
|
||||
"packageManager": "pnpm@10.31.0+sha512.e3927388bfaa8078ceb79b748ffc1e8274e84d75163e67bc22e06c0d3aed43dd153151cbf11d7f8301ff4acb98c68bdc5cadf6989532801ffafe3b3e4a63c268",
|
||||
@@ -12,11 +12,11 @@
|
||||
"dev": "vite dev",
|
||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"format": "prettier --write \"src/**/*.{ts,js,svelte,css,json}\"",
|
||||
"format": "prettier --write \"src/**/*.{ts,js,svelte,css,json}\" \"static/**/*.{css,html,js}\"",
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint . --fix",
|
||||
"lint:css": "stylelint \"src/**/*.css\" \"src/**/*.svelte\"",
|
||||
"lint:css:fix": "stylelint \"src/**/*.css\" \"src/**/*.svelte\" --fix",
|
||||
"lint:css": "stylelint \"src/**/*.css\" \"src/**/*.svelte\" \"static/**/*.css\"",
|
||||
"lint:css:fix": "stylelint \"src/**/*.css\" \"src/**/*.svelte\" \"static/**/*.css\" --fix",
|
||||
"preview": "serve dist -p 4173",
|
||||
"test": "vitest run",
|
||||
"test:unit": "vitest run",
|
||||
|
||||
@@ -24,4 +24,5 @@ docker run --rm \
|
||||
npx serve dist -p 4173 &
|
||||
sleep 2
|
||||
pnpm exec playwright test
|
||||
pnpm install --config.confirmModulesPurge=false
|
||||
'
|
||||
|
||||
@@ -11,7 +11,9 @@ if [ -n "$CI" ]; then
|
||||
fi
|
||||
|
||||
if command -v docker >/dev/null 2>&1; then
|
||||
exec bash "$(dirname "$0")/run-e2e-in-docker.sh"
|
||||
bash "$(dirname "$0")/run-e2e-in-docker.sh"
|
||||
pnpm install --config.confirmModulesPurge=false
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# No Docker: run in current environment (e.g. devcontainer; same image as CI)
|
||||
|
||||
@@ -28,6 +28,7 @@ if command -v docker >/dev/null 2>&1; then
|
||||
sleep 2
|
||||
pnpm exec playwright test --update-snapshots
|
||||
'
|
||||
pnpm install --config.confirmModulesPurge=false
|
||||
else
|
||||
echo "Updating snapshots in the current environment (matches CI when using the devcontainer)."
|
||||
echo ""
|
||||
|
||||
49
src/app.css
@@ -131,6 +131,50 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* ========================================
|
||||
Local Font Faces
|
||||
======================================== */
|
||||
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-regular.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-500.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Fraunces;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/fraunces-v38-latin-600.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Fraunces;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/fraunces-v38-latin-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* ========================================
|
||||
Base Styles
|
||||
======================================== */
|
||||
@@ -178,6 +222,11 @@ body {
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
strong,
|
||||
b {
|
||||
font-weight: var(--font-weight-bold);
|
||||
}
|
||||
|
||||
/* ========================================
|
||||
Skip Link (Accessibility)
|
||||
======================================== */
|
||||
|
||||
@@ -47,13 +47,6 @@
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/fraunces-v38-latin-700.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-regular.woff2"
|
||||
@@ -61,13 +54,6 @@
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-italic.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-500.woff2"
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
<h2 id={`${section.id}-heading`}>{section.heading}</h2>
|
||||
{#each section.body as para}
|
||||
<p>
|
||||
{#if section.id === 'contact' && para === 'legal@mifi.ventures'}
|
||||
{#if section.id === 'contact' && para === 'mifi Ventures LLC'}
|
||||
<strong>{para}</strong>
|
||||
{:else if section.id === 'contact' && para === 'legal@mifi.ventures'}
|
||||
<a href="mailto:legal@mifi.ventures"
|
||||
>legal@mifi.ventures</a
|
||||
>
|
||||
|
||||
@@ -28,7 +28,9 @@
|
||||
<h2 id={`${section.id}-heading`}>{section.heading}</h2>
|
||||
{#each section.body as para}
|
||||
<p>
|
||||
{#if section.id === 'contact' && para === 'legal@mifi.ventures'}
|
||||
{#if section.id === 'contact' && para === 'mifi Ventures LLC'}
|
||||
<strong>{para}</strong>
|
||||
{:else if section.id === 'contact' && para === 'legal@mifi.ventures'}
|
||||
<a href="mailto:legal@mifi.ventures"
|
||||
>legal@mifi.ventures</a
|
||||
>
|
||||
|
||||
@@ -1,20 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/fraunces-v38-latin-600.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-regular.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-500.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-600.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-700.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/fraunces-v38-latin-700.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<title>404 Not Found — mifi Ventures</title>
|
||||
<meta name="theme-color" content="#0052cc" media="(prefers-color-scheme: light)">
|
||||
<meta name="theme-color" content="#4da6ff" media="(prefers-color-scheme: dark)">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="stylesheet" href="/assets/error-pages.css">
|
||||
</head>
|
||||
<body class="error-page">
|
||||
<meta
|
||||
name="theme-color"
|
||||
content="#0052cc"
|
||||
media="(prefers-color-scheme: light)"
|
||||
/>
|
||||
<meta name="theme-color" content="#4da6ff" media="(prefers-color-scheme: dark)" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="stylesheet" href="/assets/error-pages.css" />
|
||||
</head>
|
||||
<body class="error-page">
|
||||
<main>
|
||||
<div class="emoji" aria-hidden="true">🔍</div>
|
||||
<h1>404 Not Found</h1>
|
||||
<h1 data-testid="404-title">404 Not Found</h1>
|
||||
<p>This page went off to find itself. We’re not sure it’s coming back.</p>
|
||||
<p><a href="/">Back to mifi Ventures →</a></p>
|
||||
</main>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,20 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/fraunces-v38-latin-600.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-regular.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-500.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-600.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/inter-v20-latin-700.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/assets/fonts/fraunces-v38-latin-700.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<title>410 Gone — mifi Ventures</title>
|
||||
<meta name="theme-color" content="#0052cc" media="(prefers-color-scheme: light)">
|
||||
<meta name="theme-color" content="#4da6ff" media="(prefers-color-scheme: dark)">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="stylesheet" href="/assets/error-pages.css">
|
||||
</head>
|
||||
<body class="error-page">
|
||||
<meta
|
||||
name="theme-color"
|
||||
content="#0052cc"
|
||||
media="(prefers-color-scheme: light)"
|
||||
/>
|
||||
<meta name="theme-color" content="#4da6ff" media="(prefers-color-scheme: dark)" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="stylesheet" href="/assets/error-pages.css" />
|
||||
</head>
|
||||
<body class="error-page">
|
||||
<main>
|
||||
<div class="emoji" aria-hidden="true">👋</div>
|
||||
<h1>410 Gone</h1>
|
||||
<h1 data-testid="410-title">410 Gone</h1>
|
||||
<p>This page has left the building. We’ve moved on—and so should you.</p>
|
||||
<p><a href="/">Back to mifi Ventures →</a></p>
|
||||
</main>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -32,28 +32,47 @@
|
||||
}
|
||||
|
||||
/* Local fonts — same paths as +layout.svelte preloads */
|
||||
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-regular.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-500.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fraunces';
|
||||
font-family: Inter;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/inter-v20-latin-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Fraunces;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/fraunces-v38-latin-600.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Fraunces;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('/assets/fonts/fraunces-v38-latin-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* Error page layout */
|
||||
.error-page {
|
||||
margin: 0;
|
||||
@@ -67,15 +86,18 @@
|
||||
color: var(--ep-text);
|
||||
background-color: var(--ep-bg-alt);
|
||||
}
|
||||
|
||||
.error-page main {
|
||||
text-align: center;
|
||||
padding: 2rem 1.5rem;
|
||||
max-width: 28rem;
|
||||
}
|
||||
|
||||
.error-page .emoji {
|
||||
font-size: 4rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.error-page h1 {
|
||||
font-family: var(--ep-font-heading);
|
||||
font-size: 2rem;
|
||||
@@ -83,19 +105,23 @@
|
||||
margin: 0 0 0.75rem;
|
||||
color: var(--ep-text);
|
||||
}
|
||||
|
||||
.error-page p {
|
||||
margin: 0 0 1.5rem;
|
||||
color: var(--ep-text-secondary);
|
||||
}
|
||||
|
||||
.error-page a {
|
||||
color: var(--ep-primary);
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.error-page a:hover {
|
||||
color: var(--ep-primary-hover);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.error-page a:focus-visible {
|
||||
outline: 2px solid var(--ep-primary);
|
||||
outline-offset: 2px;
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
var hasLoadedThirdParty = false;
|
||||
|
||||
// Trusted Types support (for CSP `require-trusted-types-for 'script'`)
|
||||
// Clarity's tag script looks up window.trustedTypePolicies[policyName] to load its inner script;
|
||||
// we must expose the policy there for Safari (and other browsers) to avoid TT violations.
|
||||
var ttPolicy = null;
|
||||
try {
|
||||
if (
|
||||
@@ -23,6 +25,14 @@
|
||||
return url;
|
||||
},
|
||||
});
|
||||
|
||||
if (ttPolicy && !window.trustedTypePolicies) {
|
||||
window.trustedTypePolicies = {};
|
||||
}
|
||||
|
||||
if (ttPolicy) {
|
||||
window.trustedTypePolicies['mifi-ventures-policy'] = ttPolicy;
|
||||
}
|
||||
}
|
||||
} catch (_) {
|
||||
ttPolicy = null;
|
||||
@@ -65,15 +75,29 @@
|
||||
console.error('Failed to load Google Analytics', e);
|
||||
}
|
||||
|
||||
// Microsoft Clarity
|
||||
// Microsoft Clarity – use the official loader snippet so that
|
||||
// window.clarity is defined before the tag script runs.
|
||||
try {
|
||||
var clarityScript = document.createElement('script');
|
||||
clarityScript.defer = true;
|
||||
(function (c, l, a, r, i, t, y) {
|
||||
c[a] =
|
||||
c[a] ||
|
||||
function () {
|
||||
(c[a].q = c[a].q || []).push(arguments);
|
||||
};
|
||||
t = l.createElement(r);
|
||||
t.async = 1;
|
||||
setScriptSrc(
|
||||
clarityScript,
|
||||
'https://www.clarity.ms/tag/vuo5q3yf79?ref=bwt',
|
||||
t,
|
||||
`https://www.clarity.ms/tag/${i}?trustedTypes=mifi-ventures-policy`,
|
||||
);
|
||||
document.head.appendChild(clarityScript);
|
||||
y = l.getElementsByTagName(r)[0];
|
||||
y.parentNode.insertBefore(t, y);
|
||||
})(window, document, 'clarity', 'script', 'vuo5q3yf79');
|
||||
|
||||
window.clarity('consentv2', {
|
||||
ad_Storage: 'granted',
|
||||
analytics_Storage: 'granted',
|
||||
});
|
||||
} catch (e2) {
|
||||
console.error('Failed to load Microsoft Clarity', e2);
|
||||
}
|
||||
@@ -142,4 +166,3 @@
|
||||
init();
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){ window.dataLayer.push(arguments); }
|
||||
function gtag() {
|
||||
window.dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag("js", new Date());
|
||||
gtag("config", "G-36F29PDKRT", {
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-36F29PDKRT', {
|
||||
// optional, but often helpful:
|
||||
anonymize_ip: true,
|
||||
});
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
const MOBILE_BREAKPOINT_PX = 768;
|
||||
|
||||
/** All focusable elements inside the menu (links). */
|
||||
const getMenuFocusables = (menu) =>
|
||||
menu.querySelectorAll('a[href]');
|
||||
const getMenuFocusables = (menu) => menu.querySelectorAll('a[href]');
|
||||
|
||||
const mobileMenuHelper = () => {
|
||||
const mobileMenu = document.getElementById('nav-menu');
|
||||
@@ -15,10 +14,7 @@ const mobileMenuHelper = () => {
|
||||
const syncMenuAriaHidden = () => {
|
||||
if (isMobile()) {
|
||||
const hidden = !mobileMenuToggle.checked;
|
||||
mobileMenu.setAttribute(
|
||||
'aria-hidden',
|
||||
hidden ? 'true' : 'false',
|
||||
);
|
||||
mobileMenu.setAttribute('aria-hidden', hidden ? 'true' : 'false');
|
||||
// inert removes the subtree from the a11y tree and makes descendants non-focusable
|
||||
if (hidden) {
|
||||
mobileMenu.setAttribute('inert', '');
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
// Umami: safe track (no-op if script blocked or not loaded)
|
||||
function umamiTrack(name, data) {
|
||||
if (
|
||||
typeof window.umami !== 'undefined' &&
|
||||
typeof window.umami.track === 'function'
|
||||
) {
|
||||
if (typeof window.umami !== 'undefined' && typeof window.umami.track === 'function') {
|
||||
if (data != null) window.umami.track(name, data);
|
||||
else window.umami.track(name);
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@ describe('cookie-consent.js', () => {
|
||||
dom = createBannerDOM();
|
||||
|
||||
const code = readFileSync(SCRIPT_PATH, 'utf8');
|
||||
// eslint-disable-next-line no-eval
|
||||
eval(code);
|
||||
document.dispatchEvent(new Event('DOMContentLoaded'));
|
||||
});
|
||||
@@ -62,7 +61,6 @@ describe('cookie-consent.js', () => {
|
||||
const appendChildSpy = vi.spyOn(document.head, 'appendChild');
|
||||
|
||||
const code = readFileSync(SCRIPT_PATH, 'utf8');
|
||||
// eslint-disable-next-line no-eval
|
||||
eval(code);
|
||||
document.dispatchEvent(new Event('DOMContentLoaded'));
|
||||
|
||||
@@ -82,7 +80,6 @@ describe('cookie-consent.js', () => {
|
||||
const appendChildSpy = vi.spyOn(document.head, 'appendChild');
|
||||
|
||||
const code = readFileSync(SCRIPT_PATH, 'utf8');
|
||||
// eslint-disable-next-line no-eval
|
||||
eval(code);
|
||||
document.dispatchEvent(new Event('DOMContentLoaded'));
|
||||
|
||||
|
||||
@@ -140,4 +140,16 @@ test.describe('visual regression', () => {
|
||||
await expect(page.locator('#cookie-banner')).not.toBeVisible();
|
||||
await expect(page).toHaveScreenshot('terms-of-service.png', { fullPage: true });
|
||||
});
|
||||
|
||||
test('404 page matches snapshot', async ({ page }) => {
|
||||
await page.goto('/404');
|
||||
await expect(page).toHaveTitle(/404 | mifi Ventures/);
|
||||
await expect(page).toHaveScreenshot('404.png', { fullPage: true });
|
||||
});
|
||||
|
||||
test('410 page matches snapshot', async ({ page }) => {
|
||||
await page.goto('/410');
|
||||
await expect(page).toHaveTitle(/410 | mifi Ventures/);
|
||||
await expect(page).toHaveScreenshot('410.png', { fullPage: true });
|
||||
});
|
||||
});
|
||||
|
||||
BIN
tests/visual.spec.ts-snapshots/404-chromium-desktop-linux.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
tests/visual.spec.ts-snapshots/404-chromium-mobile-linux.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
tests/visual.spec.ts-snapshots/410-chromium-desktop-linux.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
tests/visual.spec.ts-snapshots/410-chromium-mobile-linux.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 554 KiB After Width: | Height: | Size: 419 KiB |
|
Before Width: | Height: | Size: 571 KiB After Width: | Height: | Size: 611 KiB |
|
Before Width: | Height: | Size: 784 KiB After Width: | Height: | Size: 566 KiB |
|
Before Width: | Height: | Size: 801 KiB After Width: | Height: | Size: 845 KiB |
|
Before Width: | Height: | Size: 397 KiB After Width: | Height: | Size: 297 KiB |
|
Before Width: | Height: | Size: 398 KiB After Width: | Height: | Size: 430 KiB |
|
Before Width: | Height: | Size: 805 KiB After Width: | Height: | Size: 583 KiB |
|
Before Width: | Height: | Size: 817 KiB After Width: | Height: | Size: 872 KiB |
|
Before Width: | Height: | Size: 927 KiB After Width: | Height: | Size: 683 KiB |
|
Before Width: | Height: | Size: 941 KiB After Width: | Height: | Size: 1011 KiB |
|
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 544 KiB |
|
Before Width: | Height: | Size: 695 KiB After Width: | Height: | Size: 748 KiB |
|
Before Width: | Height: | Size: 886 KiB After Width: | Height: | Size: 635 KiB |
|
Before Width: | Height: | Size: 891 KiB After Width: | Height: | Size: 961 KiB |
|
Before Width: | Height: | Size: 494 KiB After Width: | Height: | Size: 356 KiB |
|
Before Width: | Height: | Size: 506 KiB After Width: | Height: | Size: 532 KiB |