chore: push for isaac

This commit is contained in:
Nick 2024-11-25 18:50:12 -06:00
parent a5151ef112
commit 45ca7a9718
62 changed files with 385 additions and 55 deletions

View file

@ -64,6 +64,7 @@ import Html.Attributes as H exposing (style, title, wrap)
import Layouts
import List.Extra as L exposing (..)
import Page exposing (Page)
import Ports
import Route exposing (Route)
import Shared
import View exposing (View)
@ -75,7 +76,7 @@ page shared route =
{ init = init
, update = update
, subscriptions = subscriptions
, view = view
, view = view shared
}
|> Page.withLayout toLayout
@ -90,12 +91,12 @@ toLayout model =
type alias Model =
{ areArgsExpanded : List Bool }
{ argHeights : List Int }
init : () -> ( Model, Effect Msg )
init () =
( { areArgsExpanded = List.repeat (List.length argumentList) False }
( { argHeights = List.repeat (List.length argumentList) 30 }
, Effect.none
)
@ -112,13 +113,13 @@ update : Msg -> Model -> ( Model, Effect Msg )
update msg model =
case msg of
ToggleExpandArg index ->
( case getAt index model.areArgsExpanded of
( case getAt index model.argHeights of
Nothing ->
model
Just isExpanded ->
{ model | areArgsExpanded = setAt index (not isExpanded) model.areArgsExpanded }
, Effect.none
Just elHeight ->
{ model | argHeights = setAt index elHeight model.argHeights }
, Effect.sendCmd <| Ports.getArgHeight ()
)
@ -135,16 +136,21 @@ subscriptions model =
-- VIEW
view : Model -> View Msg
view model =
view : Shared.Model -> Model -> View Msg
view shared model =
{ title = debateName
, attributes = []
, element = debateContainer model
, element = debateContainer shared model
}
debateContainer : Model -> Element Msg
debateContainer model =
debateContainer : Shared.Model -> Model -> Element Msg
debateContainer shared model =
let
a : Device
a =
shared.device
in
topLevelContainer <| debateList model
@ -153,11 +159,11 @@ debateList model =
column
pageList
<|
List.map2 (argumentMaker ToggleExpandArg model.areArgsExpanded)
List.map2 (argumentMaker ToggleExpandArg model.argHeights)
argumentList
<|
List.range 0 <|
List.length model.areArgsExpanded
List.length model.argHeights
argumentList : List Argument