diff options
author | William Carroll <wpcarro@gmail.com> | 2020-08-06T20·54+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-08-06T20·54+0100 |
commit | 1fc1087014a235a4fd153ea239ec3e5509757c17 (patch) | |
tree | b55bc7a2dcbddf7a5819633fddbbb4cd9662b865 | |
parent | 5f52077492160195681a0a9bca806fd78ddbd6fd (diff) |
Support Google Sign-in client-side
TODO: Support Google Sign-in server-side Also: - Add Haskell to project's shell.nix - Add stubbed Main.hs and Spec.hs - Add common .ghci file
5 files changed, 53 insertions, 1 deletions
diff --git a/website/sandbox/learnpianochords/shell.nix b/website/sandbox/learnpianochords/shell.nix index 6f1c8ee23b30..bf7a640fd1cf 100644 --- a/website/sandbox/learnpianochords/shell.nix +++ b/website/sandbox/learnpianochords/shell.nix @@ -1,9 +1,12 @@ let - pkgs = import <nixpkgs> {}; + pkgs = import /home/wpcarro/nixpkgs {}; in pkgs.mkShell { buildInputs = with pkgs; [ elmPackages.elm elmPackages.elm-format elmPackages.elm-live + (haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [ + hspec + ])) ]; } diff --git a/website/sandbox/learnpianochords/src/server/.ghci b/website/sandbox/learnpianochords/src/server/.ghci new file mode 100644 index 000000000000..efc88e630ccb --- /dev/null +++ b/website/sandbox/learnpianochords/src/server/.ghci @@ -0,0 +1,2 @@ +:set prompt "> " +:set -Wall diff --git a/website/sandbox/learnpianochords/src/server/Main.hs b/website/sandbox/learnpianochords/src/server/Main.hs new file mode 100644 index 000000000000..5fca22a4567a --- /dev/null +++ b/website/sandbox/learnpianochords/src/server/Main.hs @@ -0,0 +1,6 @@ +-------------------------------------------------------------------------------- +module Main where +-------------------------------------------------------------------------------- + +main :: IO () +main = putStrLn "Working!" diff --git a/website/sandbox/learnpianochords/src/server/Spec.hs b/website/sandbox/learnpianochords/src/server/Spec.hs new file mode 100644 index 000000000000..dfdd3ddebb05 --- /dev/null +++ b/website/sandbox/learnpianochords/src/server/Spec.hs @@ -0,0 +1,13 @@ +-------------------------------------------------------------------------------- +module Spec where +-------------------------------------------------------------------------------- +import Test.Hspec +import Test.QuickCheck +import Control.Exception (evaluate) +-------------------------------------------------------------------------------- + +main :: IO () +main = hspec $ do + describe "Testing" $ do + it "is setup" $ do + True == True diff --git a/website/sandbox/learnpianochords/src/server/index.html b/website/sandbox/learnpianochords/src/server/index.html new file mode 100644 index 000000000000..ce80faf0d501 --- /dev/null +++ b/website/sandbox/learnpianochords/src/server/index.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <title>Google Sign-in</title> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <meta name="google-signin-client_id" content="771151720060-buofllhed98fgt0j22locma05e7rpngl.apps.googleusercontent.com"> + </head> + <body> + <div class="g-signin2" data-onsuccess="onSignIn"></div> + <a href="#" onclick="signOut();">Sign out</a> + <script> + function onSignIn(googleUser) { + var profile = googleUser.getBasicProfile(); + console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. + console.log('Name: ' + profile.getName()); + console.log('Image URL: ' + profile.getImageUrl()); + console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. + } + function signOut() { + var auth2 = gapi.auth2.getAuthInstance(); + auth2.signOut().then(function () { + console.log('User signed out.'); + }); + } + </script> + </body> +</html> |