import React, { useState } from "react"; import PropTypes from "prop-types"; import { Card, CardActionArea, CardActions, CardContent, CardMedia, Checkbox, Chip, FormControlLabel, IconButton, Link, Menu, MenuItem, Typography } from "@material-ui/core"; import { red } from "@material-ui/core/colors"; import { AccountCircle, Favorite, Link as LinkIcon } from "@material-ui/icons"; import { useHistory } from "react-router-dom"; import NavBar from "./shared/NavBar"; import config from "../config"; // TODO: Replace with API accessed feeds import feeds from "./dummyData/feeds.json"; const feedCategories = Array.from(new Set(feeds.map(i => i.tags).flat())); function FeedCard({ feed }) { const [filled, setFilled] = useState(Math.random() > 0.7); let style = {}; if (filled) { style={ color: red.A400 }; } return ( {feed.title} {feed.description} {feed.tags.map((tag, idx) => )} setFilled(!filled)}> ); } FeedCard.propTypes = { feed: PropTypes.object, }; function App() { const history = useHistory(); const [anchorEl, setAnchorEl] = useState(null); const [categories, setCategories] = useState(feedCategories); const open = Boolean(anchorEl); function handleMenu(event) { setAnchorEl(event.currentTarget); } function handleClose() { setAnchorEl(null); } function logout() { handleClose(); history.push("/"); } function toggleCategory(category) { console.log(category); console.log(categories); console.log(categories.includes(category)); if (categories.includes(category)) setCategories(categories.filter(i => i !== category)); else setCategories([...categories, category]); } const visibleFeeds = feeds.filter(i => { for (let tag of i.tags) { for (let category of categories) { if (category == tag) return true; } } return false; }); return (<>
Profile My account Logout
{visibleFeeds.length === 0 ? Nothing here (╯°□°)╯︵ ┻━┻: null} {visibleFeeds.map(feed => )}
Filters {feedCategories.map(category => ( toggleCategory(category)} name="checkedF" /> } label={category} /> ))}
); } export default App;