@@ -168,28 +168,80 @@ export class ECCClientGa4ghDrsObject extends LitElement {
168168
169169 return html `
170170 < div class ="mb-6 ">
171- < div class ="w-full flex flex-col gap-2 ">
172- < div class ="flex flex-col md:flex-row md:items-center gap-2 ">
173- < h2 class ="text-xl truncate ">
174- ${ this . object . name || this . object . id }
175- </ h2 >
176- </ div >
171+ < div class ="w-full flex flex-col gap-3 ">
172+ < div
173+ class ="flex flex-col gap-2 md:flex-row md:items-start md:justify-between "
174+ >
175+ < div class ="flex flex-col gap-2 ">
176+ < div class ="flex flex-col md:flex-row md:items-center gap-2 ">
177+ < h2 class ="text-xl truncate ">
178+ ${ this . object . name || this . object . id }
179+ </ h2 >
180+ </ div >
181+
182+ < div class ="flex flex-wrap gap-2 items-center ">
183+ ${ this . object . mime_type
184+ ? html `
185+ < ecc-utils-design-badge variant ="outline ">
186+ ${ this . object . mime_type }
187+ </ ecc-utils-design-badge >
188+ `
189+ : "" }
190+ ${ this . object . version
191+ ? html `
192+ < ecc-utils-design-badge variant ="outline ">
193+ v${ this . object . version }
194+ </ ecc-utils-design-badge >
195+ `
196+ : "" }
197+ </ div >
198+ </ div >
177199
178- < div class ="flex flex-wrap gap-2 items-center ">
179- ${ this . object . mime_type
180- ? html `
181- < ecc-utils-design-badge variant ="outline ">
182- ${ this . object . mime_type }
183- </ ecc-utils-design-badge >
184- `
185- : "" }
186- ${ this . object . version
187- ? html `
188- < ecc-utils-design-badge variant ="outline ">
189- v${ this . object . version }
190- </ ecc-utils-design-badge >
191- `
192- : "" }
200+ < div
201+ class ="flex flex-row flex-wrap items-center gap-4 text-xs text-muted-foreground md:justify-end "
202+ >
203+ < div class ="flex items-center gap-1.5 ">
204+ < svg
205+ class ="h-3.5 w-3.5 "
206+ viewBox ="0 0 24 24 "
207+ fill ="none "
208+ stroke ="currentColor "
209+ stroke-width ="2 "
210+ stroke-linecap ="round "
211+ stroke-linejoin ="round "
212+ aria-hidden ="true "
213+ >
214+ < ellipse cx ="12 " cy ="5 " rx ="9 " ry ="3 "> </ ellipse >
215+ < path d ="M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5 "> </ path >
216+ < path d ="M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3 "> </ path >
217+ </ svg >
218+ < span >
219+ Size
220+ ${ ECCClientGa4ghDrsObject . formatFileSize ( this . object . size ) }
221+ </ span >
222+ </ div >
223+ < div class ="flex items-center gap-1.5 ">
224+ < svg
225+ class ="h-3.5 w-3.5 "
226+ viewBox ="0 0 24 24 "
227+ fill ="none "
228+ stroke ="currentColor "
229+ stroke-width ="2 "
230+ stroke-linecap ="round "
231+ stroke-linejoin ="round "
232+ aria-hidden ="true "
233+ >
234+ < circle cx ="12 " cy ="12 " r ="10 "> </ circle >
235+ < path d ="M12 6v6l4 2 "> </ path >
236+ </ svg >
237+ < span >
238+ Created
239+ ${ ECCClientGa4ghDrsObject . formatShortDate (
240+ this . object . created_time
241+ ) }
242+ </ span >
243+ </ div >
244+ </ div >
193245 </ div >
194246 </ div >
195247 </ div >
@@ -258,7 +310,7 @@ export class ECCClientGa4ghDrsObject extends LitElement {
258310 < div class ="mt-4 ">
259311 < div class ="flex flex-col gap-4 text-sm ">
260312 < div class ="flex flex-col gap-2 ">
261- < div class ="font-bold text-base "> Object Information</ div >
313+ < div class ="font-bold text-base "> Dataset Information</ div >
262314 < div class ="flex flex-col gap-3 ">
263315 ${ this . object . description
264316 ? html `
@@ -567,6 +619,18 @@ export class ECCClientGa4ghDrsObject extends LitElement {
567619 }
568620 }
569621
622+ private static formatShortDate ( dateString : string ) : string {
623+ try {
624+ return new Date ( dateString ) . toLocaleDateString ( undefined , {
625+ month : "short" ,
626+ day : "numeric" ,
627+ year : "numeric" ,
628+ } ) ;
629+ } catch {
630+ return dateString ;
631+ }
632+ }
633+
570634 render ( ) {
571635 if ( ! this . baseUrl && ! this . provider ) {
572636 return html `
@@ -607,29 +671,29 @@ export class ECCClientGa4ghDrsObject extends LitElement {
607671 ${ this . renderObjectHeader ( ) }
608672
609673 < ecc-utils-design-tabs
610- default-value ="overview "
674+ default-value ="contents "
611675 class ="part:mb-6 part:w-full "
612676 >
613677 < ecc-utils-design-tabs-list class ="part:w-full ">
614678 < ecc-utils-design-tabs-trigger
615- value ="overview "
679+ value ="contents "
616680 class ="part:flex-1 flex-1 "
617- > Overview </ ecc-utils-design-tabs-trigger
681+ > Contents </ ecc-utils-design-tabs-trigger
618682 >
619683 < ecc-utils-design-tabs-trigger
620- value ="contents "
684+ value ="details "
621685 class ="part:flex-1 flex-1 "
622- > Contents & Access </ ecc-utils-design-tabs-trigger
686+ > Details </ ecc-utils-design-tabs-trigger
623687 >
624688 </ ecc-utils-design-tabs-list >
625689
626- < ecc-utils-design-tabs-content value ="overview ">
627- ${ this . renderOverviewTab ( ) }
628- </ ecc-utils-design-tabs-content >
629-
630690 < ecc-utils-design-tabs-content value ="contents ">
631691 < slot name ="contents "> ${ this . renderContentsTab ( ) } </ slot >
632692 </ ecc-utils-design-tabs-content >
693+
694+ < ecc-utils-design-tabs-content value ="details ">
695+ ${ this . renderOverviewTab ( ) }
696+ </ ecc-utils-design-tabs-content >
633697 </ ecc-utils-design-tabs >
634698 </ div >
635699 ` ;
0 commit comments