From b078f1abc9529a5931094566f0ba8e9a2937f4a2 Mon Sep 17 00:00:00 2001
From: Brad Rydzewski <brad.rydzewski@gmail.com>
Date: Sun, 16 Jul 2017 12:27:01 -0400
Subject: [PATCH] enable new polymer user interface

---
 server/template/files/index_polymer.html |  3 +++
 server/template/template_gen.go          |  3 +++
 server/ui.go                             | 18 +++++++++---------
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/server/template/files/index_polymer.html b/server/template/files/index_polymer.html
index ce1fc9fe9..05d4e6489 100644
--- a/server/template/files/index_polymer.html
+++ b/server/template/files/index_polymer.html
@@ -5,6 +5,9 @@
 	<meta name="author" content="bradrydzewski">
 	<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
 
+	<link rel="shortcut icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+	<link rel="shortcut icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+
 	<title></title>
 	<script>
 			window.ENV = {};
diff --git a/server/template/template_gen.go b/server/template/template_gen.go
index 459d97bd0..7c5d459c7 100644
--- a/server/template/template_gen.go
+++ b/server/template/template_gen.go
@@ -94,6 +94,9 @@ var indexpolymer = `<!DOCTYPE html>
 	<meta name="author" content="bradrydzewski">
 	<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
 
+	<link rel="shortcut icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+	<link rel="shortcut icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+
 	<title></title>
 	<script>
 			window.ENV = {};
diff --git a/server/ui.go b/server/ui.go
index 8ba5dbb99..fcac849f6 100644
--- a/server/ui.go
+++ b/server/ui.go
@@ -23,12 +23,13 @@ type website struct {
 
 // NewWebsite returns a new website loader.
 func NewWebsite() Website {
+	// TODO change to DRONE_WEB_PATH and add DRONE_WEB_PROXY
 	path := os.Getenv("DRONE_WWW")
 	if path != "" {
 		return NewLocalWebsite(path)
 	}
 	return &website{
-		fs: http.FileServer(dist.AssetFS()),
+		fs: http.FileServer(dist.New()),
 	}
 }
 
@@ -38,14 +39,9 @@ func (w *website) Page(rw http.ResponseWriter, r *http.Request, u *model.User) {
 
 	path := r.URL.Path
 	switch path {
-	case "/login/form":
-		params := map[string]interface{}{}
-		template.T.ExecuteTemplate(rw, "login.html", params)
-
 	case "/login":
 		if err := r.FormValue("error"); err != "" {
-			params := map[string]interface{}{"error": err}
-			template.T.ExecuteTemplate(rw, "error.html", params)
+			// TODO login error
 		} else {
 			http.Redirect(rw, r, "/authorize", 303)
 		}
@@ -62,7 +58,8 @@ func (w *website) Page(rw http.ResponseWriter, r *http.Request, u *model.User) {
 			"user": u,
 			"csrf": csrf,
 		}
-		template.T.ExecuteTemplate(rw, "index.html", params)
+
+		template.T.ExecuteTemplate(rw, "index_polymer.html", params)
 	}
 }
 
@@ -73,6 +70,9 @@ func (w *website) File(rw http.ResponseWriter, r *http.Request) {
 
 func (w *website) Routes() []string {
 	return []string{
-		"/static/*filepath",
+		"/favicon-32x32.png",
+		"/favicon-16x16.png",
+		"/src/*filepath",
+		"/bower_components/*filepath",
 	}
 }