package web import "git.itsigo.dev/istigo/pocketmovie/internal/database" import "fmt" import "strings" templ MovieDetails(movie database.Movie) { @Base(movie.Title + " - PocketMovie") {
{

{ movie.Title }

{ strings.Split(movie.Year, "-")[0] } Directed by { movie.Director }

{ movie.Overview }

Genres: { movie.Genre }

Runtime: { movie.Length } Min

if movie.StreamingServices != "" {

Stream provider: { movie.StreamingServices }

}
@MovieDetailsWatched(movie.ID, movie.Status)
@MovieDetailsRating(movie.ID, movie.Rating)
@MovieDetailsOwned(movie.ID, movie.OwnedType) @MovieDetailsRipped(movie.ID, movie.Ripped)
} } // Gives you the opposite of 1 or 0 func revIntBool(status int64) int64 { if status == 0 { return 1 } return 0 } templ MovieDetailsWatched(id int64, status int64) {
if status == 1 { @fullEye() } else { @closedEye() } if status == 1 {

Watched

} else {

Not watched

}
} templ MovieDetailsRating(id int64, rating int64) {

if rating != 0 { Rated } else { Not rated }

{{ class := "icon star-full" }} for i := range(5) { }
} templ MovieDetailsOwned(id int64, option string) {

if option != "" { Owned } else { Not owned }

switch option { case "4KBD": @ultraHD() case "BD": @bluray() case "DVD": @dvd() case "DL": @fullDownload() default: @forbiddenLineCircle() }
} templ MovieDetailsRipped(id int64, status int64) {
if status != 0 {

Ripped

@checkedFullCircle() } else {

Not ripped

@forbiddenLineCircle() }
} templ MovieDetailsOwnedSelect(id int8) {

Select option

} templ fullStar() { } templ emptyStar() { } templ fullEye() { } templ closedEye() { } templ ultraHD() { } templ bluray() { } templ dvd() { } templ fullDownload() { } templ forbiddenLineCircle() { } templ checkedFullCircle() { }