diff --git a/app/components/login/login.html b/app/components/login/login.html
new file mode 100644
index 0000000..cc71ce1
--- /dev/null
+++ b/app/components/login/login.html
@@ -0,0 +1,23 @@
+
+
+
+
+ Login
+
+
+
+
+
+
diff --git a/app/components/login/login.js b/app/components/login/login.js
new file mode 100644
index 0000000..48831d5
--- /dev/null
+++ b/app/components/login/login.js
@@ -0,0 +1,10 @@
+var ipcRenderer = require('electron').ipcRenderer;
+
+var form = document.getElementById('login-form');
+
+form.addEventListener('submit', function (event) {
+ event.preventDefault();
+ var username = document.getElementById('username-input').value;
+ var password = document.getElementById('password-input').value;
+ ipcRenderer.send('login-message', [username, password]);
+});
diff --git a/app/main.js b/app/main.js
index e8fdc2e..24a3730 100644
--- a/app/main.js
+++ b/app/main.js
@@ -10,6 +10,7 @@ var wurl = require('wurl');
var app = electron.app;
var BrowserWindow = electron.BrowserWindow;
var shell = electron.shell;
+var ipcMain = electron.ipcMain;
var buildMenu = require('./buildMenu');
@@ -101,6 +102,17 @@ app.on('ready', function () {
});
});
+app.on('login', function(event, webContents, request, authInfo, callback) {
+ event.preventDefault();
+ var loginWindow = new BrowserWindow();
+ loginWindow.loadURL('file://' + __dirname + '/components/login/login.html');
+
+ ipcMain.once('login-message', function(event, usernameAndPassword) {
+ callback(usernameAndPassword[0], usernameAndPassword[1]);
+ loginWindow.close();
+ });
+});
+
function isOSX() {
return os.platform() === 'darwin';
}