{"action":"created","comment":{"url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/comments/233230142","pull_request_review_id":173454465,"id":233230142,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMzIzMDE0Mg==","diff_hunk":"@@ -0,0 +1,226 @@\n+---\n+layout: post\n+title: \"Adding splash screens to React single page application\"\n+description: \"Learn how to add splash screen to your react application.\"\n+date: \n+category: React\n+banner:\n+  text: \"Splash screens make your app look more appealing.\"\n+author:\n+  name: \"Abdulazeez Abdulazeez Adeshina\"\n+  url: \"https://twitter.com/kvng_zeez\"\n+  mail: \"laisibizness@gmail.com\"\n+  avatar: \"https://cdn.auth0.com/blog/guest-authors/abdulazeez.png\"\n+design:\n+  image: \n+  bg_color: \"#012C6C\"\n+tags:\n+- javascript\n+- react\n+- node\n+- firebase\n+- express\n+related:\n+\n+\n+---\n+\n+**TL;DR:** In this article, you will learn how to add splash screen to your React single page apps (SPA). You can find the finalized code in [this GitHub repo]()\n+\n+---\n+\n+## What Is A Splash Screen \n+\n+A splash screen is a page displayed to notify a user when an application is currently in a loading state. In most cases, splash screens are employed when data is fetched from within or outside the application e.g database . The splash screen, serves as a replacement for blank pages which is usually shown when loading data externally.\n+\n+## Why Your App Should Have A Splash Screen\n+\n+In your application, a splash screen should be added to indicate when your app is loading and to tell the user that the app isn't dormant. In a situation whereby your loading app shows a blank page for about a minute or two, the user will get bored and loose interest thinking it is a dummy app whereas the splash screen does otherwise. Therefore, adding a splash screen to your application keeps the user engaged while your app loads fully.\n+\n+### Brief Introduction to React's Higher-Order Component\n+\n+A Higher-Order Component ( HOC ), is a function that takes in a component as an argument and returns a new component. A higher-order component is usually used to share common functionality between components such as checking the authentication status in a web app.\n+\n+An example of a higher-order component is the splash screen component which you'll be using later.\n+\n+## Cloning The Sample App repo\n+\n+To begin, you'll have to clone [this repo](https://github.com/Youngestdev/react-splashscreen) and follow the installation process in the `README.MD` file:\n+\n+```bash\n+git clone https://github.com/Youngestdev/react-splashscreen\n+```\n+\n+## Building the Splash Screen Component\n+\n+After the installation, start the application :\n+\n+```bash\n+npm run start\n+```\n+\n+With that covered, open the project directory in your code editor of choice and create a new file `withSplashScreen.js` in the `src/components` folder.\n+\n+Next, open the `withSplashScreen.js` file and add the following into it :\n+\n+```javascript\n+import axios from 'axios';\n+import React, {Component} from 'react';\n+import { CircleSpinner } from 'react-spinners-kit';\n+import auth0Client from '../Auth';\n+import firebaseClient from '../services/firebase';\n+\n+\n+const fbTokenFactory = 'https://wt-21d474de14a60e389a0fa7c8e77c224f-0.sandbox.auth0-extend.com/webtasks/firebase';\n+\n+function LoadingMessage() {\n+  return (\n+    <div className=\"row justify-content-center\">\n+      <CircleSpinner color=\"#686769\" />\n+    </div>\n+  );\n+}\n+\n+function withSplashScreen(WrappedComponent) {\n+  return class extends Component {\n+    constructor(props) {\n+      super(props);\n+      this.state = {\n+        loading: true,\n+      };\n+    }\n+\n+    async componentDidMount() {\n+      try {\n+        await auth0Client.loadSession();\n+        const fbCustomToken = await axios.get(fbTokenFactory, {\n+          headers: { authorization: `Bearer ${auth0Client.getIdToken()}` }\n+        });\n+        firebaseClient.setToken(fbCustomToken.data.firebaseToken)\n+      } catch (err) {\n+        console.log(err);\n+      }\n+      this.setState({\n+        loading: false,\n+      });\n+    }\n+\n+    render() {\n+      // while checking user session, show \"loading\" message\n+      if (this.state.loading) return LoadingMessage();\n+\n+      // otherwise, show the desired route\n+      return <WrappedComponent {...this.props} />;\n+    }\n+  };\n+}\n+\n+export default withSplashScreen;\n+\n+```\n+\n+In the code above, you define a function `LoadingMessage()` that displays a circle spinner after which a higher-order component `withSplashScreen` that handles the authentication and data fetching is defined.\n+\n+## Wrapping The Application With The Splash Screen Component\n+\n+With the splash screen component built, it's not yet functional therefore, you'll wrap the `App` component in `App.js` in the `withSplashScreen` function since it's a higher-order component.\n+\n+Open `App.js` and replace the code with :\n+\n+```javascript\n+import React, {Component, Fragment} from 'react';\n+import {Route} from 'react-router-dom'\n+import NavBar from './components/NavBar';\n+import Welcome from './components/Welcome';\n+import withSplashScreen from './components/withSplashScreen';\n+\n+class App extends Component {\n+  render() {\n+    return (\n+      <Fragment>\n+        <NavBar />\n+        <div className=\"container-fluid\">\n+          <Route path=\"/\" exact component={Welcome} />\n+        </div>\n+      </Fragment>\n+    );\n+  }\n+}\n+\n+export default withSplashScreen(App);\n+\n+```\n+\n+In the code above, you deleted the callback route because you won't be needing it anymore.\n+\n+Next, open the `Frameworks.js` file in `src/components` and replace the code with this :\n+\n+```javascript\n+import React, {Component} from 'react';\n+import firebaseClient from '../services/firebase';\n+import {CircleSpinner} from 'react-spinners-kit';\n+\n+function Framework(framework, id) {\n+  return (\n+    <div className=\"row\" key={id}>\n+      <div className=\"card\">\n+        <div className=\"card-body\">\n+          <h5 className=\"card-title\">{framework.name}</h5>\n+          <hr className=\"my-4\" />\n+          <p className=\"card-text\">{framework.about}</p>\n+        </div>            \n+      </div>\n+    </div>\n+  )\n+}\n+\n+class Frameworks extends Component {\n+  constructor(props) {\n+    super(props);\n+\n+    this.state = {\n+      frameworks: [],\n+      loading: true\n+    };\n+  }\n+\n+  componentDidMount() {\n+    firebaseClient.setBuildingsListener(querySnapshot => {\n+      const frameworks = [];\n+      querySnapshot.forEach(framework => {\n+        frameworks.push(framework.data());\n+      });\n+      this.setState({\n+        frameworks,\n+        loading: false\n+      });\n+    });\n+  }\n+\n+  render() {\n+    const {loading, frameworks} = this.state;\n+    return (\n+      <div>\n+        {loading && <CircleSpinner color=\"\" />}\n+        {!loading && frameworks.map((framework, id) => (Framework(framework, id)))}\n+      </div>\n+    )\n+  }\n+}\n+\n+export default Frameworks;\n+```\n+\n+In the code above, you updated the `Frameworks` component by adding a circle spinner to show the loading state.\n+\n+## Refactoring The Authentication Handler\n+\n+With all that in place, you need to update the authentication handler to go along with the changes made. Therefore, open `Auth.js` file and edit the eigth line from `'http://localhost:3000/callback'` to `'http://localhost:3000'.`","path":"articles/2018-11-07-adding-splashscreen-to-react-apps.markdown","position":218,"original_position":218,"commit_id":"92edb6050be73cefccf1fbaa627c6c586ebb5c83","original_commit_id":"92edb6050be73cefccf1fbaa627c6c586ebb5c83","user":{"login":"brunokrebs","id":15347252,"node_id":"MDQ6VXNlcjE1MzQ3MjUy","avatar_url":"https://avatars1.githubusercontent.com/u/15347252?v=4","gravatar_id":"","url":"https://api.github.com/users/brunokrebs","html_url":"https://github.com/brunokrebs","followers_url":"https://api.github.com/users/brunokrebs/followers","following_url":"https://api.github.com/users/brunokrebs/following{/other_user}","gists_url":"https://api.github.com/users/brunokrebs/gists{/gist_id}","starred_url":"https://api.github.com/users/brunokrebs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brunokrebs/subscriptions","organizations_url":"https://api.github.com/users/brunokrebs/orgs","repos_url":"https://api.github.com/users/brunokrebs/repos","events_url":"https://api.github.com/users/brunokrebs/events{/privacy}","received_events_url":"https://api.github.com/users/brunokrebs/received_events","type":"User","site_admin":false},"body":"you haven't mentioned anything about this component before... so readers will be thinking \"what the heck are this guy talking about?\"","created_at":"2018-11-13T21:34:08Z","updated_at":"2018-11-13T21:53:11Z","html_url":"https://github.com/auth0-blog/guest-writer/pull/38#discussion_r233230142","pull_request_url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/comments/233230142"},"html":{"href":"https://github.com/auth0-blog/guest-writer/pull/38#discussion_r233230142"},"pull_request":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38"}}},"pull_request":{"url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38","id":229200131,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI5MjAwMTMx","html_url":"https://github.com/auth0-blog/guest-writer/pull/38","diff_url":"https://github.com/auth0-blog/guest-writer/pull/38.diff","patch_url":"https://github.com/auth0-blog/guest-writer/pull/38.patch","issue_url":"https://api.github.com/repos/auth0-blog/guest-writer/issues/38","number":38,"state":"open","locked":false,"title":"React splashscreen","user":{"login":"Youngestdev","id":31009679,"node_id":"MDQ6VXNlcjMxMDA5Njc5","avatar_url":"https://avatars0.githubusercontent.com/u/31009679?v=4","gravatar_id":"","url":"https://api.github.com/users/Youngestdev","html_url":"https://github.com/Youngestdev","followers_url":"https://api.github.com/users/Youngestdev/followers","following_url":"https://api.github.com/users/Youngestdev/following{/other_user}","gists_url":"https://api.github.com/users/Youngestdev/gists{/gist_id}","starred_url":"https://api.github.com/users/Youngestdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Youngestdev/subscriptions","organizations_url":"https://api.github.com/users/Youngestdev/orgs","repos_url":"https://api.github.com/users/Youngestdev/repos","events_url":"https://api.github.com/users/Youngestdev/events{/privacy}","received_events_url":"https://api.github.com/users/Youngestdev/received_events","type":"User","site_admin":false},"body":"React splash screen article.","created_at":"2018-11-07T23:14:49Z","updated_at":"2018-11-13T21:53:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"98c68aed3e214a5abb095761ed8a89fb5ea21f93","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38/commits","review_comments_url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38/comments","review_comment_url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/auth0-blog/guest-writer/issues/38/comments","statuses_url":"https://api.github.com/repos/auth0-blog/guest-writer/statuses/92edb6050be73cefccf1fbaa627c6c586ebb5c83","head":{"label":"Youngestdev:react-splashscreen","ref":"react-splashscreen","sha":"92edb6050be73cefccf1fbaa627c6c586ebb5c83","user":{"login":"Youngestdev","id":31009679,"node_id":"MDQ6VXNlcjMxMDA5Njc5","avatar_url":"https://avatars0.githubusercontent.com/u/31009679?v=4","gravatar_id":"","url":"https://api.github.com/users/Youngestdev","html_url":"https://github.com/Youngestdev","followers_url":"https://api.github.com/users/Youngestdev/followers","following_url":"https://api.github.com/users/Youngestdev/following{/other_user}","gists_url":"https://api.github.com/users/Youngestdev/gists{/gist_id}","starred_url":"https://api.github.com/users/Youngestdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Youngestdev/subscriptions","organizations_url":"https://api.github.com/users/Youngestdev/orgs","repos_url":"https://api.github.com/users/Youngestdev/repos","events_url":"https://api.github.com/users/Youngestdev/events{/privacy}","received_events_url":"https://api.github.com/users/Youngestdev/received_events","type":"User","site_admin":false},"repo":{"id":156598451,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY1OTg0NTE=","name":"guest-writer","full_name":"Youngestdev/guest-writer","private":false,"owner":{"login":"Youngestdev","id":31009679,"node_id":"MDQ6VXNlcjMxMDA5Njc5","avatar_url":"https://avatars0.githubusercontent.com/u/31009679?v=4","gravatar_id":"","url":"https://api.github.com/users/Youngestdev","html_url":"https://github.com/Youngestdev","followers_url":"https://api.github.com/users/Youngestdev/followers","following_url":"https://api.github.com/users/Youngestdev/following{/other_user}","gists_url":"https://api.github.com/users/Youngestdev/gists{/gist_id}","starred_url":"https://api.github.com/users/Youngestdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Youngestdev/subscriptions","organizations_url":"https://api.github.com/users/Youngestdev/orgs","repos_url":"https://api.github.com/users/Youngestdev/repos","events_url":"https://api.github.com/users/Youngestdev/events{/privacy}","received_events_url":"https://api.github.com/users/Youngestdev/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Youngestdev/guest-writer","description":"A repository to smooth the process for guest writers.","fork":true,"url":"https://api.github.com/repos/Youngestdev/guest-writer","forks_url":"https://api.github.com/repos/Youngestdev/guest-writer/forks","keys_url":"https://api.github.com/repos/Youngestdev/guest-writer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Youngestdev/guest-writer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Youngestdev/guest-writer/teams","hooks_url":"https://api.github.com/repos/Youngestdev/guest-writer/hooks","issue_events_url":"https://api.github.com/repos/Youngestdev/guest-writer/issues/events{/number}","events_url":"https://api.github.com/repos/Youngestdev/guest-writer/events","assignees_url":"https://api.github.com/repos/Youngestdev/guest-writer/assignees{/user}","branches_url":"https://api.github.com/repos/Youngestdev/guest-writer/branches{/branch}","tags_url":"https://api.github.com/repos/Youngestdev/guest-writer/tags","blobs_url":"https://api.github.com/repos/Youngestdev/guest-writer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Youngestdev/guest-writer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Youngestdev/guest-writer/git/refs{/sha}","trees_url":"https://api.github.com/repos/Youngestdev/guest-writer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Youngestdev/guest-writer/statuses/{sha}","languages_url":"https://api.github.com/repos/Youngestdev/guest-writer/languages","stargazers_url":"https://api.github.com/repos/Youngestdev/guest-writer/stargazers","contributors_url":"https://api.github.com/repos/Youngestdev/guest-writer/contributors","subscribers_url":"https://api.github.com/repos/Youngestdev/guest-writer/subscribers","subscription_url":"https://api.github.com/repos/Youngestdev/guest-writer/subscription","commits_url":"https://api.github.com/repos/Youngestdev/guest-writer/commits{/sha}","git_commits_url":"https://api.github.com/repos/Youngestdev/guest-writer/git/commits{/sha}","comments_url":"https://api.github.com/repos/Youngestdev/guest-writer/comments{/number}","issue_comment_url":"https://api.github.com/repos/Youngestdev/guest-writer/issues/comments{/number}","contents_url":"https://api.github.com/repos/Youngestdev/guest-writer/contents/{+path}","compare_url":"https://api.github.com/repos/Youngestdev/guest-writer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Youngestdev/guest-writer/merges","archive_url":"https://api.github.com/repos/Youngestdev/guest-writer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Youngestdev/guest-writer/downloads","issues_url":"https://api.github.com/repos/Youngestdev/guest-writer/issues{/number}","pulls_url":"https://api.github.com/repos/Youngestdev/guest-writer/pulls{/number}","milestones_url":"https://api.github.com/repos/Youngestdev/guest-writer/milestones{/number}","notifications_url":"https://api.github.com/repos/Youngestdev/guest-writer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Youngestdev/guest-writer/labels{/name}","releases_url":"https://api.github.com/repos/Youngestdev/guest-writer/releases{/id}","deployments_url":"https://api.github.com/repos/Youngestdev/guest-writer/deployments","created_at":"2018-11-07T19:36:03Z","updated_at":"2018-11-07T19:36:05Z","pushed_at":"2018-11-08T23:39:44Z","git_url":"git://github.com/Youngestdev/guest-writer.git","ssh_url":"git@github.com:Youngestdev/guest-writer.git","clone_url":"https://github.com/Youngestdev/guest-writer.git","svn_url":"https://github.com/Youngestdev/guest-writer","homepage":null,"size":156,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"auth0-blog:master","ref":"master","sha":"0f1b4d0d837cd1fc7aa912a35f8175d0034e92bc","user":{"login":"auth0-blog","id":18200246,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MjAwMjQ2","avatar_url":"https://avatars0.githubusercontent.com/u/18200246?v=4","gravatar_id":"","url":"https://api.github.com/users/auth0-blog","html_url":"https://github.com/auth0-blog","followers_url":"https://api.github.com/users/auth0-blog/followers","following_url":"https://api.github.com/users/auth0-blog/following{/other_user}","gists_url":"https://api.github.com/users/auth0-blog/gists{/gist_id}","starred_url":"https://api.github.com/users/auth0-blog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/auth0-blog/subscriptions","organizations_url":"https://api.github.com/users/auth0-blog/orgs","repos_url":"https://api.github.com/users/auth0-blog/repos","events_url":"https://api.github.com/users/auth0-blog/events{/privacy}","received_events_url":"https://api.github.com/users/auth0-blog/received_events","type":"Organization","site_admin":false},"repo":{"id":113334586,"node_id":"MDEwOlJlcG9zaXRvcnkxMTMzMzQ1ODY=","name":"guest-writer","full_name":"auth0-blog/guest-writer","private":false,"owner":{"login":"auth0-blog","id":18200246,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MjAwMjQ2","avatar_url":"https://avatars0.githubusercontent.com/u/18200246?v=4","gravatar_id":"","url":"https://api.github.com/users/auth0-blog","html_url":"https://github.com/auth0-blog","followers_url":"https://api.github.com/users/auth0-blog/followers","following_url":"https://api.github.com/users/auth0-blog/following{/other_user}","gists_url":"https://api.github.com/users/auth0-blog/gists{/gist_id}","starred_url":"https://api.github.com/users/auth0-blog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/auth0-blog/subscriptions","organizations_url":"https://api.github.com/users/auth0-blog/orgs","repos_url":"https://api.github.com/users/auth0-blog/repos","events_url":"https://api.github.com/users/auth0-blog/events{/privacy}","received_events_url":"https://api.github.com/users/auth0-blog/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/auth0-blog/guest-writer","description":"A repository to smooth the process for guest writers.","fork":false,"url":"https://api.github.com/repos/auth0-blog/guest-writer","forks_url":"https://api.github.com/repos/auth0-blog/guest-writer/forks","keys_url":"https://api.github.com/repos/auth0-blog/guest-writer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/auth0-blog/guest-writer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/auth0-blog/guest-writer/teams","hooks_url":"https://api.github.com/repos/auth0-blog/guest-writer/hooks","issue_events_url":"https://api.github.com/repos/auth0-blog/guest-writer/issues/events{/number}","events_url":"https://api.github.com/repos/auth0-blog/guest-writer/events","assignees_url":"https://api.github.com/repos/auth0-blog/guest-writer/assignees{/user}","branches_url":"https://api.github.com/repos/auth0-blog/guest-writer/branches{/branch}","tags_url":"https://api.github.com/repos/auth0-blog/guest-writer/tags","blobs_url":"https://api.github.com/repos/auth0-blog/guest-writer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/auth0-blog/guest-writer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/auth0-blog/guest-writer/git/refs{/sha}","trees_url":"https://api.github.com/repos/auth0-blog/guest-writer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/auth0-blog/guest-writer/statuses/{sha}","languages_url":"https://api.github.com/repos/auth0-blog/guest-writer/languages","stargazers_url":"https://api.github.com/repos/auth0-blog/guest-writer/stargazers","contributors_url":"https://api.github.com/repos/auth0-blog/guest-writer/contributors","subscribers_url":"https://api.github.com/repos/auth0-blog/guest-writer/subscribers","subscription_url":"https://api.github.com/repos/auth0-blog/guest-writer/subscription","commits_url":"https://api.github.com/repos/auth0-blog/guest-writer/commits{/sha}","git_commits_url":"https://api.github.com/repos/auth0-blog/guest-writer/git/commits{/sha}","comments_url":"https://api.github.com/repos/auth0-blog/guest-writer/comments{/number}","issue_comment_url":"https://api.github.com/repos/auth0-blog/guest-writer/issues/comments{/number}","contents_url":"https://api.github.com/repos/auth0-blog/guest-writer/contents/{+path}","compare_url":"https://api.github.com/repos/auth0-blog/guest-writer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/auth0-blog/guest-writer/merges","archive_url":"https://api.github.com/repos/auth0-blog/guest-writer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/auth0-blog/guest-writer/downloads","issues_url":"https://api.github.com/repos/auth0-blog/guest-writer/issues{/number}","pulls_url":"https://api.github.com/repos/auth0-blog/guest-writer/pulls{/number}","milestones_url":"https://api.github.com/repos/auth0-blog/guest-writer/milestones{/number}","notifications_url":"https://api.github.com/repos/auth0-blog/guest-writer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/auth0-blog/guest-writer/labels{/name}","releases_url":"https://api.github.com/repos/auth0-blog/guest-writer/releases{/id}","deployments_url":"https://api.github.com/repos/auth0-blog/guest-writer/deployments","created_at":"2017-12-06T15:38:49Z","updated_at":"2018-11-08T06:57:50Z","pushed_at":"2018-11-13T21:34:57Z","git_url":"git://github.com/auth0-blog/guest-writer.git","ssh_url":"git@github.com:auth0-blog/guest-writer.git","clone_url":"https://github.com/auth0-blog/guest-writer.git","svn_url":"https://github.com/auth0-blog/guest-writer","homepage":null,"size":137,"stargazers_count":4,"watchers_count":4,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":30,"mirror_url":null,"archived":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":30,"open_issues":7,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38"},"html":{"href":"https://github.com/auth0-blog/guest-writer/pull/38"},"issue":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/issues/38"},"comments":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/issues/38/comments"},"review_comments":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38/comments"},"review_comment":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/pulls/38/commits"},"statuses":{"href":"https://api.github.com/repos/auth0-blog/guest-writer/statuses/92edb6050be73cefccf1fbaa627c6c586ebb5c83"}},"author_association":"NONE"}}
{"actor":{"display_login":"brunokrebs"}}