Skip to content

Commit 15c660b

Browse files
committed
fix: make task status filter to be controllable
1 parent a822c3d commit 15c660b

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

src/features/tasks/TaskStatusFilter.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,27 @@ import styled from 'styled-components';
44
import { Badge, Select } from 'antd';
55
import theme from '~/features/ui/theme';
66

7-
export default function TaskStatusFilter({ fullWidth, onChange, defaultValue }) {
7+
export default function TaskStatusFilter({ fullWidth, onChange, value, defaultValue }) {
8+
const controlledProps = value !== undefined ? { value } : {};
9+
810
return (
911
<StyledSelect
1012
filterOption={false}
1113
size="large"
1214
listHeight={368}
1315
dropdownRender={menu => <StyledItemWrapper>{menu}</StyledItemWrapper>}
1416
$fullWidth={fullWidth}
15-
onChange={onChange}
1617
defaultValue={defaultValue}
18+
onChange={onChange}
1719
options={filterOptions}
20+
{...controlledProps}
1821
/>
1922
);
2023
}
2124

2225
TaskStatusFilter.propTypes = {
2326
onChange: t.func,
27+
value: t.string,
2428
defaultValue: t.string,
2529
fullWidth: t.bool,
2630
};

src/pages/Home.jsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export default function Home() {
6060
</StyledSwitchWrapper>
6161
</Col>
6262
<Col xl={8} lg={{ span: 8, offset: 0 }} md={{ span: 12, offset: 0 }} sm={{ span: 18, offset: 3 }} xs={24}>
63-
<Link to={r.TRANSLATOR_DASHBOARD}>
63+
<Link to={`${r.TRANSLATOR_DASHBOARD}?status=open`}>
6464
<StyledButton fullWidth>
6565
<WorkAsATranslatorAvatar />
6666
<span className="text">Work as a Translator</span>
@@ -72,14 +72,14 @@ export default function Home() {
7272
size="small"
7373
checkedChildren={<CheckOutlined />}
7474
unCheckedChildren={<CloseOutlined />}
75-
checked={defaultPage === r.TRANSLATOR_DASHBOARD}
76-
onClick={createClickHandler(r.TRANSLATOR_DASHBOARD)}
75+
checked={defaultPage === `${r.TRANSLATOR_DASHBOARD}?status=open`}
76+
onClick={createClickHandler(`${r.TRANSLATOR_DASHBOARD}?status=open`)}
7777
/>
7878
Set as default page for Linguo
7979
</StyledSwitchWrapper>
8080
</Col>
8181
<Col xl={8} lg={{ span: 8, offset: 0 }} md={{ span: 12, offset: 6 }} sm={{ span: 18, offset: 3 }} xs={24}>
82-
<Link to={`${r.TRANSLATOR_DASHBOARD}?filter=inReview`}>
82+
<Link to={`${r.TRANSLATOR_DASHBOARD}?status=inReview&allTasks=true`}>
8383
<StyledButton fullWidth>
8484
<ReviewTranslationsAvatar />
8585
<span className="text">Review Translations</span>
@@ -91,8 +91,8 @@ export default function Home() {
9191
size="small"
9292
checkedChildren={<CheckOutlined />}
9393
unCheckedChildren={<CloseOutlined />}
94-
checked={defaultPage === `${r.TRANSLATOR_DASHBOARD}?filter=inReview`}
95-
onClick={createClickHandler(`${r.TRANSLATOR_DASHBOARD}?filter=inReview`)}
94+
checked={defaultPage === `${r.TRANSLATOR_DASHBOARD}?status=inReview&allTasks=true`}
95+
onClick={createClickHandler(`${r.TRANSLATOR_DASHBOARD}?status=inReview&allTasks=true`)}
9696
/>
9797
Set as default page for Linguo
9898
</StyledSwitchWrapper>

src/pages/RequesterDashboard/TaskListHeader.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ function TaskStatusFilterContainer() {
3838
[setFilters, allTasks]
3939
);
4040

41-
return <TaskStatusFilter fullWidth defaultValue={status} onChange={handleFilterChange} />;
41+
return <TaskStatusFilter fullWidth value={status} onChange={handleFilterChange} />;
4242
}
4343

4444
const StyledHeader = styled.header`

src/pages/TranslatorDashboard/TaskListHeader.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ function TaskStatusFilterContainer() {
6060
[setFilters, allTasks]
6161
);
6262

63-
return <TaskStatusFilter fullWidth defaultValue={status} onChange={handleFilterChange} />;
63+
return <TaskStatusFilter fullWidth value={status} onChange={handleFilterChange} />;
6464
}
6565

6666
const StyledHeader = styled.header`

0 commit comments

Comments
 (0)