Skip to content
This repository was archived by the owner on May 30, 2024. It is now read-only.

Commit fcfe4a1

Browse files
author
noah
committed
Refactorying the activities view
1 parent 5de7add commit fcfe4a1

File tree

4 files changed

+54
-20
lines changed

4 files changed

+54
-20
lines changed

ui/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Repo from "./views/repo"
1010
import Deployment from "./views/deployment"
1111
import Settings from "./views/settings"
1212
import Members from "./views/members"
13-
import Activities from "./views/Activities"
13+
import Activities from "./views/activities"
1414

1515
function App(): JSX.Element {
1616
return (

ui/src/components/ActivityHistory.tsx renamed to ui/src/views/activities/ActivityHistory.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { Timeline, Typography } from 'antd'
22
import moment from "moment"
33

4-
import { Deployment } from "../models"
5-
import DeploymentStatusBadge from "./DeploymentStatusBadge"
6-
import UserAvatar from './UserAvatar'
7-
import DeploymentRefCode from './DeploymentRefCode'
8-
import { getStatusColor } from "./partials"
4+
import { Deployment } from "../../models"
5+
import DeploymentStatusBadge from "../../components/DeploymentStatusBadge"
6+
import UserAvatar from '../../components/UserAvatar'
7+
import DeploymentRefCode from '../../components/DeploymentRefCode'
8+
import { getStatusColor } from "../../components/partials"
99

1010
const { Text } = Typography
1111

12-
interface ActivityHistoryProps {
12+
export interface ActivityHistoryProps {
1313
deployments: Deployment[]
1414
}
1515

ui/src/components/SearchActivities.tsx renamed to ui/src/views/activities/SearchActivities.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Row, Col, Form, DatePicker, Button, Switch } from "antd"
22
import moment from "moment"
33

4-
interface SearchActivitiesProps {
4+
export interface SearchActivitiesProps {
55
onChangePeriod(start: Date, end: Date): void
66
onClickSearch(): void
77
}

ui/src/views/Activities.tsx renamed to ui/src/views/activities/index.tsx

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@ import { useEffect } from "react"
22
import { shallowEqual } from 'react-redux'
33
import { Helmet } from "react-helmet"
44

5-
import { useAppSelector, useAppDispatch } from "../redux/hooks"
6-
import { perPage, activitiesSlice, searchDeployments } from "../redux/activities"
5+
import { useAppSelector, useAppDispatch } from "../../redux/hooks"
6+
import { perPage, activitiesSlice, searchDeployments } from "../../redux/activities"
77

8-
import Main from "./Main"
9-
import SearchActivities from "../components/SearchActivities"
10-
import ActivityHistory from "../components/ActivityHistory"
11-
import Pagination from "../components/Pagination"
12-
import Spin from '../components/Spin'
8+
import Main from "../main"
9+
import SearchActivities, { SearchActivitiesProps } from "./SearchActivities"
10+
import ActivityHistory, { ActivityHistoryProps } from "./ActivityHistory"
11+
import Pagination, { PaginationProps } from "../../components/Pagination"
12+
import Spin from "../../components/Spin"
13+
import { deploy } from "../../redux/repoDeploy"
1314

1415
const { actions } = activitiesSlice
1516

16-
export default function Activities(): JSX.Element {
17+
export default ():JSX.Element => {
1718
const {
1819
loading,
1920
deployments,
@@ -40,6 +41,39 @@ export default function Activities(): JSX.Element {
4041

4142
return (
4243
<Main>
44+
<Activities
45+
onChangePeriod={onChangePeriod}
46+
onClickSearch={onClickSearch}
47+
loading={loading}
48+
deployments={deployments}
49+
disabledPrev={page <= 1}
50+
disabledNext={deployments.length != perPage}
51+
onClickPrev={onClickPrev}
52+
onClickNext={onClickNext}
53+
/>
54+
</Main>
55+
)
56+
}
57+
58+
interface ActivitiesProps extends SearchActivitiesProps, ActivityHistoryProps, PaginationProps {
59+
loading: boolean
60+
}
61+
62+
function Activities({
63+
// Properties to search.
64+
onChangePeriod,
65+
onClickSearch,
66+
// Properties for the deployment history.
67+
loading,
68+
deployments,
69+
// Pagination for the pagination.
70+
disabledPrev,
71+
disabledNext,
72+
onClickPrev,
73+
onClickNext
74+
}: ActivitiesProps): JSX.Element {
75+
return (
76+
<>
4377
<Helmet>
4478
<title>Activities</title>
4579
</Helmet>
@@ -64,11 +98,11 @@ export default function Activities(): JSX.Element {
6498
</div>
6599
<div style={{marginTop: 30, textAlign: "center"}}>
66100
<Pagination
67-
page={page}
68-
isLast={deployments.length !== perPage}
101+
disabledPrev={disabledPrev}
102+
disabledNext={disabledNext}
69103
onClickPrev={onClickPrev}
70104
onClickNext={onClickNext} />
71105
</div>
72-
</Main>
106+
</>
73107
)
74-
}
108+
}

0 commit comments

Comments
 (0)