@@ -8,6 +8,7 @@ import zio.*
88import zio .http .*
99import zio .http .template .{footer , * }
1010
11+ import dk .bohnjespersen .anders .resume .domain .types .{Aspect , Lang }
1112import dk .bohnjespersen .anders .resume .service .Messages
1213
1314object ResumeHtml {
@@ -109,14 +110,16 @@ object ResumeHtml {
109110 def makeFooter (
110111 gitRef : String ,
111112 extraDivClass : Option [String ] = None ,
113+ extraPs : Int = 0 ,
112114 ): Dom = div(
113- classAttr := s " row ${extraDivClass.mkString}" ,
115+ classAttr := s " row print-footer ${extraDivClass.mkString}" ,
114116 div(
115117 classAttr := " span4" ,
116118 Nbsp ,
117119 ),
118120 div(
119121 classAttr := " span4" ,
122+ (1 to extraPs).map(_ => p(Nbsp )),
120123 footer(
121124 i(s " $gitRef" , classAttr := " version-tag" ),
122125 ),
@@ -200,15 +203,29 @@ object ResumeHtml {
200203 body(content),
201204 )
202205
203- def resume (implicit resume : Resume , messages : Messages , deko : Boolean ): Html = {
204- val gitRef = sys
206+ private def jsonPairInts (key : String )(implicit
207+ resume : Resume ,
208+ messages : Messages ,
209+ ): (Int , Int ) = {
210+ val lst = messages
211+ .mfks(key)
212+ .map(_.toInt)
213+ lst(0 ) -> lst(1 )
214+ }
215+
216+ def resume (lang : Lang , aspect : Aspect )(implicit
217+ resume : Resume ,
218+ messages : Messages ,
219+ deko : Boolean ,
220+ ): Html = {
221+ val gitRef = sys
205222 .env
206223 .get(" GITHUB_REF_NAME" )
207224 .orElse(sys.env.get(" GITHUB_SHA" ).map(_.take(7 )))
208225 .getOrElse(" local-dev " + ZonedDateTime .now(ZoneId .of(" Zulu" )).format(dateTimeFormatter))
209- val weDropTake = messages.mfks( " working_experience_page1_drop_take " ).map(_.toInt )
210- val (dropCount, takeCnt) = weDropTake( 0 ) -> weDropTake( 1 )
211- val personalAsInterests = List (
226+ val (extraNbspPage1, extraNbspPage2) = jsonPairInts( " nbsps-before-footer " )
227+ val (dropCount, takeCnt) = jsonPairInts( " working_experience_page1_drop_take " )
228+ val personalAsInterests = List (
212229 Interest (
213230 messages.mfk(" skills_label" ),
214231 messages.mfks(" skills_list" ),
@@ -223,7 +240,7 @@ object ResumeHtml {
223240 ),
224241 )
225242 main(
226- " Resume Anders Bohn Jespersen" ,
243+ s " CV - $aspect - $lang - Anders Bohn Jespersen - $gitRef " ,
227244 div(
228245 classAttr := " wrap" ,
229246 div(
@@ -237,7 +254,7 @@ object ResumeHtml {
237254 ),
238255 ),
239256 cvItems(personalAsInterests ::: resume.interests, " interests_heading" ),
240- makeFooter(gitRef, Some (" hide-on-phone" )),
257+ makeFooter(gitRef, Some (" hide-on-phone" ), extraNbspPage1 ),
241258 ),
242259 ),
243260 div(
@@ -246,7 +263,7 @@ object ResumeHtml {
246263 classAttr := " content" ,
247264 header(Some (" hide-on-phone" )),
248265 cvItems(resume.work.dropRight(dropCount), " working_experience_heading" ),
249- makeFooter(gitRef, Some (" hide-on-phone" )),
266+ makeFooter(gitRef, Some (" hide-on-phone" ), extraNbspPage2 ),
250267 ),
251268 ),
252269 )
0 commit comments