#### With search results ```jsx window.searchResults = {}; window.searchResults.conversations = [ { id: 'convo1', name: 'Everyone 🌆', conversationType: 'group', phoneNumber: '(202) 555-0011', avatarPath: util.landscapeGreenObjectUrl, lastUpdated: Date.now() - 5 * 60 * 1000, lastMessage: { text: 'The rabbit hopped silently in the night.', status: 'sent', }, }, { id: 'convo2', name: 'Everyone Else 🔥', conversationType: 'direct', phoneNumber: '(202) 555-0012', avatarPath: util.landscapePurpleObjectUrl, lastUpdated: Date.now() - 5 * 60 * 1000, lastMessage: { text: "What's going on?", status: 'error', }, }, { id: 'convo3', name: 'John the Turtle', conversationType: 'direct', phoneNumber: '(202) 555-0021', lastUpdated: Date.now() - 24 * 60 * 60 * 1000, lastMessage: { text: 'I dunno', }, }, { id: 'convo4', name: 'The Fly', conversationType: 'direct', phoneNumber: '(202) 555-0022', avatarPath: util.pngObjectUrl, lastUpdated: Date.now(), lastMessage: { text: 'Gimme!', }, }, ]; window.searchResults.contacts = [ { id: 'contact1', name: 'The one Everyone', conversationType: 'direct', phoneNumber: '(202) 555-0013', avatarPath: util.gifObjectUrl, }, { id: 'contact2', e: 'No likey everyone', conversationType: 'direct', phoneNumber: '(202) 555-0014', color: 'red', }, ]; window.searchResults.messages = [ { from: { isMe: true, avatarPath: util.gifObjectUrl, }, to: { name: 'Mr. Fire 🔥', phoneNumber: '(202) 555-0015', }, id: '1-guid-guid-guid-guid-guid', conversationId: '(202) 555-0015', receivedAt: Date.now() - 5 * 60 * 1000, snippet: '<<left>>Everyone<<right>>! Get in!', }, { from: { name: 'Jon ❄️', phoneNumber: '(202) 555-0016', color: 'green', }, to: { isMe: true, }, id: '2-guid-guid-guid-guid-guid', conversationId: '(202) 555-0016', snippet: 'Why is <<left>>everyone<<right>> so frustrated?', receivedAt: Date.now() - 20 * 60 * 1000, }, { from: { name: 'Someone', phoneNumber: '(202) 555-0011', color: 'green', avatarPath: util.pngObjectUrl, }, to: { name: "Y'all 🌆", }, id: '3-guid-guid-guid-guid-guid', conversationId: 'EveryoneGroupID', snippet: 'Hello, <<left>>everyone<<right>>! Woohooo!', receivedAt: Date.now() - 24 * 60 * 1000, }, { from: { isMe: true, avatarPath: util.gifObjectUrl, }, to: { name: "Y'all 🌆", }, id: '4-guid-guid-guid-guid-guid', conversationId: 'EveryoneGroupID', snippet: 'Well, <<left>>everyone<<right>>, happy new year!', receivedAt: Date.now() - 24 * 60 * 1000, }, ]; <util.LeftPaneContext theme={util.theme} style={{ height: '200px' }}> <LeftPane searchResults={window.searchResults} startNewConversation={(query, options) => console.log('startNewConversation', query, options) } openConversationInternal={(id, messageId) => console.log('openConversation', id, messageId) } showArchivedConversations={() => console.log('showArchivedConversations')} showInbox={() => console.log('showInbox')} renderMainHeader={() => ( <MainHeader searchTerm="Hi there!" search={result => console.log('search', result)} updateSearch={result => console.log('updateSearch', result)} clearSearch={result => console.log('clearSearch', result)} i18n={util.i18n} /> )} i18n={util.i18n} /> </util.LeftPaneContext>; ``` #### With just conversations ```jsx <util.LeftPaneContext theme={util.theme} style={{ height: '200px' }}> <LeftPane conversations={window.searchResults.conversations} archivedConversations={[]} startNewConversation={(query, options) => console.log('startNewConversation', query, options) } openConversationInternal={(id, messageId) => console.log('openConversation', id, messageId) } showArchivedConversations={() => console.log('showArchivedConversations')} showInbox={() => console.log('showInbox')} renderMainHeader={() => ( <MainHeader searchTerm="Hi there!" search={result => console.log('search', result)} updateSearch={result => console.log('updateSearch', result)} clearSearch={result => console.log('clearSearch', result)} i18n={util.i18n} /> )} i18n={util.i18n} /> </util.LeftPaneContext> ``` #### Showing inbox, with some archived ```jsx <util.LeftPaneContext theme={util.theme} style={{ height: '200px' }}> <LeftPane conversations={window.searchResults.conversations.slice(0, 2)} archivedConversations={window.searchResults.conversations.slice(2)} startNewConversation={(query, options) => console.log('startNewConversation', query, options) } openConversationInternal={(id, messageId) => console.log('openConversation', id, messageId) } showArchivedConversations={() => console.log('showArchivedConversations')} showInbox={() => console.log('showInbox')} renderMainHeader={() => ( <MainHeader searchTerm="Hi there!" search={result => console.log('search', result)} updateSearch={result => console.log('updateSearch', result)} clearSearch={result => console.log('clearSearch', result)} i18n={util.i18n} /> )} i18n={util.i18n} /> </util.LeftPaneContext> ``` #### Showing archived conversations ```jsx <util.LeftPaneContext theme={util.theme} style={{ height: '200px' }}> <LeftPane conversations={window.searchResults.conversations.slice(0, 2)} archivedConversations={window.searchResults.conversations.slice(2)} showArchived={true} startNewConversation={(query, options) => console.log('startNewConversation', query, options) } openConversationInternal={(id, messageId) => console.log('openConversation', id, messageId) } showArchivedConversations={() => console.log('showArchivedConversations')} showInbox={() => console.log('showInbox')} renderMainHeader={() => ( <MainHeader searchTerm="Hi there!" search={result => console.log('search', result)} updateSearch={result => console.log('updateSearch', result)} clearSearch={result => console.log('clearSearch', result)} i18n={util.i18n} /> )} i18n={util.i18n} /> </util.LeftPaneContext> ```