diff --git a/controller/home.go b/controller/home.go index e1ccdef..4f4a5a3 100644 --- a/controller/home.go +++ b/controller/home.go @@ -10,10 +10,19 @@ type home struct{} func (h home) registerRoutes() { http.HandleFunc("/", indexHandler) + http.HandleFunc("/login", loginHandler) } func indexHandler(w http.ResponseWriter, r *http.Request) { + tpName := "index.html" vop := vm.IndexViewModelOp{} v := vop.GetVM() - templates["index.html"].Execute(w, &v) + templates[tpName].Execute(w, &v) +} + +func loginHandler(w http.ResponseWriter, r *http.Request) { + tpName := "login.html" + vop := vm.LoginViewModelOp{} + v := vop.GetVM() + templates[tpName].Execute(w, &v) } diff --git a/templates/_base.html b/templates/_base.html index 3224a9b..03f27e8 100644 --- a/templates/_base.html +++ b/templates/_base.html @@ -7,7 +7,12 @@ {{end}} -
Blog: Home
+
+ Blog: + Home + Login +
+ {{template "content" .}} diff --git a/templates/content/login.html b/templates/content/login.html new file mode 100644 index 0000000..ac07a57 --- /dev/null +++ b/templates/content/login.html @@ -0,0 +1,8 @@ +{{define "content"}} +

Login

+
+

+

+

+
+{{end}} \ No newline at end of file diff --git a/vm/index.go b/vm/index.go index 41925bf..e5e6711 100644 --- a/vm/index.go +++ b/vm/index.go @@ -22,6 +22,6 @@ func (IndexViewModelOp) GetVM() IndexViewModel { model.Post{User: u2, Body: "The Avengers movie was so cool!"}, } - vm := IndexViewModel{BaseViewModel{Title: "Homepage"}, u1, posts} - return vm + v := IndexViewModel{BaseViewModel{Title: "Homepage"}, u1, posts} + return v } diff --git a/vm/login.go b/vm/login.go new file mode 100644 index 0000000..022087f --- /dev/null +++ b/vm/login.go @@ -0,0 +1,16 @@ +package vm + +// LoginViewModel struct +type LoginViewModel struct { + BaseViewModel +} + +// LoginViewModelOp strutc +type LoginViewModelOp struct{} + +// GetVM func +func (LoginViewModelOp) GetVM() LoginViewModel { + v := LoginViewModel{} + v.SetTitle("Login") + return v +}