From 6c973cdf1f9558d15805391081d2817917a590b9 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Mon, 29 Apr 2024 15:18:23 +0700 Subject: [PATCH] web: removed hx-boost --- server/routes/page_home.go | 6 ++- server/server.go | 19 +++++++- views/components/body.templ | 4 +- views/components/navigation.templ | 4 +- views/homeview/homeview.templ | 56 +++++++++++++---------- views/homeview/homeview_data.go | 2 +- views/homeview/recently_added_image.templ | 2 +- views/utils/relative_schedule_time.templ | 37 ++++++++++++++- 8 files changed, 94 insertions(+), 36 deletions(-) diff --git a/server/routes/page_home.go b/server/routes/page_home.go index 337082a..8aadf8f 100644 --- a/server/routes/page_home.go +++ b/server/routes/page_home.go @@ -38,15 +38,17 @@ func (routes *Routes) PageHome(rw http.ResponseWriter, r *http.Request) { if err != nil { log.New(ctx).Err(err).Error("failed to list subreddits") code, message := errs.HTTPMessage(err) + data := homeview.Data{Error: message} rw.WriteHeader(code) - _ = json.NewEncoder(rw).Encode(map[string]string{"error": message}) + if err := homeview.Home(vc, data).Render(ctx, rw); err != nil { + log.New(ctx).Err(err).Error("failed to render home view") + } return } data := homeview.Data{ SubredditsList: list, RecentlyAddedImages: homeview.NewRecentlyAddedImages(imageList.Images), - Error: err, } if err := homeview.Home(vc, data).Render(ctx, rw); err != nil { diff --git a/server/server.go b/server/server.go index fbae7bf..51b6fc0 100644 --- a/server/server.go +++ b/server/server.go @@ -4,6 +4,7 @@ import ( "context" "errors" "io/fs" + "net" "net/http" "github.com/go-chi/chi/v5" @@ -25,7 +26,10 @@ func (srv *Server) Start(exit <-chan struct{}) error { errch := make(chan error, 1) caller := caller.New(3) go func() { - log.New(context.Background()).Caller(caller).Info("starting http server", "address", "http://"+srv.server.Addr) + log.New(context.Background()).Caller(caller).Info( + "starting http server", "address", "http://"+srv.server.Addr, + "outbound_ip", "http://"+GetOutboundIP().String()+":"+srv.config.String("http.port"), + ) errch <- srv.server.ListenAndServe() }() @@ -61,3 +65,16 @@ func New(cfg *config.Config, api *api.API, publicDir fs.FS) *Server { return &Server{server: server, config: cfg} } + +// Get preferred outbound ip of this machine +func GetOutboundIP() net.IP { + conn, err := net.Dial("udp", "8.8.8.8:80") + if err != nil { + panic(err) + } + defer conn.Close() + + localAddr := conn.LocalAddr().(*net.UDPAddr) + + return localAddr.IP +} diff --git a/views/components/body.templ b/views/components/body.templ index 56b9d4a..3a4df3e 100644 --- a/views/components/body.templ +++ b/views/components/body.templ @@ -7,9 +7,9 @@ templ Body(c *views.Context) { @Navigation(c) {
@Navbar(c) -
+
{ children... } -
+
} diff --git a/views/components/navigation.templ b/views/components/navigation.templ index e6feace..c5d1af0 100644 --- a/views/components/navigation.templ +++ b/views/components/navigation.templ @@ -24,7 +24,7 @@ templ Navigation(c *views.Context) { { children... } -