Implemented hub
This commit is contained in:
		@@ -29,7 +29,7 @@ func Login(db *data.DB) http.HandlerFunc {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/editor.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/hub.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -54,13 +54,7 @@ func FinishEdit(feed *data.Feed) http.HandlerFunc {
 | 
			
		||||
		})
 | 
			
		||||
		feed.Save("tmp/rss.gob")
 | 
			
		||||
 | 
			
		||||
		rss, err := feed.ToRss()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Println(err)
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/feed.rss")).ExecuteTemplate(w, "page-content", rss)
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/hub.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -124,6 +118,30 @@ func AddUser(db *data.DB) http.HandlerFunc {
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/editor.html")).Execute(w, nil)
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/hub.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func WriteArticle() http.HandlerFunc {
 | 
			
		||||
	return func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/editor.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ShowRSS(feed *data.Feed) http.HandlerFunc {
 | 
			
		||||
	return func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		rss, err := feed.ToRss()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Println(err)
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/index.html", "web/templates/feed.rss")).Execute(w, rss)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func CreateUser() http.HandlerFunc {
 | 
			
		||||
	return func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		template.Must(template.ParseFiles("web/templates/add-user.html")).ExecuteTemplate(w, "page-content", nil)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								main.go
									
									
									
									
									
								
							@@ -1,7 +1,6 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"html/template"
 | 
			
		||||
	"log"
 | 
			
		||||
	"net/http"
 | 
			
		||||
@@ -40,7 +39,6 @@ func main() {
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalln(err)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Println(numRows)
 | 
			
		||||
	if numRows == 0 {
 | 
			
		||||
		mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
			template.Must(template.ParseFiles("web/templates/index.html", "web/templates/add-user.html")).Execute(w, nil)
 | 
			
		||||
@@ -52,8 +50,11 @@ func main() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mux.HandleFunc("POST /add-user/", ui.AddUser(db))
 | 
			
		||||
	mux.HandleFunc("POST /finished-edit/", ui.FinishEdit(feed))
 | 
			
		||||
	mux.HandleFunc("POST /create-user/", ui.CreateUser())
 | 
			
		||||
	mux.HandleFunc("POST /write-article/", ui.WriteArticle())
 | 
			
		||||
	mux.HandleFunc("POST /finish-edit/", ui.FinishEdit(feed))
 | 
			
		||||
	mux.HandleFunc("POST /login/", ui.Login(db))
 | 
			
		||||
	mux.HandleFunc("/rss/", ui.ShowRSS(feed))
 | 
			
		||||
 | 
			
		||||
	log.Fatalln(http.ListenAndServe(":8080", mux))
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    <input name="editor-title" placeholder="Titel" type="text" />
 | 
			
		||||
    <textarea name="editor-desc" placeholder="Beschreibung"></textarea>
 | 
			
		||||
    <textarea name="editor-text" placeholder="Artikel"></textarea>
 | 
			
		||||
    <input type="submit" value="Senden" hx-post="/finished-edit/" hx-target="#page-content" />
 | 
			
		||||
    <input type="submit" value="Senden" hx-post="/finish-edit/" hx-target="#page-content" />
 | 
			
		||||
</form>
 | 
			
		||||
{{end}}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								web/templates/hub.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								web/templates/hub.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
{{define "page-content"}}
 | 
			
		||||
<h2>Hub</h2>
 | 
			
		||||
<button hx-post="/write-article/" hx-target="#page-content">Artikel schreiben</button>
 | 
			
		||||
<button hx-post="/rss/" hx-target="#page-content">RSS Feed</button>
 | 
			
		||||
<button hx-post="/create-user/" hx-target="#page-content">Benutzer hinzufügen</button>
 | 
			
		||||
{{end}}
 | 
			
		||||
		Reference in New Issue
	
	Block a user