Skip to content

Commit

Permalink
Merge pull request #467 from cofacts/load-blocked
Browse files Browse the repository at this point in the history
Show blocked content only for blocked users
  • Loading branch information
MrOrz committed Jan 5, 2022
2 parents 0edcdb9 + bda7ec6 commit 46a813b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 11 deletions.
11 changes: 9 additions & 2 deletions components/ArticleReplyFeedbackControl/ReasonsDisplay.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { useQuery } from '@apollo/react-hooks';
import { withStyles, makeStyles } from '@material-ui/core/styles';
import { Box, Tab, Tabs, CircularProgress } from '@material-ui/core';
import { ThumbUpIcon, ThumbDownIcon } from 'components/icons';
import { useIsUserBlocked } from 'lib/isUserBlocked';
import Feedback from './Feedback';

const useStyles = makeStyles(() => ({
Expand Down Expand Up @@ -38,9 +39,13 @@ const ReasonsDisplayData = gql`
`;

export const LOAD_FEEDBACKS = gql`
query LoadFeadbacksForArticleReply($articleId: String!, $replyId: String!) {
query LoadFeadbacksForArticleReply(
$articleId: String!
$replyId: String!
$statuses: [ArticleReplyFeedbackStatusEnum!]
) {
ListArticleReplyFeedbacks(
filter: { articleId: $articleId, replyId: $replyId }
filter: { articleId: $articleId, replyId: $replyId, statuses: $statuses }
first: 100
) {
edges {
Expand All @@ -64,11 +69,13 @@ export const LOAD_FEEDBACKS = gql`

function ReasonsDisplay({ articleReply, onSizeChange = () => {} }) {
const classes = useStyles();
const isUserBlocked = useIsUserBlocked();
const [tab, setTab] = useState(0);
const { data, loading } = useQuery(LOAD_FEEDBACKS, {
variables: {
articleId: articleReply.articleId,
replyId: articleReply.replyId,
statuses: isUserBlocked ? ['NORMAL', 'BLOCKED'] : ['NORMAL'],
},
ssr: false,
});
Expand Down
40 changes: 31 additions & 9 deletions pages/article/[id].js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import useCurrentUser from 'lib/useCurrentUser';
import { nl2br, linkify, ellipsis } from 'lib/text';
import { usePushToDataLayer } from 'lib/gtm';
import getTermsString from 'lib/terms';
import { useIsUserBlocked } from 'lib/isUserBlocked';

import { LINE_URL } from 'constants/urls';

Expand Down Expand Up @@ -106,7 +107,12 @@ const useStyles = makeStyles(theme => ({
}));

const LOAD_ARTICLE = gql`
query LoadArticlePage($id: String!) {
query LoadArticlePage(
$id: String!
$replyRequestStatuses: [ReplyRequestStatusEnum!]
$articleReplyStatuses: [ArticleReplyStatusEnum!]
$articleCategoryStatuses: [ArticleCategoryStatusEnum!]
) {
GetArticle(id: $id) {
id
text
Expand All @@ -120,11 +126,11 @@ const LOAD_ARTICLE = gql`
hyperlinks {
...HyperlinkData
}
replyRequests {
replyRequests(statuses: $replyRequestStatuses) {
reason
...ReplyRequestInfo
}
articleReplies {
articleReplies(statuses: $articleReplyStatuses) {
...CurrentRepliesData
}
...RelatedArticleData
Expand All @@ -140,7 +146,7 @@ const LOAD_ARTICLE = gql`
}
}
}
articleCategories {
articleCategories(statuses: $articleCategoryStatuses) {
...ArticleCategoryData
...AddCategoryDialogData
}
Expand All @@ -161,16 +167,21 @@ const LOAD_ARTICLE = gql`
`;

const LOAD_ARTICLE_FOR_USER = gql`
query LoadArticlePageForUser($id: String!) {
query LoadArticlePageForUser(
$id: String!
$replyRequestStatuses: [ReplyRequestStatusEnum!]
$articleReplyStatuses: [ArticleReplyStatusEnum!]
$articleCategoryStatuses: [ArticleCategoryStatusEnum!]
) {
GetArticle(id: $id) {
id # Required, https://github.com/apollographql/apollo-client/issues/2510
replyRequests {
replyRequests(statuses: $replyRequestStatuses) {
...ReplyRequestInfoForUser
}
articleReplies {
articleReplies(statuses: $articleReplyStatuses) {
...ArticleReplyForUser
}
articleCategories {
articleCategories(statuses: $articleCategoryStatuses) {
...ArticleCategoryDataForUser
...AddCategoryDialogData
}
Expand All @@ -182,11 +193,22 @@ const LOAD_ARTICLE_FOR_USER = gql`
${ArticleCategories.fragments.AddCategoryDialogData}
`;

const NORMAL_ONLY = ['NORMAL'];
const NORMAL_AND_BLOCKED = ['NORMAL', 'BLOCKED'];

function ArticlePage() {
const { query } = useRouter();
const [showForm, setShowForm] = useState(false);
const [flashMessage, setFlashMessage] = useState(0);
const articleVars = { id: query.id };
const isUserBlocked = useIsUserBlocked();
const articleVars = {
id: query.id,
replyRequestStatuses: isUserBlocked ? NORMAL_AND_BLOCKED : NORMAL_ONLY,
articleCategoryStatuses: isUserBlocked ? NORMAL_AND_BLOCKED : NORMAL_ONLY,
articleReplyStatuses: isUserBlocked
? ['NORMAL', 'BLOCKED', 'DELETED']
: ['NORMAL', 'DELETED'],
};

const { data, loading } = useQuery(LOAD_ARTICLE, {
variables: articleVars,
Expand Down

0 comments on commit 46a813b

Please sign in to comment.