Button.elm 584 B

123456789101112131415161718192021222324252627
  1. module Components.Button exposing (make, view)
  2. import Html exposing (Html)
  3. import Html.Attributes exposing (class)
  4. import Html.Events exposing (onClick)
  5. type alias ButtonConfig msg =
  6. { label : String
  7. , onClick : msg
  8. }
  9. make : String -> msg -> ButtonConfig msg
  10. make label onClick =
  11. { label = label
  12. , onClick = onClick
  13. }
  14. view : ButtonConfig msg -> Html msg
  15. view cfg =
  16. Html.button
  17. [ class "bg-slate-900 rounded text-white p-2 shadow disabled:opacity-50 hover:bg-slate-700"
  18. , onClick cfg.onClick
  19. ]
  20. [ Html.text cfg.label ]