|      1 package app |         | 
|      2  |         | 
|      3 import scalatags.Text.all._ |         | 
|      4 import scala.util.Random |         | 
|      5  |         | 
|      6  |         | 
|      7 object MinimalApplication extends cask.MainRoutes{ |         | 
|      8  |         | 
|      9   val bootstrap = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.css" |         | 
|     10  |         | 
|     11   var x = Random.between(0, 7) |         | 
|     12   var y = Random.between(0, 7)  |         | 
|     13   var z = Random.between(0, 7)  |         | 
|     14  |         | 
|     15   abstract class Answer |         | 
|     16   case object No extends Answer |         | 
|     17   case object Correct extends Answer |         | 
|     18   case class Wrong(n: Int) extends Answer |         | 
|     19  |         | 
|     20   var ans : Answer = No |         | 
|     21   var cnt = 1 |         | 
|     22  |         | 
|     23   val heart = raw("❤️") |         | 
|     24   val unicorn = raw("🦄") |         | 
|     25  |         | 
|     26   var nms = List("Christiane", "Sebastian") |         | 
|     27  |         | 
|     28   @cask.get("/") |         | 
|     29   def hello() =  |         | 
|     30       doctype("html")( |         | 
|     31       html( |         | 
|     32         head(link(rel := "stylesheet", href := bootstrap)),  |         | 
|     33         body( |         | 
|     34           div(cls := "container")(  |         | 
|     35             //h1(s"Hello ${nms((cnt / 3) % 2)}!"),  |         | 
|     36             h1(s"Hello Christiane"),   |         | 
|     37             h1(s"$x + $y = ??"),   |         | 
|     38 	    ans match { |         | 
|     39               case No => "" |         | 
|     40               case Correct => i(color.green)("Correct!") |         | 
|     41               case Wrong(n) => i(color.red)(s"$n is wrong!") |         | 
|     42 	    }, |         | 
|     43             form(action := "/", method := "post")( |         | 
|     44 	      frag( |         | 
|     45 		for (i <- 0 to 12) yield button(`type` := "submit", name := "name", value := i.toString)(i.toString)   |         | 
|     46               ) |         | 
|     47             ), |         | 
|     48             frag( |         | 
|     49               for (i <- 0 until cnt) yield  |         | 
|     50                 if ((i + 1) % 10 != 0) heart else unicorn |         | 
|     51             ) |         | 
|     52           ) |         | 
|     53         ) |         | 
|     54       ) |         | 
|     55   ) |         | 
|     56  |         | 
|     57   @cask.postForm("/") |         | 
|     58   def answer(name: String) = { |         | 
|     59     if (x + y == name.toInt) { |         | 
|     60       ans = Correct |         | 
|     61       x = Random.between(0, 7) |         | 
|     62       y = Random.between(0, 7) |         | 
|     63       z = Random.between(0, 7) |         | 
|     64       cnt = cnt + 1 |         | 
|     65     } |         | 
|     66     else  |         | 
|     67       ans = Wrong(name.toInt) |         | 
|     68     hello() |         | 
|     69   } |         | 
|     70  |         | 
|     71   initialize() |         | 
|     72 } |         |