@@ -363,6 +363,7 @@ export default function (context) {
363363 this . getDashboard = globalAppTabs
364364
365365 async function getDashboardItems ( subject ) {
366+ const div = dom . createElement ( 'div' )
366367 const panes = [
367368 {
368369 paneName : 'profile' ,
@@ -481,6 +482,25 @@ export default function (context) {
481482 }
482483 } )
483484 }
485+
486+ async function getAddressBooks ( ) {
487+ try {
488+ const context = await UI . login . findAppInstances (
489+ { me, div, dom } ,
490+ ns . vcard ( 'AddressBook' )
491+ )
492+ return ( context . instances || [ ] ) . map ( ( book , index ) => ( {
493+ paneName : 'contact' ,
494+ tabName : `contact-${ index } ` ,
495+ label : 'Contacts' ,
496+ subject : book ,
497+ icon : UI . icons . iconBase + 'noun_15695.svg'
498+ } ) )
499+ } catch ( err ) {
500+ console . error ( 'oops in globalAppTabs AddressBook' )
501+ }
502+ return [ ]
503+ }
484504 }
485505 this . getDashboardItems = getDashboardItems
486506
@@ -740,6 +760,7 @@ export default function (context) {
740760 const second = containingTable . firstChild . nextSibling
741761 const row = dom . createElement ( 'tr' )
742762 const cell = row . appendChild ( dom . createElement ( 'td' ) )
763+ cell . setAttribute ( 'colspan' , '2' )
743764 cell . appendChild ( paneDiv )
744765 if ( second ) containingTable . insertBefore ( row , second )
745766 else containingTable . appendChild ( row )
@@ -909,6 +930,7 @@ export default function (context) {
909930
910931 const row = dom . createElement ( 'tr' )
911932 const cell = row . appendChild ( dom . createElement ( 'td' ) )
933+ cell . setAttribute ( 'colspan' , '2' )
912934 cell . appendChild ( paneDiv )
913935 if (
914936 tr1 . firstPane . requireQueryButton &&
0 commit comments