import { h, Component } from 'preact'; import { request } from '@utilities/http'; import { SingleRepo } from './singleRepo'; export class GithubRepos extends Component { state = { repos: [], erroredOut: false, }; componentDidMount() { this.getGithubRepos(); } async getGithubRepos() { try { const response = await request('/github_repos'); const repositories = await response.json(); this.setState({ repos: repositories }); } catch (error) { this.setState({ erroredOut: true }); Honeybadger.notify(error); // will remove this, need it temporarily to properly debug console.error(error); // eslint-disable-line no-console } } render() { const { repos, erroredOut } = this.state; if (erroredOut) { return (
An error occurred. Please check your browser console and email yo@dev.to for more help.
); } const allRepos = repos.map((repo) => ( )); if (repos.length > 0) { return
{allRepos}
; } return
; } } GithubRepos.displayName = 'GitHub Repositories Wrapper';