Skip to content

Commit

Permalink
Introduce PullRequestStatus to customise the notification and PR list…
Browse files Browse the repository at this point in the history
… to indicate new commits and replies (#175)
  • Loading branch information
fwouts committed May 9, 2019
1 parent 1b22300 commit c48b26b
Show file tree
Hide file tree
Showing 17 changed files with 317 additions and 407 deletions.
5 changes: 4 additions & 1 deletion src/components/PullRequestItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import styled from "@emotion/styled";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { observer } from "mobx-react-lite";
import React from "react";
import { EnrichedPullRequest } from "../filtering/enriched-pull-request";
import { PullRequest } from "../storage/loaded-state";
import { SmallButton } from "./design/Button";
import { PullRequestStatus } from "./PullRequestStatus";

const PullRequestBox = styled.a`
display: flex;
Expand Down Expand Up @@ -71,7 +73,7 @@ const AuthorLogin = styled.div`
`;

export interface PullRequestItemProps {
pullRequest: PullRequest;
pullRequest: EnrichedPullRequest;
allowMuting: boolean;
onOpen(pullRequestUrl: string): void;
onMute(pullRequest: PullRequest): void;
Expand Down Expand Up @@ -100,6 +102,7 @@ export const PullRequestItem = observer((props: PullRequestItemProps) => {
</SmallButton>
)}
</Title>
<PullRequestStatus status={props.pullRequest.status} />
<Repo>
{props.pullRequest.repoOwner}/{props.pullRequest.repoName} (#
{props.pullRequest.pullRequestNumber})
Expand Down
3 changes: 2 additions & 1 deletion src/components/PullRequestList.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import styled from "@emotion/styled";
import { observer } from "mobx-react-lite";
import React from "react";
import { EnrichedPullRequest } from "../filtering/enriched-pull-request";
import { PullRequest } from "../storage/loaded-state";
import { Paragraph } from "./design/Paragraph";
import { Loader } from "./Loader";
Expand All @@ -14,7 +15,7 @@ export const List = styled.div`
`;

export interface PullRequestListProps {
pullRequests: PullRequest[] | null;
pullRequests: EnrichedPullRequest[] | null;
emptyMessage: string;
allowMuting: boolean;
onOpen(pullRequestUrl: string): void;
Expand Down
46 changes: 46 additions & 0 deletions src/components/PullRequestStatus.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import styled from "@emotion/styled";
import { observer } from "mobx-react-lite";
import React from "react";
import { Badge } from "react-bootstrap";
import { PullRequestStatus as Status } from "../filtering/status";

const StatusBox = styled.div`
padding: 0 8px;
`;

const UNREVIEWED = (
<Badge pill variant="danger">
Unreviewed
</Badge>
);

const AUTHOR_REPLIED = (
<Badge pill variant="secondary">
Author replied
</Badge>
);

const NEW_COMMIT = (
<Badge pill variant="success">
New commit
</Badge>
);

export const PullRequestStatus = observer((props: { status: Status }) => {
switch (props.status) {
case Status.INCOMING_NEW_REVIEW_REQUESTED:
return <StatusBox>{UNREVIEWED}</StatusBox>;
case Status.INCOMING_REVIEWED_NEW_COMMENT_BY_AUTHOR:
return <StatusBox>{AUTHOR_REPLIED}</StatusBox>;
case Status.INCOMING_REVIEWED_NEW_COMMIT:
return <StatusBox>{NEW_COMMIT}</StatusBox>;
case Status.INCOMING_REVIEWED_NEW_COMMIT_AND_NEW_COMMENT_BY_AUTHOR:
return (
<StatusBox>
{AUTHOR_REPLIED} {NEW_COMMIT}
</StatusBox>
);
default:
return <></>;
}
});
6 changes: 6 additions & 0 deletions src/filtering/enriched-pull-request.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { PullRequest } from "../storage/loaded-state";
import { PullRequestStatus } from "./status";

export interface EnrichedPullRequest extends PullRequest {
status: PullRequestStatus;
}
39 changes: 0 additions & 39 deletions src/filtering/filters-mine.spec.ts

This file was deleted.

106 changes: 0 additions & 106 deletions src/filtering/filters-muted.spec.ts

This file was deleted.

95 changes: 0 additions & 95 deletions src/filtering/filters-reviewed.spec.ts

This file was deleted.

Loading

0 comments on commit c48b26b

Please sign in to comment.