From 6c9c7cc33efe3609da34a23accf03990a0b53fba Mon Sep 17 00:00:00 2001 From: darius Date: Mon, 24 Jun 2024 15:50:57 +0200 Subject: [PATCH] project page get from db --- web/components/projectList.go | 14 +++++++------- web/handlers/projectPageHandler.go | 10 ++++++++-- web/services/projectsJson.go | 28 ---------------------------- web/types/projects.go | 13 ------------- 4 files changed, 15 insertions(+), 50 deletions(-) delete mode 100644 web/services/projectsJson.go delete mode 100644 web/types/projects.go diff --git a/web/components/projectList.go b/web/components/projectList.go index 82db41e..0184412 100644 --- a/web/components/projectList.go +++ b/web/components/projectList.go @@ -6,22 +6,22 @@ import ( . "github.com/maragudk/gomponents/html" b "github.com/willoma/bulma-gomponents" e "github.com/willoma/gomplements" - "portfolio/web/types" + "portfolio/database/ent" ) -func ProjectList(projects []types.Project) g.Node { - return Div(Class("py-2 px-2"), g.Group(g.Map(projects, func(p types.Project) g.Node { +func ProjectList(projects []*ent.Project) g.Node { + return Div(Class("py-2 px-2"), g.Group(g.Map(projects, func(p *ent.Project) g.Node { return Project(p) })), ) } -func Project(project types.Project) g.Node { +func Project(project *ent.Project) g.Node { return b.Card( b.Media( b.MediaLeft( b.ImageImg( - project.ImageUrl, + project.ImageURL, e.Alt("project image"), b.ImgSq64, ), @@ -29,8 +29,8 @@ func Project(project types.Project) g.Node { b.Title(4, project.Name), b.Subtitle( 6, - A(Class("flex"), Href(project.Url), mdi.Github(), g.Text("Checkout repo")), - A(Class("flex"), Href(project.DocUrl), mdi.Document(), g.Text("Docs"))), + A(Class("flex"), Href(project.URL), mdi.Github(), g.Text("Checkout repo")), + A(Class("flex"), Href(project.DocURL), mdi.Document(), g.Text("Docs"))), ), b.Content( g.Raw(project.Description), diff --git a/web/handlers/projectPageHandler.go b/web/handlers/projectPageHandler.go index 70ca87f..a8ab838 100644 --- a/web/handlers/projectPageHandler.go +++ b/web/handlers/projectPageHandler.go @@ -1,11 +1,12 @@ package handlers import ( + "context" g "github.com/maragudk/gomponents" . "github.com/maragudk/gomponents/html" "net/http" + "portfolio/database/query" "portfolio/web/components" - "portfolio/web/services" ) func ProjectPageHandler(w http.ResponseWriter, r *http.Request) { @@ -19,8 +20,13 @@ func ProjectPageHandler(w http.ResponseWriter, r *http.Request) { func createProjectBody(w http.ResponseWriter, r *http.Request) g.Node { + projects, err := query.GetProjects(context.Background()) + if err != nil { + return nil + } + return Body( - components.ProjectList(services.ReadProjectsJson()), + components.ProjectList(projects), ) } diff --git a/web/services/projectsJson.go b/web/services/projectsJson.go deleted file mode 100644 index 94ea3c7..0000000 --- a/web/services/projectsJson.go +++ /dev/null @@ -1,28 +0,0 @@ -package services - -import ( - "encoding/json" - "fmt" - "io" - "os" - "portfolio/web/types" -) - -func ReadProjectsJson() []types.Project { - // Open our jsonFile - jsonFile, err := os.Open("web/assets/json/projects.json") - // if we os.Open returns an error then handle it - if err != nil { - fmt.Println(err) - } - - defer jsonFile.Close() - - byteValue, _ := io.ReadAll(jsonFile) - - var projects types.Projects - - json.Unmarshal(byteValue, &projects) - - return projects.Projects -} diff --git a/web/types/projects.go b/web/types/projects.go deleted file mode 100644 index bad97d0..0000000 --- a/web/types/projects.go +++ /dev/null @@ -1,13 +0,0 @@ -package types - -type Projects struct { - Projects []Project `json:"projects"` -} - -type Project struct { - Name string `json:"name"` - Description string `json:"description"` - Url string `json:"url"` - ImageUrl string `json:"image_url"` - DocUrl string `json:"doc_url"` -}