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 (<>
{visibleFeeds.length === 0 ? Nothing here (╯°□°)╯︵ ┻━┻: null}
{visibleFeeds.map(feed => )}
Filters
{feedCategories.map(category => (
toggleCategory(category)}
name="checkedF"
/>
}
label={category}
/>
))}
>);
}
export default App;