mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 16:23:06 +10:00
Merge branch 'main' into feat/typeInDeletion
This commit is contained in:
10
.env.example
10
.env.example
@ -27,6 +27,16 @@ E2E_TEST_AUTHENTICATE_USERNAME="Test User"
|
|||||||
E2E_TEST_AUTHENTICATE_USER_EMAIL="testuser@mail.com"
|
E2E_TEST_AUTHENTICATE_USER_EMAIL="testuser@mail.com"
|
||||||
E2E_TEST_AUTHENTICATE_USER_PASSWORD="test_Password123"
|
E2E_TEST_AUTHENTICATE_USER_PASSWORD="test_Password123"
|
||||||
|
|
||||||
|
# [[SIGNING]]
|
||||||
|
# OPTIONAL: Defines the signing transport to use. Available options: local (default)
|
||||||
|
NEXT_PRIVATE_SIGNING_TRANSPORT="local"
|
||||||
|
# OPTIONAL: Defines the passphrase for the signing certificate.
|
||||||
|
NEXT_PRIVATE_SIGNING_PASSPHRASE=
|
||||||
|
# OPTIONAL: Defines the file contents for the signing certificate as a base64 encoded string.
|
||||||
|
NEXT_PRIVATE_SIGNING_LOCAL_FILE_CONTENTS=
|
||||||
|
# OPTIONAL: Defines the file path for the signing certificate. defaults to ./example/cert.p12
|
||||||
|
NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=
|
||||||
|
|
||||||
# [[STORAGE]]
|
# [[STORAGE]]
|
||||||
# OPTIONAL: Defines the storage transport to use. Available options: database (default) | s3
|
# OPTIONAL: Defines the storage transport to use. Available options: database (default) | s3
|
||||||
NEXT_PUBLIC_UPLOAD_TRANSPORT="database"
|
NEXT_PUBLIC_UPLOAD_TRANSPORT="database"
|
||||||
|
|||||||
@ -36,7 +36,7 @@
|
|||||||
"react-hook-form": "^7.43.9",
|
"react-hook-form": "^7.43.9",
|
||||||
"react-icons": "^4.11.0",
|
"react-icons": "^4.11.0",
|
||||||
"recharts": "^2.7.2",
|
"recharts": "^2.7.2",
|
||||||
"sharp": "0.33.1",
|
"sharp": "^0.33.1",
|
||||||
"typescript": "5.2.2",
|
"typescript": "5.2.2",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
"react-icons": "^4.11.0",
|
"react-icons": "^4.11.0",
|
||||||
"react-rnd": "^10.4.1",
|
"react-rnd": "^10.4.1",
|
||||||
"remeda": "^1.27.1",
|
"remeda": "^1.27.1",
|
||||||
"sharp": "0.33.1",
|
"sharp": "^0.33.1",
|
||||||
"ts-pattern": "^5.0.5",
|
"ts-pattern": "^5.0.5",
|
||||||
"ua-parser-js": "^1.0.37",
|
"ua-parser-js": "^1.0.37",
|
||||||
"uqr": "^0.1.2",
|
"uqr": "^0.1.2",
|
||||||
|
|||||||
@ -82,6 +82,7 @@ export const DocumentsDataTable = ({
|
|||||||
header: 'Status',
|
header: 'Status',
|
||||||
accessorKey: 'status',
|
accessorKey: 'status',
|
||||||
cell: ({ row }) => <DocumentStatus status={row.getValue('status')} />,
|
cell: ({ row }) => <DocumentStatus status={row.getValue('status')} />,
|
||||||
|
size: 140,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Actions',
|
header: 'Actions',
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useMemo } from 'react';
|
import { useEffect, useMemo } from 'react';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
@ -149,6 +149,13 @@ export const EnableAuthenticatorAppDialog = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Reset the form when the Dialog closes
|
||||||
|
if (!open) {
|
||||||
|
setupTwoFactorAuthenticationForm.reset();
|
||||||
|
}
|
||||||
|
}, [open, setupTwoFactorAuthenticationForm]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog open={open} onOpenChange={onOpenChange}>
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
||||||
<DialogContent className="w-full max-w-xl md:max-w-xl lg:max-w-xl">
|
<DialogContent className="w-full max-w-xl md:max-w-xl lg:max-w-xl">
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useMemo } from 'react';
|
import { useEffect, useMemo } from 'react';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
@ -92,6 +92,13 @@ export const ViewRecoveryCodesDialog = ({ open, onOpenChange }: ViewRecoveryCode
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Reset the form when the Dialog closes
|
||||||
|
if (!open) {
|
||||||
|
viewRecoveryCodesForm.reset();
|
||||||
|
}
|
||||||
|
}, [open, viewRecoveryCodesForm]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog open={open} onOpenChange={onOpenChange}>
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
||||||
<DialogContent className="w-full max-w-xl md:max-w-xl lg:max-w-xl">
|
<DialogContent className="w-full max-w-xl md:max-w-xl lg:max-w-xl">
|
||||||
|
|||||||
@ -29,7 +29,16 @@ NEXT_PRIVATE_SMTP_USERNAME="<your-username>"
|
|||||||
NEXT_PRIVATE_SMTP_PASSWORD="<your-password>"
|
NEXT_PRIVATE_SMTP_PASSWORD="<your-password>"
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Run the following command to start the containers:
|
4. Update the volume binding for the cert file in the `compose.yml` file to point to your own key file:
|
||||||
|
|
||||||
|
Since the `cert.p12` file is required for signing and encrypting documents, you will need to provide your own key file. Update the volume binding in the `compose.yml` file to point to your key file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
volumes:
|
||||||
|
- /path/to/your/keyfile.p12:/opt/documenso/cert.p12
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Run the following command to start the containers:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker-compose --env-file ./.env -d up
|
docker-compose --env-file ./.env -d up
|
||||||
@ -70,6 +79,7 @@ docker run -d \
|
|||||||
-e NEXT_PRIVATE_SMTP_TRANSPORT="<your-next-private-smtp-transport>"
|
-e NEXT_PRIVATE_SMTP_TRANSPORT="<your-next-private-smtp-transport>"
|
||||||
-e NEXT_PRIVATE_SMTP_FROM_NAME="<your-next-private-smtp-from-name>"
|
-e NEXT_PRIVATE_SMTP_FROM_NAME="<your-next-private-smtp-from-name>"
|
||||||
-e NEXT_PRIVATE_SMTP_FROM_ADDRESS="<your-next-private-smtp-from-address>"
|
-e NEXT_PRIVATE_SMTP_FROM_ADDRESS="<your-next-private-smtp-from-address>"
|
||||||
|
-v /path/to/your/keyfile.p12:/opt/documenso/cert.p12
|
||||||
documenso/documenso
|
documenso/documenso
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -99,6 +109,10 @@ Here's a markdown table documenting all the provided environment variables:
|
|||||||
| `NEXT_PUBLIC_WEBAPP_URL` | The URL for the web application. |
|
| `NEXT_PUBLIC_WEBAPP_URL` | The URL for the web application. |
|
||||||
| `NEXT_PRIVATE_DATABASE_URL` | The URL for the primary database connection (with connection pooling). |
|
| `NEXT_PRIVATE_DATABASE_URL` | The URL for the primary database connection (with connection pooling). |
|
||||||
| `NEXT_PRIVATE_DIRECT_DATABASE_URL` | The URL for the direct database connection (without connection pooling). |
|
| `NEXT_PRIVATE_DIRECT_DATABASE_URL` | The URL for the direct database connection (without connection pooling). |
|
||||||
|
| `NEXT_PRIVATE_SIGNING_TRANSPORT` | The signing transport to use. Available options: local (default) |
|
||||||
|
| `NEXT_PRIVATE_SIGNING_PASSPHRASE` | The passphrase for the key file. |
|
||||||
|
| `NEXT_PRIVATE_SIGNING_LOCAL_FILE_CONTENTS` | The base64-encoded contents of the key file, will be used instead of file path. |
|
||||||
|
| `NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH` | The path to the key file, default `/opt/documenso/cert.p12`. |
|
||||||
| `NEXT_PUBLIC_UPLOAD_TRANSPORT` | The transport to use for file uploads (database or s3). |
|
| `NEXT_PUBLIC_UPLOAD_TRANSPORT` | The transport to use for file uploads (database or s3). |
|
||||||
| `NEXT_PRIVATE_UPLOAD_ENDPOINT` | The endpoint for the S3 storage transport (for third-party S3-compatible providers). |
|
| `NEXT_PRIVATE_UPLOAD_ENDPOINT` | The endpoint for the S3 storage transport (for third-party S3-compatible providers). |
|
||||||
| `NEXT_PRIVATE_UPLOAD_REGION` | The region for the S3 storage transport (defaults to us-east-1). |
|
| `NEXT_PRIVATE_UPLOAD_REGION` | The region for the S3 storage transport (defaults to us-east-1). |
|
||||||
|
|||||||
@ -57,8 +57,11 @@ services:
|
|||||||
- NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=${NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT}
|
- NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=${NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT}
|
||||||
- NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
|
- NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
|
||||||
- NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
|
- NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
|
||||||
|
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=${NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH?:-/opt/documenso/cert.p12}
|
||||||
ports:
|
ports:
|
||||||
- ${PORT:-3000}:${PORT:-3000}
|
- ${PORT:-3000}:${PORT:-3000}
|
||||||
|
volumes:
|
||||||
|
- /opt/documenso/cert.p12:/opt/documenso/cert.p12
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
database:
|
database:
|
||||||
|
|||||||
@ -47,5 +47,8 @@ services:
|
|||||||
- NEXT_PRIVATE_SMTP_PASSWORD=password
|
- NEXT_PRIVATE_SMTP_PASSWORD=password
|
||||||
- NEXT_PRIVATE_SMTP_FROM_NAME="No Reply @ Documenso"
|
- NEXT_PRIVATE_SMTP_FROM_NAME="No Reply @ Documenso"
|
||||||
- NEXT_PRIVATE_SMTP_FROM_ADDRESS=noreply@documenso.com
|
- NEXT_PRIVATE_SMTP_FROM_ADDRESS=noreply@documenso.com
|
||||||
|
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=/opt/documenso/cert.p12
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3000:3000
|
||||||
|
volumes:
|
||||||
|
- ../../apps/web/example/cert.p12:/opt/documenso/cert.p12
|
||||||
|
|||||||
121
package-lock.json
generated
121
package-lock.json
generated
@ -58,7 +58,7 @@
|
|||||||
"react-hook-form": "^7.43.9",
|
"react-hook-form": "^7.43.9",
|
||||||
"react-icons": "^4.11.0",
|
"react-icons": "^4.11.0",
|
||||||
"recharts": "^2.7.2",
|
"recharts": "^2.7.2",
|
||||||
"sharp": "0.33.1",
|
"sharp": "^0.33.1",
|
||||||
"typescript": "5.2.2",
|
"typescript": "5.2.2",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
@ -74,45 +74,6 @@
|
|||||||
"integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==",
|
"integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"apps/marketing/node_modules/sharp": {
|
|
||||||
"version": "0.33.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
|
|
||||||
"integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==",
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"dependencies": {
|
|
||||||
"color": "^4.2.3",
|
|
||||||
"detect-libc": "^2.0.2",
|
|
||||||
"semver": "^7.5.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"libvips": ">=8.15.0",
|
|
||||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/libvips"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"@img/sharp-darwin-arm64": "0.33.1",
|
|
||||||
"@img/sharp-darwin-x64": "0.33.1",
|
|
||||||
"@img/sharp-libvips-darwin-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-darwin-x64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-arm": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-s390x": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-x64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linuxmusl-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linuxmusl-x64": "1.0.0",
|
|
||||||
"@img/sharp-linux-arm": "0.33.1",
|
|
||||||
"@img/sharp-linux-arm64": "0.33.1",
|
|
||||||
"@img/sharp-linux-s390x": "0.33.1",
|
|
||||||
"@img/sharp-linux-x64": "0.33.1",
|
|
||||||
"@img/sharp-linuxmusl-arm64": "0.33.1",
|
|
||||||
"@img/sharp-linuxmusl-x64": "0.33.1",
|
|
||||||
"@img/sharp-wasm32": "0.33.1",
|
|
||||||
"@img/sharp-win32-ia32": "0.33.1",
|
|
||||||
"@img/sharp-win32-x64": "0.33.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"apps/marketing/node_modules/typescript": {
|
"apps/marketing/node_modules/typescript": {
|
||||||
"version": "5.2.2",
|
"version": "5.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
||||||
@ -159,7 +120,7 @@
|
|||||||
"react-icons": "^4.11.0",
|
"react-icons": "^4.11.0",
|
||||||
"react-rnd": "^10.4.1",
|
"react-rnd": "^10.4.1",
|
||||||
"remeda": "^1.27.1",
|
"remeda": "^1.27.1",
|
||||||
"sharp": "0.33.1",
|
"sharp": "^0.33.1",
|
||||||
"ts-pattern": "^5.0.5",
|
"ts-pattern": "^5.0.5",
|
||||||
"ua-parser-js": "^1.0.37",
|
"ua-parser-js": "^1.0.37",
|
||||||
"uqr": "^0.1.2",
|
"uqr": "^0.1.2",
|
||||||
@ -182,45 +143,6 @@
|
|||||||
"integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==",
|
"integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"apps/web/node_modules/sharp": {
|
|
||||||
"version": "0.33.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
|
|
||||||
"integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==",
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"dependencies": {
|
|
||||||
"color": "^4.2.3",
|
|
||||||
"detect-libc": "^2.0.2",
|
|
||||||
"semver": "^7.5.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"libvips": ">=8.15.0",
|
|
||||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/libvips"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"@img/sharp-darwin-arm64": "0.33.1",
|
|
||||||
"@img/sharp-darwin-x64": "0.33.1",
|
|
||||||
"@img/sharp-libvips-darwin-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-darwin-x64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-arm": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-s390x": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linux-x64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linuxmusl-arm64": "1.0.0",
|
|
||||||
"@img/sharp-libvips-linuxmusl-x64": "1.0.0",
|
|
||||||
"@img/sharp-linux-arm": "0.33.1",
|
|
||||||
"@img/sharp-linux-arm64": "0.33.1",
|
|
||||||
"@img/sharp-linux-s390x": "0.33.1",
|
|
||||||
"@img/sharp-linux-x64": "0.33.1",
|
|
||||||
"@img/sharp-linuxmusl-arm64": "0.33.1",
|
|
||||||
"@img/sharp-linuxmusl-x64": "0.33.1",
|
|
||||||
"@img/sharp-wasm32": "0.33.1",
|
|
||||||
"@img/sharp-win32-ia32": "0.33.1",
|
|
||||||
"@img/sharp-win32-x64": "0.33.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"apps/web/node_modules/typescript": {
|
"apps/web/node_modules/typescript": {
|
||||||
"version": "5.2.2",
|
"version": "5.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
||||||
@ -18560,6 +18482,45 @@
|
|||||||
"sha.js": "bin.js"
|
"sha.js": "bin.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/sharp": {
|
||||||
|
"version": "0.33.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
|
||||||
|
"integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==",
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color": "^4.2.3",
|
||||||
|
"detect-libc": "^2.0.2",
|
||||||
|
"semver": "^7.5.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"libvips": ">=8.15.0",
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-darwin-arm64": "0.33.1",
|
||||||
|
"@img/sharp-darwin-x64": "0.33.1",
|
||||||
|
"@img/sharp-libvips-darwin-arm64": "1.0.0",
|
||||||
|
"@img/sharp-libvips-darwin-x64": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linux-arm": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linux-arm64": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linux-s390x": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linux-x64": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64": "1.0.0",
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64": "1.0.0",
|
||||||
|
"@img/sharp-linux-arm": "0.33.1",
|
||||||
|
"@img/sharp-linux-arm64": "0.33.1",
|
||||||
|
"@img/sharp-linux-s390x": "0.33.1",
|
||||||
|
"@img/sharp-linux-x64": "0.33.1",
|
||||||
|
"@img/sharp-linuxmusl-arm64": "0.33.1",
|
||||||
|
"@img/sharp-linuxmusl-x64": "0.33.1",
|
||||||
|
"@img/sharp-wasm32": "0.33.1",
|
||||||
|
"@img/sharp-win32-ia32": "0.33.1",
|
||||||
|
"@img/sharp-win32-x64": "0.33.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/shebang-command": {
|
"node_modules/shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||||
|
|||||||
@ -20,7 +20,7 @@ module.exports = {
|
|||||||
|
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
tsconfigRootDir: __dirname,
|
tsconfigRootDir: __dirname,
|
||||||
project: ['../../apps/*/tsconfig.json', '../../packages/*/tsconfig.json'],
|
project: ['../../tsconfig.eslint.json'],
|
||||||
ecmaVersion: 2022,
|
ecmaVersion: 2022,
|
||||||
ecmaFeatures: {
|
ecmaFeatures: {
|
||||||
jsx: true,
|
jsx: true,
|
||||||
|
|||||||
@ -115,7 +115,12 @@ export function DataTable<TData, TValue>({
|
|||||||
table.getRowModel().rows.map((row) => (
|
table.getRowModel().rows.map((row) => (
|
||||||
<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'}>
|
<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'}>
|
||||||
{row.getVisibleCells().map((cell) => (
|
{row.getVisibleCells().map((cell) => (
|
||||||
<TableCell key={cell.id}>
|
<TableCell
|
||||||
|
key={cell.id}
|
||||||
|
style={{
|
||||||
|
width: `${cell.column.getSize()}px`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@ -79,7 +79,7 @@ const ToastClose = React.forwardRef<
|
|||||||
<ToastPrimitives.Close
|
<ToastPrimitives.Close
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className={cn(
|
className={cn(
|
||||||
'text-foreground/50 hover:text-foreground absolute right-2 top-2 rounded-md p-1 opacity-0 transition-opacity focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',
|
'text-foreground/50 hover:text-foreground absolute right-2 top-2 rounded-md p-1 opacity-100 transition-opacity focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600 md:opacity-0 group-hover:md:opacity-100',
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
toast-close=""
|
toast-close=""
|
||||||
|
|||||||
@ -91,6 +91,11 @@
|
|||||||
@apply border-border;
|
@apply border-border;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
scrollbar-gutter: stable;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@apply bg-background text-foreground;
|
@apply bg-background text-foreground;
|
||||||
font-feature-settings: 'rlig' 1, 'calt' 1;
|
font-feature-settings: 'rlig' 1, 'calt' 1;
|
||||||
|
|||||||
4
tsconfig.eslint.json
Normal file
4
tsconfig.eslint.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"extends": "./packages/tsconfig/base.json",
|
||||||
|
"include": ["packages/**/*", "apps/**/*"]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user