View.elm 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. module View exposing (..)
  2. import Html exposing ( Html
  3. , button
  4. , div
  5. , h1
  6. , h2
  7. , hr
  8. , li
  9. , strong
  10. , text
  11. , ul
  12. )
  13. import Html.Events exposing (onClick)
  14. import Model exposing (Model)
  15. import Msg exposing (..)
  16. --TODO: Remove the boilerplate example event and stat.
  17. -- Wire up the proper +/- event to each ability score.
  18. view : Model -> Html Msg
  19. view model =
  20. div []
  21. [ button [ onClick Increment ] [ text "+" ]
  22. , div [] [ text (model.name ++ ":" ++ String.fromInt model.val) ]
  23. , button [ onClick Decrement ] [ text "-" ]
  24. , hr [] []
  25. , h1 [] [ text "Character Sheet"]
  26. , strong [] [ text model.character.name ]
  27. , div []
  28. [ h2 [] [text "Stats Misc 1"]
  29. , div [] [ text ("Class:" ++ "__") ]
  30. , div [] [ text ("Level:" ++ "__") ]
  31. , div [] [ text ("Race:" ++ "__") ]
  32. , div [] [ text ("Alignment:" ++ "__") ]
  33. , div [] [ text ("Player:" ++ "__") ]
  34. , div [] [ text ("Exp Points:" ++ "__") ]
  35. , div [] [ text ("Faction:" ++ "__") ]
  36. ]
  37. , div []
  38. [ h2 [] [text "Stats Misc 2"]
  39. , div [] [text ("PRO:" ++ "__") ]
  40. , div [] [text ("SPD:" ++ "__") ]
  41. , div [] [text ("INI:" ++ "__") ]
  42. , div [] [text ("AC:" ++ "__") ]
  43. , div [] [text ("HP:" ++ "cur" ++ "/MAX (tempMAX)" ++ " + temp") ]
  44. , div [] [text ("Hit Dice:" ++ "__") ]
  45. , div [] [text ("Death Saves:" ++ "__") ]
  46. ]
  47. , div []
  48. [ h2 [] [text "Ability Scores"]
  49. , div []
  50. [ button [ onClick IncrementStr ] [ text "+" ]
  51. , div [] [ text ("STR:" ++ String.fromInt model.character.abilities.str) ]
  52. , button [ onClick DecrementStr ] [ text "-" ]
  53. ]
  54. , div []
  55. [ button [ onClick IncrementStr ] [ text "+" ]
  56. , div [] [ text ("DEX:" ++ String.fromInt model.character.abilities.dex) ]
  57. , button [ onClick DecrementStr ] [ text "-" ]
  58. ]
  59. , div []
  60. [ button [ onClick IncrementStr ] [ text "+" ]
  61. , div [] [ text ("CON:" ++ String.fromInt model.character.abilities.con) ]
  62. , button [ onClick DecrementStr ] [ text "-" ]
  63. ]
  64. , div []
  65. [ button [ onClick IncrementStr ] [ text "+" ]
  66. , div [] [ text ("INT:" ++ String.fromInt model.character.abilities.int) ]
  67. , button [ onClick DecrementStr ] [ text "-" ]
  68. ]
  69. , div []
  70. [ button [ onClick IncrementStr ] [ text "+" ]
  71. , div [] [ text ("WIS:" ++ String.fromInt model.character.abilities.wis) ]
  72. , button [ onClick DecrementStr ] [ text "-" ]
  73. ]
  74. , div []
  75. [ button [ onClick IncrementStr ] [ text "+" ]
  76. , div [] [ text ("CHA:" ++ String.fromInt model.character.abilities.cha) ]
  77. , button [ onClick DecrementStr ] [ text "-" ]
  78. ]
  79. ]
  80. , div []
  81. [ h2 [] [text "Passive Checks" ]
  82. , div [] [ul []
  83. [ li [] [text "Perception (WIS)" ]
  84. , li [] [text "Investigation (INT)" ]
  85. , li [] [text "Insight (WIS)" ]
  86. ]
  87. ]
  88. ]
  89. , div []
  90. [ h2 [] [text "Saving Throws" ]
  91. , div [] [ul []
  92. [ li [] [text "STR" ]
  93. , li [] [text "DEX" ]
  94. , li [] [text "CON" ]
  95. , li [] [text "INT" ]
  96. , li [] [text "WIS" ]
  97. , li [] [text "CHA" ]
  98. ]
  99. ]
  100. ]
  101. , div []
  102. [ h2 [] [text "Skills" ]
  103. , div [] [ul []
  104. [ li [] [text "Acrobatics (DEX)" ]
  105. , li [] [text "Animal Hunting (WIS)" ]
  106. , li [] [text "Arcana (INT)" ]
  107. , li [] [text "Athletics (STR)" ]
  108. , li [] [text "Deception (CHA)" ]
  109. , li [] [text "History (INT)" ]
  110. , li [] [text "Insight (WIS)" ]
  111. , li [] [text "Intimidation (CHA)" ]
  112. , li [] [text "Investigation (INT)" ]
  113. , li [] [text "Medicine (WIS)" ]
  114. , li [] [text "Nature (INT)" ]
  115. , li [] [text "Perception (WIS)" ]
  116. , li [] [text "Performance (CHA)" ]
  117. , li [] [text "Persuation (CHA)" ]
  118. , li [] [text "Religion (Int)" ]
  119. , li [] [text "Sleight of Hand (DEX)" ]
  120. , li [] [text "Stealth (DEX)" ]
  121. , li [] [text "Survival (WIS)" ]
  122. ]
  123. ]
  124. ]
  125. , div []
  126. [ h2 [] [text "Equipment" ]
  127. , button [ {-TODO: Add event-} ] [ text "+" ]
  128. , div [] [ul []
  129. [ li [] [text "Frost Skiis" ]
  130. ]
  131. ]
  132. ]
  133. , div []
  134. [ h2 [] [text "Attacks/Spells" ]
  135. , button [ {-TODO: Add event-} ] [ text "+" ]
  136. , div [] [ul []
  137. [ li [] [text "Mistletoe" ]
  138. ]
  139. ]
  140. ]
  141. , div []
  142. [ h2 [] [text "Feats" ]
  143. , button [ {-TODO: Add event-} ] [ text "+" ]
  144. , div [] [ul []
  145. [ li [] [text "Slippery Slope" ]
  146. , li [] [text "Trap Reindeer" ]
  147. , li [] [text "Find Thin Ice" ]
  148. ]
  149. ]
  150. ]
  151. , div []
  152. [ h2 [] [text "Languages" ]
  153. , button [ {-TODO: Add event-} ] [ text "+" ]
  154. , div [] [ul []
  155. [ li [] [text "Oevdask" ]
  156. , li [] [text "Suomi" ]
  157. ]
  158. ]
  159. ]
  160. , div []
  161. [ h2 [] [text "Contacts" ]
  162. , div [] [text "Allies, Enemies, Persons of Interest"]
  163. , button [ {-TODO: Add event-} ] [ text "+" ]
  164. , div [] [ul []
  165. [ li [] [text "Ullur" ]
  166. ]
  167. ]
  168. ]
  169. ]