diff --git a/apps/dokploy/components/dashboard/libsql/general/show-internal-libsql-credentials.tsx b/apps/dokploy/components/dashboard/libsql/general/show-internal-libsql-credentials.tsx index 6c13502426..d8a9a8c648 100644 --- a/apps/dokploy/components/dashboard/libsql/general/show-internal-libsql-credentials.tsx +++ b/apps/dokploy/components/dashboard/libsql/general/show-internal-libsql-credentials.tsx @@ -1,4 +1,5 @@ import { SelectGroup } from "@radix-ui/react-select"; +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; @@ -28,7 +29,7 @@ export const ShowInternalLibsqlCredentials = ({ libsqlId }: Props) => {
- +
diff --git a/apps/dokploy/components/dashboard/mariadb/general/show-internal-mariadb-credentials.tsx b/apps/dokploy/components/dashboard/mariadb/general/show-internal-mariadb-credentials.tsx index 8a99300ad9..4bd1ea7dbf 100644 --- a/apps/dokploy/components/dashboard/mariadb/general/show-internal-mariadb-credentials.tsx +++ b/apps/dokploy/components/dashboard/mariadb/general/show-internal-mariadb-credentials.tsx @@ -1,3 +1,4 @@ +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { UpdateDatabasePassword } from "@/components/shared/update-database-password"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; @@ -25,11 +26,11 @@ export const ShowInternalMariadbCredentials = ({ mariadbId }: Props) => {
- +
- +
diff --git a/apps/dokploy/components/dashboard/mongo/general/show-internal-mongo-credentials.tsx b/apps/dokploy/components/dashboard/mongo/general/show-internal-mongo-credentials.tsx index c1e03716cc..e53b26fb4e 100644 --- a/apps/dokploy/components/dashboard/mongo/general/show-internal-mongo-credentials.tsx +++ b/apps/dokploy/components/dashboard/mongo/general/show-internal-mongo-credentials.tsx @@ -1,3 +1,4 @@ +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { UpdateDatabasePassword } from "@/components/shared/update-database-password"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; @@ -25,7 +26,7 @@ export const ShowInternalMongoCredentials = ({ mongoId }: Props) => {
- +
diff --git a/apps/dokploy/components/dashboard/mysql/general/show-internal-mysql-credentials.tsx b/apps/dokploy/components/dashboard/mysql/general/show-internal-mysql-credentials.tsx index 4f91c7efce..5eba398aaf 100644 --- a/apps/dokploy/components/dashboard/mysql/general/show-internal-mysql-credentials.tsx +++ b/apps/dokploy/components/dashboard/mysql/general/show-internal-mysql-credentials.tsx @@ -1,3 +1,4 @@ +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { UpdateDatabasePassword } from "@/components/shared/update-database-password"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; @@ -25,11 +26,11 @@ export const ShowInternalMysqlCredentials = ({ mysqlId }: Props) => {
- +
- +
diff --git a/apps/dokploy/components/dashboard/postgres/general/show-internal-postgres-credentials.tsx b/apps/dokploy/components/dashboard/postgres/general/show-internal-postgres-credentials.tsx index 30e265577e..7968f22175 100644 --- a/apps/dokploy/components/dashboard/postgres/general/show-internal-postgres-credentials.tsx +++ b/apps/dokploy/components/dashboard/postgres/general/show-internal-postgres-credentials.tsx @@ -1,3 +1,4 @@ +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { UpdateDatabasePassword } from "@/components/shared/update-database-password"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; @@ -25,11 +26,11 @@ export const ShowInternalPostgresCredentials = ({ postgresId }: Props) => {
- +
- +
diff --git a/apps/dokploy/components/dashboard/redis/general/show-internal-redis-credentials.tsx b/apps/dokploy/components/dashboard/redis/general/show-internal-redis-credentials.tsx index 2245e724e6..0923b58e83 100644 --- a/apps/dokploy/components/dashboard/redis/general/show-internal-redis-credentials.tsx +++ b/apps/dokploy/components/dashboard/redis/general/show-internal-redis-credentials.tsx @@ -1,3 +1,4 @@ +import { CopyableInput } from "@/components/shared/copyable-input"; import { ToggleVisibilityInput } from "@/components/shared/toggle-visibility-input"; import { UpdateDatabasePassword } from "@/components/shared/update-database-password"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; @@ -25,7 +26,7 @@ export const ShowInternalRedisCredentials = ({ redisId }: Props) => {
- +
diff --git a/apps/dokploy/components/shared/copyable-input.tsx b/apps/dokploy/components/shared/copyable-input.tsx new file mode 100644 index 0000000000..cc135d7f8a --- /dev/null +++ b/apps/dokploy/components/shared/copyable-input.tsx @@ -0,0 +1,25 @@ +import copy from "copy-to-clipboard"; +import { Clipboard } from "lucide-react"; +import { useRef } from "react"; +import { toast } from "sonner"; +import { Button } from "../ui/button"; +import { Input, type InputProps } from "../ui/input"; + +export const CopyableInput = ({ ...props }: InputProps) => { + const inputRef = useRef(null); + + return ( +
+ + +
+ ); +};