From a462c01f88cc4720e8fbee004198a6549c6f655b Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 7 Dec 2024 15:43:26 -0600 Subject: [PATCH] feat: removed boilerplate --- frontend/src/Auth.elm | 30 +++++ frontend/src/Config/Identity.elm | 68 +---------- frontend/src/Effect.elm | 194 ++++++++++++++++++++++++++++++ frontend/src/Layouts/Navbar.elm | 28 +++-- frontend/src/Pages/Arguments.elm | 44 +------ frontend/src/Pages/Contact.elm | 27 +---- frontend/src/Pages/Cucklist.elm | 44 +------ frontend/src/Pages/Donate.elm | 42 +------ frontend/src/Pages/Gibberish.elm | 44 +------ frontend/src/Pages/Home_.elm | 2 +- frontend/src/Pages/Hyperblog.elm | 2 +- frontend/src/Pages/Interviews.elm | 44 +------ frontend/src/Pages/Nutridex.elm | 44 +------ frontend/src/Pages/Services.elm | 42 +------ 14 files changed, 277 insertions(+), 378 deletions(-) create mode 100755 frontend/src/Auth.elm create mode 100644 frontend/src/Effect.elm diff --git a/frontend/src/Auth.elm b/frontend/src/Auth.elm new file mode 100755 index 0000000..5794240 --- /dev/null +++ b/frontend/src/Auth.elm @@ -0,0 +1,30 @@ +module Auth exposing (User, onPageLoad, viewLoadingPage) + +import Auth.Action +import Dict +import Route exposing (Route) +import Route.Path +import Shared +import View exposing (View) + + +type alias User = + {} + + +{-| Called before an auth-only page is loaded. +-} +onPageLoad : Shared.Model -> Route () -> Auth.Action.Action User +onPageLoad shared route = + Auth.Action.pushRoute + { path = Route.Path.NotFound_ + , query = Dict.empty + , hash = Nothing + } + + +{-| Renders whenever `Auth.Action.showLoadingPage` is returned from `onPageLoad`. +-} +viewLoadingPage : Shared.Model -> Route () -> View Never +viewLoadingPage shared route = + View.fromString "Loading..." diff --git a/frontend/src/Config/Identity.elm b/frontend/src/Config/Identity.elm index 73fe064..0e60ff9 100755 --- a/frontend/src/Config/Identity.elm +++ b/frontend/src/Config/Identity.elm @@ -3,10 +3,9 @@ module Config.Identity exposing (..) type alias PageInput = { pageHome : String - , pageRoot : String , pageContact : String , pageDebate : String - , pageDodgers : String + , pageCucks : String , pageGibberish : String , pageHyperBlog : String , pageInterviews : String @@ -18,10 +17,9 @@ type alias PageInput = pageNames : PageInput pageNames = - { pageRoot = "home" - , pageHome = "uRN" + { pageHome = "Home" , pageServices = "services" - , pageDodgers = "cuckList" + , pageCucks = "cuckList" , pageDebate = "arguments" , pageGibberish = "gibberish" , pageHyperBlog = "hyperBlog" @@ -30,63 +28,3 @@ pageNames = , pageContact = "contact" , pageDonate = "donate" } - - -createPageName : String -> String -createPageName pageName = - pageNames.pageHome ++ " :: " ++ pageName - - -rootName : String -rootName = - createPageName pageNames.pageRoot - - -homeName : String -homeName = - createPageName pageNames.pageHome - - -contactName : String -contactName = - createPageName pageNames.pageContact - - -debateName : String -debateName = - createPageName pageNames.pageDebate - - -dodgersName : String -dodgersName = - createPageName pageNames.pageDodgers - - -gibberishName : String -gibberishName = - createPageName pageNames.pageGibberish - - -hyperBlogName : String -hyperBlogName = - createPageName pageNames.pageHyperBlog - - -interviewsName : String -interviewsName = - createPageName pageNames.pageInterviews - - -nutriDexName : String -nutriDexName = - createPageName pageNames.pageNutriDex - - -servicesName : String -servicesName = - createPageName pageNames.pageServices - - -donateName : String -donateName = - createPageName pageNames.pageDonate diff --git a/frontend/src/Effect.elm b/frontend/src/Effect.elm new file mode 100644 index 0000000..996fbcf --- /dev/null +++ b/frontend/src/Effect.elm @@ -0,0 +1,194 @@ +module Effect exposing + ( Effect + , none, batch + , sendCmd, sendMsg + , pushRoute, replaceRoute, loadExternalUrl + , map, toCmd + ) + +{-| + +@docs Effect +@docs none, batch +@docs sendCmd, sendMsg +@docs pushRoute, replaceRoute, loadExternalUrl + +@docs map, toCmd + +-} + +import Browser.Navigation +import Dict exposing (Dict) +import Route exposing (Route) +import Route.Path +import Shared.Model +import Shared.Msg +import Task +import Url exposing (Url) + + +type Effect msg + = -- BASICS + None + | Batch (List (Effect msg)) + | SendCmd (Cmd msg) + -- ROUTING + | PushUrl String + | ReplaceUrl String + | LoadExternalUrl String + -- SHARED + | SendSharedMsg Shared.Msg.Msg + + + +-- BASICS + + +{-| Don't send any effect. +-} +none : Effect msg +none = + None + + +{-| Send multiple effects at once. +-} +batch : List (Effect msg) -> Effect msg +batch = + Batch + + +{-| Send a normal `Cmd msg` as an effect, something like `Http.get` or `Random.generate`. +-} +sendCmd : Cmd msg -> Effect msg +sendCmd = + SendCmd + + +{-| Send a message as an effect. Useful when emitting events from UI components. +-} +sendMsg : msg -> Effect msg +sendMsg msg = + Task.succeed msg + |> Task.perform identity + |> SendCmd + + + +-- ROUTING + + +{-| Set the new route, and make the back button go back to the current route. +-} +pushRoute : + { path : Route.Path.Path + , query : Dict String String + , hash : Maybe String + } + -> Effect msg +pushRoute route = + PushUrl (Route.toString route) + +{-| Set given path as route (without any query params or hash), and make the back button go back to the current route. +-} +pushPath : + Route.Path.Path + -> Effect msg +pushPath path = + PushUrl (Route.toString { path = path, query = Dict.empty, hash = Nothing }) + +{-| Set the new route, but replace the previous one, so clicking the back +button **won't** go back to the previous route. +-} +replaceRoute : + { path : Route.Path.Path + , query : Dict String String + , hash : Maybe String + } + -> Effect msg +replaceRoute route = + ReplaceUrl (Route.toString route) + +{-| Set given path as route (without any query params or hash), but replace the previous route, +so clicking the back button **won't** go back to the previous route +-} +replacePath : + Route.Path.Path + -> Effect msg +replacePath path = + ReplaceUrl (Route.toString { path = path, query = Dict.empty, hash = Nothing }) + +{-| Redirect users to a new URL, somewhere external your web application. +-} +loadExternalUrl : String -> Effect msg +loadExternalUrl = + LoadExternalUrl + + + +-- INTERNALS + + +{-| Elm Land depends on this function to connect pages and layouts +together into the overall app. +-} +map : (msg1 -> msg2) -> Effect msg1 -> Effect msg2 +map fn effect = + case effect of + None -> + None + + Batch list -> + Batch (List.map (map fn) list) + + SendCmd cmd -> + SendCmd (Cmd.map fn cmd) + + PushUrl url -> + PushUrl url + + ReplaceUrl url -> + ReplaceUrl url + + LoadExternalUrl url -> + LoadExternalUrl url + + SendSharedMsg sharedMsg -> + SendSharedMsg sharedMsg + + +{-| Elm Land depends on this function to perform your effects. +-} +toCmd : + { key : Browser.Navigation.Key + , url : Url + , shared : Shared.Model.Model + , fromSharedMsg : Shared.Msg.Msg -> msg + , batch : List msg -> msg + , toCmd : msg -> Cmd msg + } + -> Effect msg + -> Cmd msg +toCmd options effect = + case effect of + None -> + Cmd.none + + Batch list -> + Cmd.batch (List.map (toCmd options) list) + + SendCmd cmd -> + cmd + + PushUrl url -> + Browser.Navigation.pushUrl options.key url + + ReplaceUrl url -> + Browser.Navigation.replaceUrl options.key url + + LoadExternalUrl url -> + Browser.Navigation.load url + + SendSharedMsg sharedMsg -> + Task.succeed sharedMsg + |> Task.perform options.fromSharedMsg diff --git a/frontend/src/Layouts/Navbar.elm b/frontend/src/Layouts/Navbar.elm index 22429a2..b5da566 100755 --- a/frontend/src/Layouts/Navbar.elm +++ b/frontend/src/Layouts/Navbar.elm @@ -88,7 +88,7 @@ view : } -> View contentMsg view { content, model, toContentMsg, props } = - { title = content.title + { title = "uRN :: " ++ content.title , attributes = [ F.family [ spartanFont ] ] , element = row @@ -158,13 +158,13 @@ view { content, model, toContentMsg, props } = , F.size 17 , spacing 8 ] - (buttonMaker pageNames.pageRoot - :: List.map buttonMaker + (homeButtonMaker + :: List.map pagesButtonMaker [ pageNames.pageServices , pageNames.pageHyperBlog , pageNames.pageDebate , pageNames.pageGibberish - , pageNames.pageDodgers + , pageNames.pageCucks , pageNames.pageNutriDex , pageNames.pageInterviews , pageNames.pageDonate @@ -242,10 +242,10 @@ iconList = ] -buttonMaker : String -> Element msg -buttonMaker name = +buttonMaker : String -> String -> Element msg +buttonMaker name url = row - [] + [ spacing 10 ] [ column [ E.width <| px 36 ] [ E.image [ alignLeft @@ -253,14 +253,14 @@ buttonMaker name = , E.width <| px 30 ] { src = "navbar/" ++ String.toLower name ++ ".png" - , description = "" + , description = name ++ " icon" } ] , column [ alignBottom ] [ link [] - { url = localhostUrl ++ String.toLower name + { url = url , label = el [ mouseOver [ F.color colourTheme.textLightOrange ] @@ -272,3 +272,13 @@ buttonMaker name = } ] ] + + +homeButtonMaker : Element msg +homeButtonMaker = + buttonMaker "home" localhostUrl + + +pagesButtonMaker : String -> Element msg +pagesButtonMaker name = + buttonMaker name (localhostUrl ++ String.toLower name) diff --git a/frontend/src/Pages/Arguments.elm b/frontend/src/Pages/Arguments.elm index 4d3a8af..c4a720c 100755 --- a/frontend/src/Pages/Arguments.elm +++ b/frontend/src/Pages/Arguments.elm @@ -88,7 +88,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -143,7 +143,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = debateName + { title = pageNames.pageDebate , attributes = [] , element = debateContainer shared.device } @@ -158,28 +158,7 @@ debateList : Device -> Element msg debateList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -190,25 +169,10 @@ debateList device = ( Phone, Portrait ) -> List.map argumentMakerMobile - ( Phone, Landscape ) -> - List.map argumentMakerMobile - ( Tablet, Portrait ) -> List.map argumentMakerMobile - ( Tablet, Landscape ) -> - List.map argumentMakerMobile - - ( Desktop, Portrait ) -> - List.map argumentMaker - - ( Desktop, Landscape ) -> - List.map argumentMaker - - ( BigDesktop, Portrait ) -> - List.map argumentMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map argumentMaker ) [ argumentApoBCVD diff --git a/frontend/src/Pages/Contact.elm b/frontend/src/Pages/Contact.elm index 4a0ce5a..8248948 100755 --- a/frontend/src/Pages/Contact.elm +++ b/frontend/src/Pages/Contact.elm @@ -35,7 +35,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -87,7 +87,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = contactName + { title = pageNames.pageContact , attributes = [] , element = contactContainer shared.device } @@ -103,27 +103,6 @@ contactList device = column pageListDesktop <| List.concat (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - [ [ instructionMaker ] ] - - ( Phone, Landscape ) -> - [ [ instructionMaker ] ] - - ( Tablet, Portrait ) -> - [ [ instructionMaker ] ] - - ( Tablet, Landscape ) -> - [ [ instructionMaker ] ] - - ( Desktop, Portrait ) -> - [ [ instructionMaker ] ] - - ( Desktop, Landscape ) -> - [ [ instructionMaker ] ] - - ( BigDesktop, Portrait ) -> - [ [ instructionMaker ] ] - - ( BigDesktop, Landscape ) -> + _ -> [ [ instructionMaker ] ] ) diff --git a/frontend/src/Pages/Cucklist.elm b/frontend/src/Pages/Cucklist.elm index ebf510a..89812b2 100755 --- a/frontend/src/Pages/Cucklist.elm +++ b/frontend/src/Pages/Cucklist.elm @@ -99,7 +99,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -151,7 +151,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = dodgersName + { title = pageNames.pageCucks , attributes = [] , element = dodgersContainer shared.device } @@ -166,28 +166,7 @@ dodgersList : Device -> Element msg dodgersList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -198,25 +177,10 @@ dodgersList device = ( Phone, Portrait ) -> List.map cuckMakerMobile - ( Phone, Landscape ) -> - List.map cuckMakerMobile - ( Tablet, Portrait ) -> List.map cuckMakerMobile - ( Tablet, Landscape ) -> - List.map cuckMakerMobile - - ( Desktop, Portrait ) -> - List.map cuckMaker - - ( Desktop, Landscape ) -> - List.map cuckMaker - - ( BigDesktop, Portrait ) -> - List.map cuckMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map cuckMaker ) [ cuckAdamSinger diff --git a/frontend/src/Pages/Donate.elm b/frontend/src/Pages/Donate.elm index fc3b010..bef7445 100755 --- a/frontend/src/Pages/Donate.elm +++ b/frontend/src/Pages/Donate.elm @@ -96,7 +96,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = donateName + { title = pageNames.pageDonate , attributes = [] , element = donateContainer shared.device } @@ -111,28 +111,7 @@ donateList : Device -> Element msg donateList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -143,25 +122,10 @@ donateList device = ( Phone, Portrait ) -> List.map donateMakerMobile - ( Phone, Landscape ) -> - List.map donateMakerMobile - ( Tablet, Portrait ) -> List.map donateMakerMobile - ( Tablet, Landscape ) -> - List.map donateMakerMobile - - ( Desktop, Portrait ) -> - List.map donateMaker - - ( Desktop, Landscape ) -> - List.map donateMaker - - ( BigDesktop, Portrait ) -> - List.map donateMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map donateMaker ) [ donateLiberaPay diff --git a/frontend/src/Pages/Gibberish.elm b/frontend/src/Pages/Gibberish.elm index af13482..0b5e5c3 100755 --- a/frontend/src/Pages/Gibberish.elm +++ b/frontend/src/Pages/Gibberish.elm @@ -45,7 +45,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -100,7 +100,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = gibberishName + { title = pageNames.pageGibberish , attributes = [] , element = gibberishContainer shared.device } @@ -115,28 +115,7 @@ gibberishList : Device -> Element msg gibberishList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -147,25 +126,10 @@ gibberishList device = ( Phone, Portrait ) -> List.map gibberishMakerMobile - ( Phone, Landscape ) -> - List.map gibberishMakerMobile - ( Tablet, Portrait ) -> List.map gibberishMakerMobile - ( Tablet, Landscape ) -> - List.map gibberishMakerMobile - - ( Desktop, Portrait ) -> - List.map gibberishMaker - - ( Desktop, Landscape ) -> - List.map gibberishMaker - - ( BigDesktop, Portrait ) -> - List.map gibberishMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map gibberishMaker ) [ epistemologyGibberish diff --git a/frontend/src/Pages/Home_.elm b/frontend/src/Pages/Home_.elm index 7387073..84c5b75 100755 --- a/frontend/src/Pages/Home_.elm +++ b/frontend/src/Pages/Home_.elm @@ -85,7 +85,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = "" + { title = pageNames.pageHome , attributes = [] , element = homeContainer shared.device } diff --git a/frontend/src/Pages/Hyperblog.elm b/frontend/src/Pages/Hyperblog.elm index 814b55c..5d80dd7 100755 --- a/frontend/src/Pages/Hyperblog.elm +++ b/frontend/src/Pages/Hyperblog.elm @@ -82,7 +82,7 @@ subscriptions model = view : Model -> View Msg view model = - { title = hyperBlogName + { title = pageNames.pageHyperBlog , attributes = [] , element = none } diff --git a/frontend/src/Pages/Interviews.elm b/frontend/src/Pages/Interviews.elm index eb739cf..ee10b85 100755 --- a/frontend/src/Pages/Interviews.elm +++ b/frontend/src/Pages/Interviews.elm @@ -44,7 +44,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -96,7 +96,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = interviewsName + { title = pageNames.pageInterviews , attributes = [] , element = interviewContainer shared.device } @@ -111,28 +111,7 @@ interviewList : Device -> Element msg interviewList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -143,25 +122,10 @@ interviewList device = ( Phone, Portrait ) -> List.map interviewMakerMobile - ( Phone, Landscape ) -> - List.map interviewMakerMobile - ( Tablet, Portrait ) -> List.map interviewMakerMobile - ( Tablet, Landscape ) -> - List.map interviewMakerMobile - - ( Desktop, Portrait ) -> - List.map interviewMaker - - ( Desktop, Landscape ) -> - List.map interviewMaker - - ( BigDesktop, Portrait ) -> - List.map interviewMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map interviewMaker ) [ sigmaNutritionRadio diff --git a/frontend/src/Pages/Nutridex.elm b/frontend/src/Pages/Nutridex.elm index 849e78c..1ab7c96 100755 --- a/frontend/src/Pages/Nutridex.elm +++ b/frontend/src/Pages/Nutridex.elm @@ -39,7 +39,7 @@ page shared route = toLayout : Model -> Layouts.Layout Msg toLayout model = - Layouts.Navbar { } + Layouts.Navbar {} @@ -91,7 +91,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = nutriDexName + { title = pageNames.pageNutriDex , attributes = [] , element = nutriDexContainer shared.device } @@ -106,28 +106,7 @@ nutriDexList : Device -> Element msg nutriDexList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -136,25 +115,10 @@ nutriDexList device = ( Phone, Portrait ) -> List.map nutriDexMakerMobile - ( Phone, Landscape ) -> - List.map nutriDexMakerMobile - ( Tablet, Portrait ) -> List.map nutriDexMakerMobile - ( Tablet, Landscape ) -> - List.map nutriDexMakerMobile - - ( Desktop, Portrait ) -> - List.map nutriDexMaker - - ( Desktop, Landscape ) -> - List.map nutriDexMaker - - ( BigDesktop, Portrait ) -> - List.map nutriDexMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map nutriDexMaker ) [ productNutriDex ] diff --git a/frontend/src/Pages/Services.elm b/frontend/src/Pages/Services.elm index 60974ec..1954c9d 100755 --- a/frontend/src/Pages/Services.elm +++ b/frontend/src/Pages/Services.elm @@ -89,7 +89,7 @@ subscriptions model = view : Shared.Model -> Model -> View Msg view shared model = - { title = servicesName + { title = pageNames.pageServices , attributes = [] , element = servicesContainer shared.device } @@ -104,28 +104,7 @@ servicesList : Device -> Element msg servicesList device = column (case ( device.class, device.orientation ) of - ( Phone, Portrait ) -> - pageListDesktop - - ( Phone, Landscape ) -> - pageListDesktop - - ( Tablet, Portrait ) -> - pageListDesktop - - ( Tablet, Landscape ) -> - pageListDesktop - - ( Desktop, Portrait ) -> - pageListDesktop - - ( Desktop, Landscape ) -> - pageListDesktop - - ( BigDesktop, Portrait ) -> - pageListDesktop - - ( BigDesktop, Landscape ) -> + _ -> pageListDesktop ) <| @@ -136,25 +115,10 @@ servicesList device = ( Phone, Portrait ) -> List.map serviceMakerMobile - ( Phone, Landscape ) -> - List.map serviceMakerMobile - ( Tablet, Portrait ) -> List.map serviceMakerMobile - ( Tablet, Landscape ) -> - List.map serviceMakerMobile - - ( Desktop, Portrait ) -> - List.map serviceMaker - - ( Desktop, Landscape ) -> - List.map serviceMaker - - ( BigDesktop, Portrait ) -> - List.map serviceMaker - - ( BigDesktop, Landscape ) -> + _ -> List.map serviceMaker ) [ servicesDebateAnalysis