Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32089055
chat-tabs.react.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
chat-tabs.react.js
View Options
// @flow
import
invariant
from
'invariant'
;
import
*
as
React
from
'react'
;
import
{
unreadBackgroundCount
}
from
'lib/selectors/thread-selectors'
;
import
{
useSelector
}
from
'../redux/redux-utils'
;
import
css
from
'./chat-tabs.css'
;
import
ChatThreadList
from
'./chat-thread-list.react'
;
import
ChatThreadTab
from
'./chat-thread-tab.react'
;
import
{
ThreadListContext
}
from
'./thread-list-provider'
;
type
Props
=
{
|
+
setModal
:
(
modal
:
?
React
.
Node
)
=>
void
,
|
};
function
ChatTabs
(
props
:
Props
)
{
let
backgroundTitle
=
'BACKGROUND'
;
const
unreadBackgroundCountVal
=
useSelector
(
unreadBackgroundCount
);
if
(
unreadBackgroundCountVal
)
{
backgroundTitle
+=
` (
${
unreadBackgroundCountVal
}
)`
;
}
const
threadListContext
=
React
.
useContext
(
ThreadListContext
);
invariant
(
threadListContext
,
'threadListContext should be set in ChatThreadList'
,
);
const
{
activeTab
,
setActiveTab
}
=
threadListContext
;
const
onClickHome
=
React
.
useCallback
(()
=>
setActiveTab
(
'HOME'
),
[
setActiveTab
,
]);
const
onClickBackground
=
React
.
useCallback
(
()
=>
setActiveTab
(
'BACKGROUND'
),
[
setActiveTab
],
);
return
(
<
div
className
=
{
css
.
container
}
>
<
div
className
=
{
css
.
tabs
}
>
<
ChatThreadTab
title
=
"HOME"
tabIsActive
=
{
activeTab
===
'HOME'
}
onClick
=
{
onClickHome
}
/>
<
ChatThreadTab
title
=
{
backgroundTitle
}
tabIsActive
=
{
activeTab
===
'BACKGROUND'
}
onClick
=
{
onClickBackground
}
/>
<
/div>
<
div
className
=
{
css
.
threadList
}
>
<
ChatThreadList
setModal
=
{
props
.
setModal
}
/>
<
/div>
<
/div>
);
}
export
default
ChatTabs
;
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Sun, Dec 7, 7:55 AM (7 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5753000
Default Alt Text
chat-tabs.react.js (1 KB)
Attached To
Mode
rCOMM Comm
Attached
Detach File
Event Timeline
Log In to Comment