Update
This commit is contained in:
106
bun.lock
106
bun.lock
@@ -9,16 +9,14 @@
|
|||||||
"name": "dare-client",
|
"name": "dare-client",
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tailwindcss/vite": "^4.2.4",
|
|
||||||
"sigpro": "git+http://gitea:3000/natxocc/sigpro",
|
"sigpro": "git+http://gitea:3000/natxocc/sigpro",
|
||||||
"sigpro-grid": "git+http://gitea:3000/natxocc/sigpro-grid",
|
|
||||||
"sigpro-ui": "git+http://gitea:3000/natxocc/sigpro-ui",
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify/json": "^2.2.470",
|
"@iconify/json": "^2.2.473",
|
||||||
"@iconify/tailwind4": "^1.2.3",
|
"@iconify/tailwind4": "^1.2.3",
|
||||||
"tailwindcss": "^4.2.4",
|
"@tailwindcss/vite": "^4.3.0",
|
||||||
"vite": "^8.0.11",
|
"tailwindcss": "^4.3.0",
|
||||||
|
"vite": "^8.0.13",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"server": {
|
"server": {
|
||||||
@@ -44,7 +42,7 @@
|
|||||||
|
|
||||||
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
|
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
|
||||||
|
|
||||||
"@iconify/json": ["@iconify/json@2.2.470", "", { "dependencies": { "@iconify/types": "*", "pathe": "^2.0.3" } }, "sha512-8VgSitlCUvHL1vrFvwvM3L1sHakYHFM8txGDmnTQXQ3rYtkpvdyY3L/5ew/LWPOa2/a4Fvh3O43jhi5qajySrw=="],
|
"@iconify/json": ["@iconify/json@2.2.473", "", { "dependencies": { "@iconify/types": "*", "pathe": "^2.0.3" } }, "sha512-flWzgAFyF1VX83xmkd6VVHKOA22iYfjbJmPcre13ISuL+RsBooEUE6rkAuOqODylkF9mxY9XZr2kFOsq0ZpMTQ=="],
|
||||||
|
|
||||||
"@iconify/tailwind4": ["@iconify/tailwind4@1.2.3", "", { "dependencies": { "@iconify/tools": "^5.0.5", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.0" }, "peerDependencies": { "tailwindcss": ">= 4.0.0" } }, "sha512-z8SKiMHRASJKF/IY//87MF88lcB7ulxh8vlhQXXLWsBkNtOh6ese9R41MyGpQeqXdRvQVt+/fX2glQtHFjQ+MA=="],
|
"@iconify/tailwind4": ["@iconify/tailwind4@1.2.3", "", { "dependencies": { "@iconify/tools": "^5.0.5", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.0" }, "peerDependencies": { "tailwindcss": ">= 4.0.0" } }, "sha512-z8SKiMHRASJKF/IY//87MF88lcB7ulxh8vlhQXXLWsBkNtOh6ese9R41MyGpQeqXdRvQVt+/fX2glQtHFjQ+MA=="],
|
||||||
|
|
||||||
@@ -118,69 +116,69 @@
|
|||||||
|
|
||||||
"@nodable/entities": ["@nodable/entities@2.1.0", "", {}, "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA=="],
|
"@nodable/entities": ["@nodable/entities@2.1.0", "", {}, "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA=="],
|
||||||
|
|
||||||
"@oxc-project/types": ["@oxc-project/types@0.128.0", "", {}, "sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ=="],
|
"@oxc-project/types": ["@oxc-project/types@0.130.0", "", {}, "sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q=="],
|
||||||
|
|
||||||
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.18", "", { "os": "android", "cpu": "arm64" }, "sha512-lIDyUAfD7U3+BWKzdxMbJcsYHuqXqmGz40aeRqvuAm3y5TkJSYTBW2RDrn65DJFPQqVjUAUqq5uz8urzQ8aBdQ=="],
|
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.1", "", { "os": "android", "cpu": "arm64" }, "sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg=="],
|
||||||
|
|
||||||
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-apJq2ktnGp27nSInMR5Vcj8kY6xJzDAvfdIFlpDcAK/w4cDO58qVoi1YQsES/SKiFNge/6e4CUzgjfHduYqWpQ=="],
|
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg=="],
|
||||||
|
|
||||||
"@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-5Ofot8xbs+pxRHJqm9/9N/4sTQOvdrwEsmPE9pdLEEoAbdZtG6F2LMDfO1sp6ZAtXJuJV/21ew2srq3W8NXB5g=="],
|
"@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg=="],
|
||||||
|
|
||||||
"@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-7h8eeOTT1eyqJyx64BFCnWZpNm486hGWt2sqeLLgDxA0xI1oGZ9H7gK1S85uNGmBhkdPwa/6reTxfFFKvIsebw=="],
|
"@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18", "", { "os": "linux", "cpu": "arm" }, "sha512-eRcm/HVt9U/JFu5RKAEKwGQYtDCKWLiaH6wOnsSEp6NMBb/3Os8LgHZlNyzMpFVNmiiMFlfb2zEnebfzJrHFmg=="],
|
"@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.1", "", { "os": "linux", "cpu": "arm" }, "sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-SOrT/cT4ukTmgnrEz/Hg3m7LBnuCLW9psDeMKrimRWY4I8DmnO7Lco8W2vtqPmMkbVu8iJ+g4GFLVLLOVjJ9DQ=="],
|
"@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-QWjdxN1HJCpBTAcZ5N5F7wju3gVPzRzSpmGzx7na0c/1qpN9CFil+xt+l9lV/1M6/gqHSNXCiqPfwhVJPeLnug=="],
|
"@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18", "", { "os": "linux", "cpu": "ppc64" }, "sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg=="],
|
"@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18", "", { "os": "linux", "cpu": "s390x" }, "sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA=="],
|
"@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.18", "", { "os": "linux", "cpu": "x64" }, "sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw=="],
|
"@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw=="],
|
||||||
|
|
||||||
"@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.18", "", { "os": "linux", "cpu": "x64" }, "sha512-XNOQZtuE6yUIvx4rwGemwh8kpL1xvU41FXy/s9K7T/3JVcqGzo3NfKM2HrbrGgfPYGFW42f07Wk++aOC6B9NWA=="],
|
"@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ=="],
|
||||||
|
|
||||||
"@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.18", "", { "os": "none", "cpu": "arm64" }, "sha512-tSn/kzrfa7tNOXr7sEacDBN4YsIqTyLqh45IO0nHDwtpKIDNDJr+VFojt+4klSpChxB29JLyduSsE0MKEwa65A=="],
|
"@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.1", "", { "os": "none", "cpu": "arm64" }, "sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ=="],
|
||||||
|
|
||||||
"@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.18", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-+J9YGmc+czgqlhYmwun3S3O0FIZhsH8ep2456xwjAdIOmuJxM7xz4P4PtrxU+Bz17a/5bqPA8o3HAAoX0teUdg=="],
|
"@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.1", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ=="],
|
||||||
|
|
||||||
"@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-zsu47DgU0FQzSwi6sU9dZoEdUv7pc1AptSEz/Z8HBg54sV0Pbs3N0+CrIbTsgiu6EyoaNN9CHboqbLaz9lhOyQ=="],
|
"@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw=="],
|
||||||
|
|
||||||
"@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.18", "", { "os": "win32", "cpu": "x64" }, "sha512-7H+3yqGgmnlDTRRhw/xpYY9J1kf4GC681nVc4GqKhExZTDrVVrV2tsOR9kso0fvgBdcTCcQShx4SLLoHgaLwhg=="],
|
"@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.1", "", { "os": "win32", "cpu": "x64" }, "sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ=="],
|
||||||
|
|
||||||
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.18", "", {}, "sha512-CUY5Mnhe64xQBGZEEXQ5WyZwsc1JU3vAZLIxtrsBt3LO6UOb+C8GunVKqe9sT8NeWb4lqSaoJtp2xo6GxT1MNw=="],
|
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="],
|
||||||
|
|
||||||
"@tailwindcss/node": ["@tailwindcss/node@4.2.4", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.4" } }, "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA=="],
|
"@tailwindcss/node": ["@tailwindcss/node@4.3.0", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.21.0", "jiti": "^2.6.1", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.0" } }, "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.4", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.4", "@tailwindcss/oxide-darwin-arm64": "4.2.4", "@tailwindcss/oxide-darwin-x64": "4.2.4", "@tailwindcss/oxide-freebsd-x64": "4.2.4", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", "@tailwindcss/oxide-linux-x64-musl": "4.2.4", "@tailwindcss/oxide-wasm32-wasi": "4.2.4", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" } }, "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q=="],
|
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.0", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.0", "@tailwindcss/oxide-darwin-arm64": "4.3.0", "@tailwindcss/oxide-darwin-x64": "4.3.0", "@tailwindcss/oxide-freebsd-x64": "4.3.0", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", "@tailwindcss/oxide-linux-x64-musl": "4.3.0", "@tailwindcss/oxide-wasm32-wasi": "4.3.0", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" } }, "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.2.4", "", { "os": "android", "cpu": "arm64" }, "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g=="],
|
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.0", "", { "os": "android", "cpu": "arm64" }, "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg=="],
|
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg=="],
|
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.2.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw=="],
|
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA=="],
|
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0", "", { "os": "linux", "cpu": "arm" }, "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw=="],
|
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g=="],
|
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA=="],
|
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA=="],
|
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.2.4", "", { "dependencies": { "@emnapi/core": "^1.8.1", "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw=="],
|
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.0", "", { "dependencies": { "@emnapi/core": "^1.10.0", "@emnapi/runtime": "^1.10.0", "@emnapi/wasi-threads": "^1.2.1", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.2.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ=="],
|
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.2.4", "", { "os": "win32", "cpu": "x64" }, "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw=="],
|
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA=="],
|
||||||
|
|
||||||
"@tailwindcss/vite": ["@tailwindcss/vite@4.2.4", "", { "dependencies": { "@tailwindcss/node": "4.2.4", "@tailwindcss/oxide": "4.2.4", "tailwindcss": "4.2.4" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-pCvohwOCspk3ZFn6eJzrrX3g4n2JY73H6MmYC87XfGPyTty4YsCjYTMArRZm/zOI8dIt3+EcrLHAFPe5A4bgtw=="],
|
"@tailwindcss/vite": ["@tailwindcss/vite@4.3.0", "", { "dependencies": { "@tailwindcss/node": "4.3.0", "@tailwindcss/oxide": "4.3.0", "tailwindcss": "4.3.0" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw=="],
|
||||||
|
|
||||||
"@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="],
|
"@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="],
|
||||||
|
|
||||||
@@ -190,20 +188,6 @@
|
|||||||
|
|
||||||
"acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="],
|
"acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="],
|
||||||
|
|
||||||
"ag-charts-community": ["ag-charts-community@13.2.1", "", { "dependencies": { "ag-charts-core": "13.2.1", "ag-charts-locale": "13.2.1", "ag-charts-types": "13.2.1" } }, "sha512-A+DCiesRp6WQ5R5e3x9bLh50IWCachVF6gkz6Dz4icMcq6WL5JNKL+xZEzrKYl+kuD8Y8728xmVm/H53o9Nayw=="],
|
|
||||||
|
|
||||||
"ag-charts-core": ["ag-charts-core@13.2.1", "", { "dependencies": { "ag-charts-types": "13.2.1" } }, "sha512-Y7rk3kF+fA6bUMjU+vIzG5rRBd+8EKjyIjzNR2uV1+HyrlnOn6b7Eb9HPkDUoosWHhz+UNCOW/lYDzPP6mivHQ=="],
|
|
||||||
|
|
||||||
"ag-charts-enterprise": ["ag-charts-enterprise@13.2.1", "", { "dependencies": { "ag-charts-community": "13.2.1", "ag-charts-core": "13.2.1" } }, "sha512-QiNuNUu3o5qWUz9cPLuKr9r9k2YsO8Nwp4qJGR0s76WT6AeCmqKa12cSJrvIpwvPdjZ3PVlwsMA8s8EZ4dqrXA=="],
|
|
||||||
|
|
||||||
"ag-charts-locale": ["ag-charts-locale@13.2.1", "", {}, "sha512-lwwV/l/O187R4DYUfjm6p8LijITe46IlDz8nOxNQNJAOpkzs+cWmjSxfNiM1BMVCWTcMdah/AKN+6iihbDa8IA=="],
|
|
||||||
|
|
||||||
"ag-charts-types": ["ag-charts-types@13.2.1", "", {}, "sha512-r7veb3QqJtIKlXmeUsLR4/oDPwmHxFI2tmbZra/203mdaz3uwQUrrgYNg628nrK+7L2YxXnwGc6L05tWjLLjNQ=="],
|
|
||||||
|
|
||||||
"ag-grid-community": ["ag-grid-community@35.2.1", "", { "dependencies": { "ag-charts-types": "13.2.1" } }, "sha512-ycmGI+1EbUT7i3eg/Kgi1owwnkdHXRufo10Xm6cfSsVPM3TMpvlbLgi28KIPt9DGHZWHq9fOBn7nxMNdv1Yaow=="],
|
|
||||||
|
|
||||||
"ag-grid-enterprise": ["ag-grid-enterprise@35.2.1", "", { "dependencies": { "ag-grid-community": "35.2.1" }, "optionalDependencies": { "ag-charts-community": "13.2.1", "ag-charts-enterprise": "13.2.1" } }, "sha512-nLl06cc7/THzf7mGZt7PotdeaBN74X3K9g2looyvJEymrOOJfjrLePrV4aNNhz/WZnATkbyblm5DM/qv3BeHKA=="],
|
|
||||||
|
|
||||||
"boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
|
"boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
|
||||||
|
|
||||||
"commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
|
"commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
|
||||||
@@ -234,7 +218,7 @@
|
|||||||
|
|
||||||
"domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
|
"domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
|
||||||
|
|
||||||
"enhanced-resolve": ["enhanced-resolve@5.21.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA=="],
|
"enhanced-resolve": ["enhanced-resolve@5.21.3", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q=="],
|
||||||
|
|
||||||
"entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
|
"entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
|
||||||
|
|
||||||
@@ -254,7 +238,7 @@
|
|||||||
|
|
||||||
"iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="],
|
"iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="],
|
||||||
|
|
||||||
"jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
|
"jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="],
|
||||||
|
|
||||||
"lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
|
"lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
|
||||||
|
|
||||||
@@ -312,7 +296,7 @@
|
|||||||
|
|
||||||
"postcss": ["postcss@8.5.14", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg=="],
|
"postcss": ["postcss@8.5.14", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg=="],
|
||||||
|
|
||||||
"rolldown": ["rolldown@1.0.0-rc.18", "", { "dependencies": { "@oxc-project/types": "=0.128.0", "@rolldown/pluginutils": "1.0.0-rc.18" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.18", "@rolldown/binding-darwin-arm64": "1.0.0-rc.18", "@rolldown/binding-darwin-x64": "1.0.0-rc.18", "@rolldown/binding-freebsd-x64": "1.0.0-rc.18", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.18", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.18", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.18", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.18", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.18", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.18", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.18", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.18", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.18", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.18", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.18" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg=="],
|
"rolldown": ["rolldown@1.0.1", "", { "dependencies": { "@oxc-project/types": "=0.130.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.1", "@rolldown/binding-darwin-arm64": "1.0.1", "@rolldown/binding-darwin-x64": "1.0.1", "@rolldown/binding-freebsd-x64": "1.0.1", "@rolldown/binding-linux-arm-gnueabihf": "1.0.1", "@rolldown/binding-linux-arm64-gnu": "1.0.1", "@rolldown/binding-linux-arm64-musl": "1.0.1", "@rolldown/binding-linux-ppc64-gnu": "1.0.1", "@rolldown/binding-linux-s390x-gnu": "1.0.1", "@rolldown/binding-linux-x64-gnu": "1.0.1", "@rolldown/binding-linux-x64-musl": "1.0.1", "@rolldown/binding-openharmony-arm64": "1.0.1", "@rolldown/binding-wasm32-wasi": "1.0.1", "@rolldown/binding-win32-arm64-msvc": "1.0.1", "@rolldown/binding-win32-x64-msvc": "1.0.1" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ=="],
|
||||||
|
|
||||||
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
||||||
|
|
||||||
@@ -322,11 +306,7 @@
|
|||||||
|
|
||||||
"sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
|
"sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
|
||||||
|
|
||||||
"sigpro": ["sigpro@git+http://gitea:3000/natxocc/sigpro#610c9a95869842fb61e6b9df73231e89fd6a042c", {}, "610c9a95869842fb61e6b9df73231e89fd6a042c"],
|
"sigpro": ["sigpro@git+http://gitea:3000/natxocc/sigpro#0b3eb0159fa77908ef8fdaf039737135ddda0802", {}, "0b3eb0159fa77908ef8fdaf039737135ddda0802"],
|
||||||
|
|
||||||
"sigpro-grid": ["sigpro-grid@git+http://gitea:3000/natxocc/sigpro-grid#8415907bf198ab875d60bc90af89d512f48a031c", { "dependencies": { "ag-grid-community": "^35.2.0", "ag-grid-enterprise": "^35.2.0", "sigpro": "git+http://gitea:3000/natxocc/sigpro" } }, "8415907bf198ab875d60bc90af89d512f48a031c"],
|
|
||||||
|
|
||||||
"sigpro-ui": ["sigpro-ui@git+http://gitea:3000/natxocc/sigpro-ui#5de23788994e9000a4b2a122196f243ffee91e99", { "dependencies": { "sigpro": "git+http://gitea:3000/natxocc/sigpro" } }, "5de23788994e9000a4b2a122196f243ffee91e99"],
|
|
||||||
|
|
||||||
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
||||||
|
|
||||||
@@ -334,7 +314,7 @@
|
|||||||
|
|
||||||
"svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="],
|
"svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="],
|
||||||
|
|
||||||
"tailwindcss": ["tailwindcss@4.2.4", "", {}, "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA=="],
|
"tailwindcss": ["tailwindcss@4.3.0", "", {}, "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q=="],
|
||||||
|
|
||||||
"tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
|
"tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
|
||||||
|
|
||||||
@@ -348,7 +328,7 @@
|
|||||||
|
|
||||||
"undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="],
|
"undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="],
|
||||||
|
|
||||||
"vite": ["vite@8.0.11", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.14", "rolldown": "1.0.0-rc.18", "tinyglobby": "^0.2.16" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.18", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-Jz1mxtUBR5xTT65VOdJZUUeoyLtqljmFkiUXhPTLZka3RDc9vpi/xXkyrnsdRcm2lIi3l3GPMnAidTsEGIj3Ow=="],
|
"vite": ["vite@8.0.13", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.14", "rolldown": "1.0.1", "tinyglobby": "^0.2.16" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.18", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
"@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
||||||
|
|
||||||
|
|||||||
186
client/App.js
186
client/App.js
@@ -8,7 +8,10 @@ import {
|
|||||||
DrawerSide,
|
DrawerSide,
|
||||||
DrawerOverlay,
|
DrawerOverlay,
|
||||||
Menu,
|
Menu,
|
||||||
|
MenuTitle,
|
||||||
|
MenuItem,
|
||||||
Tabs,
|
Tabs,
|
||||||
|
Tab,
|
||||||
Swap,
|
Swap,
|
||||||
SwapToggle,
|
SwapToggle,
|
||||||
SwapOn,
|
SwapOn,
|
||||||
@@ -19,34 +22,34 @@ import {
|
|||||||
DropdownButton,
|
DropdownButton,
|
||||||
DropdownContent,
|
DropdownContent,
|
||||||
Modal,
|
Modal,
|
||||||
|
ModalBox,
|
||||||
|
ModalClose,
|
||||||
|
ModalAction,
|
||||||
|
ModalBackdrop,
|
||||||
Fieldset,
|
Fieldset,
|
||||||
Input,
|
Input,
|
||||||
Button
|
LabelFloating,
|
||||||
|
Button,
|
||||||
|
Loading
|
||||||
} from "sigpro-ui";
|
} from "sigpro-ui";
|
||||||
import 'sigpro-ui/css';
|
import 'sigpro-ui/css';
|
||||||
|
|
||||||
import { Desktop } from "./tabs/Desktop.js";
|
import { Desktop } from "./tabs/Desktop.js";
|
||||||
|
import { ModalSearch } from "./components/ModalSearch.js";
|
||||||
|
|
||||||
export const isDark = $(false, "theme-mode");
|
export const isDark = $(false, "theme-mode");
|
||||||
|
|
||||||
|
|
||||||
export const App = () => {
|
export const App = () => {
|
||||||
|
const showSearchModal = $(false);
|
||||||
|
|
||||||
// Tema oscuro/claro
|
// Tema oscuro/claro
|
||||||
|
|
||||||
|
|
||||||
watch(isDark, (dark) => {
|
watch(isDark, (dark) => {
|
||||||
document.documentElement.setAttribute("data-theme", dark ? "dark" : "light");
|
document.documentElement.setAttribute("data-theme", dark ? "dark" : "light");
|
||||||
});
|
});
|
||||||
|
|
||||||
// Activar tema inicial
|
|
||||||
document.documentElement.setAttribute("data-theme", isDark() ? "dark" : "light");
|
document.documentElement.setAttribute("data-theme", isDark() ? "dark" : "light");
|
||||||
|
|
||||||
// Estado de login persistente
|
// Estado de login persistente
|
||||||
const logged = $(false, "logged");
|
const logged = $(false, "logged");
|
||||||
|
|
||||||
// Estado para buscador
|
|
||||||
const searchQuery = $("");
|
|
||||||
|
|
||||||
// Estado para modal de login
|
|
||||||
const showLoginModal = $(false);
|
const showLoginModal = $(false);
|
||||||
const loginForm = {
|
const loginForm = {
|
||||||
username: $(""),
|
username: $(""),
|
||||||
@@ -88,7 +91,6 @@ export const App = () => {
|
|||||||
{ label: "Anulaciones", onclick: () => openTab("Polizas") },
|
{ label: "Anulaciones", onclick: () => openTab("Polizas") },
|
||||||
{ label: "Renovación Cartera", onclick: () => openTab("Polizas") }
|
{ label: "Renovación Cartera", onclick: () => openTab("Polizas") }
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Comercial",
|
label: "Comercial",
|
||||||
@@ -112,24 +114,19 @@ export const App = () => {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
// Referencia al contenedor de pestañas para manejar el foco
|
|
||||||
let tabsContainerRef = null;
|
let tabsContainerRef = null;
|
||||||
let drawerToggleRef = null;
|
let drawerToggleRef = null;
|
||||||
|
|
||||||
// Abre o crea una pestaña, cierra el drawer
|
|
||||||
const openTab = (label) => {
|
const openTab = (label) => {
|
||||||
const currentTabs = tabs();
|
const currentTabs = tabs();
|
||||||
|
|
||||||
if (currentTabs.length >= 15) return;
|
if (currentTabs.length >= 15) return;
|
||||||
|
|
||||||
const newTab = {
|
const newTab = {
|
||||||
label,
|
label,
|
||||||
content: () => `¡Bienvenido al escritorio!`,
|
content: () => `¡Bienvenido a ${label}!`,
|
||||||
closable: true
|
closable: true
|
||||||
};
|
};
|
||||||
tabs([...currentTabs, newTab]);
|
tabs([...currentTabs, newTab]);
|
||||||
activeTab(tabs().length - 1);
|
activeTab(tabs().length - 1);
|
||||||
|
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -138,8 +135,11 @@ export const App = () => {
|
|||||||
if (drawerToggleRef) drawerToggleRef.checked = false;
|
if (drawerToggleRef) drawerToggleRef.checked = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Manejo del login
|
|
||||||
const handleLogin = () => {
|
const handleLogin = () => {
|
||||||
|
if (!loginForm.username() || !loginForm.password()) {
|
||||||
|
alert('Por favor, complete todos los campos');
|
||||||
|
return;
|
||||||
|
}
|
||||||
logged(true);
|
logged(true);
|
||||||
showLoginModal(false);
|
showLoginModal(false);
|
||||||
loginForm.username("");
|
loginForm.username("");
|
||||||
@@ -152,7 +152,6 @@ export const App = () => {
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
Drawer({}, [
|
Drawer({}, [
|
||||||
// Control oculto del drawer
|
|
||||||
DrawerToggle({
|
DrawerToggle({
|
||||||
id: "app-drawer",
|
id: "app-drawer",
|
||||||
ref: (el) => drawerToggleRef = el,
|
ref: (el) => drawerToggleRef = el,
|
||||||
@@ -160,56 +159,39 @@ export const App = () => {
|
|||||||
onchange: (e) => openDrawer(e.target.checked)
|
onchange: (e) => openDrawer(e.target.checked)
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Contenido principal
|
|
||||||
DrawerContent({}, [
|
DrawerContent({}, [
|
||||||
Navbar({ class: "bg-base-100 shadow-lg align-center" }, [
|
Navbar({ class: "bg-base-100 shadow-lg align-center" }, [
|
||||||
// Botón hamburguesa
|
|
||||||
div({ class: "flex-none" }, [
|
div({ class: "flex-none" }, [
|
||||||
label({ for: "app-drawer", class: "btn btn-ghost btn-square" }, [
|
label({ for: "app-drawer", class: "btn btn-ghost btn-square" }, [
|
||||||
Icon({}, "icon-[lucide--menu]")
|
Icon({}, "icon-[lucide--menu]")
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
|
Button({ class: "icon-[lucide--search] btn-ghost", onclick: () => showSearchModal(true) }),
|
||||||
// Buscador
|
div({ class: "flex-1" }),
|
||||||
div({ class: "flex-1 max-w-md mx-4" }, [
|
|
||||||
Input({
|
|
||||||
type: "search",
|
|
||||||
placeholder: "Buscar...",
|
|
||||||
value: searchQuery,
|
|
||||||
left: span({ class: "icon-[lucide--search]" }),
|
|
||||||
oninput: (e) => console.log(e.target.value)
|
|
||||||
})
|
|
||||||
]),
|
|
||||||
|
|
||||||
// Espaciador central
|
|
||||||
div({ class: "flex-1" }, []),
|
|
||||||
|
|
||||||
// Swap para tema claro/oscuro
|
|
||||||
Swap({ class: "text-xl" }, [
|
Swap({ class: "text-xl" }, [
|
||||||
SwapToggle({ value: isDark, class: "swap-rotate" }),
|
SwapToggle({ value: isDark, class: "swap-rotate" }),
|
||||||
SwapOn({}, span({ class: "icon-[lucide--moon]" })),
|
SwapOn({}, h('span', { class: "icon-[lucide--moon]" })),
|
||||||
SwapOff({}, span({ class: "icon-[lucide--sun]" })),
|
SwapOff({}, h('span', { class: "icon-[lucide--sun]" })),
|
||||||
]),
|
]),
|
||||||
|
|
||||||
// Avatar con dropdown o botón de login
|
|
||||||
when(logged,
|
when(logged,
|
||||||
() => Dropdown({ class: "flex-none ml-2 dropdown-bottom dropdown-end" }, [
|
() => Dropdown({ class: "flex-none ml-2 dropdown-bottom dropdown-end" }, [
|
||||||
DropdownButton({ class: "btn-circle btn btn-ghost", tabindex: "0", role: "button" }, [
|
DropdownButton({ class: "btn-circle btn btn-ghost", tabindex: "0", role: "button" }, [
|
||||||
div({ class: "w-10 rounded-full flex items-center justify-center" }, [
|
Avatar({ class: "placeholder" }, [
|
||||||
Icon({}, "icon-[lucide--user] text-xl")
|
div({ class: "bg-neutral text-neutral-content w-10 rounded-full" }, [
|
||||||
|
h('span', { class: "text-xl" }, "U")
|
||||||
|
])
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
DropdownContent(
|
DropdownContent(
|
||||||
{ class: "menu bg-base-100 rounded-box w-52 p-2 shadow" },
|
{ class: "menu bg-base-100 rounded-box w-52 p-2 shadow" },
|
||||||
[
|
[
|
||||||
Menu({
|
Menu({ class: "bg-base-100 max-w-xs w-full" },
|
||||||
class: "bg-base-100 max-w-xs w-full",
|
[
|
||||||
items: [
|
MenuItem({ label: "Mi Perfil", onclick: () => openTab("Mi Perfil") }),
|
||||||
{ label: "Mis mensajes", onclick: () => hide() },
|
MenuItem({ label: "Configuración", onclick: () => openTab("Configuración") }),
|
||||||
{ label: "Delete", onclick: () => hide() },
|
MenuItem({ label: "Cerrar Sesión", onclick: handleLogout }),
|
||||||
{ label: "Cerrar Sesión", onclick: handleLogout },
|
]
|
||||||
],
|
),
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
@@ -221,35 +203,86 @@ export const App = () => {
|
|||||||
])
|
])
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
// Área principal con las pestañas
|
|
||||||
|
// Área principal con pestañas
|
||||||
div({
|
div({
|
||||||
class: "p-4",
|
class: "p-4",
|
||||||
ref: (el) => tabsContainerRef = el
|
ref: (el) => tabsContainerRef = el
|
||||||
}, [
|
}, [
|
||||||
Tabs({
|
h('div', { class: 'tabs tabs-box' },
|
||||||
class: 'tabs-box',
|
() => tabs().map((item, idx) =>
|
||||||
items: tabs,
|
Tab({
|
||||||
activeIndex: activeTab
|
name: "app-tabs",
|
||||||
|
"aria-label": item.label,
|
||||||
|
checked: activeTab() === idx,
|
||||||
|
onchange: () => activeTab(idx),
|
||||||
|
content: item.content,
|
||||||
|
closable: item.closable,
|
||||||
|
tabs,
|
||||||
|
index: idx
|
||||||
})
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
|
|
||||||
// Lateral del drawer
|
|
||||||
DrawerSide({ class: "z-50" }, [
|
DrawerSide({ class: "z-50" }, [
|
||||||
DrawerOverlay({ for: "app-drawer" }),
|
DrawerOverlay({ for: "app-drawer" }),
|
||||||
div({
|
div({
|
||||||
class: "menu bg-base-200 text-base-content min-h-full w-80 p-4"
|
class: "menu bg-base-200 text-base-content min-h-full w-80 p-4"
|
||||||
}, [
|
}, [
|
||||||
h2({ class: "text-lg font-bold mb-4" }, ["Menú"]),
|
h('h2', { class: "text-lg font-bold mb-4" }, "Menú"),
|
||||||
Menu({ items: menuItems, class: "bg-base-200 max-w-xs w-full" })
|
Menu({ class: "bg-base-200 max-w-xs w-full" },
|
||||||
|
menuItems.flatMap(item => [
|
||||||
|
MenuTitle({}, item.label),
|
||||||
|
...item.children.map(child =>
|
||||||
|
MenuItem({ label: child.label, onclick: child.onclick })
|
||||||
|
)
|
||||||
|
])
|
||||||
|
)
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
|
|
||||||
// Modal de login
|
ModalSearch({
|
||||||
Modal({
|
open: showSearchModal,
|
||||||
open: showLoginModal,
|
onSelect: (item) => {
|
||||||
actions: [
|
console.log("Item seleccionado:", item);
|
||||||
|
showSearchModal(false);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
// Modal de Login adaptado
|
||||||
|
when(showLoginModal, () =>
|
||||||
|
Modal({ open: true, class: '' }, [
|
||||||
|
ModalBox({}, [
|
||||||
|
ModalClose({ onclick: () => showLoginModal(false) }),
|
||||||
|
h('h3', { class: "text-lg font-bold" }, "Iniciar Sesión"),
|
||||||
|
Fieldset({
|
||||||
|
class: "bg-base-200 border-base-300 rounded-box border gap-3 p-4"
|
||||||
|
}, [
|
||||||
|
LabelFloating({ class: "w-full" }, [
|
||||||
|
Input({
|
||||||
|
class: "w-full",
|
||||||
|
type: "text",
|
||||||
|
placeholder: "Nombre de usuario",
|
||||||
|
value: loginForm.username,
|
||||||
|
oninput: (e) => loginForm.username(e.target.value)
|
||||||
|
}),
|
||||||
|
h('span', {}, "Usuario")
|
||||||
|
]),
|
||||||
|
LabelFloating({ class: "w-full" }, [
|
||||||
|
Input({
|
||||||
|
class: "w-full",
|
||||||
|
type: "password",
|
||||||
|
placeholder: "Contraseña",
|
||||||
|
value: loginForm.password,
|
||||||
|
oninput: (e) => loginForm.password(e.target.value)
|
||||||
|
}),
|
||||||
|
h('span', {}, "Contraseña")
|
||||||
|
])
|
||||||
|
]),
|
||||||
|
ModalAction({}, [
|
||||||
Button({
|
Button({
|
||||||
class: "btn btn-ghost",
|
class: "btn btn-ghost",
|
||||||
onclick: () => showLoginModal(false)
|
onclick: () => showLoginModal(false)
|
||||||
@@ -258,29 +291,10 @@ export const App = () => {
|
|||||||
class: "btn btn-primary",
|
class: "btn btn-primary",
|
||||||
onclick: handleLogin
|
onclick: handleLogin
|
||||||
}, "Entrar")
|
}, "Entrar")
|
||||||
]
|
|
||||||
}, [
|
|
||||||
Fieldset({ label: "Iniciar sesión", class: "bg-base-200 border-base-300 rounded-box border gap-3 p-4", }, [
|
|
||||||
Input({
|
|
||||||
class: "w-full",
|
|
||||||
type: "text",
|
|
||||||
label: "Usuario",
|
|
||||||
float: true,
|
|
||||||
placeholder: "Nombre de usuario",
|
|
||||||
value: loginForm.username
|
|
||||||
})
|
|
||||||
,
|
|
||||||
|
|
||||||
Input({
|
|
||||||
class: "w-full",
|
|
||||||
type: "password",
|
|
||||||
label: "Contraseña",
|
|
||||||
float: true,
|
|
||||||
placeholder: "Contraseña",
|
|
||||||
value: loginForm.password
|
|
||||||
})
|
|
||||||
])
|
])
|
||||||
|
]),
|
||||||
|
ModalBackdrop({ onclick: () => showLoginModal(false) })
|
||||||
])
|
])
|
||||||
|
)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
175
client/components/ModalSearch.js
Normal file
175
client/components/ModalSearch.js
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
// components/ModalSearch.js
|
||||||
|
import { $, watch, h, each } from "sigpro";
|
||||||
|
import { db } from "sigpro/utils";
|
||||||
|
import { Modal, Input, Button, Loading, Table } from "sigpro-ui";
|
||||||
|
|
||||||
|
export const ModalSearch = ({ open, onSelect }) => {
|
||||||
|
const search = $('');
|
||||||
|
const results = $([]);
|
||||||
|
const loading = $(false);
|
||||||
|
const error = $(null);
|
||||||
|
const debounceTimer = $(null);
|
||||||
|
|
||||||
|
// Búsqueda con debounce de 500ms
|
||||||
|
watch(search, (query) => {
|
||||||
|
const currentTimer = debounceTimer();
|
||||||
|
if (currentTimer) {
|
||||||
|
clearTimeout(currentTimer);
|
||||||
|
debounceTimer(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!query || query.length < 3) {
|
||||||
|
results([]);
|
||||||
|
error(null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
loading(true);
|
||||||
|
error(null);
|
||||||
|
|
||||||
|
const timer = setTimeout(async () => {
|
||||||
|
try {
|
||||||
|
const data = await db('/proxy/3000/api/db/search', { q: query });
|
||||||
|
console.log(data)
|
||||||
|
results(data.results || []);
|
||||||
|
} catch (err) {
|
||||||
|
error(err.message);
|
||||||
|
results([]);
|
||||||
|
} finally {
|
||||||
|
loading(false);
|
||||||
|
}
|
||||||
|
}, 500);
|
||||||
|
|
||||||
|
debounceTimer(timer);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Columnas de la tabla
|
||||||
|
const columns = [
|
||||||
|
{ label: 'Código', key: 'CodigoPoliza', class: 'font-mono text-xs' },
|
||||||
|
{ label: 'Mediador', key: 'CodigoMediador', class: 'text-xs' },
|
||||||
|
{ label: 'Nombre', key: 'Nombre', class: 'font-medium text-xs' },
|
||||||
|
{ label: 'Apellidos', key: 'Apellidos', class: 'text-xs' },
|
||||||
|
{ label: 'Documento', key: 'Documento', class: 'text-xs' },
|
||||||
|
{ label: 'Riesgo', key: 'Riesgo', class: 'text-xs' },
|
||||||
|
{ label: 'Ramo', key: 'Ramo', class: 'text-xs' },
|
||||||
|
{ label: 'Localidad', key: 'Localidad', class: 'text-xs' },
|
||||||
|
{
|
||||||
|
label: '',
|
||||||
|
key: 'action',
|
||||||
|
class: 'w-0 p-0',
|
||||||
|
render: (item) => Button({
|
||||||
|
class: 'btn btn-ghost btn-xs',
|
||||||
|
onclick: (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
handleSelect(item);
|
||||||
|
}
|
||||||
|
}, 'Seleccionar')
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const handleSelect = (item) => {
|
||||||
|
onSelect?.(item);
|
||||||
|
closeModal();
|
||||||
|
};
|
||||||
|
|
||||||
|
const closeModal = () => {
|
||||||
|
open(false);
|
||||||
|
search('');
|
||||||
|
results([]);
|
||||||
|
error(null);
|
||||||
|
};
|
||||||
|
|
||||||
|
return Modal({
|
||||||
|
open,
|
||||||
|
title: 'Buscar Pólizas',
|
||||||
|
class: 'max-w-1024px max-h-612px',
|
||||||
|
actions: [
|
||||||
|
Button({
|
||||||
|
class: 'btn btn-ghost',
|
||||||
|
onclick: closeModal
|
||||||
|
}, 'Cerrar')
|
||||||
|
]
|
||||||
|
}, [
|
||||||
|
h('div', { class: 'space-y-4' }, [
|
||||||
|
// Campo de búsqueda
|
||||||
|
Input({
|
||||||
|
type: "search",
|
||||||
|
class: "w-full",
|
||||||
|
placeholder: "Buscar por cualquier campo (mín. 3 caracteres)...",
|
||||||
|
value: search,
|
||||||
|
left: h('span', { class: "icon-[lucide--search]" }),
|
||||||
|
right: () => loading() ?
|
||||||
|
Loading({ class: "loading-sm" }) :
|
||||||
|
(search() ? Button({
|
||||||
|
class: "btn btn-ghost btn-xs btn-circle -mr-2",
|
||||||
|
onclick: (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
search('');
|
||||||
|
}
|
||||||
|
}, h('span', { class: "icon-[lucide--x] opacity-50" })) : null),
|
||||||
|
oninput: (e) => search(e.target.value),
|
||||||
|
autofocus: true
|
||||||
|
}),
|
||||||
|
|
||||||
|
// Estado de carga
|
||||||
|
() => loading() ? h('div', { class: 'flex justify-center items-center py-8' }, [
|
||||||
|
Loading({ class: 'loading-md' }),
|
||||||
|
h('span', { class: 'ml-2 text-sm opacity-70' }, 'Buscando...')
|
||||||
|
]) : null,
|
||||||
|
|
||||||
|
// Error
|
||||||
|
() => !loading() && error() ? h('div', { class: 'alert alert-error py-2 px-3 text-sm' }, [
|
||||||
|
h('span', { class: 'icon-[lucide--alert-circle]' }),
|
||||||
|
h('span', {}, error())
|
||||||
|
]) : null,
|
||||||
|
|
||||||
|
// Contador de resultados
|
||||||
|
() => !loading() && !error() && results().length > 0 ?
|
||||||
|
h('div', { class: 'text-xs opacity-60 px-1' },
|
||||||
|
`${results().length} resultado${results().length !== 1 ? 's' : ''}`
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Tabla de resultados
|
||||||
|
() => !loading() && !error() && results().length > 0 ?
|
||||||
|
h('div', { class: 'overflow-x-auto max-h-96' }, [
|
||||||
|
h('table', { class: 'table table-xs table-zebra table-pin-rows w-full' }, [
|
||||||
|
h('thead', {}, [
|
||||||
|
h('tr', {}, columns.map(col =>
|
||||||
|
h('th', { class: col.class || '' }, col.label)
|
||||||
|
))
|
||||||
|
]),
|
||||||
|
h('tbody', {},
|
||||||
|
each(results, (item) =>
|
||||||
|
h('tr', {
|
||||||
|
class: 'hover cursor-pointer',
|
||||||
|
onclick: () => handleSelect(item)
|
||||||
|
}, columns.map(col =>
|
||||||
|
h('td', { class: col.class || '' },
|
||||||
|
col.render ? col.render(item) : (item[col.key] || '')
|
||||||
|
)
|
||||||
|
))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Sin resultados
|
||||||
|
() => !loading() && !error() && search().length >= 3 && results().length === 0 ?
|
||||||
|
h('div', { class: 'text-center py-8 text-base-content/50' }, [
|
||||||
|
h('span', { class: 'icon-[lucide--search-x] text-2xl mb-2 block' }),
|
||||||
|
h('span', { class: 'text-sm' }, 'No se encontraron resultados')
|
||||||
|
])
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Estado inicial
|
||||||
|
() => !loading() && !error() && search().length < 3 ?
|
||||||
|
h('div', { class: 'text-center py-8 text-base-content/40 text-sm' },
|
||||||
|
'Escribe al menos 3 caracteres para buscar'
|
||||||
|
)
|
||||||
|
: null
|
||||||
|
])
|
||||||
|
]);
|
||||||
|
};
|
||||||
89
client/components/SearchResults.js
Normal file
89
client/components/SearchResults.js
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
// components/SearchResults.js
|
||||||
|
import { h, each } from "../sigpro.js";
|
||||||
|
import { Button, Table, Loading } from "sigpro-ui";
|
||||||
|
|
||||||
|
export const SearchResults = ({ results, loading, error, onSelect }) => {
|
||||||
|
const columns = [
|
||||||
|
{ label: 'Código', key: 'CodigoPoliza', class: 'font-mono text-xs' },
|
||||||
|
{ label: 'Mediador', key: 'CodigoMediador', class: 'text-xs' },
|
||||||
|
{ label: 'Nombre', key: 'Nombre', class: 'font-medium text-xs' },
|
||||||
|
{ label: 'Apellidos', key: 'Apellidos', class: 'text-xs' },
|
||||||
|
{ label: 'Documento', key: 'Documento', class: 'text-xs' },
|
||||||
|
{ label: 'Riesgo', key: 'Riesgo', class: 'text-xs' },
|
||||||
|
{ label: 'Ramo', key: 'Ramo', class: 'text-xs' },
|
||||||
|
{ label: 'Localidad', key: 'Localidad', class: 'text-xs' },
|
||||||
|
{
|
||||||
|
label: '',
|
||||||
|
key: 'action',
|
||||||
|
class: 'w-0 p-0',
|
||||||
|
render: (item) => Button({
|
||||||
|
class: 'btn btn-ghost btn-xs',
|
||||||
|
onclick: (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
onSelect?.(item);
|
||||||
|
}
|
||||||
|
}, 'Seleccionar')
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
return h('div', { class: 'p-3 space-y-2' }, [
|
||||||
|
// Estado de carga
|
||||||
|
() => loading() ? h('div', { class: 'flex justify-center items-center py-6' }, [
|
||||||
|
Loading({ class: 'loading-md' }),
|
||||||
|
h('span', { class: 'ml-2 text-sm opacity-70' }, 'Buscando...')
|
||||||
|
]) : null,
|
||||||
|
|
||||||
|
// Error
|
||||||
|
() => !loading() && error() ? h('div', { class: 'alert alert-error py-2 px-3 text-sm' }, [
|
||||||
|
h('span', { class: 'icon-[lucide--alert-circle]' }),
|
||||||
|
h('span', {}, error())
|
||||||
|
]) : null,
|
||||||
|
|
||||||
|
// Contador de resultados
|
||||||
|
() => !loading() && !error() && results().length > 0 ?
|
||||||
|
h('div', { class: 'text-xs opacity-60 px-1' },
|
||||||
|
`${results().length} resultado${results().length !== 1 ? 's' : ''} encontrado${results().length !== 1 ? 's' : ''}`
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Tabla de resultados
|
||||||
|
() => !loading() && !error() && results().length > 0 ?
|
||||||
|
h('div', { class: 'overflow-x-auto w-full' }, [
|
||||||
|
h('table', { class: 'table table-xs table-zebra table-pin-rows w-full' }, [
|
||||||
|
h('thead', {}, [
|
||||||
|
h('tr', {}, columns.map(col =>
|
||||||
|
h('th', { class: col.class || '' }, col.label)
|
||||||
|
))
|
||||||
|
]),
|
||||||
|
h('tbody', {},
|
||||||
|
each(results, (item) =>
|
||||||
|
h('tr', {
|
||||||
|
class: 'hover cursor-pointer',
|
||||||
|
onclick: () => onSelect?.(item)
|
||||||
|
}, columns.map(col =>
|
||||||
|
h('td', { class: col.class || '' },
|
||||||
|
col.render ? col.render(item) : (item[col.key] || '')
|
||||||
|
)
|
||||||
|
))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Sin resultados
|
||||||
|
() => !loading() && !error() && results().length === 0 ?
|
||||||
|
h('div', { class: 'text-center py-6 text-base-content/50' }, [
|
||||||
|
h('span', { class: 'icon-[lucide--search-x] text-2xl mb-2 block' }),
|
||||||
|
h('span', { class: 'text-sm' }, 'No se encontraron resultados')
|
||||||
|
])
|
||||||
|
: null,
|
||||||
|
|
||||||
|
// Estado inicial (menos de 3 caracteres)
|
||||||
|
() => !loading() && !error() && results().length === 0 ?
|
||||||
|
h('div', { class: 'text-center py-4 text-base-content/40 text-xs' },
|
||||||
|
'Escribe al menos 3 caracteres para buscar'
|
||||||
|
)
|
||||||
|
: null
|
||||||
|
]);
|
||||||
|
};
|
||||||
@@ -10,15 +10,13 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tailwindcss/vite": "^4.2.4",
|
"sigpro": "git+http://gitea:3000/natxocc/sigpro"
|
||||||
"sigpro": "git+http://gitea:3000/natxocc/sigpro",
|
|
||||||
"sigpro-grid": "git+http://gitea:3000/natxocc/sigpro-grid",
|
|
||||||
"sigpro-ui": "git+http://gitea:3000/natxocc/sigpro-ui"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify/json": "^2.2.470",
|
"@iconify/json": "^2.2.473",
|
||||||
"@iconify/tailwind4": "^1.2.3",
|
"@iconify/tailwind4": "^1.2.3",
|
||||||
"tailwindcss": "^4.2.4",
|
"@tailwindcss/vite": "^4.3.0",
|
||||||
"vite": "^8.0.11"
|
"tailwindcss": "^4.3.0",
|
||||||
|
"vite": "^8.0.13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,32 @@
|
|||||||
import { Alert } from "sigpro-ui";
|
import { Alert } from "sigpro-ui";
|
||||||
import { Grid } from "sigpro-grid";
|
import { Grid } from "sigpro-grid";
|
||||||
import { isDark} from "../App.js";
|
import { isDark } from "../App.js";
|
||||||
|
import { h, $ } from "sigpro";
|
||||||
|
|
||||||
export const Desktop = () => {
|
export const Desktop = () => {
|
||||||
|
const test = $(55);
|
||||||
const rowData = [
|
const rowData = [
|
||||||
{ id: 1, nombre: "Juan Pérez", edad: 28, ciudad: "Madrid", activo: true, fecha: "2024-01-15" },
|
{ id: 1, nombre: "Juan Pérez", edad: 28, ciudad: "Madrid", activo: true, fecha: "2024-01-15" },
|
||||||
{ id: 2, nombre: "María García", edad: 34, ciudad: "Barcelona", activo: true, fecha: "2024-02-20" },
|
{ id: 2, nombre: "María García", edad: 34, ciudad: "Barcelona", activo: true, fecha: "2024-02-20" },
|
||||||
{ id: 3, nombre: "Carlos López", edad: 45, ciudad: "Valencia", activo: false, fecha: "2024-03-10" },
|
{ id: 3, nombre: "Carlos López", edad: 45, ciudad: "Valencia", activo: false, fecha: "2024-03-10" },
|
||||||
{ id: 4, nombre: "Ana Martínez", edad: 23, ciudad: "Sevilla", activo: true, fecha: "2024-04-05" }
|
{ id: 4, nombre: "Ana Martínez", edad: 23, ciudad: "Sevilla", activo: true, fecha: "2024-04-05" }
|
||||||
];
|
];
|
||||||
|
const detailCellRendererParams = {
|
||||||
|
// provide the Grid Options to use on the Detail Grid
|
||||||
|
detailGridOptions: {
|
||||||
|
columnDefs: [
|
||||||
|
{ field: 'callId' },
|
||||||
|
{ field: 'direction' },
|
||||||
|
{ field: 'number' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// get the rows for each Detail Grid
|
||||||
|
getDetailRowData: params => {
|
||||||
|
params.successCallback(params.data.callRecords);
|
||||||
|
}
|
||||||
|
}
|
||||||
const columnDefs = [
|
const columnDefs = [
|
||||||
{ field: "id", headerName: "ID", width: 80, filter: 'agMultiColumnFilter' },
|
{ field: "id", headerName: "ID", width: 80, filter: 'agMultiColumnFilter', cellRenderer: "agGroupCellRenderer" },
|
||||||
{ field: "nombre", headerName: "Nombre", width: 150, filter: 'agMultiColumnFilter', editable: true },
|
{ field: "nombre", headerName: "Nombre", width: 150, filter: 'agMultiColumnFilter', editable: true },
|
||||||
{ field: "edad", headerName: "Edad", width: 100, filter: 'agMultiColumnFilter' },
|
{ field: "edad", headerName: "Edad", width: 100, filter: 'agMultiColumnFilter' },
|
||||||
{ field: "ciudad", headerName: "Ciudad", width: 150, filter: 'agMultiColumnFilter' },
|
{ field: "ciudad", headerName: "Ciudad", width: 150, filter: 'agMultiColumnFilter' },
|
||||||
@@ -28,6 +43,10 @@ export const Desktop = () => {
|
|||||||
// ✅ GridOptions completamente actualizado
|
// ✅ GridOptions completamente actualizado
|
||||||
const gridOptions = {
|
const gridOptions = {
|
||||||
columnDefs: columnDefs,
|
columnDefs: columnDefs,
|
||||||
|
detailCellRendererParams: detailCellRendererParams,
|
||||||
|
//aggrid enable context menu
|
||||||
|
contextMenu: true,
|
||||||
|
masterDetail: true,
|
||||||
// 1. CORREGIDO: rowSelection con la sintaxis nueva
|
// 1. CORREGIDO: rowSelection con la sintaxis nueva
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
mode: "multiRow", // o "singleRow" para selección simple
|
mode: "multiRow", // o "singleRow" para selección simple
|
||||||
@@ -57,7 +76,9 @@ export const Desktop = () => {
|
|||||||
console.log("Filas seleccionadas:", selectedRows.length);
|
console.log("Filas seleccionadas:", selectedRows.length);
|
||||||
};
|
};
|
||||||
|
|
||||||
return Grid({
|
return div([
|
||||||
|
button({class: "btn", onclick: () => console.log(test(test()+1))}, ()=>test()),
|
||||||
|
Grid({
|
||||||
data: rowData,
|
data: rowData,
|
||||||
options: gridOptions,
|
options: gridOptions,
|
||||||
on: {
|
on: {
|
||||||
@@ -68,5 +89,6 @@ export const Desktop = () => {
|
|||||||
class: "my-grid",
|
class: "my-grid",
|
||||||
style: "height: 800px; width: 100%;",
|
style: "height: 800px; width: 100%;",
|
||||||
dark: isDark()
|
dark: isDark()
|
||||||
});
|
})
|
||||||
|
])
|
||||||
};
|
};
|
||||||
@@ -1,17 +1,11 @@
|
|||||||
{
|
{
|
||||||
"folders": [
|
"folders": [
|
||||||
{
|
{
|
||||||
"path": ".",
|
"path": "."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "../sigpro-ui",
|
"path": "../sigpro"
|
||||||
},
|
}
|
||||||
{
|
|
||||||
"path": "../sigpro-grid",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "../sigpro",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
|
|||||||
@@ -129,4 +129,60 @@ api.get('/download', async (c) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// --- RUTA DE BÚSQUEDA DE PÓLIZAS ---
|
||||||
|
api.post('/search', async (c) => {
|
||||||
|
try {
|
||||||
|
const body = await c.req.json();
|
||||||
|
const q = body.q?.trim() || '';
|
||||||
|
|
||||||
|
if (!q || q.length < 3) {
|
||||||
|
return c.json({ success: true, results: [] });
|
||||||
|
}
|
||||||
|
|
||||||
|
const searchTerm = `%${q}%`;
|
||||||
|
|
||||||
|
const results = await db.raw(`
|
||||||
|
SELECT
|
||||||
|
CodigoPoliza, CodigoMediador, FechaAlta, FechaBaja,
|
||||||
|
Riesgo, Ramo, Nombre, Apellidos, Documento,
|
||||||
|
Domicilio, Localidad, CodigoPostal, Provincia
|
||||||
|
FROM vPolizas
|
||||||
|
WHERE
|
||||||
|
CodigoPoliza LIKE :search OR
|
||||||
|
Nombre LIKE :search OR
|
||||||
|
Apellidos LIKE :search OR
|
||||||
|
Documento LIKE :search OR
|
||||||
|
CodigoMediador LIKE :search
|
||||||
|
LIMIT 50
|
||||||
|
`, { search: searchTerm });
|
||||||
|
|
||||||
|
// 3. Serialización limpia (Manejo de BigInt y Dates)
|
||||||
|
const cleanResults = results.map(row => {
|
||||||
|
const entry = { ...row };
|
||||||
|
for (let key in entry) {
|
||||||
|
if (typeof entry[key] === 'bigint') entry[key] = entry[key].toString();
|
||||||
|
// Formatear fechas a YYYY-MM-DD
|
||||||
|
if (entry[key] instanceof Date) {
|
||||||
|
entry[key] = entry[key].toISOString().split('T')[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return entry;
|
||||||
|
});
|
||||||
|
|
||||||
|
return c.json({
|
||||||
|
success: true,
|
||||||
|
results: cleanResults,
|
||||||
|
count: cleanResults.length
|
||||||
|
});
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error en búsqueda:', error);
|
||||||
|
return c.json({
|
||||||
|
success: false,
|
||||||
|
error: 'Error interno del servidor',
|
||||||
|
results: []
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export default api
|
export default api
|
||||||
Reference in New Issue
Block a user