diff --git a/components/dashboard/application/environment/show.tsx b/components/dashboard/application/environment/show.tsx index 29b536cb2..72f25d2e7 100644 --- a/components/dashboard/application/environment/show.tsx +++ b/components/dashboard/application/environment/show.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from "react"; +import React, { useEffect, useState } from "react"; import { Card, CardContent, @@ -19,8 +19,9 @@ import { } from "@/components/ui/form"; import { api } from "@/utils/api"; import { toast } from "sonner"; -import { Textarea } from "@/components/ui/textarea"; +import { Toggle } from "@/components/ui/toggle"; import { CodeEditor } from "@/components/shared/code-editor"; +import { EyeIcon, EyeOffIcon } from "lucide-react"; const addEnvironmentSchema = z.object({ environment: z.string(), @@ -33,6 +34,7 @@ interface Props { } export const ShowEnvironment = ({ applicationId }: Props) => { + const [isEnvVisible, setIsEnvVisible] = useState(true); const { mutateAsync, isLoading } = api.application.saveEnvironment.useMutation(); @@ -72,15 +74,50 @@ export const ShowEnvironment = ({ applicationId }: Props) => { toast.error("Error to add environment"); }); }; + useEffect(() => { + if (isEnvVisible) { + if (data?.env) { + const maskedLines = data.env + .split("\n") + .map((line) => "*".repeat(line.length)) + .join("\n"); + form.reset({ + environment: maskedLines, + }); + } else { + form.reset({ + environment: "", + }); + } + } else { + form.reset({ + environment: data?.env || "", + }); + } + }, [form.reset, data, form, isEnvVisible]); return (