diff --git a/app/components/client/devprogram-scripts.js b/app/components/client/devprogram-scripts.js
index e58bdc7..822855f 100644
--- a/app/components/client/devprogram-scripts.js
+++ b/app/components/client/devprogram-scripts.js
@@ -1,11 +1,37 @@
-"use strict"; /* global document, send */
+"use strict"; /* global document, history, send, window */
-document.getElementById("get-started").addEventListener("click", event => {
+document.getElementById("get-started").onclick = event => {
event.preventDefault();
send({
message: "auth me with github"
});
-});
+};
+
+if (window.location.search.includes("?code=")) {
+ document.querySelector("developer-program").innerHTML = `
+
+ `;
+
+ history.replaceState({}, "", window.location.pathname); // clean up URL bar
+}
+
+if (document.getElementById("creditsAcquire")) {
+ document.getElementById("creditsAcquire").onclick = () => {
+ send({
+ address: document.getElementById("walletAddress").value,
+ code: document.getElementById("oauthCode").value,
+ message: "verify github auth"
+ });
+
+ document.querySelector("developer-program").innerHTML = "Awaiting response from internal LBRY API
";
+ };
+}
diff --git a/app/components/developer-program.js b/app/components/developer-program.js
new file mode 100644
index 0000000..53bae6b
--- /dev/null
+++ b/app/components/developer-program.js
@@ -0,0 +1,17 @@
+"use strict";
+
+
+
+// I M P O R T
+
+import html from "choo/html";
+
+
+
+// E X P O R T
+
+export default () => html`
+
+ If this sounds like you, get started here!
+
+`;
diff --git a/app/dist/scripts/app.js b/app/dist/scripts/app.js
index 26293d5..50a96f5 100755
--- a/app/dist/scripts/app.js
+++ b/app/dist/scripts/app.js
@@ -90,6 +90,5 @@ function scrollToElementOnLoad() {
function validateEmail(email) {
const emailRegex = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\\.,;:\s@"]{2,})$/i;
-
- return emailRegex.test(String(email));
+ return emailRegex.test(String(email)); // eslint-disable-line padding-line-between-statements
}
diff --git a/app/dist/scripts/sockets.js b/app/dist/scripts/sockets.js
index 1b7d302..6d5344b 100644
--- a/app/dist/scripts/sockets.js
+++ b/app/dist/scripts/sockets.js
@@ -1,4 +1,4 @@
-"use strict"; /* global document, location, WebSocket */
+"use strict"; /* global document, location, WebSocket, window */
@@ -25,6 +25,20 @@ function initializeWebSocketConnection() {
const data = JSON.parse(socket.data);
switch(true) {
+ case data.message === "notification": // TODO: Make work with appending so multiple notifications can be sent
+ document.getElementById("flash-container").innerHTML =
+ `${data.details}
`;
+
+ setTimeout(() => {
+ document.getElementById("flash-container").innerHTML = "";
+ }, 2100);
+
+ break;
+
+ case data.message === "redirect":
+ window.location.href = data.url;
+ break;
+
case data.message === "show result":
if (!data.example)
return;
@@ -83,16 +97,6 @@ function initializeWebSocketConnection() {
break;
- case data.message === "notification": // TODO: Make work with appending so multiple notifications can be sent
- document.getElementById("flash-container").innerHTML =
- `${data.details}
`;
-
- setTimeout(() => {
- document.getElementById("flash-container").innerHTML = "";
- }, 2100);
-
- break;
-
default:
console.log(data); // eslint-disable-line no-console
break;
diff --git a/app/helpers/github.js b/app/helpers/github.js
index 381eebb..b476649 100644
--- a/app/helpers/github.js
+++ b/app/helpers/github.js
@@ -336,24 +336,6 @@ function generateUrl(type, event) {
}
}
-async function getGitHubUserToken() {
- // const clientWithAuth = new Octokit({
- // auth: `token ${process.env.GITHUB_APP_TOKEN}`
- // });
-
- const result = await octokit.oauthAuthorizations.createAuthorization({ // eslint-disable-line no-unused-vars
- client_id: process.env.GITHUB_APP_ID,
- client_secret: process.env.GITHUB_APP_TOKEN,
- note: "LBRY Developer Auth",
- scopes: [
- "public_repo"
- ]
- });
-
- // console.log(result);
- // console.log("—————");
-}
-
function updateGithubFeed() {
octokit.activity.listPublicEventsForOrg({
org: "lbryio",
@@ -397,6 +379,5 @@ export {
generateEvent,
generateGitHubFeed,
generateUrl,
- getGitHubUserToken,
updateGithubFeed
};
diff --git a/app/sass/bundle.scss b/app/sass/bundle.scss
index 08374c0..bc3f413 100755
--- a/app/sass/bundle.scss
+++ b/app/sass/bundle.scss
@@ -22,6 +22,7 @@
@import "pages/api";
@import "pages/contributing";
+@import "pages/developer";
@import "pages/documentation";
@import "pages/home";
@import "pages/page";
diff --git a/app/sass/pages/_developer.scss b/app/sass/pages/_developer.scss
new file mode 100644
index 0000000..a22be52
--- /dev/null
+++ b/app/sass/pages/_developer.scss
@@ -0,0 +1,3 @@
+developer-program {
+ @extend %markdown;
+}
diff --git a/app/sockets.js b/app/sockets.js
index 5869b13..bdd3c7d 100644
--- a/app/sockets.js
+++ b/app/sockets.js
@@ -10,7 +10,7 @@ import html from "choo/html";
// U T I L S
import fetchMetadata from "@helper/fetch-metadata";
-import { generateGitHubFeed, getGitHubUserToken } from "@helper/github";
+import { generateGitHubFeed } from "@helper/github";
import messageSlack from "@helper/slack";
@@ -23,7 +23,7 @@ export default (socket, action) => {
switch(true) {
case action.message === "auth me with github":
- getGitHubUserToken();
+ getGitHubUserToken(socket);
break;
case action.message === "fetch metadata":
@@ -332,6 +332,13 @@ function generateMemeCreator(socket) {
});
}
+function getGitHubUserToken(socket) {
+ send(socket, {
+ message: "redirect",
+ url: `https://github.com/login/oauth/authorize?client_id=${process.env.GITHUB_APP_ID}`
+ });
+}
+
async function getTrendingContent() {
try {
const response = await got("https://api.lbry.io/file/list_trending");
diff --git a/documents/developer-program.md b/documents/developer-program.md
index a19b1e8..a031f65 100644
--- a/documents/developer-program.md
+++ b/documents/developer-program.md
@@ -9,6 +9,6 @@ To qualify for free LBC you must:
- have a GitHub account, and
- have a public PR (pull request) in the past year
-If this sounds like you, get started here!
+
If you have not downloaded our SDK yet, [you should]() and generate a wallet address so we know where to send your LBC!