You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			241 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			241 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Markdown
		
	
| #### 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>
 | |
| ```
 |