diff --git a/package.json b/package.json index 33d806a..9854e5e 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@types/crypto-js": "^4.2.2", "@types/react-calendar-heatmap": "^1.6.7", "@vitejs/plugin-legacy": "^5.4.0", + "aieditor": "^1.0.12", "antd": "^5.17.4", "autoprefixer": "^10.4.19", "axios": "^1.7.2", @@ -31,6 +32,7 @@ "react": "^18.3.1", "react-calendar-heatmap": "^1.9.0", "react-dom": "^18.3.1", + "react-infinite-scroll-component": "^6.1.0", "react-rotate-captcha": "^1.0.26", "react-router-dom": "^6.23.1", "regenerator-runtime": "^0.14.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1783b92..1d913a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,6 +26,9 @@ dependencies: '@vitejs/plugin-legacy': specifier: ^5.4.0 version: 5.4.0(terser@5.31.0)(vite@5.2.12) + aieditor: + specifier: ^1.0.12 + version: 1.0.12(@tiptap/extension-code-block@2.4.0) antd: specifier: ^5.17.4 version: 5.17.4(react-dom@18.3.1)(react@18.3.1) @@ -68,6 +71,9 @@ dependencies: react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) + react-infinite-scroll-component: + specifier: ^6.1.0 + version: 6.1.0(react@18.3.1) react-rotate-captcha: specifier: ^1.0.26 version: 1.0.26 @@ -2543,6 +2549,10 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true + /@popperjs/core@2.11.8: + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + dev: false + /@rc-component/async-validator@5.0.4: resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==} engines: {node: '>=14.x'} @@ -2644,6 +2654,10 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /@remirror/core-constants@2.0.2: + resolution: {integrity: sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==} + dev: false + /@remix-run/router@1.16.1: resolution: {integrity: sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==} engines: {node: '>=14.0.0'} @@ -2950,6 +2964,421 @@ packages: - supports-color dev: true + /@tiptap/core@2.4.0(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-YJSahk8pkxpCs8SflCZfTnJpE7IPyUWIylfgXM2DefjRQa5DZ+c6sNY0s/zbxKYFQ6AuHVX40r9pCfcqHChGxQ==} + peerDependencies: + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-blockquote@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-nJJy4KsPgQqWTTDOWzFRdjCfG5+QExfZj44dulgDFNh+E66xhamnbM70PklllXJgEcge7xmT5oKM0gKls5XgFw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-bold@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-csnW6hMDEHoRfxcPRLSqeJn+j35Lgtt1YRiOwn7DlS66sAECGRuoGfCvQSPij0TCDp4VCR9if5Sf8EymhnQumQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-bubble-menu@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-s99HmttUtpW3rScWq8rqk4+CGCwergNZbHLTkF6Rp6TSboMwfp+rwL5Q/JkcAG9KGLso1vGyXKbt1xHOvm8zMw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + tippy.js: 6.3.7 + dev: false + + /@tiptap/extension-bullet-list@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-9S5DLIvFRBoExvmZ+/ErpTvs4Wf1yOEs8WXlKYUCcZssK7brTFj99XDwpHFA29HKDwma5q9UHhr2OB2o0JYAdw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-character-count@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-IA3Fubvag5N/7m2xS/T8D1nH26UyebBL9CtZ3/4de4faKgvDQLlILsSI2Hefi7j7rUCYCYzgF2S0Gny+Z76ulw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-code-block-lowlight@2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-code-block@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-j0SdFq66A97Cn7bQOMqFYBaYsmOltZZ6o4uDZH6fdTvEFbfXTdtTYs2awsNSbW+w/DtivKZCvAX1FRLR3/g/5A==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/extension-code-block': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/extension-code-block': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-code-block@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-QWGdv1D56TBGbbJSj2cIiXGJEKguPiAl9ONzJ/Ql1ZksiQsYwx0YHriXX6TOC//T4VIf6NSClHEtwtxWBQ/Csg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-code@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-wjhBukuiyJMq4cTcK3RBTzUPV24k5n1eEPlpmzku6ThwwkMdwynnMGMAmSF3fErh3AOyOUPoTTjgMYN2d10SJA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-color@2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-text-style@2.4.0): + resolution: {integrity: sha512-aVuqGtzTIZO93niADdu+Hx8g03X0pS7wjrJcCcYkkDEbC/siC03zlxKZIYBW1Jiabe99Z7/s2KdtLoK6DW2A2g==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/extension-text-style': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/extension-text-style': 2.4.0(@tiptap/core@2.4.0) + dev: false + + /@tiptap/extension-document@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-3jRodQJZDGbXlRPERaloS+IERg/VwzpC1IO6YSJR9jVIsBO6xC29P3cKTQlg1XO7p6ZH/0ksK73VC5BzzTwoHg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-dropcursor@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-c46HoG2PEEpSZv5rmS5UX/lJ6/kP1iVO0Ax+6JrNfLEIiDULUoi20NqdjolEa38La2VhWvs+o20OviiTOKEE9g==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-font-family@2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-text-style@2.4.0): + resolution: {integrity: sha512-viWyQJSxJBRn2ni7G2QgMdBqx7ysE60JBo0/1ptt5mD81+czaYYm8WkUNljljrIMV9djC8qGUlFqhI1Kx+ONaQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/extension-text-style': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/extension-text-style': 2.4.0(@tiptap/core@2.4.0) + dev: false + + /@tiptap/extension-gapcursor@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-F4y/0J2lseohkFUw9P2OpKhrJ6dHz69ZScABUvcHxjznJLd6+0Zt7014Lw5PA8/m2d/w0fX8LZQ88pZr4quZPQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-hard-break@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-3+Z6zxevtHza5IsDBZ4lZqvNR3Kvdqwxq/QKCKu9UhJN1DUjsg/l1Jn2NilSQ3NYkBYh2yJjT8CMo9pQIu776g==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-heading@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-fYkyP/VMo7YHO76YVrUjd95Qeo0cubWn/Spavmwm1gLTHH/q7xMtbod2Z/F0wd6QHnc7+HGhO7XAjjKWDjldaw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-highlight@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-p2I/CaMrs6hzpj/dSw6UNobOWTV38yTjPK+B4ShJQ7IN2u/C82KOTOeFfJoFd9KykmpVOVW3w3nKG3ad0HXPuQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-history@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-gr5qsKAXEVGr1Lyk1598F7drTaEtAxqZiuuSwTCzZzkiwgEQsWMWTWc9F8FlneCEaqe1aIYg6WKWlmYPaFwr0w==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-horizontal-rule@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-yDgxy+YxagcEsBbdWvbQiXYxsv3noS1VTuGwc9G7ZK9xPmBHJ5y0agOkB7HskwsZvJHoaSqNRsh7oZTkf0VR3g==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-image@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-NIVhRPMO/ONo8OywEd+8zh0Q6Q7EbFHtBxVsvfOKj9KtZkaXQfUO4MzONTyptkvAchTpj9pIzeaEY5fyU87gFA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-italic@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-aaW/L9q+KNHHK+X73MPloHeIsT191n3VLd3xm6uUcFDnUNvzYJ/q65/1ZicdtCaOLvTutxdrEvhbkrVREX6a8g==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-link@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-r3PjT0bjSKAorHAEBPA0icSMOlqALbxVlWU9vAc+Q3ndzt7ht0CTPNewzFF9kjzARABVt1cblXP/2+c0qGzcsg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + linkifyjs: 4.1.3 + dev: false + + /@tiptap/extension-list-item@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-reUVUx+2cI2NIAqMZhlJ9uK/+zvRzm1GTmlU2Wvzwc7AwLN4yemj6mBDsmBLEXAKPvitfLh6EkeHaruOGymQtg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-mention@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0)(@tiptap/suggestion@2.4.0): + resolution: {integrity: sha512-7BqCNfqF1Mv9IrtdlHADwXMFo968UNmthf/TepVXC7EX2Ke6/Y4vvxmpYVNZc55FdswFwpVyZ2VeXBj3AC2JcA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + '@tiptap/suggestion': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + '@tiptap/suggestion': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-ordered-list@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-Zo0c9M0aowv+2+jExZiAvhCB83GZMjZsxywmuOrdUbq5EGYKb7q8hDyN3hkrktVHr9UPXdPAYTmLAHztTOHYRA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-paragraph@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-+yse0Ow67IRwcACd9K/CzBcxlpr9OFnmf0x9uqpaWt1eHck1sJnti6jrw5DVVkyEBHDh/cnkkV49gvctT/NyCw==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-placeholder@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-SmWOjgWpmhFt0BPOnL65abCUH0wS5yksUJgtANn5bQoHF4HFSsyl7ETRmgf0ykxdjc7tzOg31FfpWVH4wzKSYg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-strike@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-pE1uN/fQPOMS3i+zxPYMmPmI3keubnR6ivwM+KdXWOMnBiHl9N4cNpJgq1n2eUUGKLurC2qrQHpnVyGAwBS6Vg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-subscript@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-exLSmSFmYN6AVww5oyroFL3KCwstT0U+ojvVhRD6DQ+Hc81d++lBKANfsWAcllXjZVGPWeMNdE66bV7oFCtQcQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-superscript@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-s+GsbbERNQCn/hyaw5/82y3wHQ7o5byc/eFAKYo1p3p5eESlDaHY/xVYPt3CGOX2TJWZalgSFEFqBVdTSI8mUQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-table-cell@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-zylResMWLvV17Z6+GEDjvvl+YpJqJhNMyJsZPZNx/72OcNCDN3p2d6RGFwhpnCpdzZDD6LGaIgWaTj9oeg53SA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-table-header@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-FZCOyJHSFsMTCfBh49J1DlwgpUIM5Ivpr57Za8FVvUkk8RKUIOKpNsZqxE+Wrw+2Bvy5H4X7Azb588x0NDqfOQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-table-row@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-K4FDI4YzyLWZbhIZYYL15uqs6M3QsPZGTpTdkSaxcKMLholcskDSHhJmySxnrjI0+JNAtyIiqlWBfA1/9Zyhng==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-table@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-ceIUnPSqVCb+qC0XZSgApoG3dL3MRvWrGl1nIMxEqPgMsD/MP6MsYV1Lx/GmtdUlEEsV1624cGTBiRzeCuWkZA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-task-item@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-x40vdHnmDiBbA2pjWR/92wVGb6jT13Nk2AhRUI/oP/r4ZGKpTypoB7heDnvLBgH0Y5a51dFqU+G1SFFL30u5uA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + + /@tiptap/extension-task-list@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-vmUB3wEJU81QbiHUygBlselQW8YIW8/85UTwANvWx8+KEWyM7EUF4utcm5R2UobIprIcWb4hyVkvW/5iou25gg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-text-align@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-wpRe2OiLXTK4kTy4RZEPnPjFbK16kYHPAx1552hLXrOdyxbS7Sdbo+w4x7aGLLZZqZdudCFfkdtnqrc7PDVZdA==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-text-style@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-H0uPWeZ4sXz3o836TDWnpd38qClqzEM2d6QJ9TK+cQ1vE5Gp8wQ5W4fwUV1KAHzpJKE/15+BXBjLyVYQdmXDaQ==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-text@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-LV0bvE+VowE8IgLca7pM8ll7quNH+AgEHRbSrsI3SHKDCYB9gTHMjWaAkgkUVaO1u0IfCrjnCLym/PqFKa+vvg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/extension-underline@2.4.0(@tiptap/core@2.4.0): + resolution: {integrity: sha512-guWojb7JxUwLz4OKzwNExJwOkhZjgw/ttkXCMBT0PVe55k998MMYe1nvN0m2SeTW9IxurEPtScH4kYJ0XuSm8Q==} + peerDependencies: + '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + dev: false + + /@tiptap/pm@2.4.0: + resolution: {integrity: sha512-B1HMEqGS4MzIVXnpgRZDLm30mxDWj51LkBT/if1XD+hj5gm8B9Q0c84bhvODX6KIs+c6z+zsY9VkVu8w9Yfgxg==} + dependencies: + prosemirror-changeset: 2.2.1 + prosemirror-collab: 1.3.1 + prosemirror-commands: 1.5.2 + prosemirror-dropcursor: 1.8.1 + prosemirror-gapcursor: 1.3.2 + prosemirror-history: 1.4.0 + prosemirror-inputrules: 1.4.0 + prosemirror-keymap: 1.2.2 + prosemirror-markdown: 1.13.0 + prosemirror-menu: 1.2.4 + prosemirror-model: 1.21.3 + prosemirror-schema-basic: 1.2.2 + prosemirror-schema-list: 1.4.0 + prosemirror-state: 1.4.3 + prosemirror-tables: 1.3.7 + prosemirror-trailing-node: 2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8) + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.8 + dev: false + + /@tiptap/starter-kit@2.4.0(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-DYYzMZdTEnRn9oZhKOeRCcB+TjhNz5icLlvJKoHoOGL9kCbuUyEf8WRR2OSPckI0+KUIPJL3oHRqO4SqSdTjfg==} + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/extension-blockquote': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-bold': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-bullet-list': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-code': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-code-block': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-document': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-dropcursor': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-gapcursor': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-hard-break': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-heading': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-history': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-horizontal-rule': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-italic': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-list-item': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-ordered-list': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-paragraph': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-strike': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-text': 2.4.0(@tiptap/core@2.4.0) + transitivePeerDependencies: + - '@tiptap/pm' + dev: false + + /@tiptap/suggestion@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0): + resolution: {integrity: sha512-6dCkjbL8vIzcLWtS6RCBx0jlYPKf2Beuyq5nNLrDDZZuyJow5qJAY0eGu6Xomp9z0WDK/BYOxT4hHNoGMDkoAg==} + peerDependencies: + '@tiptap/core': ^2.0.0 + '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/pm': 2.4.0 + dev: false + /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: @@ -2986,6 +3415,27 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: false + + /@types/markdown-it@13.0.8: + resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: false + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: false + /@types/node@20.12.12: resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} dependencies: @@ -3016,6 +3466,10 @@ packages: '@types/prop-types': 15.7.12 csstype: 3.1.3 + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: false + /@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0)(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3222,6 +3676,47 @@ packages: object-assign: 4.1.1 dev: false + /aieditor@1.0.12(@tiptap/extension-code-block@2.4.0): + resolution: {integrity: sha512-qF0UWd9+wiYCXRwTsKVYo8kDE5aWE+cz10O/fXEamMRxnodNubzm24xYYPzlsjA612m1S6JuGQuwV1LzI5WIJg==} + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/extension-bubble-menu': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-character-count': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-code-block-lowlight': 2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-code-block@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-color': 2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-text-style@2.4.0) + '@tiptap/extension-font-family': 2.4.0(@tiptap/core@2.4.0)(@tiptap/extension-text-style@2.4.0) + '@tiptap/extension-gapcursor': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-highlight': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-image': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-link': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-mention': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0)(@tiptap/suggestion@2.4.0) + '@tiptap/extension-placeholder': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-subscript': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-superscript': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-table': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-table-cell': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-table-header': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-table-row': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-task-item': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + '@tiptap/extension-task-list': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-text-align': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-text-style': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/extension-underline': 2.4.0(@tiptap/core@2.4.0) + '@tiptap/pm': 2.4.0 + '@tiptap/starter-kit': 2.4.0(@tiptap/pm@2.4.0) + '@tiptap/suggestion': 2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.4.0) + crypto-js: 4.2.0 + i18next: 23.11.5 + lowlight: 3.1.0 + markdown-it: 13.0.2 + markdown-it-container: 3.0.0 + node-html-parser: 6.1.13 + tippy.js: 6.3.7 + tiptap-markdown: 0.8.10(@tiptap/core@2.4.0) + transitivePeerDependencies: + - '@tiptap/extension-code-block' + dev: false + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -3326,7 +3821,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} @@ -3919,6 +4413,10 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -3994,6 +4492,16 @@ packages: nth-check: 2.1.1 dev: false + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: false + /css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -4089,6 +4597,11 @@ packages: engines: {node: '>=0.4.0'} dev: false + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + /des.js@1.1.0: resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: @@ -4096,6 +4609,12 @@ packages: minimalistic-assert: 1.0.1 dev: true + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: false + /diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: @@ -4133,6 +4652,14 @@ packages: entities: 2.2.0 dev: false + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: false + /domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} engines: {node: '>=10'} @@ -4149,6 +4676,13 @@ packages: domelementtype: 2.3.0 dev: false + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: @@ -4157,6 +4691,14 @@ packages: domhandler: 4.3.1 dev: false + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: false + /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -4223,10 +4765,14 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: false + /entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: false + /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} @@ -4937,6 +5483,11 @@ packages: hasBin: true dev: false + /highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} + dev: false + /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: @@ -4968,6 +5519,12 @@ packages: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} dev: true + /i18next@23.11.5: + resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==} + dependencies: + '@babel/runtime': 7.24.6 + dev: false + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -5400,6 +5957,22 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + /linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + dependencies: + uc.micro: 1.0.6 + dev: false + + /linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + dependencies: + uc.micro: 2.1.0 + dev: false + + /linkifyjs@4.1.3: + resolution: {integrity: sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==} + dev: false + /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -5443,6 +6016,14 @@ packages: dependencies: tslib: 2.6.2 + /lowlight@3.1.0: + resolution: {integrity: sha512-CEbNVoSikAxwDMDPjXlqlFYiZLkDJHwyGu/MfOsJnF3d7f3tds5J3z8s/l9TMXhzfsJCCJEAsD78842mwmg0PQ==} + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + highlight.js: 11.9.0 + dev: false + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -5462,6 +6043,37 @@ packages: semver: 5.7.2 optional: true + /markdown-it-container@3.0.0: + resolution: {integrity: sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==} + dev: false + + /markdown-it-task-lists@2.1.1: + resolution: {integrity: sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==} + dev: false + + /markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: false + + /markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + dev: false + /mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} dev: true @@ -5478,6 +6090,14 @@ packages: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: false + + /mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + dev: false + /memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} dev: false @@ -5636,6 +6256,13 @@ packages: he: 1.2.0 dev: false + /node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + dependencies: + css-select: 5.1.0 + he: 1.2.0 + dev: false + /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -5778,6 +6405,10 @@ packages: word-wrap: 1.2.5 dev: true + /orderedmap@2.1.1: + resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + dev: false + /os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} dev: true @@ -6335,6 +6966,148 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 + /prosemirror-changeset@2.2.1: + resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==} + dependencies: + prosemirror-transform: 1.9.0 + dev: false + + /prosemirror-collab@1.3.1: + resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==} + dependencies: + prosemirror-state: 1.4.3 + dev: false + + /prosemirror-commands@1.5.2: + resolution: {integrity: sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==} + dependencies: + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + dev: false + + /prosemirror-dropcursor@1.8.1: + resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==} + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.8 + dev: false + + /prosemirror-gapcursor@1.3.2: + resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} + dependencies: + prosemirror-keymap: 1.2.2 + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-view: 1.33.8 + dev: false + + /prosemirror-history@1.4.0: + resolution: {integrity: sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==} + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.8 + rope-sequence: 1.3.4 + dev: false + + /prosemirror-inputrules@1.4.0: + resolution: {integrity: sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==} + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + dev: false + + /prosemirror-keymap@1.2.2: + resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==} + dependencies: + prosemirror-state: 1.4.3 + w3c-keyname: 2.2.8 + dev: false + + /prosemirror-markdown@1.13.0: + resolution: {integrity: sha512-UziddX3ZYSYibgx8042hfGKmukq5Aljp2qoBiJRejD/8MH70siQNz5RB1TrdTPheqLMy4aCe4GYNF10/3lQS5g==} + dependencies: + markdown-it: 14.1.0 + prosemirror-model: 1.21.3 + dev: false + + /prosemirror-menu@1.2.4: + resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==} + dependencies: + crelt: 1.0.6 + prosemirror-commands: 1.5.2 + prosemirror-history: 1.4.0 + prosemirror-state: 1.4.3 + dev: false + + /prosemirror-model@1.21.3: + resolution: {integrity: sha512-nt2Xs/RNGepD9hrrkzXvtCm1mpGJoQfFSPktGa0BF/aav6XsnmVGZ9sTXNWRLupAz5SCLa3EyKlFeK7zJWROKg==} + dependencies: + orderedmap: 2.1.1 + dev: false + + /prosemirror-schema-basic@1.2.2: + resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==} + dependencies: + prosemirror-model: 1.21.3 + dev: false + + /prosemirror-schema-list@1.4.0: + resolution: {integrity: sha512-nZOIq/AkBSzCENxUyLm5ltWE53e2PLk65ghMN8qLQptOmDVixZlPqtMeQdiNw0odL9vNpalEjl3upgRkuJ/Jyw==} + dependencies: + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + dev: false + + /prosemirror-state@1.4.3: + resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} + dependencies: + prosemirror-model: 1.21.3 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.8 + dev: false + + /prosemirror-tables@1.3.7: + resolution: {integrity: sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==} + dependencies: + prosemirror-keymap: 1.2.2 + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.8 + dev: false + + /prosemirror-trailing-node@2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8): + resolution: {integrity: sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==} + peerDependencies: + prosemirror-model: ^1.19.0 + prosemirror-state: ^1.4.2 + prosemirror-view: ^1.31.2 + dependencies: + '@remirror/core-constants': 2.0.2 + escape-string-regexp: 4.0.0 + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-view: 1.33.8 + dev: false + + /prosemirror-transform@1.9.0: + resolution: {integrity: sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==} + dependencies: + prosemirror-model: 1.21.3 + dev: false + + /prosemirror-view@1.33.8: + resolution: {integrity: sha512-4PhMr/ufz2cdvFgpUAnZfs+0xij3RsFysreeG9V/utpwX7AJtYCDVyuRxzWoMJIEf4C7wVihuBNMPpFLPCiLQw==} + dependencies: + prosemirror-model: 1.21.3 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.9.0 + dev: false + /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false @@ -6355,6 +7128,11 @@ packages: safe-buffer: 5.2.1 dev: true + /punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + dev: false + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true @@ -6970,6 +7748,15 @@ packages: scheduler: 0.23.2 dev: false + /react-infinite-scroll-component@6.1.0(react@18.3.1): + resolution: {integrity: sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==} + peerDependencies: + react: '>=16.0.0' + dependencies: + react: 18.3.1 + throttle-debounce: 2.3.0 + dev: false + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -7197,6 +7984,10 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 + /rope-sequence@1.3.4: + resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} + dev: false + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -7709,6 +8500,11 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /throttle-debounce@2.3.0: + resolution: {integrity: sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==} + engines: {node: '>=8'} + dev: false + /throttle-debounce@5.0.0: resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} engines: {node: '>=12.22'} @@ -7731,6 +8527,24 @@ packages: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} dev: false + /tippy.js@6.3.7: + resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} + dependencies: + '@popperjs/core': 2.11.8 + dev: false + + /tiptap-markdown@0.8.10(@tiptap/core@2.4.0): + resolution: {integrity: sha512-iDVkR2BjAqkTDtFX0h94yVvE2AihCXlF0Q7RIXSJPRSR5I0PA1TMuAg6FHFpmqTn4tPxJ0by0CK7PUMlnFLGEQ==} + peerDependencies: + '@tiptap/core': ^2.0.3 + dependencies: + '@tiptap/core': 2.4.0(@tiptap/pm@2.4.0) + '@types/markdown-it': 13.0.8 + markdown-it: 14.1.0 + markdown-it-task-lists: 2.1.1 + prosemirror-markdown: 1.13.0 + dev: false + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -7827,6 +8641,14 @@ packages: hasBin: true dev: true + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: false + + /uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -8033,6 +8855,10 @@ packages: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true + /w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + dev: false + /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} dependencies: diff --git a/src/assets/images/background.png b/src/assets/images/background.png index b204d50..32e90b6 100644 Binary files a/src/assets/images/background.png and b/src/assets/images/background.png differ diff --git a/src/components/Main/Bucket/components/UpDrawer.tsx b/src/components/Main/Bucket/components/UpDrawer.tsx index bdc37b0..0d5c19f 100644 --- a/src/components/Main/Bucket/components/UpDrawer.tsx +++ b/src/components/Main/Bucket/components/UpDrawer.tsx @@ -1,12 +1,7 @@ /** @format */ import { Avatar, Button, message } from "antd"; -import { - DrawerForm, - ProCard, - ProForm, - ProFormText, -} from "@ant-design/pro-components"; +import { DrawerForm, ProCard, ProForm, ProFormText } from "@ant-design/pro-components"; import React, { createContext, useContext, useState } from "react"; import { EditOutlined, EllipsisOutlined, SettingOutlined } from "@ant-design/icons"; import bucket from "../../../../assets/icons/bucket.svg"; diff --git a/src/components/Main/Bucket/index.module.less b/src/components/Main/Bucket/index.module.less index e02b304..0d1d495 100644 --- a/src/components/Main/Bucket/index.module.less +++ b/src/components/Main/Bucket/index.module.less @@ -1,13 +1,9 @@ .proCard{ max-width: 30%; - height: 75vh; - max-height: 75vh; } .proCardBucket{ - height: 75vh; - max-height: 75vh; width: 100%; } @@ -23,6 +19,3 @@ overflow-y:scroll; overflow-x: hidden; } -//.div_checkCardArea::-webkit-scrollbar { -// -//} diff --git a/src/components/Main/Bucket/index.tsx b/src/components/Main/Bucket/index.tsx index 7919761..9d6fb08 100644 --- a/src/components/Main/Bucket/index.tsx +++ b/src/components/Main/Bucket/index.tsx @@ -14,23 +14,14 @@ const Bucket: FunctionComponent = () => { return (
} - onClick={() => navigate("/main/bucket/add")}> - } + extra={} title="存储商" headerBordered className={styles.proCard} boxShadow={true} colSpan={"100%"} bordered> - { - console.log("value", value); - }}> +
{checkList.map((item) => { return ( @@ -42,7 +33,6 @@ const Bucket: FunctionComponent = () => { description="点击查看" value={item} onChange={() => { - console.log(`/main/bucket/${item}`); navigate(`/main/bucket/${item}`); }} /> diff --git a/src/components/Main/Settings/index.tsx b/src/components/Main/Settings/index.tsx index daee931..212245b 100644 --- a/src/components/Main/Settings/index.tsx +++ b/src/components/Main/Settings/index.tsx @@ -5,7 +5,7 @@ import { Avatar, Card, Empty, Select } from "antd"; import styles from "./index.module.less"; import { Outlet, useLocation, useNavigate } from "react-router-dom"; import { Suspense } from "react"; -import selectOptions from "@/components/Main/Settings/defaultSettings.ts"; +import selectOptions from "@/components/Main/Settings/settings.ts"; import StorageIcon from "@/context/stroage-icon.ts"; export default () => { const navigate = useNavigate(); diff --git a/src/components/Main/Settings/defaultSettings.ts b/src/components/Main/Settings/settings.ts similarity index 100% rename from src/components/Main/Settings/defaultSettings.ts rename to src/components/Main/Settings/settings.ts diff --git a/src/components/Main/Share/components/ShareDetail.tsx b/src/components/Main/Share/components/ShareDetail.tsx deleted file mode 100644 index b107f46..0000000 --- a/src/components/Main/Share/components/ShareDetail.tsx +++ /dev/null @@ -1,7 +0,0 @@ -/** @format */ -import React from "react"; - -const ShareList: React.FunctionComponent = () => { - return <>; -}; -export default ShareList; diff --git a/src/components/Main/Share/components/ShareDetail/ShareDetail.tsx b/src/components/Main/Share/components/ShareDetail/ShareDetail.tsx new file mode 100644 index 0000000..471b4dd --- /dev/null +++ b/src/components/Main/Share/components/ShareDetail/ShareDetail.tsx @@ -0,0 +1,46 @@ +/** @format */ +import React, { useEffect, useRef } from "react"; +import { Button } from "antd"; +import { LeftOutlined } from "@ant-design/icons"; +import { useNavigate } from "react-router-dom"; +import {AiEditor} from "aieditor"; +import "aieditor/dist/style.css" + +const ShareDetail: React.FunctionComponent = () => { + const navigate = useNavigate(); + //定义 ref + const divRef = useRef(null); + //初始化 AiEditor + useEffect(() => { + if (divRef.current) { + const aiEditor = new AiEditor({ + editable:false, + element: divRef.current, + placeholder: "点击输入内容...", + content: 'AiEditor 是一个面向 AI 的开源富文本编辑器。 ', + }) + return ()=>{ + aiEditor.destroy(); + } + } + }, []) + return ( + <> + , - ]; - }} - itemLayout="vertical" - rowKey="id" - // headerTitle="竖排样式" - dataSource={dataSource} - metas={{ - title: {}, - description: { - render: () => ( - <> - 语雀专栏 - 设计语言 - 蚂蚁金服 - - ), - }, - actions: { - render: () => [ - , - , - , - ], - }, - extra: { - render: () => ( - logo - ), - }, - content: { - render: () => { - return ( -
- 段落示意:蚂蚁金服设计平台 - design.alipay.com,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。蚂蚁金服设计平台 - design.alipay.com,用最小的工作量,无缝接入蚂蚁金服生态提供跨越设计与开发的体验解决方案。 -
- ); - }, - }, - }} - /> - ); -}; -export default ShareList; diff --git a/src/components/Main/Share/components/ShareList/ShareList.tsx b/src/components/Main/Share/components/ShareList/ShareList.tsx new file mode 100644 index 0000000..0bdf749 --- /dev/null +++ b/src/components/Main/Share/components/ShareList/ShareList.tsx @@ -0,0 +1,102 @@ +/** @format */ + +import { ProCard } from "@ant-design/pro-components"; +import { Avatar, Button, Divider, List, Skeleton } from "antd"; +import { useEffect, useState } from "react"; +import styles from "./index.module.less"; +import Search from "antd/es/input/Search"; +import InfiniteScroll from "react-infinite-scroll-component"; +import { useNavigate } from "react-router-dom"; +import { LeftOutlined } from "@ant-design/icons"; +interface DataType { + gender: string; + name: { + title: string; + first: string; + last: string; + }; + email: string; + picture: { + large: string; + medium: string; + thumbnail: string; + }; + nat: string; +} +export default () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [data, setData] = useState([]); + + const loadMoreData = () => { + if (loading) { + return; + } + setLoading(true); + fetch("https://randomuser.me/api/?results=10&inc=name,gender,email,nat,picture&noinfo") + .then((res) => res.json()) + .then((body) => { + setData([...data, ...body.results]); + setLoading(false); + }) + .catch(() => { + setLoading(false); + }); + }; + + useEffect(() => { + loadMoreData(); + }, []); + return ( + <> +
+ +
+
+
+ + +
+
+ + } + endMessage={It is all, nothing more 🤐} + scrollableTarget="scrollableDiv"> + ( + + } + title={ + { + navigate("/main/share/detail/1"); + }}> + {item.name.last} + + } + description={item.email} + /> +
Content
+
+ )} + /> +
+
+
+ + ); +}; diff --git a/src/components/Main/Share/components/ShareList/index.module.less b/src/components/Main/Share/components/ShareList/index.module.less new file mode 100644 index 0000000..709256b --- /dev/null +++ b/src/components/Main/Share/components/ShareList/index.module.less @@ -0,0 +1,9 @@ +.share_list_main{ + display: flex; + flex-direction: column; + .share_list_header{ + display: flex; + flex-direction: row; + justify-content: space-between; + } +} diff --git a/src/components/Main/Share/index.tsx b/src/components/Main/Share/index.tsx index 76183fa..28e0b18 100644 --- a/src/components/Main/Share/index.tsx +++ b/src/components/Main/Share/index.tsx @@ -1,39 +1,46 @@ -/** @format */ -import { FunctionComponent } from "react"; -import { ProCard } from "@ant-design/pro-components"; -import styles from "./index.module.less"; -import { Avatar, Button, Card } from "antd"; -import setting from "@/assets/icons/setting.svg"; -import Search from "antd/es/input/Search"; -import Meta from "antd/es/card/Meta"; -import { useNavigate } from "react-router-dom"; -const MainShare: FunctionComponent = () => { - const navigate = useNavigate(); - return ( - <> -
- -
- - -
-
- - { - navigate("/main/share/list/1"); - }}> - } - title="Card title" - description="This is the description" - /> - - -
- - ); -}; -export default MainShare; +/** @format */ +import { FunctionComponent } from "react"; +import { ProCard } from "@ant-design/pro-components"; +import styles from "./index.module.less"; +import { Button, Card, Image } from "antd"; + +import Search from "antd/es/input/Search"; +import Meta from "antd/es/card/Meta"; +import { useNavigate } from "react-router-dom"; +import background from "@/assets/images/background.png"; +const MainShare: FunctionComponent = () => { + const navigate = useNavigate(); + return ( + <> +
+ +
+ + +
+
+ + { + navigate("/main/share/list/1"); + }} + cover={ + example + }> + + + +
+ + ); +}; +export default MainShare; diff --git a/src/router/modules/main/share/modules/shareDetail.tsx b/src/router/modules/main/share/modules/shareDetail.tsx new file mode 100644 index 0000000..ff55fbb --- /dev/null +++ b/src/router/modules/main/share/modules/shareDetail.tsx @@ -0,0 +1,11 @@ +/** @format */ + +import { lazy } from "react"; + +const ShareDetail = lazy( + () => + new Promise((resolve: any) => { + resolve(import("@/components/Main/Share/components/ShareDetail/ShareDetail.tsx")); + }), +); +export default ShareDetail; diff --git a/src/router/modules/main/share/modules/shareList.tsx b/src/router/modules/main/share/modules/shareList.tsx index d4331f5..9c4eabf 100644 --- a/src/router/modules/main/share/modules/shareList.tsx +++ b/src/router/modules/main/share/modules/shareList.tsx @@ -5,7 +5,7 @@ import { lazy } from "react"; const ShareList = lazy( () => new Promise((resolve: any) => { - resolve(import("@/components/Main/Share/components/ShareList")); + resolve(import("@/components/Main/Share/components/ShareList/ShareList.tsx")); }), ); export default ShareList; diff --git a/src/router/routes.tsx b/src/router/routes.tsx index b9608fa..79aa5a4 100644 --- a/src/router/routes.tsx +++ b/src/router/routes.tsx @@ -32,6 +32,7 @@ import Wangyi from "@/router/modules/main/settings/wangyi/wangyi.ts"; import Jinshan from "@/router/modules/main/settings/jinshan/jinshan.ts"; import Qiniu from "@/router/modules/main/settings/qiniu/qiniu.ts"; import ShareList from "@/router/modules/main/share/modules/shareList.tsx"; +import ShareDetail from "@/router/modules/main/share/modules/shareDetail.tsx"; import minioBucket from "@/router/modules/main/bucket/createBuckets/minio.ts"; import tencentBucket from "@/router/modules/main/bucket/createBuckets/tencent.ts"; import aliBucket from "@/router/modules/main/bucket/createBuckets/ali.ts"; @@ -158,6 +159,10 @@ const routes: RouteObject[] = [ path: "/main/share/list/:id", Component: ShareList, }, + { + path: "/main/share/detail/:id", + Component: ShareDetail, + }, { path: "/main/setting", Component: MainSetting, diff --git a/src/types/user.d.ts b/src/types/user.d.ts new file mode 100644 index 0000000..7d7bb39 --- /dev/null +++ b/src/types/user.d.ts @@ -0,0 +1,32 @@ +/** @format */ +/* eslint-disable */ + +declare namespace API { + type PhoneRegisterRequest = { + phone?: string; + userName?: string; + password?: string; + confirmPassword?: string; + activeCode?: string; + }; + type LoginRequest = { + userName?: string; + password?: string; + token: string; + deg: number; + }; + type LoginByPhoneRequest = { + phone?: string; + activeCode?: string; + token: string; + deg: number; + }; + type findPasswordRequest = { + phone?: string; + password?: string; + confirmPassword?: string; + activeCode?: string; + token: string; + deg: number; + }; +} diff --git a/src/types/user/user.d.ts b/src/types/user/user.d.ts deleted file mode 100644 index 3736b20..0000000 --- a/src/types/user/user.d.ts +++ /dev/null @@ -1,261 +0,0 @@ -/** @format */ -/* eslint-disable */ - -declare namespace API { - type PhoneRegisterRequest = { - phone?: string; - userName?: string; - password?: string; - confirmPassword?: string; - activeCode?: string; - }; - type LoginRequest = { - userName?: string; - password?: string; - token: string; - deg: number; - }; - type LoginByPhoneRequest = { - phone?: string; - activeCode?: string; - token: string; - deg: number; - }; - type findPasswordRequest = { - phone?: string; - password?: string; - confirmPassword?: string; - activeCode?: string; - token: string; - deg: number; - }; - // type ApiResponse = { - // success?: boolean; - // code?: number; - // codeMessage?: string; - // errorMessage?: Map; - // showType?: ErrorShowType; - // data: T - // } - // type CurrentUser = { - // name?: string; - // avatar?: string; - // userid?: string; - // email?: string; - // signature?: string; - // title?: string; - // group?: string; - // tags?: { key?: string; label?: string }[]; - // notifyCount?: number; - // unreadCount?: number; - // country?: string; - // access?: string; - // geographic?: { - // province?: { label?: string; key?: string }; - // city?: { label?: string; key?: string }; - // }; - // address?: string; - // phone?: string; - // }; - // - // type LoginResult = ResponseStructure & { - // data?: { - // token?: string; - // expireDateTime?: number; - // expire?: number; - // timeUnit?: any; - // } - // }; - // - // type PageParams = { - // pageNum?: number; - // pageSize?: number; - // }; - - // type RuleListItem = { - // key?: number; - // disabled?: boolean; - // href?: string; - // avatar?: string; - // name?: string; - // owner?: string; - // desc?: string; - // callNo?: number; - // status?: number; - // updatedAt?: string; - // createdAt?: string; - // progress?: number; - // }; - - // type RuleList = { - // data?: RuleListItem[]; - // /** 列表的内容总数 */ - // total?: number; - // success?: boolean; - // }; - // interface ResponseStructure { - // success?: boolean; - // code?: number; - // codeMessage?: string; - // errorMessage?: Map; - // showType?: ErrorShowType; - // } - // type - // FakeCaptcha = ResponseStructure & { - // data?: boolean, - // }; - // - // type PhonePasswordLoginParams = { - // clientId?: string; - // phone?: string; - // password?: string; - // code?: string; - // autoLogin?: boolean; - // }; - // - // type PhoneSmsCodeLoginParams = { - // clientId?: string; - // phone?: string; - // smsCode?: string; - // autoLogin?: boolean; - // }; - // - // type ErrorResponse = { - // /** 业务约定的错误码 */ - // errorCode: string; - // /** 业务上的错误信息 */ - // errorMessage?: Map; - // /** 业务上的请求是否成功 */ - // success?: boolean; - // }; - // - // type NoticeIconList = { - // data?: NoticeIconItem[]; - // /** 列表的内容总数 */ - // total?: number; - // success?: boolean; - // }; - - // type NoticeIconItemType = 'notification' | 'message' | 'event'; - - // type NoticeIconItem = { - // id?: string; - // extra?: string; - // key?: string; - // read?: boolean; - // avatar?: string; - // title?: string; - // status?: string; - // datetime?: string; - // description?: string; - // type?: NoticeIconItemType; - // }; - - // type GenerateMpRegCode = { - // data?: { - // regCode?: string; - // qrCodeUrl?: string; - // expireSeconds?: number; - // ticket?: string; - // url?: string; - // }; - // } - - // type GetClientId = { - // data?: string; - // } - - // type GenerateBase64Code = { - // data?: string; - // } - - // type GetClientToken = { - // data?: { - // token?: string; - // expireDateTime?: number; - // expire?: number; - // }; - // } - - // type PhoneRegisterResponse = ResponseStructure & { - // data?: number; - // } - // - // type CustomValidate = { - // validateStatus?: boolean; - // msg?: string; - // formValue?: any; - // code?: number; - // codeMessage?: string; - // errors?: Map; - // validateFields: ValidateFields; - // } - // - // type ListAccountBookVo = ResponseStructure & { - // data?: { - // total?: number; - // list?: ListAccountBookVoItem[] - // } - // } - // type ListAccountBookVoItem = { - // id: number; - // companyName?: string; - // valueAddedTaxCate?: string; - // accountingStandard?: string; - // startTime?: Date; - // createTime?: Date; - // enableVoucherVerify?: boolean; - // disable?: boolean; - // } - // type GetAccountBookVo = { - // id?: number; - // companyName?: string; - // unifiedSocialCreditCode?: string; - // industryId?: number; - // valueAddedTaxCate?: number; - // enableVoucherVerify?: boolean; - // startTime?: Date; - // accountingStandard?: number; - // enableFixedAssets?: boolean; - // enableCapital?: boolean; - // enablePsi?: boolean; - // } - // type DataDictionaryVo = { - // dataCode?: string; - // dataValue?: string; - // } - // - // type ListTreeMenuVo = { - // id?: number; - // key?: string; - // title?: any; - // icon?: string; - // checked?: boolean; - // children?: ListTreeMenuVo[]; - // level?: number; - // }; - // - // type ListTreeSelectMenuVo = { - // id?: number; - // value?: string; - // title?: any; - // children?: ListTreeMenuVo[]; - // } - // - // type ListRoleVo = { - // id: number; - // roleName?: string; - // disable?: boolean; - // } - // - // type ListSubject = { - // id: number; - // pid?: number; - // valueAddedTaxCate?: string; - // accountingStandard?: string; - // startTime?: Date; - // createTime?: Date; - // enableVoucherVerify?: boolean; - // disable?: boolean; - // } -}