11"use client" ;
22
3- import { usePasswordModal } from "@/hooks/use-password-modal" ;
4- import { useUser } from "@clerk/nextjs" ;
5- import { PasswordItem , Prisma } from "@prisma/client" ;
3+ import { usePasswordModal } from "@/hooks/use-password-modal" ;
4+ import { useUser } from "@clerk/nextjs" ;
5+ import { PasswordItem , Prisma } from "@prisma/client" ;
66import CryptoJS from "crypto-js" ;
7- import {
8- AlertTriangle ,
9- Check ,
10- Edit ,
11- ExternalLink ,
12- Eye ,
13- EyeOff ,
14- Globe ,
15- Loader ,
16- Mail ,
17- PenSquare ,
18- Plus ,
19- Search ,
20- Timer ,
21- User ,
22- Zap ,
23- } from "lucide-react" ;
24- import { useEffect , useState } from "react" ;
25- import toast from "react-hot-toast" ;
26- import { Button } from "../button" ;
27- import { Card } from "../card" ;
28- import { ScrollArea } from "../scroll-area" ;
29- import { Sheet , SheetContent } from "../sheet" ;
30- import { DetailsPanel } from "./password/details-panel" ;
7+ import { Loader , Plus , Search } from "lucide-react" ;
8+ import { useEffect , useState } from "react" ;
9+ import { Button } from "../button" ;
10+ import { Card } from "../card" ;
11+ import { ScrollArea } from "../scroll-area" ;
12+ import { Sheet , SheetContent } from "../sheet" ;
13+ import { DetailsPanel } from "./password/details-panel" ;
3114
3215interface PasswordVaultProps {
3316 user : Prisma . UserGetPayload < {
@@ -46,7 +29,9 @@ const PasswordVault: React.FC<PasswordVaultProps> = ({ user }) => {
4629 const [ loading , setLoading ] = useState ( true ) ;
4730 const [ data , setData ] = useState < any [ ] > ( [ ] ) ;
4831 const [ isDetailsOpen , setIsDetailsOpen ] = useState ( false ) ;
49- const [ selectedVault , setSelectedVault ] = useState < PasswordItem | null | undefined > ( undefined ) ;
32+ const [ selectedVault , setSelectedVault ] = useState <
33+ PasswordItem | null | undefined
34+ > ( undefined ) ;
5035
5136 useEffect ( ( ) => {
5237 const handleResize = ( ) => {
@@ -180,14 +165,19 @@ const PasswordVault: React.FC<PasswordVaultProps> = ({ user }) => {
180165 </ ScrollArea >
181166 </ main >
182167
183- { /* Details panel */ }
184- < aside className = "hidden md:block border-l w-2/3" >
185- < DetailsPanel
186- selectedVault = { selectedVault ! }
187- onClose = { ( ) => setIsDetailsOpen ( false ) }
188- encrypt = { encrypt }
189- setData = { setSelectedVault }
190- />
168+ < aside
169+ className = { `hidden md:block border-l ${
170+ data . length > 0 ? "w-2/3" : "w-0"
171+ } `}
172+ >
173+ { data . length > 0 && (
174+ < DetailsPanel
175+ selectedVault = { selectedVault ! }
176+ onClose = { ( ) => setIsDetailsOpen ( false ) }
177+ encrypt = { encrypt }
178+ setData = { setSelectedVault }
179+ />
180+ ) }
191181 </ aside >
192182
193183 { /* Details panel for mobile */ }
0 commit comments