soem changes
This commit is contained in:
parent
e3da619b0a
commit
49677f2d9b
8 changed files with 225 additions and 117 deletions
|
|
@ -130,40 +130,40 @@ let
|
|||
sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
|
||||
};
|
||||
};
|
||||
"@shikijs/core-1.22.1" = {
|
||||
"@shikijs/core-1.22.2" = {
|
||||
name = "_at_shikijs_slash_core";
|
||||
packageName = "@shikijs/core";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@shikijs/core/-/core-1.22.1.tgz";
|
||||
sha512 = "bqAhT/Ri5ixV4oYsvJNH8UJjpjbINWlWyXY6tBTsP4OmD6XnFv43nRJ+lTdxd2rmG5pgam/x+zGR6kLRXrpEKA==";
|
||||
url = "https://registry.npmjs.org/@shikijs/core/-/core-1.22.2.tgz";
|
||||
sha512 = "bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==";
|
||||
};
|
||||
};
|
||||
"@shikijs/engine-javascript-1.22.1" = {
|
||||
"@shikijs/engine-javascript-1.22.2" = {
|
||||
name = "_at_shikijs_slash_engine-javascript";
|
||||
packageName = "@shikijs/engine-javascript";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.1.tgz";
|
||||
sha512 = "540pyoy0LWe4jj2BVbgELwOFu1uFvRI7lg4hdsExrSXA9x7gqfzZ/Nnh4RfX86aDAgJ647gx4TCmRwACbnQSvw==";
|
||||
url = "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.2.tgz";
|
||||
sha512 = "iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==";
|
||||
};
|
||||
};
|
||||
"@shikijs/engine-oniguruma-1.22.1" = {
|
||||
"@shikijs/engine-oniguruma-1.22.2" = {
|
||||
name = "_at_shikijs_slash_engine-oniguruma";
|
||||
packageName = "@shikijs/engine-oniguruma";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.1.tgz";
|
||||
sha512 = "L+1Vmd+a2kk8HtogUFymQS6BjUfJnzcWoUp1BUgxoDiklbKSMvrsMuLZGevTOP1m0rEjgnC5MsDmsr8lX1lC+Q==";
|
||||
url = "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.2.tgz";
|
||||
sha512 = "GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==";
|
||||
};
|
||||
};
|
||||
"@shikijs/types-1.22.1" = {
|
||||
"@shikijs/types-1.22.2" = {
|
||||
name = "_at_shikijs_slash_types";
|
||||
packageName = "@shikijs/types";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@shikijs/types/-/types-1.22.1.tgz";
|
||||
sha512 = "+45f8mu/Hxqs6Kyhfm98Nld5n7Q7lwhjU8UtdQwrOPs7BnM4VAb929O3IQ2ce+4D7SlNFlZGd8CnKRSnwbQreQ==";
|
||||
url = "https://registry.npmjs.org/@shikijs/types/-/types-1.22.2.tgz";
|
||||
sha512 = "NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==";
|
||||
};
|
||||
};
|
||||
"@shikijs/vscode-textmate-9.3.0" = {
|
||||
|
|
@ -175,13 +175,13 @@ let
|
|||
sha512 = "jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==";
|
||||
};
|
||||
};
|
||||
"@swc/core-1.7.40" = {
|
||||
"@swc/core-1.9.2" = {
|
||||
name = "_at_swc_slash_core";
|
||||
packageName = "@swc/core";
|
||||
version = "1.7.40";
|
||||
version = "1.9.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/core/-/core-1.7.40.tgz";
|
||||
sha512 = "0HIzM5vigVT5IvNum+pPuST9p8xFhN6mhdIKju7qYYeNuZG78lwms/2d8WgjTJJlzp6JlPguXGrMMNzjQw0qNg==";
|
||||
url = "https://registry.npmjs.org/@swc/core/-/core-1.9.2.tgz";
|
||||
sha512 = "dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==";
|
||||
};
|
||||
};
|
||||
"@swc/counter-0.1.3" = {
|
||||
|
|
@ -193,31 +193,31 @@ let
|
|||
sha512 = "e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==";
|
||||
};
|
||||
};
|
||||
"@swc/helpers-0.5.13" = {
|
||||
"@swc/helpers-0.5.15" = {
|
||||
name = "_at_swc_slash_helpers";
|
||||
packageName = "@swc/helpers";
|
||||
version = "0.5.13";
|
||||
version = "0.5.15";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz";
|
||||
sha512 = "UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==";
|
||||
url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz";
|
||||
sha512 = "JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==";
|
||||
};
|
||||
};
|
||||
"@swc/types-0.1.13" = {
|
||||
"@swc/types-0.1.15" = {
|
||||
name = "_at_swc_slash_types";
|
||||
packageName = "@swc/types";
|
||||
version = "0.1.13";
|
||||
version = "0.1.15";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz";
|
||||
sha512 = "JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==";
|
||||
url = "https://registry.npmjs.org/@swc/types/-/types-0.1.15.tgz";
|
||||
sha512 = "XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==";
|
||||
};
|
||||
};
|
||||
"@swc/wasm-1.7.40" = {
|
||||
"@swc/wasm-1.9.2" = {
|
||||
name = "_at_swc_slash_wasm";
|
||||
packageName = "@swc/wasm";
|
||||
version = "1.7.40";
|
||||
version = "1.9.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.7.40.tgz";
|
||||
sha512 = "Qz7kpC9hMnHPp3fwDZldO/ZzcM/fyBW3Zbzv1m5EtvUpdKS/CAWMpGL2/AMEfM0k4gHHzI23IQcOueUYLnufQQ==";
|
||||
url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.9.2.tgz";
|
||||
sha512 = "Upy/08XJ4nw6Zv6k/lj/w1DdHHAL7iYjBJYAe1EjYe2yJCdlK301I+gl0pUdaq+87dEAzDeqOuCUE/YyEUVDAg==";
|
||||
};
|
||||
};
|
||||
"@tailwindcss/forms-0.5.9" = {
|
||||
|
|
@ -283,13 +283,13 @@ let
|
|||
sha512 = "kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==";
|
||||
};
|
||||
};
|
||||
"@types/node-22.8.1" = {
|
||||
"@types/node-22.9.0" = {
|
||||
name = "_at_types_slash_node";
|
||||
packageName = "@types/node";
|
||||
version = "22.8.1";
|
||||
version = "22.9.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz";
|
||||
sha512 = "k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==";
|
||||
url = "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz";
|
||||
sha512 = "vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==";
|
||||
};
|
||||
};
|
||||
"@types/unist-3.0.3" = {
|
||||
|
|
@ -310,13 +310,13 @@ let
|
|||
sha512 = "zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==";
|
||||
};
|
||||
};
|
||||
"acorn-8.13.0" = {
|
||||
"acorn-8.14.0" = {
|
||||
name = "acorn";
|
||||
packageName = "acorn";
|
||||
version = "8.13.0";
|
||||
version = "8.14.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz";
|
||||
sha512 = "8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==";
|
||||
url = "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz";
|
||||
sha512 = "cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==";
|
||||
};
|
||||
};
|
||||
"acorn-walk-8.3.4" = {
|
||||
|
|
@ -526,13 +526,13 @@ let
|
|||
sha512 = "dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==";
|
||||
};
|
||||
};
|
||||
"cross-spawn-7.0.3" = {
|
||||
"cross-spawn-7.0.5" = {
|
||||
name = "cross-spawn";
|
||||
packageName = "cross-spawn";
|
||||
version = "7.0.3";
|
||||
version = "7.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz";
|
||||
sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
|
||||
url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz";
|
||||
sha512 = "ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==";
|
||||
};
|
||||
};
|
||||
"cssesc-3.0.0" = {
|
||||
|
|
@ -886,49 +886,49 @@ let
|
|||
sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
|
||||
};
|
||||
};
|
||||
"micromark-util-character-2.1.0" = {
|
||||
"micromark-util-character-2.1.1" = {
|
||||
name = "micromark-util-character";
|
||||
packageName = "micromark-util-character";
|
||||
version = "2.1.0";
|
||||
version = "2.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz";
|
||||
sha512 = "KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==";
|
||||
url = "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz";
|
||||
sha512 = "wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==";
|
||||
};
|
||||
};
|
||||
"micromark-util-encode-2.0.0" = {
|
||||
"micromark-util-encode-2.0.1" = {
|
||||
name = "micromark-util-encode";
|
||||
packageName = "micromark-util-encode";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz";
|
||||
sha512 = "pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==";
|
||||
url = "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz";
|
||||
sha512 = "c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==";
|
||||
};
|
||||
};
|
||||
"micromark-util-sanitize-uri-2.0.0" = {
|
||||
"micromark-util-sanitize-uri-2.0.1" = {
|
||||
name = "micromark-util-sanitize-uri";
|
||||
packageName = "micromark-util-sanitize-uri";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz";
|
||||
sha512 = "WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==";
|
||||
url = "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz";
|
||||
sha512 = "9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==";
|
||||
};
|
||||
};
|
||||
"micromark-util-symbol-2.0.0" = {
|
||||
"micromark-util-symbol-2.0.1" = {
|
||||
name = "micromark-util-symbol";
|
||||
packageName = "micromark-util-symbol";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz";
|
||||
sha512 = "8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==";
|
||||
url = "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz";
|
||||
sha512 = "vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==";
|
||||
};
|
||||
};
|
||||
"micromark-util-types-2.0.0" = {
|
||||
"micromark-util-types-2.0.1" = {
|
||||
name = "micromark-util-types";
|
||||
packageName = "micromark-util-types";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz";
|
||||
sha512 = "oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==";
|
||||
url = "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz";
|
||||
sha512 = "534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==";
|
||||
};
|
||||
};
|
||||
"micromatch-4.0.8" = {
|
||||
|
|
@ -1120,13 +1120,13 @@ let
|
|||
sha512 = "saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==";
|
||||
};
|
||||
};
|
||||
"postcss-8.4.47" = {
|
||||
"postcss-8.4.49" = {
|
||||
name = "postcss";
|
||||
packageName = "postcss";
|
||||
version = "8.4.47";
|
||||
version = "8.4.49";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz";
|
||||
sha512 = "56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==";
|
||||
url = "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz";
|
||||
sha512 = "OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==";
|
||||
};
|
||||
};
|
||||
"postcss-import-15.1.0" = {
|
||||
|
|
@ -1219,13 +1219,13 @@ let
|
|||
sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
|
||||
};
|
||||
};
|
||||
"regex-4.3.3" = {
|
||||
"regex-4.4.0" = {
|
||||
name = "regex";
|
||||
packageName = "regex";
|
||||
version = "4.3.3";
|
||||
version = "4.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz";
|
||||
sha512 = "r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==";
|
||||
url = "https://registry.npmjs.org/regex/-/regex-4.4.0.tgz";
|
||||
sha512 = "uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==";
|
||||
};
|
||||
};
|
||||
"resolve-1.22.8" = {
|
||||
|
|
@ -1273,13 +1273,13 @@ let
|
|||
sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
|
||||
};
|
||||
};
|
||||
"shiki-1.22.1" = {
|
||||
"shiki-1.22.2" = {
|
||||
name = "shiki";
|
||||
packageName = "shiki";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/shiki/-/shiki-1.22.1.tgz";
|
||||
sha512 = "PbJ6XxrWLMwB2rm3qdjIHNm3zq4SfFnOx0B3rEoi4AN8AUngsdyZ1tRe5slMPtn6jQkbUURLNZPpLR7Do3k78g==";
|
||||
url = "https://registry.npmjs.org/shiki/-/shiki-1.22.2.tgz";
|
||||
sha512 = "3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==";
|
||||
};
|
||||
};
|
||||
"signal-exit-4.1.0" = {
|
||||
|
|
@ -1390,6 +1390,15 @@ let
|
|||
sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
|
||||
};
|
||||
};
|
||||
"tailwind-scrollbar-3.1.0" = {
|
||||
name = "tailwind-scrollbar";
|
||||
packageName = "tailwind-scrollbar";
|
||||
version = "3.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz";
|
||||
sha512 = "pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==";
|
||||
};
|
||||
};
|
||||
"tailwindcss-3.4.14" = {
|
||||
name = "tailwindcss";
|
||||
packageName = "tailwindcss";
|
||||
|
|
@ -1462,13 +1471,13 @@ let
|
|||
sha512 = "f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==";
|
||||
};
|
||||
};
|
||||
"tslib-2.8.0" = {
|
||||
"tslib-2.8.1" = {
|
||||
name = "tslib";
|
||||
packageName = "tslib";
|
||||
version = "2.8.0";
|
||||
version = "2.8.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz";
|
||||
sha512 = "jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==";
|
||||
url = "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz";
|
||||
sha512 = "oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==";
|
||||
};
|
||||
};
|
||||
"typescript-5.6.3" = {
|
||||
|
|
@ -1647,16 +1656,16 @@ let
|
|||
sources."@nodelib/fs.scandir-2.1.5"
|
||||
sources."@nodelib/fs.stat-2.0.5"
|
||||
sources."@nodelib/fs.walk-1.2.8"
|
||||
sources."@shikijs/core-1.22.1"
|
||||
sources."@shikijs/engine-javascript-1.22.1"
|
||||
sources."@shikijs/engine-oniguruma-1.22.1"
|
||||
sources."@shikijs/types-1.22.1"
|
||||
sources."@shikijs/core-1.22.2"
|
||||
sources."@shikijs/engine-javascript-1.22.2"
|
||||
sources."@shikijs/engine-oniguruma-1.22.2"
|
||||
sources."@shikijs/types-1.22.2"
|
||||
sources."@shikijs/vscode-textmate-9.3.0"
|
||||
sources."@swc/core-1.7.40"
|
||||
sources."@swc/core-1.9.2"
|
||||
sources."@swc/counter-0.1.3"
|
||||
sources."@swc/helpers-0.5.13"
|
||||
sources."@swc/types-0.1.13"
|
||||
sources."@swc/wasm-1.7.40"
|
||||
sources."@swc/helpers-0.5.15"
|
||||
sources."@swc/types-0.1.15"
|
||||
sources."@swc/wasm-1.9.2"
|
||||
sources."@tailwindcss/forms-0.5.9"
|
||||
sources."@tsconfig/node10-1.0.11"
|
||||
sources."@tsconfig/node12-1.0.11"
|
||||
|
|
@ -1664,10 +1673,10 @@ let
|
|||
sources."@tsconfig/node16-1.0.4"
|
||||
sources."@types/hast-3.0.4"
|
||||
sources."@types/mdast-4.0.4"
|
||||
sources."@types/node-22.8.1"
|
||||
sources."@types/node-22.9.0"
|
||||
sources."@types/unist-3.0.3"
|
||||
sources."@ungap/structured-clone-1.2.0"
|
||||
sources."acorn-8.13.0"
|
||||
sources."acorn-8.14.0"
|
||||
sources."acorn-walk-8.3.4"
|
||||
sources."ansi-regex-5.0.1"
|
||||
sources."ansi-styles-6.2.1"
|
||||
|
|
@ -1692,7 +1701,7 @@ let
|
|||
sources."comma-separated-tokens-2.0.3"
|
||||
sources."commander-4.1.1"
|
||||
sources."create-require-1.1.1"
|
||||
sources."cross-spawn-7.0.3"
|
||||
sources."cross-spawn-7.0.5"
|
||||
sources."cssesc-3.0.0"
|
||||
sources."dequal-2.0.3"
|
||||
sources."devlop-1.1.0"
|
||||
|
|
@ -1733,11 +1742,11 @@ let
|
|||
sources."make-error-1.3.6"
|
||||
sources."mdast-util-to-hast-13.2.0"
|
||||
sources."merge2-1.4.1"
|
||||
sources."micromark-util-character-2.1.0"
|
||||
sources."micromark-util-encode-2.0.0"
|
||||
sources."micromark-util-sanitize-uri-2.0.0"
|
||||
sources."micromark-util-symbol-2.0.0"
|
||||
sources."micromark-util-types-2.0.0"
|
||||
sources."micromark-util-character-2.1.1"
|
||||
sources."micromark-util-encode-2.0.1"
|
||||
sources."micromark-util-sanitize-uri-2.0.1"
|
||||
sources."micromark-util-symbol-2.0.1"
|
||||
sources."micromark-util-types-2.0.1"
|
||||
sources."micromatch-4.0.8"
|
||||
sources."mini-svg-data-uri-1.4.4"
|
||||
sources."minimatch-9.0.5"
|
||||
|
|
@ -1759,7 +1768,7 @@ let
|
|||
sources."picomatch-2.3.1"
|
||||
sources."pify-2.3.0"
|
||||
sources."pirates-4.0.6"
|
||||
sources."postcss-8.4.47"
|
||||
sources."postcss-8.4.49"
|
||||
sources."postcss-import-15.1.0"
|
||||
sources."postcss-js-4.0.1"
|
||||
(sources."postcss-load-config-4.0.2" // {
|
||||
|
|
@ -1774,13 +1783,13 @@ let
|
|||
sources."queue-microtask-1.2.3"
|
||||
sources."read-cache-1.0.0"
|
||||
sources."readdirp-3.6.0"
|
||||
sources."regex-4.3.3"
|
||||
sources."regex-4.4.0"
|
||||
sources."resolve-1.22.8"
|
||||
sources."reusify-1.0.4"
|
||||
sources."run-parallel-1.2.0"
|
||||
sources."shebang-command-2.0.0"
|
||||
sources."shebang-regex-3.0.0"
|
||||
sources."shiki-1.22.1"
|
||||
sources."shiki-1.22.2"
|
||||
sources."signal-exit-4.1.0"
|
||||
sources."source-map-js-1.2.1"
|
||||
sources."space-separated-tokens-2.0.2"
|
||||
|
|
@ -1800,6 +1809,7 @@ let
|
|||
sources."strip-ansi-cjs-6.0.1"
|
||||
sources."sucrase-3.35.0"
|
||||
sources."supports-preserve-symlinks-flag-1.0.0"
|
||||
sources."tailwind-scrollbar-3.1.0"
|
||||
sources."tailwindcss-3.4.14"
|
||||
sources."tailwindcss-animate-1.0.7"
|
||||
sources."thenify-3.3.1"
|
||||
|
|
@ -1812,7 +1822,7 @@ let
|
|||
sources."arg-4.1.3"
|
||||
];
|
||||
})
|
||||
sources."tslib-2.8.0"
|
||||
sources."tslib-2.8.1"
|
||||
sources."typescript-5.6.3"
|
||||
sources."undici-types-6.19.8"
|
||||
sources."unist-util-is-6.0.0"
|
||||
|
|
|
|||
13
assets/package-lock.json
generated
13
assets/package-lock.json
generated
|
|
@ -15,6 +15,7 @@
|
|||
"phoenix_html": "^3.3.4",
|
||||
"phoenix_live_view": "^1.0.0-rc.7",
|
||||
"shiki": "^1.22.1",
|
||||
"tailwind-scrollbar": "^3.1.0",
|
||||
"tailwindcss": "^3.4.14",
|
||||
"tailwindcss-animate": "^1.0.7"
|
||||
},
|
||||
|
|
@ -2056,6 +2057,18 @@
|
|||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/tailwind-scrollbar": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz",
|
||||
"integrity": "sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12.13.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"tailwindcss": "3.x"
|
||||
}
|
||||
},
|
||||
"node_modules/tailwindcss": {
|
||||
"version": "3.4.14",
|
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
"phoenix_html": "^3.3.4",
|
||||
"phoenix_live_view": "^1.0.0-rc.7",
|
||||
"shiki": "^1.22.1",
|
||||
"tailwind-scrollbar": "^3.1.0",
|
||||
"tailwindcss": "^3.4.14",
|
||||
"tailwindcss-animate": "^1.0.7"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ module.exports = {
|
|||
prefix: "ctp",
|
||||
defaultFlavor: "mocha",
|
||||
}),
|
||||
require("tailwind-scrollbar"),
|
||||
plugin(({ addVariant }) =>
|
||||
addVariant("phx-click-loading", [
|
||||
".phx-click-loading&",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ defmodule ZoeyscomputerWeb.CodeBlock do
|
|||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="overflow-x-scroll bg-ctp-mantle">
|
||||
<div class="bg-ctp-mantle">
|
||||
<div class="relative bg-ctp-crust">
|
||||
<%= if @line_numbers do %>
|
||||
<div class="absolute bg-ctp-crust left-0 top-0 bottom-0 ctp-bg-crust min-w-12 flex flex-col items-end py-4 ctp-text-surface2 select-none">
|
||||
|
|
@ -72,7 +72,10 @@ defmodule ZoeyscomputerWeb.CodeBlock do
|
|||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class={["bg-ctp-mantle overflow-x-scroll pb-0.5", @line_numbers && "pl-12"]}>
|
||||
<div class={[
|
||||
"bg-ctp-mantle overflow-x-scroll scrollbar scrollbar-track-ctp-base scrollbar-thumb-ctp-mauve pb-0.5",
|
||||
@line_numbers && "pl-12"
|
||||
]}>
|
||||
<pre
|
||||
class="p-4 leading-6 text-sm mb-4"
|
||||
id={"code-block-#{id}"}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
phx-window-keydown={JS.exec("data-cancel", to: "##{@id}")}
|
||||
phx-key="escape"
|
||||
phx-click-away={JS.exec("data-cancel", to: "##{@id}")}
|
||||
class="shadow-zinc-700/10 ring-zinc-700/10 relative hidden rounded-2xl bg-ctp-base p-14 shadow-lg ring-1 transition"
|
||||
class="shadow-ctp-mauve/10 ring-ctp-mauve/10 relative hidden rounded-2xl bg-ctp-base p-14 shadow-lg ring-1 transition"
|
||||
>
|
||||
<div class="absolute top-6 right-5">
|
||||
<button
|
||||
|
|
@ -340,7 +340,7 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
<select
|
||||
id={@id}
|
||||
name={@name}
|
||||
class="mt-2 block w-full rounded-md border border-gray-300 bg-ctp-base shadow-sm focus:border-zinc-400 focus:ring-0 sm:text-sm"
|
||||
class="mt-2 block w-full rounded-md border border-gray-300 bg-ctp-base shadow-sm focus:border-ctp-blue focus:ring-0 sm:text-sm"
|
||||
multiple={@multiple}
|
||||
{@rest}
|
||||
>
|
||||
|
|
@ -361,7 +361,7 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
name={@name}
|
||||
class={[
|
||||
"mt-2 block w-full bg-ctp-base rounded-lg text-ctp-text focus:ring-0 sm:text-sm sm:leading-6 min-h-[6rem]",
|
||||
@errors == [] && "border-ctp-surface2 focus:border-zinc-400",
|
||||
@errors == [] && "border-ctp-surface2 focus:border-ctp-overlay0",
|
||||
@errors != [] && "border-rose-400 focus:border-rose-400"
|
||||
]}
|
||||
{@rest}
|
||||
|
|
@ -500,7 +500,7 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
~H"""
|
||||
<div class="overflow-y-auto px-4 sm:overflow-visible sm:px-0">
|
||||
<table class="w-[40rem] mt-11 sm:w-full">
|
||||
<thead class="text-sm text-left leading-6 text-zinc-500">
|
||||
<thead class="text-sm text-left leading-6 text-ctp-text">
|
||||
<tr>
|
||||
<th :for={col <- @col} class="p-0 pb-4 pr-6 font-normal"><%= col[:label] %></th>
|
||||
<th :if={@action != []} class="relative p-0 pb-4">
|
||||
|
|
@ -511,27 +511,35 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
<tbody
|
||||
id={@id}
|
||||
phx-update={match?(%Phoenix.LiveView.LiveStream{}, @rows) && "stream"}
|
||||
class="relative divide-y divide-zinc-100 border-t border-zinc-200 text-sm leading-6 text-ctp-overlay1"
|
||||
class="relative divide-y divide-ctp-overlay0 border-t border-ctp-overlay1 text-sm leading-6 text-ctp-overlay1"
|
||||
>
|
||||
<tr :for={row <- @rows} id={@row_id && @row_id.(row)} class="group hover:bg-zinc-50">
|
||||
<tr
|
||||
:for={row <- @rows}
|
||||
id={@row_id && @row_id.(row)}
|
||||
class="group hover:bg-ctp-mauve hover:scale-105 transition-all duration-250"
|
||||
>
|
||||
<td
|
||||
:for={{col, i} <- Enum.with_index(@col)}
|
||||
phx-click={@row_click && @row_click.(row)}
|
||||
class={["relative p-0", @row_click && "hover:cursor-pointer"]}
|
||||
>
|
||||
<div class="block py-4 pr-6">
|
||||
<span class="absolute -inset-y-px right-0 -left-4 group-hover:bg-zinc-50 sm:rounded-l-xl" />
|
||||
<span class={["relative", i == 0 && "font-semibold text-ctp-overlay2"]}>
|
||||
<span class="absolute -inset-y-px right-0 -left-4 group-hover:bg-ctp-mauve sm:rounded-l-xl" />
|
||||
<span class={[
|
||||
"relative",
|
||||
i == 0 && "font-semibold text-ctp-overlay2 group-hover:text-ctp-crust"
|
||||
]}>
|
||||
<%= render_slot(col, @row_item.(row)) %>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td :if={@action != []} class="relative w-14 p-0">
|
||||
<div class="relative whitespace-nowrap py-4 text-right text-sm font-medium">
|
||||
<span class="absolute -inset-y-px -right-4 left-0 group-hover:bg-zinc-50 sm:rounded-r-xl" />
|
||||
<span class="absolute -inset-y-px -right-4 left-0 group-hover:bg-ctp-mauve sm:rounded-r-xl" />
|
||||
|
||||
<span
|
||||
:for={action <- @action}
|
||||
class="relative ml-4 font-semibold leading-6 text-ctp-overlay2 hover:text-ctp-overlay1"
|
||||
class="relative ml-4 font-semibold leading-6 text-ctp-overlay2 group-hover:text-ctp-crust"
|
||||
>
|
||||
<%= render_slot(action, @row_item.(row)) %>
|
||||
</span>
|
||||
|
|
@ -561,9 +569,9 @@ defmodule ZoeyscomputerWeb.CoreComponents do
|
|||
def list(assigns) do
|
||||
~H"""
|
||||
<div class="mt-14">
|
||||
<dl class="-my-4 divide-y divide-zinc-100">
|
||||
<dl class="-my-4 divide-y divide-ctp-overlay0">
|
||||
<div :for={item <- @item} class="flex gap-4 py-4 text-sm leading-6 sm:gap-8">
|
||||
<dt class="w-1/4 flex-none text-zinc-500"><%= item.title %></dt>
|
||||
<dt class="w-1/4 flex-none text-ctp-text"><%= item.title %></dt>
|
||||
<dd class="text-ctp-overlay1"><%= render_slot(item) %></dd>
|
||||
</div>
|
||||
</dl>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
defmodule ZoeyscomputerWeb.ImageLive.FormComponent do
|
||||
import Mogrify
|
||||
alias Zoeyscomputer.IdGenerator
|
||||
use ZoeyscomputerWeb, :live_component
|
||||
|
||||
alias Zoeyscomputer.Images
|
||||
|
|
@ -19,7 +21,24 @@ defmodule ZoeyscomputerWeb.ImageLive.FormComponent do
|
|||
phx-change="validate"
|
||||
phx-submit="save"
|
||||
>
|
||||
<.input field={@form[:file]} type="text" label="File" />
|
||||
<.live_file_input upload={@uploads.image} />
|
||||
<section phx-drop-target={@uploads.image.ref}>
|
||||
<%= for entry <- @uploads.image.entries do %>
|
||||
<article class="upload-entry">
|
||||
<figure>
|
||||
<.live_img_preview entry={entry} />
|
||||
<figcaption><%= entry.client_name %></figcaption>
|
||||
</figure>
|
||||
<progress class="w-full" value={entry.progress} max="100">
|
||||
<%= entry.progress %>
|
||||
</progress>
|
||||
</article>
|
||||
<% end %>
|
||||
|
||||
<%= for err <- upload_errors(@uploads.image) do %>
|
||||
<p class="alert alert-danger"><%= error_to_string(err) %></p>
|
||||
<% end %>
|
||||
</section>
|
||||
<:actions>
|
||||
<.button phx-disable-with="Saving...">Save Image</.button>
|
||||
</:actions>
|
||||
|
|
@ -28,8 +47,18 @@ defmodule ZoeyscomputerWeb.ImageLive.FormComponent do
|
|||
"""
|
||||
end
|
||||
|
||||
defp error_to_string(:too_large), do: "Too Large"
|
||||
defp error_to_string(:not_accepted), do: "Not Accepted"
|
||||
|
||||
defp error_to_string(:too_manu_files), do: "Too many files!"
|
||||
|
||||
@impl true
|
||||
def update(%{image: image} = assigns, socket) do
|
||||
socket =
|
||||
socket
|
||||
|> assign(:uploaded_files, [])
|
||||
|> allow_upload(:image, accept: ~w(.jpg .jpeg .png), max_entries: 2)
|
||||
|
||||
{:ok,
|
||||
socket
|
||||
|> assign(assigns)
|
||||
|
|
@ -44,8 +73,29 @@ defmodule ZoeyscomputerWeb.ImageLive.FormComponent do
|
|||
{:noreply, assign(socket, form: to_form(changeset, action: :validate))}
|
||||
end
|
||||
|
||||
def handle_event("save", %{"image" => image_params}, socket) do
|
||||
save_image(socket, socket.assigns.action, image_params)
|
||||
@impl true
|
||||
def handle_event("save", _params, socket) do
|
||||
uploaded_files =
|
||||
consume_uploaded_entries(socket, :image, fn %{path: path}, _entry ->
|
||||
dest = Path.join("/tmp/", Path.basename(path))
|
||||
File.cp(path, dest)
|
||||
|
||||
handle_upload(dest)
|
||||
end)
|
||||
|
||||
update(socket, :uploaded_files, &(&1 ++ uploaded_files))
|
||||
|
||||
save_image(socket, socket.assigns.action, %{file: uploaded_files})
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("validate", _params, socket) do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("cancel-upload", %{"ref" => ref}, socket) do
|
||||
{:noreply, cancel_upload(socket, :image, ref)}
|
||||
end
|
||||
|
||||
defp save_image(socket, :edit, image_params) do
|
||||
|
|
@ -63,6 +113,27 @@ defmodule ZoeyscomputerWeb.ImageLive.FormComponent do
|
|||
end
|
||||
end
|
||||
|
||||
defp handle_upload(path) do
|
||||
id = IdGenerator.generate()
|
||||
key = "uploads/#{id}.png"
|
||||
bucket = "imgs"
|
||||
|
||||
try do
|
||||
image = open(path) |> format("png") |> save()
|
||||
IO.inspect(image)
|
||||
|
||||
{:ok, new_file_binary} = File.read(image.path)
|
||||
|
||||
case ExAws.S3.put_object(bucket, key, new_file_binary, %{content_type: "image/png"})
|
||||
|> ExAws.request() do
|
||||
{:ok, _response} -> {:ok, id}
|
||||
{:error, reason} -> {:error, reason}
|
||||
end
|
||||
after
|
||||
File.rm(path)
|
||||
end
|
||||
end
|
||||
|
||||
defp save_image(socket, :new, image_params) do
|
||||
case Images.create_image(image_params) do
|
||||
{:ok, image} ->
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ defmodule ZoeyscomputerWeb.ImageLive.Index do
|
|||
@impl true
|
||||
def mount(_params, _session, socket) do
|
||||
current_user = socket.assigns.current_user
|
||||
|
||||
{:ok, stream(socket, :images, Images.list_images_by_user(current_user))}
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue