package finder import ( "net/http" "personalwebsite/apps" "personalwebsite/webfilesystem" "github.com/gin-gonic/gin" ) type FinderApplication struct { fs *webfilesystem.WebFileSystem manifest apps.ApplicationManifest } func NewFinderApplication(webFs *webfilesystem.WebFileSystem) *FinderApplication { return &FinderApplication{ fs: webFs, manifest: apps.ApplicationManifest{ AppId: "finder", WindowName: "TODO DELETE", //TODO DELETE }, } } func (f *FinderApplication) GetManifest() apps.ApplicationManifest { return f.manifest } func (f *FinderApplication) GetId() string { return f.manifest.AppId } func (f *FinderApplication) Render(isMobile bool) gin.H { return gin.H{} } func (f *FinderApplication) Routes(routes *gin.RouterGroup) { routes.GET("render", func(ctx *gin.Context) { isMobileParam := ctx.Query("isMobile") isMobile := isMobileParam == "true" if isMobile { ctx.HTML(http.StatusOK, "finder/mobile-app.tmpl", f.Render(isMobile)) } else { ctx.HTML(http.StatusOK, "finder/app.tmpl", f.Render(isMobile)) } }) routes.GET("renderMobileDesktop", func(ctx *gin.Context) { ctx.HTML(http.StatusOK, "finder/mobile-desktop.tmpl", gin.H{}) }) routes.GET("renderDesktop", func(ctx *gin.Context) { path := ctx.Query("path") if path == "" { ctx.JSON(http.StatusBadRequest, "no path provided") return } ctx.HTML(http.StatusOK, "finder/desktop.tmpl", gin.H{}) }) }