lyrics

lyrics
git clone git://brookjeynes.dev/bjeynes/lyrics.git
Log | Files | Refs

index.templ (1286B)


      1 package index
      2 
      3 import (
      4 	"lyrics/internal/server/routes"
      5 	"lyrics/internal/server/ui/layouts/base"
      6 )
      7 
      8 templ Index(params IndexParams) {
      9 	@base.Base(base.BaseParams{Title: "home"}) {
     10 		<section>
     11 			<h1>Recently Added Songs</h1>
     12 			if len(params.Songs) == 0 {
     13 				<p>No songs yet.</p>
     14 			} else {
     15 				<ol>
     16 					for _, song := range params.Songs {
     17 						<li>
     18 							<a href={ routes.Song(song) }>
     19 								{ song.Title }
     20 								if song.LatinTitle != nil {
     21 									<span>({ *song.LatinTitle })</span>
     22 								}
     23 							</a>
     24 							if len(song.Artists) > 0 {
     25 								<span>by </span>
     26 								for i, artist := range song.Artists {
     27 									if i > 0 {
     28 										<span>, </span>
     29 									}
     30 									<a href={ routes.Artist(artist.Artist) }>
     31 										{ artist.Artist.Name }
     32 										if artist.Artist.LatinName != nil {
     33 											<span>({ *artist.Artist.LatinName })</span>
     34 										}
     35 									</a>
     36 								}
     37 							}
     38 							if len(song.Releases) > 0 {
     39 								<span>on </span>
     40 								<a href={ routes.Release(song.Releases[0].Release) }>
     41 									{ song.Releases[0].Release.Title }
     42 									if song.Releases[0].Release.LatinTitle != nil {
     43 										<span>({ *song.Releases[0].Release.LatinTitle })</span>
     44 									}
     45 								</a>
     46 							}
     47 						</li>
     48 					}
     49 				</ol>
     50 			}
     51 		</section>
     52 	}
     53 }