import React, { Component, version } from 'react'; import ReactDOM from 'react-dom'; import Axios from 'axios'; import { Modal, Collapse, Button } from 'react-bootstrap'; export default class Changelog extends Component { constructor(props) { super(props) this.state = { changelog: {}, modal: false, loading: true, hidden: false, } } componentDidMount = () => { if( (window.config.auth == true && window.authenticated == true) || window.config.auth == false) { this.getChangelog(); } } getChangelog = () => { Axios.get('api/update/changelog?token=' + window.token) .then((resp) => { this.setState({ changelog: resp.data.data, loading: false }); }) } showModal = () => { this.setState({ modal: true, }); } hideModal = () => { this.setState({ modal: false, }); } toggleHidden = () => { var hidden = this.state.hidden; if(hidden) { this.setState({ hidden: false }); } else { this.setState({ hidden: true }); } } versionList = (key, data) => { return (
Version: {key}
); } makeChangelog() { var changelog = this.state.changelog; var versionsVis = []; var versionsHid = []; var i = 0; for(var key in changelog) { if(i <= 5) { versionsVis.push(this.versionList(key, changelog[key])); } else { versionsHid.push(this.versionList(key, changelog[key])); } i++; } return { visible: versionsVis, hidden: versionsHid }; } render() { var show = this.state.modal; var loading = this.state.loading; var showHidden = this.state.hidden; if(loading) { return <> } else { var changelog = this.makeChangelog(); return (

Changelog:

{changelog.visible} {changelog.hidden.length > 5 && <>
{changelog.hidden}
{showHidden ? : }
}
); } } } if (document.getElementById('Changelog')) { ReactDOM.render(, document.getElementById('Changelog')); }