From 2225c22abbc8718ba49eb6322f98bd7bfd5cecab Mon Sep 17 00:00:00 2001 From: Mikayla Dobson Date: Sat, 29 Jan 2022 21:32:26 -0600 Subject: [PATCH 1/2] strange new error messages? handleCrosspost is the culprit: --- src/features/posts/Post.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/features/posts/Post.js b/src/features/posts/Post.js index 1b7096b..51c833b 100644 --- a/src/features/posts/Post.js +++ b/src/features/posts/Post.js @@ -20,6 +20,7 @@ export default function Post({data, key}) { const [body, setBody] = useState(selftext); const [visible, setVisible] = useState('show '); const [commentStyle, setCommentStyle] = useState('comments-hidden'); + const [crosspost, setCrosspost] = useState(undefined); const postDate = new Date(time * 1000); // handles conversion from unix timestamp to local time and date strings const localTime = postDate.toLocaleTimeString(); @@ -66,6 +67,19 @@ export default function Post({data, key}) { } setBody(selftext.substring(0,limit) + '...'); } + + const handleCrosspost = () => { + if (data.crosspost_parent_list[0].is_video) { + return ( + <> + +

Crosspost from {data.crosspost_parent_list[0].subreddit_name_prefixed}

+ + ); + } else { + return; + } + } return ( <> @@ -76,8 +90,18 @@ export default function Post({data, key}) { :

[untitled]

} {media ? {title} : ''} + {data.crosspost_parent_list ? handleCrosspost() : ''} + {data.crosspost_parent_list ? + (data.crosspost_parent_list[0].is_video ? + + : null) + : null} - {video ? + {data.gallery_data ? +

View the gallery of photos corresponding to this post here.

+ : null} + + {video ? : ''} -- 2.49.1 From 8195e98058421cc348da04b38e2caf15356ee7f8 Mon Sep 17 00:00:00 2001 From: Mikayla Dobson Date: Sun, 30 Jan 2022 11:26:39 -0600 Subject: [PATCH 2/2] error handling --- public/favicon.ico | Bin 3585 -> 16958 bytes public/index.html | 2 +- src/features/posts/Feed.js | 13 +++---------- src/features/posts/Post.js | 3 +-- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/public/favicon.ico b/public/favicon.ico index 354202a4e6baec3429e928e13d54144f8eebb62c..fc7cf462b8152151844fd12b362cf49da7db229b 100644 GIT binary patch literal 16958 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 Wi|^Z%_!g~C-12d;es?-?@_zw$@dniZ literal 3585 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 Hu0mjfhdT@% diff --git a/public/index.html b/public/index.html index 1dbdca6..e1ade2e 100644 --- a/public/index.html +++ b/public/index.html @@ -24,7 +24,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - React Redux App + Cat Reddit diff --git a/src/features/posts/Feed.js b/src/features/posts/Feed.js index 96e3e02..1ad0345 100644 --- a/src/features/posts/Feed.js +++ b/src/features/posts/Feed.js @@ -1,8 +1,8 @@ import React, { useState, useEffect } from "react"; -import { fetchBySub, selectPosts } from "./postsSlice"; +import { fetchBySub, /* selectPosts */ } from "./postsSlice"; import { selectAllSubs } from "../reddit/redditSlice"; import { useSelector, useDispatch } from "react-redux"; -import { updatePosts } from "./postsSlice"; +// import { updatePosts } from "./postsSlice"; import { v4 } from "uuid"; import Post from "./Post"; @@ -12,7 +12,7 @@ export default function Feed() { const [feed, setFeed] = useState(null); // Expects to receive an array of Post components mapped with data from fetchBySub const dispatch = useDispatch(); - const posts = useSelector(selectPosts); + // const posts = useSelector(selectPosts); const subs = useSelector(selectAllSubs); // Selects subreddits from redditSlice useEffect(() => { // this useEffect loop pulls the endpoints from the selected subreddits and stores them as an array in "endpoints" @@ -38,8 +38,6 @@ export default function Feed() { useEffect(() => { // once this is done, this loop pulls posts from each endpoint - let isActive = true; - const getPosts = async(arr) => { if (endpoints) { const mappedResults = arr.map(each => dispatch(fetchBySub(each))); // maps each endpoint into a call to dispatch fetchBySub @@ -50,11 +48,6 @@ export default function Feed() { } getPosts(endpoints); - - return () => { - isActive = false; - } - }, [dispatch, setData, endpoints]); useEffect(() => { diff --git a/src/features/posts/Post.js b/src/features/posts/Post.js index 51c833b..aaaea2a 100644 --- a/src/features/posts/Post.js +++ b/src/features/posts/Post.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { useDispatch } from "react-redux"; +// import { useDispatch } from "react-redux"; import Discussion from "../discussion/Discussion"; import './Post.css'; @@ -20,7 +20,6 @@ export default function Post({data, key}) { const [body, setBody] = useState(selftext); const [visible, setVisible] = useState('show '); const [commentStyle, setCommentStyle] = useState('comments-hidden'); - const [crosspost, setCrosspost] = useState(undefined); const postDate = new Date(time * 1000); // handles conversion from unix timestamp to local time and date strings const localTime = postDate.toLocaleTimeString(); -- 2.49.1