2019-01-14 21:49:58 +00:00
|
|
|
#### 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}
|
2019-03-12 00:20:16 +00:00
|
|
|
startNewConversation={(query, options) =>
|
|
|
|
console.log('startNewConversation', query, options)
|
|
|
|
}
|
|
|
|
openConversationInternal={(id, messageId) =>
|
|
|
|
console.log('openConversation', id, messageId)
|
|
|
|
}
|
|
|
|
showArchivedConversations={() => console.log('showArchivedConversations')}
|
|
|
|
showInbox={() => console.log('showInbox')}
|
2019-01-14 21:49:58 +00:00
|
|
|
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}
|
2019-03-12 00:20:16 +00:00
|
|
|
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')}
|
2019-01-14 21:49:58 +00:00
|
|
|
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>
|
|
|
|
```
|