diff --git a/public/favicon-16.png b/public/favicon-16.png new file mode 100644 index 0000000..195575c Binary files /dev/null and b/public/favicon-16.png differ diff --git a/public/favicon-32.png b/public/favicon-32.png new file mode 100644 index 0000000..1b0327c Binary files /dev/null and b/public/favicon-32.png differ diff --git a/scripts/verify-build.mjs b/scripts/verify-build.mjs index 6cdbe8b..648d3c9 100644 --- a/scripts/verify-build.mjs +++ b/scripts/verify-build.mjs @@ -52,6 +52,8 @@ const REQUIRED_STATIC = [ 'robots.txt', 'og-default.png', 'favicon.ico', + 'favicon-16.png', + 'favicon-32.png', 'sitemap-index.xml', ]; diff --git a/src/components/CopyCommand.astro b/src/components/CopyCommand.astro index 25880dc..8c4cbff 100644 --- a/src/components/CopyCommand.astro +++ b/src/components/CopyCommand.astro @@ -60,7 +60,7 @@ const { display, copy = display, prompt = true } = Astro.props; if (status) status.textContent = 'Copied to clipboard'; } catch { button.textContent = 'Press ⌘C'; - if (status) status.textContent = 'Copy failed — press Control or Command + C'; + if (status) status.textContent = 'Copy failed. Press Control or Command + C instead.'; } window.setTimeout(() => { button.textContent = 'Copy'; diff --git a/src/data/fit.ts b/src/data/fit.ts index ba551e7..9b689a0 100644 --- a/src/data/fit.ts +++ b/src/data/fit.ts @@ -116,14 +116,14 @@ export const QUESTIONS: readonly Question[] = [ { id: 'mac', question: 'Do you have a Mac, or a way to get one?', - help: "This is the big one. BlueBubbles needs a Mac signed in to iMessage to do the actual talking — there's no way around it.", + help: "This is the big one. BlueBubbles needs a Mac signed in to iMessage to do the actual talking, and there is no way around it.", choices: [ { id: 'have', label: 'Yes, I have a Mac', tone: 'good' }, { id: 'buy', label: 'I could pick up a cheap old one', tone: 'good', - note: 'A second-hand Mac mini is the usual route. It does not need to be fast — it only relays messages.', + note: 'A second-hand Mac mini is the usual route. It only relays messages, so it does not need to be fast.', }, { id: 'vm', @@ -175,7 +175,7 @@ export const QUESTIONS: readonly Question[] = [ reason: 'the Mac belongs to a school or employer', tone: 'warn', blocks: true, - note: 'Probably not for you. BlueBubbles needs Full Disk Access and, for the extra features, a helper installed into Messages. Managed Macs usually block both — and doing it anyway may well breach the device policy you agreed to. Use a personal Mac instead.', + note: 'Probably not for you. BlueBubbles needs Full Disk Access and, for the extra features, a helper installed into Messages. Managed Macs usually block both, and doing it anyway may well breach the device policy you agreed to. Use a personal Mac instead.', }, ], }, @@ -245,7 +245,7 @@ export interface Verdict { export const VERDICTS: Record = { yes: { id: 'yes', - title: 'Yes — this is built for you', + title: 'Yes, this is built for you', blurb: 'You have what BlueBubbles needs, and none of the usual blockers. Install the server on your Mac, then the app wherever you want to read your messages.', }, maybe: { diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index f2a2531..8d880f0 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -43,7 +43,12 @@ const { title, description, keywords, path, ogImage, ogType, noindex } = Astro.p - + {/* sizes="any" on the .ico: it holds 16, 24, 32 and 48px entries, and the + old markup claimed 48x48, which stopped browsers choosing the right one + for a tab. The PNGs are crisper where a browser prefers them. */} + + + diff --git a/src/pages/is-it-for-me/index.astro b/src/pages/is-it-for-me/index.astro index 7f52ce0..c8ffec2 100644 --- a/src/pages/is-it-for-me/index.astro +++ b/src/pages/is-it-for-me/index.astro @@ -13,7 +13,7 @@ import { LINKS, SITE } from '@data/site'; >