From dd9493f28bf2c51dce8aad843cad15b40b5d0125 Mon Sep 17 00:00:00 2001 From: Jason Staten Date: Sat, 13 Aug 2022 00:25:27 -0600 Subject: [PATCH] render list --- main.go | 17 ++++++++---- views/_footer.html | 5 ++++ views/_head.html | 5 ++++ views/_task.html | 8 ++++++ views/common.html | 1 - views/layout.html | 69 ++-------------------------------------------- views/list.html | 37 +++++++++++++++++++++++-- views/show.html | 3 -- 8 files changed, 67 insertions(+), 78 deletions(-) create mode 100644 views/_footer.html create mode 100644 views/_head.html create mode 100644 views/_task.html delete mode 100644 views/common.html delete mode 100644 views/show.html diff --git a/main.go b/main.go index 7ba66e1..0f95903 100644 --- a/main.go +++ b/main.go @@ -38,17 +38,22 @@ type Todo struct { Completed bool } +type ViewModel struct { + Todos []Todo +} + func main() { t := New() http.Handle("/public/", http.FileServer(http.FS(publicFS))) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - err := t.Render(w, "list.html", nil) - if err != nil { - log.Println(err) + vm := ViewModel{ + Todos: []Todo{ + {Title: "One"}, + {Title: "Two", Completed: true}, + {Title: "Three"}, + }, } - }) - http.HandleFunc("/show", func(w http.ResponseWriter, r *http.Request) { - err := t.Render(w, "show.html", nil) + err := t.Render(w, "list.html", vm) if err != nil { log.Println(err) } diff --git a/views/_footer.html b/views/_footer.html new file mode 100644 index 0000000..2a68497 --- /dev/null +++ b/views/_footer.html @@ -0,0 +1,5 @@ + diff --git a/views/_head.html b/views/_head.html new file mode 100644 index 0000000..3347357 --- /dev/null +++ b/views/_head.html @@ -0,0 +1,5 @@ + + +todogo • TodoMVC + + diff --git a/views/_task.html b/views/_task.html new file mode 100644 index 0000000..d778487 --- /dev/null +++ b/views/_task.html @@ -0,0 +1,8 @@ +
  • +
    + + + +
    + +
  • diff --git a/views/common.html b/views/common.html deleted file mode 100644 index 5a3066b..0000000 --- a/views/common.html +++ /dev/null @@ -1 +0,0 @@ -

    Commonest

    diff --git a/views/layout.html b/views/layout.html index 0e3eef2..42925f9 100644 --- a/views/layout.html +++ b/views/layout.html @@ -1,73 +1,10 @@ - - - Template • TodoMVC - - + {{template "_head.html" .}} -
    -
    -

    todos

    - -
    - -
    - - -
      - - -
    • -
      - - - -
      - -
    • -
    • -
      - - - -
      - -
    • -
    -
    - - -
    - - - - + {{template "content" .}} + {{template "_footer.html" .}} diff --git a/views/list.html b/views/list.html index a5f6bd7..44c4f88 100644 --- a/views/list.html +++ b/views/list.html @@ -1,4 +1,37 @@ {{define "content"}} -

    List

    -{{template "common.html" .}} +
    +
    +

    todos

    + +
    + +
    + + +
      + {{range .Todos}} + {{template "_task.html" .}} + {{end}} +
    +
    + + +
    {{end}} diff --git a/views/show.html b/views/show.html deleted file mode 100644 index 6dd233c..0000000 --- a/views/show.html +++ /dev/null @@ -1,3 +0,0 @@ -{{define "content"}} -

    Show

    -{{end}}