feat: start implement mvp

This commit is contained in:
2026-02-03 21:30:14 +05:00
parent 3f35247928
commit ac864e3791
10 changed files with 1132 additions and 2 deletions
+167 -1
View File
@@ -8,7 +8,12 @@
"name": "twitch-panels",
"version": "0.0.1",
"dependencies": {
"svelte-konva": "^1.0.1"
"@types/cropperjs": "^1.1.5",
"@types/uuid": "^10.0.0",
"cropperjs": "^2.1.0",
"file-saver": "^2.0.5",
"svelte-konva": "^1.0.1",
"uuid": "^13.0.0"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0",
@@ -22,6 +27,126 @@
"vite": "^7.3.1"
}
},
"node_modules/@cropper/element": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element/-/element-2.1.0.tgz",
"integrity": "sha512-2zELddqHQNmlvkPoiYzE5nxEjPE+C8nXoTPuvV3FvLp3YjBinc7qb73Icg9UXP0o9qC4+h9q96JgGo0AyMO/Ng==",
"license": "MIT",
"dependencies": {
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-canvas": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-canvas/-/element-canvas-2.1.0.tgz",
"integrity": "sha512-el+rfJpZxsD2q5XxDBA4fRczcrOqB65Lb7roqXOq8LKufwf4bPWA9C6DjNJJahh/TP94dsLIEy3tSkgRMDv3Aw==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-crosshair": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-crosshair/-/element-crosshair-2.1.0.tgz",
"integrity": "sha512-0V589dAx8uZAfvJwdINLn76gfPQEafPH94ukjJ76uX0FCUovLaAVX+VRD/MDSYn0Mza/xejzmL9Dhd1DfemvmA==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-grid": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-grid/-/element-grid-2.1.0.tgz",
"integrity": "sha512-dEnk0rO+vp553LMvsPYgfrqVFcYXeVFrgFeavBYYEhAXtO40p7kN4rmLYLMMjaN+T/Mx2BATv6kUQpALKy2HLw==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-handle": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-handle/-/element-handle-2.1.0.tgz",
"integrity": "sha512-8BklWA4C/2GGAULupIWleSnGutECvYt3vx9flodqDfZpDEozws4LgLqmmzVuQmVkRVUdLnXdtx28kjgWLtzkHg==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-image": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-image/-/element-image-2.1.0.tgz",
"integrity": "sha512-mXOV8ixJvG0XtTxLebYAKDjEkFbFOQnsF02hXPZk1yQSV0J+LLhN7a2NePrtKnoTsEV19fhhX3UorMoyGGxvzg==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/element-canvas": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-selection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-selection/-/element-selection-2.1.0.tgz",
"integrity": "sha512-mtFtBl6HIa/s9TWohXw+Z5eJoeYTqylrIcHvS7oVv0uM7IyeRwBW65Q7z+KtLfq/LW+2Sw/XDyvR+VN/DawBPw==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/element-canvas": "^2.1.0",
"@cropper/element-image": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-shade": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-shade/-/element-shade-2.1.0.tgz",
"integrity": "sha512-zMdyqbb0lc0Vd1oj2Z1miIZvhyZG41OXMHvrNt0hNwblh0dVdrvtw48lnFDgRv+672vt2CNx7Q04GuvCQfPlgg==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/element-canvas": "^2.1.0",
"@cropper/element-selection": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/element-viewer": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/element-viewer/-/element-viewer-2.1.0.tgz",
"integrity": "sha512-XnxlQuqHitd1FOFZ6E0yXAF5NYd/LyIvONLLHI9p1rJw747WYKUPxQaSYtFKF7IOizJu/8mMj++Zc1dZ5ZP3YQ==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/element-canvas": "^2.1.0",
"@cropper/element-image": "^2.1.0",
"@cropper/element-selection": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/@cropper/elements": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/elements/-/elements-2.1.0.tgz",
"integrity": "sha512-qvzlYDn3VQgPPpsCu6Gi1XUO0v3vpXQFSjjxcVijbXeNsl/eiKrN7H9/CEiRgi5vr8kXfd7ZvgYxBjUBbH+y+w==",
"license": "MIT",
"dependencies": {
"@cropper/element": "^2.1.0",
"@cropper/element-canvas": "^2.1.0",
"@cropper/element-crosshair": "^2.1.0",
"@cropper/element-grid": "^2.1.0",
"@cropper/element-handle": "^2.1.0",
"@cropper/element-image": "^2.1.0",
"@cropper/element-selection": "^2.1.0",
"@cropper/element-shade": "^2.1.0",
"@cropper/element-viewer": "^2.1.0"
}
},
"node_modules/@cropper/utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@cropper/utils/-/utils-2.1.0.tgz",
"integrity": "sha512-wLtpZ4/UWgo+fGmG8NBWge8x5ehjfDe9ovleDfLy8kpwFaw43XXOEXQtRL1UNr0u4JZxaeO8FcXcolRWUUrlRQ==",
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
@@ -991,6 +1116,12 @@
"dev": true,
"license": "MIT"
},
"node_modules/@types/cropperjs": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/@types/cropperjs/-/cropperjs-1.1.5.tgz",
"integrity": "sha512-ofxLqZgZK6qtTjPedXfnph2nodHueejdNLtH/ljaNbM8rGRZg17YdBORJ/xYtKBdsonc7bIYKLGBfTGu/IQtcg==",
"license": "MIT"
},
"node_modules/@types/estree": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
@@ -1007,6 +1138,12 @@
"undici-types": "~7.16.0"
}
},
"node_modules/@types/uuid": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz",
"integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==",
"license": "MIT"
},
"node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
@@ -1072,6 +1209,16 @@
"node": ">= 0.6"
}
},
"node_modules/cropperjs": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-2.1.0.tgz",
"integrity": "sha512-SsSDqdVRl+mjbIBkGWlk1gCGcc+HzBqCbH5EQ+1tkAFUdxq2KUGukXF1RqhmvXrrdrX7PDwSUkWgXS7E36KvGQ==",
"license": "MIT",
"dependencies": {
"@cropper/elements": "^2.1.0",
"@cropper/utils": "^2.1.0"
}
},
"node_modules/deepmerge": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
@@ -1163,6 +1310,12 @@
}
}
},
"node_modules/file-saver": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
"integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==",
"license": "MIT"
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -1544,6 +1697,19 @@
"dev": true,
"license": "MIT"
},
"node_modules/uuid": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
"integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
"uuid": "dist-node/bin/uuid"
}
},
"node_modules/vite": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",