{"action":"created","comment":{"url":"https://api.github.com/repos/nteract/nteract.io/pulls/comments/144725421","pull_request_review_id":69423595,"id":144725421,"diff_hunk":"@@ -25,46 +35,87 @@ const Mission = () => (\n   </ContentSection>\n );\n \n-const ContributorsList = contributorsData.map((person, index) => {\n-  if (!person.login) {\n-    return null;\n-  }\n-  return (\n-    <div key={index} className=\"person\">\n-      <div className=\"person-avatar\">\n-        <img src={person.avatar_url} />\n-      </div>\n-      <div className=\"person-details\">\n-        <div className=\"person-name\">{person.name || \"@\" + person.login}</div>\n-      </div>\n-      <div className=\"person-social\">\n-        <div key={index} className=\"social-item\">\n-          <a href={person.html_url} target=\"_blank\">\n-            <i className=\"mdi mdi-github-circle\" />\n+const Contributor = ({ person }: { person: Member }) => (\n+  <div className=\"person\">\n+    <div className=\"person-avatar\">\n+      <img src={person.avatarUrl} />\n+    </div>\n+    <div className=\"person-details\">\n+      <div className=\"person-name\">{person.name || \"@\" + person.login}</div>\n+    </div>\n+    <div className=\"person-social\">\n+      <div className=\"social-item\">\n+        <a href={person.url} target=\"_blank\">\n+          <i className=\"mdi mdi-github-circle\" />\n+        </a>\n+        {person.websiteUrl ? (\n+          <a href={person.websiteUrl} target=\"_blank\">\n+            <i className=\"mdi mdi-web\" />\n           </a>\n-          {person.blog ? (\n-            <a href={person.blog} target=\"_blank\">\n-              <i className=\"mdi mdi-web\" />\n-            </a>\n-          ) : null}\n-        </div>\n+        ) : null}\n       </div>\n     </div>\n+  </div>\n+);\n+\n+const Contributors = ({ members }: { members: ?Members }) => {\n+  if (!members || members.length === 0) return null;\n+  return (\n+    <ContentSection>\n+      <ContentSectionPane layout=\"center\">\n+        <h3>Contributors</h3>\n+        <div className=\"grid\">\n+          <div className=\"grid-wrapper\">\n+            {members.map(person => (\n+              <Contributor person={person} key={person.login} />\n+            ))}\n+          </div>\n+        </div>\n+      </ContentSectionPane>\n+    </ContentSection>\n   );\n-});\n+};\n \n-const Contributors = () => (\n-  <ContentSection>\n-    <ContentSectionPane layout=\"center\">\n-      <h3>Contributors</h3>\n-      <div className=\"grid\">\n-        <div className=\"grid-wrapper\">{ContributorsList}</div>\n-      </div>\n-    </ContentSectionPane>\n-  </ContentSection>\n-);\n+export default class AboutPage extends Component<void, OSProps, void> {\n+  static async getInitialProps() {\n+    const client = new GraphQLClient(\"https://api.github.com/graphql\", {\n+      headers: {\n+        Authorization: \"Bearer 243492ac50267b053ca0d23d73a59f9e46bee565\"\n+      }\n+    });\n+\n+    const query = `{\n+      organization(login: \"nteract\") {\n+        members(first: 100) {\n+          totalCount\n+            nodes {\n+              name\n+              login\n+              websiteUrl\n+              avatarUrl\n+              url\n+            }\n+        }","path":"pages/about.js","position":127,"original_position":127,"commit_id":"b4d6d04e242567739d5278cdf3e181f166154651","original_commit_id":"b4d6d04e242567739d5278cdf3e181f166154651","user":{"login":"rgbkrk","id":836375,"avatar_url":"https://avatars0.githubusercontent.com/u/836375?v=4","gravatar_id":"","url":"https://api.github.com/users/rgbkrk","html_url":"https://github.com/rgbkrk","followers_url":"https://api.github.com/users/rgbkrk/followers","following_url":"https://api.github.com/users/rgbkrk/following{/other_user}","gists_url":"https://api.github.com/users/rgbkrk/gists{/gist_id}","starred_url":"https://api.github.com/users/rgbkrk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgbkrk/subscriptions","organizations_url":"https://api.github.com/users/rgbkrk/orgs","repos_url":"https://api.github.com/users/rgbkrk/repos","events_url":"https://api.github.com/users/rgbkrk/events{/privacy}","received_events_url":"https://api.github.com/users/rgbkrk/received_events","type":"User","site_admin":false},"body":"Nice!","created_at":"2017-10-15T17:13:38Z","updated_at":"2017-10-15T17:13:38Z","html_url":"https://github.com/nteract/nteract.io/pull/31#discussion_r144725421","pull_request_url":"https://api.github.com/repos/nteract/nteract.io/pulls/31","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/comments/144725421"},"html":{"href":"https://github.com/nteract/nteract.io/pull/31#discussion_r144725421"},"pull_request":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/31"}}},"pull_request":{"url":"https://api.github.com/repos/nteract/nteract.io/pulls/31","id":146625731,"html_url":"https://github.com/nteract/nteract.io/pull/31","diff_url":"https://github.com/nteract/nteract.io/pull/31.diff","patch_url":"https://github.com/nteract/nteract.io/pull/31.patch","issue_url":"https://api.github.com/repos/nteract/nteract.io/issues/31","number":31,"state":"open","locked":false,"title":"Use GitHub GraphQL API to get members","user":{"login":"lgeiger","id":13285808,"avatar_url":"https://avatars1.githubusercontent.com/u/13285808?v=4","gravatar_id":"","url":"https://api.github.com/users/lgeiger","html_url":"https://github.com/lgeiger","followers_url":"https://api.github.com/users/lgeiger/followers","following_url":"https://api.github.com/users/lgeiger/following{/other_user}","gists_url":"https://api.github.com/users/lgeiger/gists{/gist_id}","starred_url":"https://api.github.com/users/lgeiger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgeiger/subscriptions","organizations_url":"https://api.github.com/users/lgeiger/orgs","repos_url":"https://api.github.com/users/lgeiger/repos","events_url":"https://api.github.com/users/lgeiger/events{/privacy}","received_events_url":"https://api.github.com/users/lgeiger/received_events","type":"User","site_admin":false},"body":"Disclaimer: This is mostly inspired by the first few minutes of https://youtu.be/g_LA1quUIi8 and the urge to try new things.\r\n\r\nThis PR will update the nteract members list via `getInitialProps` on the server using the GraphQL API from GitHub. It will still only show public memberships.\r\nHere is a test deployment: https://nteractio-svzxxycwog.now.sh/about","created_at":"2017-10-14T23:12:01Z","updated_at":"2017-10-15T17:13:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7ca67f87cec6bfe74655258e3fd6afb5e54ca15","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/nteract/nteract.io/pulls/31/commits","review_comments_url":"https://api.github.com/repos/nteract/nteract.io/pulls/31/comments","review_comment_url":"https://api.github.com/repos/nteract/nteract.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nteract/nteract.io/issues/31/comments","statuses_url":"https://api.github.com/repos/nteract/nteract.io/statuses/b4d6d04e242567739d5278cdf3e181f166154651","head":{"label":"nteract:graphql","ref":"graphql","sha":"b4d6d04e242567739d5278cdf3e181f166154651","user":{"login":"nteract","id":12401040,"avatar_url":"https://avatars0.githubusercontent.com/u/12401040?v=4","gravatar_id":"","url":"https://api.github.com/users/nteract","html_url":"https://github.com/nteract","followers_url":"https://api.github.com/users/nteract/followers","following_url":"https://api.github.com/users/nteract/following{/other_user}","gists_url":"https://api.github.com/users/nteract/gists{/gist_id}","starred_url":"https://api.github.com/users/nteract/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nteract/subscriptions","organizations_url":"https://api.github.com/users/nteract/orgs","repos_url":"https://api.github.com/users/nteract/repos","events_url":"https://api.github.com/users/nteract/events{/privacy}","received_events_url":"https://api.github.com/users/nteract/received_events","type":"Organization","site_admin":false},"repo":{"id":69190673,"name":"nteract.io","full_name":"nteract/nteract.io","owner":{"login":"nteract","id":12401040,"avatar_url":"https://avatars0.githubusercontent.com/u/12401040?v=4","gravatar_id":"","url":"https://api.github.com/users/nteract","html_url":"https://github.com/nteract","followers_url":"https://api.github.com/users/nteract/followers","following_url":"https://api.github.com/users/nteract/following{/other_user}","gists_url":"https://api.github.com/users/nteract/gists{/gist_id}","starred_url":"https://api.github.com/users/nteract/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nteract/subscriptions","organizations_url":"https://api.github.com/users/nteract/orgs","repos_url":"https://api.github.com/users/nteract/repos","events_url":"https://api.github.com/users/nteract/events{/privacy}","received_events_url":"https://api.github.com/users/nteract/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nteract/nteract.io","description":":mega: Our site! :mega:","fork":false,"url":"https://api.github.com/repos/nteract/nteract.io","forks_url":"https://api.github.com/repos/nteract/nteract.io/forks","keys_url":"https://api.github.com/repos/nteract/nteract.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nteract/nteract.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nteract/nteract.io/teams","hooks_url":"https://api.github.com/repos/nteract/nteract.io/hooks","issue_events_url":"https://api.github.com/repos/nteract/nteract.io/issues/events{/number}","events_url":"https://api.github.com/repos/nteract/nteract.io/events","assignees_url":"https://api.github.com/repos/nteract/nteract.io/assignees{/user}","branches_url":"https://api.github.com/repos/nteract/nteract.io/branches{/branch}","tags_url":"https://api.github.com/repos/nteract/nteract.io/tags","blobs_url":"https://api.github.com/repos/nteract/nteract.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nteract/nteract.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nteract/nteract.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/nteract/nteract.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nteract/nteract.io/statuses/{sha}","languages_url":"https://api.github.com/repos/nteract/nteract.io/languages","stargazers_url":"https://api.github.com/repos/nteract/nteract.io/stargazers","contributors_url":"https://api.github.com/repos/nteract/nteract.io/contributors","subscribers_url":"https://api.github.com/repos/nteract/nteract.io/subscribers","subscription_url":"https://api.github.com/repos/nteract/nteract.io/subscription","commits_url":"https://api.github.com/repos/nteract/nteract.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/nteract/nteract.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/nteract/nteract.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/nteract/nteract.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/nteract/nteract.io/contents/{+path}","compare_url":"https://api.github.com/repos/nteract/nteract.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nteract/nteract.io/merges","archive_url":"https://api.github.com/repos/nteract/nteract.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nteract/nteract.io/downloads","issues_url":"https://api.github.com/repos/nteract/nteract.io/issues{/number}","pulls_url":"https://api.github.com/repos/nteract/nteract.io/pulls{/number}","milestones_url":"https://api.github.com/repos/nteract/nteract.io/milestones{/number}","notifications_url":"https://api.github.com/repos/nteract/nteract.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nteract/nteract.io/labels{/name}","releases_url":"https://api.github.com/repos/nteract/nteract.io/releases{/id}","deployments_url":"https://api.github.com/repos/nteract/nteract.io/deployments","created_at":"2016-09-25T21:08:32Z","updated_at":"2017-09-24T19:29:59Z","pushed_at":"2017-10-14T23:12:01Z","git_url":"git://github.com/nteract/nteract.io.git","ssh_url":"git@github.com:nteract/nteract.io.git","clone_url":"https://github.com/nteract/nteract.io.git","svn_url":"https://github.com/nteract/nteract.io","homepage":"https://nteract.io","size":2791,"stargazers_count":13,"watchers_count":13,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":8,"forks":7,"open_issues":8,"watchers":13,"default_branch":"master"}},"base":{"label":"nteract:master","ref":"master","sha":"da1b9f624c7af6ba304e77ffa52faf2162479e2b","user":{"login":"nteract","id":12401040,"avatar_url":"https://avatars0.githubusercontent.com/u/12401040?v=4","gravatar_id":"","url":"https://api.github.com/users/nteract","html_url":"https://github.com/nteract","followers_url":"https://api.github.com/users/nteract/followers","following_url":"https://api.github.com/users/nteract/following{/other_user}","gists_url":"https://api.github.com/users/nteract/gists{/gist_id}","starred_url":"https://api.github.com/users/nteract/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nteract/subscriptions","organizations_url":"https://api.github.com/users/nteract/orgs","repos_url":"https://api.github.com/users/nteract/repos","events_url":"https://api.github.com/users/nteract/events{/privacy}","received_events_url":"https://api.github.com/users/nteract/received_events","type":"Organization","site_admin":false},"repo":{"id":69190673,"name":"nteract.io","full_name":"nteract/nteract.io","owner":{"login":"nteract","id":12401040,"avatar_url":"https://avatars0.githubusercontent.com/u/12401040?v=4","gravatar_id":"","url":"https://api.github.com/users/nteract","html_url":"https://github.com/nteract","followers_url":"https://api.github.com/users/nteract/followers","following_url":"https://api.github.com/users/nteract/following{/other_user}","gists_url":"https://api.github.com/users/nteract/gists{/gist_id}","starred_url":"https://api.github.com/users/nteract/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nteract/subscriptions","organizations_url":"https://api.github.com/users/nteract/orgs","repos_url":"https://api.github.com/users/nteract/repos","events_url":"https://api.github.com/users/nteract/events{/privacy}","received_events_url":"https://api.github.com/users/nteract/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nteract/nteract.io","description":":mega: Our site! :mega:","fork":false,"url":"https://api.github.com/repos/nteract/nteract.io","forks_url":"https://api.github.com/repos/nteract/nteract.io/forks","keys_url":"https://api.github.com/repos/nteract/nteract.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nteract/nteract.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nteract/nteract.io/teams","hooks_url":"https://api.github.com/repos/nteract/nteract.io/hooks","issue_events_url":"https://api.github.com/repos/nteract/nteract.io/issues/events{/number}","events_url":"https://api.github.com/repos/nteract/nteract.io/events","assignees_url":"https://api.github.com/repos/nteract/nteract.io/assignees{/user}","branches_url":"https://api.github.com/repos/nteract/nteract.io/branches{/branch}","tags_url":"https://api.github.com/repos/nteract/nteract.io/tags","blobs_url":"https://api.github.com/repos/nteract/nteract.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nteract/nteract.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nteract/nteract.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/nteract/nteract.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nteract/nteract.io/statuses/{sha}","languages_url":"https://api.github.com/repos/nteract/nteract.io/languages","stargazers_url":"https://api.github.com/repos/nteract/nteract.io/stargazers","contributors_url":"https://api.github.com/repos/nteract/nteract.io/contributors","subscribers_url":"https://api.github.com/repos/nteract/nteract.io/subscribers","subscription_url":"https://api.github.com/repos/nteract/nteract.io/subscription","commits_url":"https://api.github.com/repos/nteract/nteract.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/nteract/nteract.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/nteract/nteract.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/nteract/nteract.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/nteract/nteract.io/contents/{+path}","compare_url":"https://api.github.com/repos/nteract/nteract.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nteract/nteract.io/merges","archive_url":"https://api.github.com/repos/nteract/nteract.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nteract/nteract.io/downloads","issues_url":"https://api.github.com/repos/nteract/nteract.io/issues{/number}","pulls_url":"https://api.github.com/repos/nteract/nteract.io/pulls{/number}","milestones_url":"https://api.github.com/repos/nteract/nteract.io/milestones{/number}","notifications_url":"https://api.github.com/repos/nteract/nteract.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nteract/nteract.io/labels{/name}","releases_url":"https://api.github.com/repos/nteract/nteract.io/releases{/id}","deployments_url":"https://api.github.com/repos/nteract/nteract.io/deployments","created_at":"2016-09-25T21:08:32Z","updated_at":"2017-09-24T19:29:59Z","pushed_at":"2017-10-14T23:12:01Z","git_url":"git://github.com/nteract/nteract.io.git","ssh_url":"git@github.com:nteract/nteract.io.git","clone_url":"https://github.com/nteract/nteract.io.git","svn_url":"https://github.com/nteract/nteract.io","homepage":"https://nteract.io","size":2791,"stargazers_count":13,"watchers_count":13,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":8,"forks":7,"open_issues":8,"watchers":13,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/31"},"html":{"href":"https://github.com/nteract/nteract.io/pull/31"},"issue":{"href":"https://api.github.com/repos/nteract/nteract.io/issues/31"},"comments":{"href":"https://api.github.com/repos/nteract/nteract.io/issues/31/comments"},"review_comments":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/31/comments"},"review_comment":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nteract/nteract.io/pulls/31/commits"},"statuses":{"href":"https://api.github.com/repos/nteract/nteract.io/statuses/b4d6d04e242567739d5278cdf3e181f166154651"}},"author_association":"OWNER"}}
{"actor":{"display_login":"rgbkrk"}}