Skip to content

Commit 68b5ed3

Browse files
committed
feat(extension): branded toolbar/store icons (16/48/128 from bag mark)
1 parent eba7737 commit 68b5ed3

8 files changed

Lines changed: 266 additions & 1 deletion

File tree

extension/icon.svg

Lines changed: 5 additions & 0 deletions
Loading

extension/icons/128.png

2.18 KB
Loading

extension/icons/16.png

347 Bytes
Loading

extension/icons/48.png

909 Bytes
Loading

extension/manifest.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33
"name": "shoplit — add to cart",
44
"version": "0.1.0",
55
"description": "Add any product to your shoplit cart from Amazon, Myntra, Nykaa, Flipkart, AJIO.",
6-
"action": { "default_popup": "popup.html", "default_title": "Add to shoplit" },
6+
"icons": { "16": "icons/16.png", "48": "icons/48.png", "128": "icons/128.png" },
7+
"action": {
8+
"default_popup": "popup.html",
9+
"default_title": "Add to shoplit",
10+
"default_icon": { "16": "icons/16.png", "48": "icons/48.png", "128": "icons/128.png" }
11+
},
712
"background": { "service_worker": "service-worker.js", "type": "module" },
813
"permissions": ["activeTab", "scripting", "storage"],
914
"host_permissions": [

extension/package-lock.json

Lines changed: 241 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extension/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
"type": "module",
66
"scripts": {
77
"build": "node build.mjs",
8+
"icons": "node scripts/gen-icons.mjs",
89
"test": "vitest run"
910
},
1011
"devDependencies": {
12+
"@resvg/resvg-js": "^2.6.2",
1113
"@types/chrome": "^0.0.268",
1214
"@types/jsdom": "^28.0.3",
1315
"@types/node": "^25.9.1",

extension/scripts/gen-icons.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Render icon.svg → PNG icons (16/48/128) for the extension. Run: npm run icons
2+
import { Resvg } from "@resvg/resvg-js";
3+
import { readFileSync, mkdirSync, writeFileSync } from "node:fs";
4+
5+
const svg = readFileSync(new URL("../icon.svg", import.meta.url), "utf8");
6+
mkdirSync(new URL("../icons", import.meta.url), { recursive: true });
7+
8+
for (const size of [16, 48, 128]) {
9+
const png = new Resvg(svg, { fitTo: { mode: "width", value: size } }).render().asPng();
10+
writeFileSync(new URL(`../icons/${size}.png`, import.meta.url), png);
11+
console.log(`icons/${size}.png`);
12+
}

0 commit comments

Comments
 (0)