import React from "react"; import SideBar from "../../elements/SideBar/SideBar"; import Tag from "../../elements/Tag/Tag"; import {TagPreview} from "../../elements/Preview/Preview"; import NewTagPopup from "../../elements/NewTagPopup/NewTagPopup"; class CategoryPage extends React.Component { constructor(props, context) { super(props, context); this.props = props; this.state = { loadedtags: [], selected: null }; } componentDidMount() { this.loadTags(); } render() { return ( <>
Categories {!this.state.selected ? this.state.loadedtags.length + " different Tags" : this.state.selected}
Default Tags:
All FullHd LowQuality HD
{!this.state.selected ? (
{this.state.loadedtags ? this.state.loadedtags.map((m) => ( )) : "loading"}
) : <> {this.selectionelements} } {this.state.popupvisible ? { this.setState({popupvisible: false}); this.loadTags(); }}/> : null } ); } setPage = (element, tagname) => { this.selectionelements = element; this.setState({selected: tagname}); }; loadCategoryPageDefault = () => { this.setState({selected: null}); }; /** * load all available tags from db. */ loadTags() { const updateRequest = new FormData(); updateRequest.append('action', 'getAllTags'); // fetch all videos available fetch('/api/Tags.php', {method: 'POST', body: updateRequest}) .then((response) => response.json() .then((result) => { this.setState({loadedtags: result}); })) .catch(() => { console.log("no connection to backend"); }); } } export default CategoryPage;