diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala index c67bb24..4cb3c0c 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala @@ -22,9 +22,16 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( + cls := "pb-5 border-b border-gray-200", h3( - cls := "text-l font-bold text-gray-900", + cls := "text-xl leading-6 font-bold text-gray-900", child.text <-- $m.map(_.nazev) ), - DukazyKriterii($m.map(_.dukazy)) + h3( + cls := "mt-2 max-w-4xl text-sm text-gray-500", + "Kapitola ", + child.text <-- $m.map(_.kapitola), + " bod ", + child <-- $m.map(_.bod) + ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala index c67bb24..4cb3c0c 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala @@ -22,9 +22,16 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( + cls := "pb-5 border-b border-gray-200", h3( - cls := "text-l font-bold text-gray-900", + cls := "text-xl leading-6 font-bold text-gray-900", child.text <-- $m.map(_.nazev) ), - DukazyKriterii($m.map(_.dukazy)) + h3( + cls := "mt-2 max-w-4xl text-sm text-gray-500", + "Kapitola ", + child.text <-- $m.map(_.kapitola), + " bod ", + child <-- $m.map(_.bod) + ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala index 4855717..67f6ca2 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala @@ -59,9 +59,9 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( - cls := "md:flex md:items-center md:justify-between md:space-x-5", + cls := "md:flex md:items-center md:justify-between md:space-x-4", div( - cls := "flex items-start space-x-5", + cls := "flex items-start space-x-4", div( cls := "flex-shrink-0", Avatar($m.map(_.img)).avatar(16) @@ -80,3 +80,21 @@ ) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + cls := "md:flex md:items-center md:justify-between md:space-x-5", + div( + cls := "flex items-start space-x-4", + div( + cls := "flex-shrink-0", + Avatar($m.map(_.img)).avatar(8) + ), + div( + h1( + cls := "text-lg font-medium text-gray-800", + child.text <-- $m.map(_.jmeno) + ) + ) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala index c67bb24..4cb3c0c 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala @@ -22,9 +22,16 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( + cls := "pb-5 border-b border-gray-200", h3( - cls := "text-l font-bold text-gray-900", + cls := "text-xl leading-6 font-bold text-gray-900", child.text <-- $m.map(_.nazev) ), - DukazyKriterii($m.map(_.dukazy)) + h3( + cls := "mt-2 max-w-4xl text-sm text-gray-500", + "Kapitola ", + child.text <-- $m.map(_.kapitola), + " bod ", + child <-- $m.map(_.bod) + ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala index 4855717..67f6ca2 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala @@ -59,9 +59,9 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( - cls := "md:flex md:items-center md:justify-between md:space-x-5", + cls := "md:flex md:items-center md:justify-between md:space-x-4", div( - cls := "flex items-start space-x-5", + cls := "flex items-start space-x-4", div( cls := "flex-shrink-0", Avatar($m.map(_.img)).avatar(16) @@ -80,3 +80,21 @@ ) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + cls := "md:flex md:items-center md:justify-between md:space-x-5", + div( + cls := "flex items-start space-x-4", + div( + cls := "flex-shrink-0", + Avatar($m.map(_.img)).avatar(8) + ), + div( + h1( + cls := "text-lg font-medium text-gray-800", + child.text <-- $m.map(_.jmeno) + ) + ) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala index 0b4187f..35ad70f 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala @@ -16,7 +16,7 @@ div( cls := "pb-5 border-b border-gray-200", h2( - cls := "text-lg leading-6 font-medium text-gray-900", + cls := "text-2xl leading-6 font-medium text-gray-900", child.text <-- $m.map(_.nazev) ), p( @@ -24,3 +24,11 @@ child.text <-- $m.map(_.popis) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + h2( + cls := "text-lg leading-6 font-medium text-gray-600", + child.text <-- $m.map(_.nazev) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala index c67bb24..4cb3c0c 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala @@ -22,9 +22,16 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( + cls := "pb-5 border-b border-gray-200", h3( - cls := "text-l font-bold text-gray-900", + cls := "text-xl leading-6 font-bold text-gray-900", child.text <-- $m.map(_.nazev) ), - DukazyKriterii($m.map(_.dukazy)) + h3( + cls := "mt-2 max-w-4xl text-sm text-gray-500", + "Kapitola ", + child.text <-- $m.map(_.kapitola), + " bod ", + child <-- $m.map(_.bod) + ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala index 4855717..67f6ca2 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala @@ -59,9 +59,9 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( - cls := "md:flex md:items-center md:justify-between md:space-x-5", + cls := "md:flex md:items-center md:justify-between md:space-x-4", div( - cls := "flex items-start space-x-5", + cls := "flex items-start space-x-4", div( cls := "flex-shrink-0", Avatar($m.map(_.img)).avatar(16) @@ -80,3 +80,21 @@ ) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + cls := "md:flex md:items-center md:justify-between md:space-x-5", + div( + cls := "flex items-start space-x-4", + div( + cls := "flex-shrink-0", + Avatar($m.map(_.img)).avatar(8) + ), + div( + h1( + cls := "text-lg font-medium text-gray-800", + child.text <-- $m.map(_.jmeno) + ) + ) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala index 0b4187f..35ad70f 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala @@ -16,7 +16,7 @@ div( cls := "pb-5 border-b border-gray-200", h2( - cls := "text-lg leading-6 font-medium text-gray-900", + cls := "text-2xl leading-6 font-medium text-gray-900", child.text <-- $m.map(_.nazev) ), p( @@ -24,3 +24,11 @@ child.text <-- $m.map(_.popis) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + h2( + cls := "text-lg leading-6 font-medium text-gray-600", + child.text <-- $m.map(_.nazev) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala new file mode 100644 index 0000000..ac27b9f --- /dev/null +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala @@ -0,0 +1,29 @@ +package cz.e_bs.cmi.mdr.pdb.app.pages.detail.components + +import com.raquo.laminar.api.L.{*, given} +import cz.e_bs.cmi.mdr.pdb.app.components.Icons + +object DukazyKriteria: + type ViewModel = List[DukazKriteria.ViewModel] + def apply($m: Signal[ViewModel]): HtmlElement = + div( + child.maybe <-- $m.map(m => + if (m.isEmpty) then Some(prazdnyDukaz) else None + ), + children <-- $m.map(_.zipWithIndex).split(_._2)((_, _, $s) => + DukazKriteria($s.map(_._1)) + ) + ) + + private def prazdnyDukaz: HtmlElement = + button( + tpe := "button", + cls := "relative block w-full border-2 border-gray-300 border-dashed rounded-lg p-12 text-center hover:border-gray-400 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500", + Icons.outline + .`document-add`(12) + .amend(svg.cls := "mx-auto text-gray-400"), + span( + cls := "mt-2 block text-sm font-medium text-gray-900", + "Přidat důkaz" + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala index 6f43792..7729919 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailKriteriaPage.scala @@ -17,8 +17,13 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), - DetailParametru($m.map(_.parametr)), - DetailKriteria($m.map(_.kriterium)) + div( + DetailOsoby.header($m.map(_.osoba)), + DetailParametru.header($m.map(_.parametr)).amend(cls := "mt-2") + ), + div( + DetailKriteria($m.map(_.kriterium)), + DukazyKriteria($m.map(_.kriterium.dukazy)) + ) ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala index b414140..66f53f3 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/DetailParametruPage.scala @@ -17,7 +17,7 @@ cls := "max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8", div( cls := "flex flex-col space-y-4", - DetailOsoby($m.map(_.osoba)), + DetailOsoby.header($m.map(_.osoba)), DetailParametru($m.map(_.parametr)), SeznamKriterii($m.map(_.kriteria)) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala index c67bb24..4cb3c0c 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailKriteria.scala @@ -22,9 +22,16 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( + cls := "pb-5 border-b border-gray-200", h3( - cls := "text-l font-bold text-gray-900", + cls := "text-xl leading-6 font-bold text-gray-900", child.text <-- $m.map(_.nazev) ), - DukazyKriterii($m.map(_.dukazy)) + h3( + cls := "mt-2 max-w-4xl text-sm text-gray-500", + "Kapitola ", + child.text <-- $m.map(_.kapitola), + " bod ", + child <-- $m.map(_.bod) + ) ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala index 4855717..67f6ca2 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailOsoby.scala @@ -59,9 +59,9 @@ def apply($m: Signal[ViewModel]): HtmlElement = div( - cls := "md:flex md:items-center md:justify-between md:space-x-5", + cls := "md:flex md:items-center md:justify-between md:space-x-4", div( - cls := "flex items-start space-x-5", + cls := "flex items-start space-x-4", div( cls := "flex-shrink-0", Avatar($m.map(_.img)).avatar(16) @@ -80,3 +80,21 @@ ) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + cls := "md:flex md:items-center md:justify-between md:space-x-5", + div( + cls := "flex items-start space-x-4", + div( + cls := "flex-shrink-0", + Avatar($m.map(_.img)).avatar(8) + ), + div( + h1( + cls := "text-lg font-medium text-gray-800", + child.text <-- $m.map(_.jmeno) + ) + ) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala index 0b4187f..35ad70f 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DetailParametru.scala @@ -16,7 +16,7 @@ div( cls := "pb-5 border-b border-gray-200", h2( - cls := "text-lg leading-6 font-medium text-gray-900", + cls := "text-2xl leading-6 font-medium text-gray-900", child.text <-- $m.map(_.nazev) ), p( @@ -24,3 +24,11 @@ child.text <-- $m.map(_.popis) ) ) + + def header($m: Signal[ViewModel]): HtmlElement = + div( + h2( + cls := "text-lg leading-6 font-medium text-gray-600", + child.text <-- $m.map(_.nazev) + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala new file mode 100644 index 0000000..ac27b9f --- /dev/null +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriteria.scala @@ -0,0 +1,29 @@ +package cz.e_bs.cmi.mdr.pdb.app.pages.detail.components + +import com.raquo.laminar.api.L.{*, given} +import cz.e_bs.cmi.mdr.pdb.app.components.Icons + +object DukazyKriteria: + type ViewModel = List[DukazKriteria.ViewModel] + def apply($m: Signal[ViewModel]): HtmlElement = + div( + child.maybe <-- $m.map(m => + if (m.isEmpty) then Some(prazdnyDukaz) else None + ), + children <-- $m.map(_.zipWithIndex).split(_._2)((_, _, $s) => + DukazKriteria($s.map(_._1)) + ) + ) + + private def prazdnyDukaz: HtmlElement = + button( + tpe := "button", + cls := "relative block w-full border-2 border-gray-300 border-dashed rounded-lg p-12 text-center hover:border-gray-400 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500", + Icons.outline + .`document-add`(12) + .amend(svg.cls := "mx-auto text-gray-400"), + span( + cls := "mt-2 block text-sm font-medium text-gray-900", + "Přidat důkaz" + ) + ) diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriterii.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriterii.scala deleted file mode 100644 index a20bbcd..0000000 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/pages/detail/components/DukazyKriterii.scala +++ /dev/null @@ -1,29 +0,0 @@ -package cz.e_bs.cmi.mdr.pdb.app.pages.detail.components - -import com.raquo.laminar.api.L.{*, given} -import cz.e_bs.cmi.mdr.pdb.app.components.Icons - -object DukazyKriterii: - type ViewModel = List[DukazKriteria.ViewModel] - def apply($m: Signal[ViewModel]): HtmlElement = - div( - child.maybe <-- $m.map(m => - if (m.isEmpty) then Some(prazdnyDukaz) else None - ), - children <-- $m.map(_.zipWithIndex).split(_._2)((_, _, $s) => - DukazKriteria($s.map(_._1)) - ) - ) - - private def prazdnyDukaz: HtmlElement = - button( - tpe := "button", - cls := "relative block w-full border-2 border-gray-300 border-dashed rounded-lg p-12 text-center hover:border-gray-400 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500", - Icons.outline - .`document-add`(12) - .amend(svg.cls := "mx-auto text-gray-400"), - span( - cls := "mt-2 block text-sm font-medium text-gray-900", - "Přidat důkaz" - ) - )