package finder import ( "personalwebsite/apps" "personalwebsite/wde" "personalwebsite/webfilesystem" "github.com/gin-gonic/gin" ) type FinderApplication struct { fs *webfilesystem.WebFileSystem appID string manifest apps.ApplicationManifest } func NewFinderApplication(webFs *webfilesystem.WebFileSystem) *FinderApplication { return &FinderApplication{ fs: webFs, appID: "Finder", manifest: apps.ApplicationManifest{ AppId: "finder", }, } } func (f *FinderApplication) GetManifest() apps.ApplicationManifest { return f.manifest } func (f *FinderApplication) GetAppID() string { return f.appID } func (f *FinderApplication) Render(isMobile bool) gin.H { return gin.H{} } func (f *FinderApplication) RenderPublicContextMenu(context string, filePath string, data string) gin.H { islands := [][]wde.ContexMenuRow{} islands = append(islands, []wde.ContexMenuRow{}) //TODO: Links read as source files in props info islands = append(islands, []wde.ContexMenuRow{ {Label: "Get Info", Action: "getInfo"}, }) if context == "FileTileView" { return gin.H{ "Islands": islands, } } switch context { default: } return gin.H{ "Islands": islands, } } func (f *FinderApplication) RenderProps(filePath string) (gin.H, error) { fileHeader, err := f.fs.Read(filePath, nil) if err != nil { return nil, err } return gin.H{ "file": fileHeader, }, nil }