From 918bbaa31537c1bb630cb418150337b3c2c50944 Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Wed, 17 Dec 2025 15:11:32 +0700 Subject: [PATCH] update logo --- assets/docs/resume.html | 4 +- internal/infra/assets/assets.go | 48 +++++++++++++++++++ .../interface/main-handler/main-handler.go | 7 +++ 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 internal/infra/assets/assets.go diff --git a/assets/docs/resume.html b/assets/docs/resume.html index 19a9d403..a79b5e66 100644 --- a/assets/docs/resume.html +++ b/assets/docs/resume.html @@ -48,7 +48,7 @@
- logo + logo
@@ -68,7 +68,7 @@
Website: www.rsudsaifulanwar.jatimprov.go.id
- logo + logo
diff --git a/internal/infra/assets/assets.go b/internal/infra/assets/assets.go new file mode 100644 index 00000000..d721a6e1 --- /dev/null +++ b/internal/infra/assets/assets.go @@ -0,0 +1,48 @@ +package assets + +import ( + "log" + "os" + "path/filepath" +) + +func exeDir() string { + exe, err := os.Executable() + if err != nil { + panic(err) + } + return filepath.Dir(exe) +} + +func GetAssetsDir() string { + exe, err := os.Executable() + if err != nil { + log.Println( + "[ASSETS][ERROR] Failed to resolve executable path.", + "This should never happen in a built binary.", + "Error:", err, + ) + return "" + } + + exeDir := filepath.Dir(exe) + assets := filepath.Join(exeDir, "assets") + + if _, err := os.Stat(assets); err != nil { + log.Println( + "[ASSETS][ERROR] Assets directory not found next to binary.", + "This error ONLY occurs when the application is running from a built binary.", + "Expected path:", assets, + "Executable path:", exe, + ) + return "" + } + + log.Println( + "[ASSETS][OK] Static assets enabled.", + "Mode: production (binary execution).", + "Assets path:", assets, + ) + + return assets +} diff --git a/internal/interface/main-handler/main-handler.go b/internal/interface/main-handler/main-handler.go index 150c419d..1c902c72 100644 --- a/internal/interface/main-handler/main-handler.go +++ b/internal/interface/main-handler/main-handler.go @@ -65,6 +65,7 @@ import ( hk "github.com/karincake/hongkue" /******************** infra ********************/ + assets "simrs-vx/internal/infra/assets" ibpjs "simrs-vx/internal/infra/bpjs" docscfg "simrs-vx/internal/infra/docs-cfg" gs "simrs-vx/internal/infra/gorm-setting" @@ -161,6 +162,12 @@ func SetRoutes() http.Handler { r := http.NewServeMux() + r.Handle("/assets/", + http.StripPrefix("/assets/", + http.FileServer(http.Dir(assets.GetAssetsDir())), + ), + ) + /******************** Main ********************/ r.HandleFunc("/", home.Home)