naiv-qr/icons/icon.svg
Ole-Morten Duesund 8fa1809d9d Initial commit: Share-as-QR Firefox extension with bun build
MV3 WebExtension that turns the active tab's URL into a scannable QR
code via a toolbar popup. The popup runs locally — no network requests.

Build pipeline: `bun build` bundles popup.js + the vendored
kazuhikoarase/qrcode-generator (MIT, pinned to 83b7e8f) into a single
~23 KB minified ESM file under dist/. web-ext operates on dist/, so
the packaged zip contains only what actually ships (~28 KB).

Scripts:
- bun run build    — bundle + copy assets into dist/
- bun run lint     — build + web-ext lint (0 errors / 0 warnings)
- bun run package  — build + produce a signable .zip
- bun run start    — build + launch Firefox with the extension loaded

Tracks dogcat epic firefox-share-as-qr-35mw and its 5 child tasks
(scaffold, vendor lib, popup UI, icons, README).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:04:22 +02:00

30 lines
1.2 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" role="img" aria-label="Share as QR">
<rect width="32" height="32" rx="6" fill="#1f2937"/>
<g fill="#f9fafb">
<!-- Top-left finder -->
<path d="M5 5h8v8H5zM7 7v4h4V7z"/>
<rect x="8" y="8" width="2" height="2"/>
<!-- Top-right finder -->
<path d="M19 5h8v8h-8zM21 7v4h4V7z"/>
<rect x="22" y="8" width="2" height="2"/>
<!-- Bottom-left finder -->
<path d="M5 19h8v8H5zM7 21v4h4v-4z"/>
<rect x="8" y="22" width="2" height="2"/>
<!-- Data dots -->
<rect x="15" y="6" width="2" height="2"/>
<rect x="15" y="10" width="2" height="2"/>
<rect x="6" y="15" width="2" height="2"/>
<rect x="10" y="15" width="2" height="2"/>
<rect x="14" y="15" width="2" height="2"/>
<rect x="18" y="15" width="2" height="2"/>
<rect x="22" y="15" width="2" height="2"/>
<rect x="26" y="15" width="2" height="2"/>
<rect x="15" y="20" width="2" height="2"/>
<rect x="19" y="19" width="2" height="2"/>
<rect x="23" y="19" width="2" height="2"/>
<rect x="19" y="23" width="2" height="2"/>
<rect x="25" y="23" width="2" height="2"/>
<rect x="15" y="25" width="2" height="2"/>
<rect x="23" y="25" width="2" height="2"/>
</g>
</svg>