git.iko.soy/kchnrave.github.io
on master help sign in
elm-ui
commit52fcbe12e88a7d1affb5cb712c6144eb15316b6b authoriko <mail@iko.soy> dateSun 7 Dec 2025, 11:07 (1 year ago) parentb52bc1e
8 files changed+22−71
app/ErrorPage.elm+2−13 app/Route/Blog/Slug_.elm+2−1 app/Route/Greet.elm+2−10 app/Route/Hello.elm+2−2 app/Route/Index.elm+5−10 app/Shared.elm+5−32 app/View.elm+3−3 elm.json+1
app/ErrorPage.elm+2−13
@@ -1,8 +1,8 @@
11module ErrorPage exposing (ErrorPage(..), Model, Msg, head, init, internalError, notFound, statusCode, update, view)
22
33import Effect exposing (Effect)
4+import Element exposing (..)
45import Head
5−import Html exposing (Html)
66import View exposing (View)
77
88
@@ -52,18 +52,7 @@ internalError =
5252view : ErrorPage -> Model -> View Msg
5353view error model =
5454 { body =
55− [ Html.div []
56− [ Html.p []
57− [ Html.text <|
58− case error of
59− NotFound ->
60− "Page not found. Maybe try another URL?"
61−
62− InternalError string ->
63− "Something went wrong.\n" ++ string
64− ]
65− ]
66− ]
55+ text "oh no"
6756 , title =
6857 case error of
6958 NotFound ->
app/Route/Blog/Slug_.elm+2−1
@@ -1,6 +1,7 @@
11module Route.Blog.Slug_ exposing (ActionData, Data, Model, Msg, route)
22
33import BackendTask exposing (BackendTask)
4+import Element exposing (..)
45import FatalError exposing (FatalError)
56import Head
67import Head.Seo as Seo
@@ -82,5 +83,5 @@ view :
8283 -> View (PagesMsg Msg)
8384view app sharedModel =
8485 { title = "Placeholder - Blog.Slug_"
85− , body = [ Html.text "You're on the page Blog.Slug_" ]
86+ , body = text "You're on the page Blog.Slug_"
8687 }
app/Route/Greet.elm+2−10
@@ -2,11 +2,11 @@ module Route.Greet exposing (ActionData, Data, Model, Msg, route)
22
33import BackendTask exposing (BackendTask)
44import BackendTask.Http
5+import Element exposing (..)
56import ErrorPage exposing (ErrorPage)
67import FatalError exposing (FatalError)
78import Head
89import Head.Seo as Seo
9−import Html
1010import Json.Decode as Decode
1111import Pages.Url
1212import PagesMsg exposing (PagesMsg)
@@ -95,13 +95,5 @@ view :
9595view app shared =
9696 { title = "Greetings"
9797 , body =
98− [ Html.div []
99− [ case app.data.name of
100− Just name ->
101− Html.text ("Hello " ++ name)
102−
103− Nothing ->
104− Html.text "Hello, I didn't find your name"
105− ]
106− ]
98+ text "Greet"
10799 }
app/Route/Hello.elm+2−2
@@ -3,10 +3,10 @@ module Route.Hello exposing (ActionData, Data, Model, Msg(..), RouteParams, acti
33import BackendTask exposing (BackendTask)
44import BackendTask.Http
55import Effect exposing (Effect)
6+import Element exposing (..)
67import ErrorPage exposing (ErrorPage)
78import FatalError exposing (FatalError)
89import Head
9−import Html
1010import Json.Decode as Decode
1111import PagesMsg exposing (PagesMsg)
1212import RouteBuilder exposing (App)
@@ -108,7 +108,7 @@ view :
108108 -> Model
109109 -> View (PagesMsg Msg)
110110view app shared model =
111− { title = "Hello", body = [ Html.text (String.fromInt app.data.stars) ] }
111+ { title = "Hello", body = text "Hello" }
112112
113113
114114action :
app/Route/Index.elm+5−10
@@ -1,16 +1,16 @@
11module Route.Index exposing (ActionData, Data, Model, Msg, route)
22
33import BackendTask exposing (BackendTask)
4+import Element exposing (..)
45import FatalError exposing (FatalError)
56import Head
67import Head.Seo as Seo
7−import Html
88import Pages.Url
99import PagesMsg exposing (PagesMsg)
10−import UrlPath
1110import Route
1211import RouteBuilder exposing (App, StatelessRoute)
1312import Shared
13+import UrlPath
1414import View exposing (View)
1515
1616
@@ -76,13 +76,8 @@ view :
7676 -> Shared.Model
7777 -> View (PagesMsg Msg)
7878view app shared =
79− { title = "elm-pages is running"
79+ { title = "Kitchen Rave"
8080 , body =
81− [ Html.h1 [] [ Html.text "elm-pages is up and running!" ]
82− , Html.p []
83− [ Html.text <| "The message is: " ++ app.data.message
84− ]
85− , Route.Blog__Slug_ { slug = "hello" }
86− |> Route.link [] [ Html.text "My blog post" ]
87− ]
81+ el [ centerX, centerY ]
82+ (text "Kitchen Rave")
8883 }
app/Shared.elm+5−32
@@ -2,14 +2,14 @@ module Shared exposing (Data, Model, Msg(..), SharedMsg(..), template)
22
33import BackendTask exposing (BackendTask)
44import Effect exposing (Effect)
5+import Element exposing (..)
56import FatalError exposing (FatalError)
67import Html exposing (Html)
7−import Html.Events
88import Pages.Flags
99import Pages.PageUrl exposing (PageUrl)
10−import UrlPath exposing (UrlPath)
1110import Route exposing (Route)
1211import SharedTemplate exposing (SharedTemplate)
12+import UrlPath exposing (UrlPath)
1313import View exposing (View)
1414
1515
@@ -26,7 +26,6 @@ template =
2626
2727type Msg
2828 = SharedMsg SharedMsg
29− | MenuClicked
3029
3130
3231type alias Data =
@@ -38,8 +37,7 @@ type SharedMsg
3837
3938
4039type alias Model =
41− { showMenu : Bool
42− }
40+ {}
4341
4442
4543init :
@@ -56,7 +54,7 @@ init :
5654 }
5755 -> ( Model, Effect Msg )
5856init flags maybePagePath =
59− ( { showMenu = False }
57+ ( {}
6058 , Effect.none
6159 )
6260
@@ -67,9 +65,6 @@ update msg model =
6765 SharedMsg globalMsg ->
6866 ( model, Effect.none )
6967
70− MenuClicked ->
71− ( { model | showMenu = not model.showMenu }, Effect.none )
72−
7368
7469subscriptions : UrlPath -> Model -> Sub Msg
7570subscriptions _ _ =
@@ -93,28 +88,6 @@ view :
9388 -> { body : List (Html msg), title : String }
9489view sharedData page model toMsg pageView =
9590 { body =
96− [ Html.nav []
97− [ Html.button
98− [ Html.Events.onClick MenuClicked ]
99− [ Html.text
100− (if model.showMenu then
101− "Close Menu"
102−
103− else
104− "Open Menu"
105− )
106− ]
107− , if model.showMenu then
108− Html.ul []
109− [ Html.li [] [ Html.text "Menu item 1" ]
110− , Html.li [] [ Html.text "Menu item 2" ]
111− ]
112−
113− else
114− Html.text ""
115− ]
116− |> Html.map toMsg
117− , Html.main_ [] pageView.body
118− ]
91+ [ layout [] pageView.body ]
11992 , title = pageView.title
12093 }
app/View.elm+3−3
@@ -6,13 +6,13 @@ module View exposing (View, map)
66
77-}
88
9−import Html exposing (Html)
9+import Element exposing (Element)
1010
1111
1212{-| -}
1313type alias View msg =
1414 { title : String
15− , body : List (Html msg)
15+ , body : Element msg
1616 }
1717
1818
@@ -20,5 +20,5 @@ type alias View msg =
2020map : (msg1 -> msg2) -> View msg1 -> View msg2
2121map fn doc =
2222 { title = doc.title
23− , body = List.map (Html.map fn) doc.body
23+ , body = Element.map fn doc.body
2424 }
elm.json+1
@@ -32,6 +32,7 @@
3232 "jluckyiv/elm-utc-date-strings": "1.0.0",
3333 "justinmimbs/date": "4.1.0",
3434 "mdgriffith/elm-codegen": "5.2.0",
35+ "mdgriffith/elm-ui": "1.1.8",
3536 "miniBill/elm-codec": "2.2.0",
3637 "noahzgordon/elm-color-extra": "1.0.2",
3738 "robinheghan/fnv1a": "1.0.0",