@@ -21,6 +21,7 @@ import type { UnilingualInstrumentInfo } from '@opendatacapture/schemas/instrume
2121import { createFileRoute } from '@tanstack/react-router' ;
2222import { z } from 'zod/v4' ;
2323
24+ import { QRCode } from '@/components/QRCode' ;
2425import { useAssignmentsQuery } from '@/hooks/useAssignmentsQuery' ;
2526import { useCreateAssignment } from '@/hooks/useCreateAssignment' ;
2627import { useInstrument } from '@/hooks/useInstrument' ;
@@ -40,26 +41,25 @@ const AssignmentSlider: React.FC<{
4041 const instrument = useInstrument ( assignment ?. instrumentId ?? null ) ;
4142
4243 return (
43- < Sheet open = { isOpen } onOpenChange = { setIsOpen } >
44+ < Sheet open = { Boolean ( isOpen && assignment && instrument ) } onOpenChange = { setIsOpen } >
4445 < Sheet . Content className = "flex h-full flex-col" >
4546 < Sheet . Header >
4647 < Sheet . Title > { instrument ?. details . title } </ Sheet . Title >
4748 < Sheet . Description > { t ( 'datahub.assignments.assignmentSliderDesc' ) } </ Sheet . Description >
4849 </ Sheet . Header >
4950 < Sheet . Body className = "grow" >
50- { instrument && (
51- < div className = "flex flex-col gap-3" >
52- < Label asChild >
53- < a className = "hover:underline" href = { assignment ! . url } rel = "noreferrer" target = "_blank" >
54- { t ( 'datahub.assignments.link' ) }
55- </ a >
56- </ Label >
57- < div className = "flex gap-2" >
58- < Input readOnly className = "h-9" id = "link" value = { assignment ! . url } />
59- < CopyButton size = "sm" text = { assignment ! . url } variant = "outline" />
60- </ div >
51+ < div className = "flex flex-col gap-3" >
52+ < Label asChild >
53+ < a className = "hover:underline" href = { assignment ?. url } rel = "noreferrer" target = "_blank" >
54+ { t ( 'datahub.assignments.link' ) }
55+ </ a >
56+ </ Label >
57+ < div className = "flex gap-2" >
58+ < Input readOnly className = "h-9" id = "link" value = { assignment ?. url } />
59+ < CopyButton size = "sm" text = { assignment ?. url ?? '' } variant = "outline" />
6160 </ div >
62- ) }
61+ < QRCode url = { assignment ?. url ?? 'javascript:void(0)' } />
62+ </ div >
6363 </ Sheet . Body >
6464 < Sheet . Footer >
6565 < Button
0 commit comments