From 41236804fa4ee77c594e9fd8c7c5b899bc406dfe Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Mon, 29 Jun 2020 16:57:33 +0200 Subject: [PATCH 01/21] Added Logo and make own header and footer --- index.html | 25 +------- out/main.js | 56 +++++++++++++---- res/P&P Manager Logo 512x512px noBG.png | Bin 0 -> 102495 bytes res/P&P Manager Logo Version 1 512x512px.png | Bin 0 -> 88863 bytes res/Stysheet.css | 61 +++++++++++++++++++ src/FightingTool.elm | 23 ++++--- src/Main.elm | 3 +- 7 files changed, 125 insertions(+), 43 deletions(-) create mode 100644 res/P&P Manager Logo 512x512px noBG.png create mode 100644 res/P&P Manager Logo Version 1 512x512px.png create mode 100644 res/Stysheet.css diff --git a/index.html b/index.html index 8fdf142..1a4b4e9 100644 --- a/index.html +++ b/index.html @@ -2,34 +2,13 @@ <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="stylesheet" href="src/node_modules/bulma/css/bulma.css"> + <!-- <link rel="stylesheet" href="src/node_modules/bulma/css/bulma.css"> --> + <link rel="stylesheet" href="res/Stysheet.css"> <link rel="stylesheet" href="src/node_modules/animate.css/animate.css"> <link rel="stylesheet" href="src/node_modules/bootstrap/dist/css/bootstrap.css" integrity="" crossorigin="anonymous"> <title>Main</title> <script src="out/main.js"></script> <style> - .PlayerIcon { - fill: black; - stroke: red; - stroke-width: 2; - fill-opacity:0; - } - .MonsterIcon { - fill: black; - stroke: red; - stroke-width: 2; - fill-opacity:0; - } - .PlayerIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - } - .MonsterIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - } </style> </head> diff --git a/out/main.js b/out/main.js index f4ba588..983dfc8 100644 --- a/out/main.js +++ b/out/main.js @@ -12499,10 +12499,7 @@ var $author$project$FightingTool$footer = A2( [ A2( $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('content has-text-centered') - ]), + _List_Nil, _List_fromArray( [ A2( @@ -12522,11 +12519,12 @@ var $author$project$FightingTool$footer = A2( ])) ])); var $elm$html$Html$h2 = _VirtualDom_node('h2'); +var $elm$html$Html$header = _VirtualDom_node('header'); var $author$project$FightingTool$header = A2( - $elm$html$Html$section, + $elm$html$Html$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('hero is-primary is-bold animate__animated animate__fadeInDown') + $elm$html$Html$Attributes$class('header is-bold animate__animated animate__fadeInDown') ]), _List_fromArray( [ @@ -12534,15 +12532,45 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('hero-body') + $elm$html$Html$Attributes$class('grid-container') ]), _List_fromArray( [ A2( + $elm$html$Html$figure, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('image animate__animated animate__rollIn') + ]), + _List_fromArray( + [ + A2( + $elm$svg$Svg$svg, + _List_fromArray( + [ + $elm$svg$Svg$Attributes$width('100%'), + A2($elm$html$Html$Attributes$style, 'margin-top', '-18%'), + A2($elm$html$Html$Attributes$style, 'margin-left', '10%') + ]), + _List_fromArray( + [ + A2( + $elm$svg$Svg$image, + _List_fromArray( + [ + $elm$svg$Svg$Attributes$width('100%'), + $elm$svg$Svg$Attributes$height('100%'), + $elm$svg$Svg$Attributes$title('Logo'), + $elm$svg$Svg$Attributes$xlinkHref('res/P&P Manager Logo 512x512px noBG.png') + ]), + _List_Nil) + ])) + ])), + A2( $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('container') + $elm$html$Html$Attributes$class('item1') ]), _List_fromArray( [ @@ -12550,7 +12578,9 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$h1, _List_fromArray( [ - $elm$html$Html$Attributes$class('title') + $elm$html$Html$Attributes$class('title'), + A2($elm$html$Html$Attributes$style, 'margin-left', '2%'), + A2($elm$html$Html$Attributes$style, 'margin-top', '4px') ]), _List_fromArray( [ @@ -12560,7 +12590,8 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$h2, _List_fromArray( [ - $elm$html$Html$Attributes$class('subtitle') + $elm$html$Html$Attributes$class('subtitle'), + A2($elm$html$Html$Attributes$style, 'margin-left', '2%') ]), _List_fromArray( [ @@ -12883,7 +12914,10 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$view = F2( var $author$project$Main$view = function (model) { return A2( $elm$html$Html$div, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('body') + ]), _List_fromArray( [ $author$project$FightingTool$header, diff --git a/res/P&P Manager Logo 512x512px noBG.png b/res/P&P Manager Logo 512x512px noBG.png new file mode 100644 index 0000000000000000000000000000000000000000..3e806c3762c196293e795cbfa62079b6d0e5ee08 GIT binary patch literal 102495 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	`U1OC>rEeA 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 z%0A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 K=d#Wzp$PyIfyvPT literal 0 HcmV?d00001 diff --git a/res/P&P Manager Logo Version 1 512x512px.png b/res/P&P Manager Logo Version 1 512x512px.png new file mode 100644 index 0000000000000000000000000000000000000000..c2061ec51d54766d9a353311ff102de6e0e13460 GIT binary patch literal 88863 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ΜbZ0 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 literal 0 HcmV?d00001 diff --git a/res/Stysheet.css b/res/Stysheet.css new file mode 100644 index 0000000..1672313 --- /dev/null +++ b/res/Stysheet.css @@ -0,0 +1,61 @@ +.header { + background-image: repeating-linear-gradient(to right bottom, #b87333 , #ce8a4b , #b87333 40% ); + color: white; + text-shadow: 3px 3px 6px #4d3319; + text-align: left; + padding: 10px; + margin-bottom: 1%; + } + +.footer { + background-color: #e4be9b; + color: #666666; + text-align: center; + padding: 10px; + margin-top: 3%; +} + +.body { + background-color: #efd8c3; +} + +.grid-container { + display: grid; + grid-gap: 2%; + grid-template-columns: 7% auto; + height: 15%; +} + +.item1 { + border-left: #8c5826; + border-left-style: double; + border-width: 5px; + height: 75%; + width: 120%; +} + +.PlayerIcon { + fill: black; + stroke: red; + stroke-width: 2; + fill-opacity:0; +} + +.MonsterIcon { + fill: black; + stroke: red; + stroke-width: 2; + fill-opacity:0; +} + +.PlayerIcon:hover { + fill: grey-darker; + opacity:0.5; + fill-opacity:0.5; +} + +.MonsterIcon:hover { + fill: grey-darker; + opacity:0.5; + fill-opacity:0.5; +} \ No newline at end of file diff --git a/src/FightingTool.elm b/src/FightingTool.elm index c3e661b..d3257e8 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -3,8 +3,10 @@ module FightingTool exposing (..) --elm Packages import Html exposing (Html, div, text, h1, h2, p) -import Html.Attributes as Attr exposing (class) +import Html.Attributes as Attr exposing (class,style) import Html.Events exposing (onClick) +import Svg +import Svg.Attributes as SvgAtt import Json.Decode import Bootstrap.Modal as Modal import Bootstrap.Button as Button @@ -60,19 +62,24 @@ body model = header : Html Msg header = - Html.section [class "hero is-primary is-bold animate__animated animate__fadeInDown"] - [ div [class "hero-body"] - [ div [class "container"] - [ h1 [class "title"] [text "Pen & Paper Manager"] - , h2 [class "subtitle"] [text "Für \"Das schwarze Auge\" Version 5"] + Html.header [class "header is-bold animate__animated animate__fadeInDown"] + [ div [class "grid-container"] + [ Html.figure [ class "image animate__animated animate__rollIn"] + [ Svg.svg + [ SvgAtt.width "100%", style "margin-top" "-18%", style "margin-left" "10%"] + [ Svg.image [ SvgAtt.width "100%", SvgAtt.height "100%", SvgAtt.title "Logo", SvgAtt.xlinkHref "res/P&P Manager Logo 512x512px noBG.png" ] [] ] + ] + , div [class "item1"] + [ h1 [class "title", style "margin-left" "2%", style "margin-top" "4px"] [text "Pen & Paper Manager"] + , h2 [class "subtitle", style "margin-left" "2%"] [text "Für \"Das schwarze Auge\" Version 5"] + ] ] ] - ] footer : Html Msg footer = Html.footer [class "footer animate__animated animate__fadeInUp"] - [ div [class "content has-text-centered"] + [ div [] [ Html.p [] [ text "Entwickelt von Laura Spilling, Stefan Kranz, Marcus Gagelmann und Alexander Kampf" ] , Html.p [] [ text "Einführung in das World Wide Web" ] ] diff --git a/src/Main.elm b/src/Main.elm index 5707302..88e7af4 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -5,6 +5,7 @@ module Main exposing (main) import Browser import Http import Html exposing (Html, div, text) +import Html.Attributes import Bootstrap.Utilities.Spacing as Spacing exposing (mt3) import Bootstrap.Modal as Modal import Bootstrap.Tab as Tab @@ -163,7 +164,7 @@ update msg model = view : Model -> Html Msg view model = - div [] + div [Html.Attributes.class "body"] [ header , Tab.config TabMsg |> Tab.items -- GitLab From 7159bd2b0c23a54829c1662e9ae1d64d238ffb89 Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Mon, 29 Jun 2020 18:56:22 +0200 Subject: [PATCH 02/21] some color changes in Table and styled attack-button silver --- out/main.js | 78 +++++++++++++++++++++++++++++--------------- res/Stysheet.css | 29 +++++++++++++++- src/FightingTool.elm | 22 ++++++------- 3 files changed, 90 insertions(+), 39 deletions(-) diff --git a/out/main.js b/out/main.js index 983dfc8..06bf7e1 100644 --- a/out/main.js +++ b/out/main.js @@ -8586,9 +8586,6 @@ var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled = function (a) { }; var $rundis$elm_bootstrap$Bootstrap$Button$danger = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Danger)); -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; -var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); var $rundis$elm_bootstrap$Bootstrap$Table$Td = function (a) { return {$: 'Td', a: a}; }; @@ -8669,16 +8666,12 @@ var $author$project$FightingTool$displayCharacters = F2( _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$success, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$ShowAttackModal(i)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$ShowAttackModal(i)) ]), _List_fromArray( [ @@ -8777,6 +8770,12 @@ var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstra var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'}; var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light)); +var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { + return {$: 'RowAttr', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { + return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); +}; var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) { return {$: 'THead', a: a}; }; @@ -8794,8 +8793,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$simpleThead = function (cells) { A2($rundis$elm_bootstrap$Bootstrap$Table$tr, _List_Nil, cells) ])); }; -var $rundis$elm_bootstrap$Bootstrap$Table$Striped = {$: 'Striped'}; -var $rundis$elm_bootstrap$Bootstrap$Table$striped = $rundis$elm_bootstrap$Bootstrap$Table$Striped; var $rundis$elm_bootstrap$Bootstrap$Table$Inversed = {$: 'Inversed'}; var $elm$core$List$any = F2( function (isOkay, list) { @@ -9627,6 +9624,9 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder = function (a) { var $rundis$elm_bootstrap$Bootstrap$Form$Input$placeholder = function (value_) { return $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder(value_); }; +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; +var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( + $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); var $rundis$elm_bootstrap$Bootstrap$Form$Input$text = $rundis$elm_bootstrap$Bootstrap$Form$Input$input($rundis$elm_bootstrap$Bootstrap$Form$Input$Text); var $rundis$elm_bootstrap$Bootstrap$Form$Input$Value = function (a) { return {$: 'Value', a: a}; @@ -11015,7 +11015,7 @@ var $author$project$FightingTool$body = function (model) { $rundis$elm_bootstrap$Bootstrap$Table$table( { options: _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Table$striped, $rundis$elm_bootstrap$Bootstrap$Table$hover]), + [$rundis$elm_bootstrap$Bootstrap$Table$hover]), tbody: A2( $rundis$elm_bootstrap$Bootstrap$Table$tbody, _List_Nil, @@ -11025,7 +11025,11 @@ var $author$project$FightingTool$body = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$tr, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( + $elm$html$Html$Attributes$class('tr')) + ]), _List_fromArray( [ A2( @@ -11062,42 +11066,66 @@ var $author$project$FightingTool$body = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('ID') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('Name') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('RS') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('LeP') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text(' ') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text(' ') @@ -11141,12 +11169,6 @@ var $author$project$Model$PlayerIcon = F2( function (a, b) { return {$: 'PlayerIcon', a: a, b: b}; }); -var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { - return {$: 'RowAttr', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { - return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); -}; var $author$project$DungeonMap$stopBubbling = function (msg) { return A2( $elm$html$Html$Events$stopPropagationOn, @@ -11249,6 +11271,8 @@ var $rundis$elm_bootstrap$Bootstrap$Table$Responsive = function (a) { return {$: 'Responsive', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Table$responsive = $rundis$elm_bootstrap$Bootstrap$Table$Responsive($elm$core$Maybe$Nothing); +var $rundis$elm_bootstrap$Bootstrap$Table$Striped = {$: 'Striped'}; +var $rundis$elm_bootstrap$Bootstrap$Table$striped = $rundis$elm_bootstrap$Bootstrap$Table$Striped; var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { return A2( $elm$html$Html$div, diff --git a/res/Stysheet.css b/res/Stysheet.css index 1672313..c555f69 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -16,7 +16,8 @@ } .body { - background-color: #efd8c3; + background-color: #faf2eb; + max-width: 100%; } .grid-container { @@ -34,6 +35,32 @@ width: 120%; } +.th { + background-color: #e4be9b +} + +.tr { + background-color: #faf2eb; +} + +tr:nth-child(even) {background-color: white;} + +.metalButton { + background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% ); + border-radius: 8px; + padding: 8px 28px; + color: white; + align-self: flex-end; + text-align: center; + text-decoration: none; + text-shadow: 2px 2px 5px #404040; + font-size: 1rem; + } + +.metalButton:hover{ + background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf 10%, #acacac 40% ); +} + .PlayerIcon { fill: black; stroke: red; diff --git a/src/FightingTool.elm b/src/FightingTool.elm index d3257e8..8d6d919 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -29,19 +29,19 @@ body model = div [] [ div [] [ Table.table - { options = [ Table.striped, Table.hover ] + { options = [Table.hover ] , thead = Table.simpleThead - [ Table.th [] [ text "ID" ] - , Table.th [] [ text "Name" ] - , Table.th [] [ text "RS" ] - , Table.th [] [ text "LeP"] - , Table.th [] [ text " "] - , Table.th [] [ text " "] + [ Table.th [Table.cellAttr <| class "th"] [ text "ID" ] + , Table.th [Table.cellAttr <| class "th"] [ text "Name" ] + , Table.th [Table.cellAttr <| class "th"] [ text "RS" ] + , Table.th [Table.cellAttr <| class "th"] [ text "LeP"] + , Table.th [Table.cellAttr <| class "th"] [ text " "] + , Table.th [Table.cellAttr <| class "th"] [ text " "] ] , tbody = Table.tbody [] (displayCharacters model model.enemy ++ - [Table.tr [] + [Table.tr [Table.rowAttr <| class "tr"] [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen [ Button.button [ Button.light @@ -207,9 +207,9 @@ displayCharacters model chars = , Table.td[][text <| String.fromInt armor] , Table.td[][text <| String.fromInt health] , Table.td[] - [ Button.button - [ Button.success - , Button.attrs [onClick <| ShowAttackModal i]] + [ Html.button + [ class "metalButton" + , onClick <| ShowAttackModal i] [ text "Angriff"] ] , Table.td[] -- GitLab From 0084b7cfaaba721f39f3630164c5e37ba5f6ac86 Mon Sep 17 00:00:00 2001 From: Alexander Kampf <alexander.kampf@student.uni-halle.de> Date: Fri, 10 Jul 2020 10:10:05 +0200 Subject: [PATCH 03/21] first step --- out/main.js | 53 ++++++++++++++++++++++++++++++++-------------- src/DungeonMap.elm | 20 +++++++++++++---- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/out/main.js b/out/main.js index 3a422c4..3f4ed1f 100644 --- a/out/main.js +++ b/out/main.js @@ -12951,9 +12951,6 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { ])) ])); }; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Info = {$: 'Info'}; -var $rundis$elm_bootstrap$Bootstrap$Button$info = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Info)); var $author$project$Model$ChangeIcon = function (a) { return {$: 'ChangeIcon', a: a}; }; @@ -14526,6 +14523,8 @@ var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$width = F2( A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width, size, count)); }); var $rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4 = A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col4); +var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col5 = {$: 'Col5'}; +var $rundis$elm_bootstrap$Bootstrap$Grid$Col$xs5 = A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col5); var $author$project$DungeonMap$dungeonMapView = function (model) { return A2( $elm$html$Html$section, @@ -14553,6 +14552,7 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { _List_Nil, _List_fromArray( [ + A2($elm$html$Html$br, _List_Nil, _List_Nil), $rundis$elm_bootstrap$Bootstrap$Form$Textarea$textarea( _List_fromArray( [ @@ -14566,24 +14566,45 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { A2( $rundis$elm_bootstrap$Bootstrap$Grid$col, _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4]), + [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs5]), _List_fromArray( [ - $author$project$DungeonMap$dungeonMap_MonsterList(model) + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$row, + _List_Nil, + _List_fromArray( + [ + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$col, + _List_Nil, + _List_fromArray( + [ + A2($elm$html$Html$br, _List_Nil, _List_Nil), + $author$project$DungeonMap$dungeonMap_MonsterList(model) + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$col, + _List_fromArray( + [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4]), + _List_fromArray( + [ + A2($elm$html$Html$br, _List_Nil, _List_Nil), + A2( + $elm$html$Html$button, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick($author$project$Model$ClearCharacterList) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Clear Map') + ])) + ])) + ])) ])) ])) ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$info, - $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$ClearCharacterList) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Clear Map') - ])), $author$project$DungeonMap$newObjectIconModal(model) ])); }; diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 23bc871..4d1730b 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -31,7 +31,8 @@ dungeonMapView model = [ div [ class "section" ] [ Grid.row [] [ Grid.col [] - [ Textarea.textarea + [ Html.br [] [] + ,Textarea.textarea [ Textarea.rows 1 , Textarea.disabled , Textarea.value model.activeTooltip @@ -39,12 +40,23 @@ dungeonMapView model = , Html.br [] [] , dungeonMap_Svg model ] - , Grid.col [ Col.xs4 ] - [ dungeonMap_MonsterList model + , Grid.col [ Col.xs5 ] + [ Grid.row [] + [ Grid.col [] + [ Html.br [] [] + , dungeonMap_MonsterList model + ] + , Grid.col [ Col.xs4 ] + [ Html.br [] [] + , Html.button + [ class "metalButton" + , onClick ClearCharacterList ] + [ text "Clear Map" ] + ] + ] ] ] ] - , Button.button [ Button.info, Button.onClick ClearCharacterList ] [ text "Clear Map" ] , newObjectIconModal model ] -- GitLab From fd586fe6f9702b5698613c78084b464d9824989a Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Fri, 10 Jul 2020 11:32:54 +0200 Subject: [PATCH 04/21] text isn't cramped to page borders --- out/main.js | 183 +++++++------------------------------------ res/Stysheet.css | 10 +++ src/About.elm | 4 +- src/FightingTool.elm | 2 +- 4 files changed, 40 insertions(+), 159 deletions(-) diff --git a/out/main.js b/out/main.js index c91de7a..4e2c887 100644 --- a/out/main.js +++ b/out/main.js @@ -8537,9 +8537,6 @@ var $author$project$Model$TabMsg = function (a) { }; var $elm$html$Html$a = _VirtualDom_node('a'); var $elm$html$Html$br = _VirtualDom_node('br'); -var $elm$html$Html$div = _VirtualDom_node('div'); -var $elm$html$Html$h1 = _VirtualDom_node('h1'); -var $elm$html$Html$h3 = _VirtualDom_node('h3'); var $elm$json$Json$Encode$string = _Json_wrap; var $elm$html$Html$Attributes$stringProperty = F2( function (key, string) { @@ -8548,6 +8545,10 @@ var $elm$html$Html$Attributes$stringProperty = F2( key, $elm$json$Json$Encode$string(string)); }); +var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); +var $elm$html$Html$div = _VirtualDom_node('div'); +var $elm$html$Html$h1 = _VirtualDom_node('h1'); +var $elm$html$Html$h3 = _VirtualDom_node('h3'); var $elm$html$Html$Attributes$href = function (url) { return A2( $elm$html$Html$Attributes$stringProperty, @@ -8559,12 +8560,18 @@ var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; var $author$project$About$aboutView = A2( $elm$html$Html$div, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('aboutText') + ]), _List_fromArray( [ A2( $elm$html$Html$h1, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('about') + ]), _List_fromArray( [ $elm$html$Html$text('Das schwarze Auge Edition 5') @@ -8581,22 +8588,22 @@ var $author$project$About$aboutView = A2( _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\r\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\r\n '), + $elm$html$Html$text('\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\r\n Der Spielleiter würfelt für alle NSCs.\r\n '), + $elm$html$Html$text('\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\n Der Spielleiter würfelt für alle NSCs.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\r\n ') + $elm$html$Html$text('\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\n ') ])), A2( $elm$html$Html$p, _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\r\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\r\n '), + $elm$html$Html$text('\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\r\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\r\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\r\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\r\n '), + $elm$html$Html$text('\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Die Berechnung übernimmt der Manager vollständig!\r\n ') + $elm$html$Html$text('\n Die Berechnung übernimmt der Manager vollständig!\n ') ])), A2( $elm$html$Html$p, @@ -8674,7 +8681,6 @@ var $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier = F2( }); } }); -var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); var $elm$core$Tuple$second = function (_v0) { var y = _v0.b; return y; @@ -9358,97 +9364,16 @@ var $author$project$FightingTool$displayCharacters = function (chars) { function (i, c) { var _v0 = function () { if (c.$ === 'Enemy') { -<<<<<<< HEAD var n = c.a; var h = c.b; var a = c.d; var p = c.e; return {armor: a, health: h, name: n, pain: p}; -======= - return A2( - $rundis$elm_bootstrap$Bootstrap$Table$tr, - _List_Nil, - _List_fromArray( - [ - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(i + 1)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text(name) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(armor)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(health)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - A2( - $elm$html$Html$button, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('metalButton'), - $elm$html$Html$Events$onClick( - $author$project$Model$ShowAttackModal(i)) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Angriff') - ])) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$danger, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$RemoveEnemy(i)) - ])) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Löschen') - ])) - ])) - ])); ->>>>>>> style } else { var n = c.a; var a = c.b; return {armor: a, health: 0, name: n, pain: ''}; } -<<<<<<< HEAD }(); var name = _v0.name; var health = _v0.health; @@ -9504,16 +9429,12 @@ var $author$project$FightingTool$displayCharacters = function (chars) { _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$success, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$ShowAttackModal(i)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$ShowAttackModal(i)) ]), _List_fromArray( [ @@ -9611,25 +9532,17 @@ var $author$project$FightingTool$displayCharacters = function (chars) { }), $elm$core$Array$toList(chars)); }; -======= - }), - $elm$core$Array$toList(chars)); - }); ->>>>>>> style var $rundis$elm_bootstrap$Bootstrap$Table$Hover = {$: 'Hover'}; var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstrap$Table$Hover; var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'}; var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light)); -<<<<<<< HEAD -======= var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { return {$: 'RowAttr', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); }; ->>>>>>> style var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) { return {$: 'THead', a: a}; }; @@ -9647,11 +9560,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$simpleThead = function (cells) { A2($rundis$elm_bootstrap$Bootstrap$Table$tr, _List_Nil, cells) ])); }; -<<<<<<< HEAD -var $rundis$elm_bootstrap$Bootstrap$Table$Striped = {$: 'Striped'}; -var $rundis$elm_bootstrap$Bootstrap$Table$striped = $rundis$elm_bootstrap$Bootstrap$Table$Striped; -======= ->>>>>>> style var $rundis$elm_bootstrap$Bootstrap$Table$Inversed = {$: 'Inversed'}; var $elm$core$List$any = F2( function (isOkay, list) { @@ -11950,11 +11858,7 @@ var $author$project$FightingTool$body = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) - ]), + _List_Nil, _List_fromArray( [ $elm$html$Html$text('ID') @@ -11964,11 +11868,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( -<<<<<<< HEAD $elm$html$Html$Attributes$colspan(2)) -======= - $elm$html$Html$Attributes$class('th')) ->>>>>>> style ]), _List_fromArray( [ @@ -11976,44 +11876,28 @@ var $author$project$FightingTool$body = function (model) { ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) - ]), + _List_Nil, _List_fromArray( [ $elm$html$Html$text('RS') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) - ]), + _List_Nil, _List_fromArray( [ $elm$html$Html$text('LeP') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) - ]), + _List_Nil, _List_fromArray( [ $elm$html$Html$text(' ') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) - ]), + _List_Nil, _List_fromArray( [ $elm$html$Html$text(' ') @@ -12050,19 +11934,6 @@ var $author$project$Model$AddCharacterIcon = function (a) { var $author$project$Model$MouseDraw = function (a) { return {$: 'MouseDraw', a: a}; }; -<<<<<<< HEAD -var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { - return {$: 'RowAttr', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { - return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); -}; -======= -var $author$project$Model$PlayerIcon = F2( - function (a, b) { - return {$: 'PlayerIcon', a: a, b: b}; - }); ->>>>>>> style var $author$project$DungeonMap$stopBubbling = function (msg) { return A2( $elm$html$Html$Events$stopPropagationOn, diff --git a/res/Stysheet.css b/res/Stysheet.css index c555f69..4bb92b6 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -85,4 +85,14 @@ tr:nth-child(even) {background-color: white;} fill: grey-darker; opacity:0.5; fill-opacity:0.5; +} + +.aboutText { + padding-left: 10%; + padding-right: 10%; +} + +h1.about { + padding-top: 20px; + font-variant: small-caps; } \ No newline at end of file diff --git a/src/About.elm b/src/About.elm index 963c970..0a52bed 100644 --- a/src/About.elm +++ b/src/About.elm @@ -6,8 +6,8 @@ import Html.Attributes as Attr exposing (class) import Model exposing (..) aboutView : Html Msg aboutView = - div[] - [ Html.h1 [] [ text "Das schwarze Auge Edition 5" ] + div[ class "aboutText" ] + [ Html.h1 [ class "about" ] [ text "Das schwarze Auge Edition 5" ] , Html.h3 [] [ text "Übersicht der Kampfesregeln"] , Html.p [] [ text diff --git a/src/FightingTool.elm b/src/FightingTool.elm index a9719d7..f0e5f3b 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -40,7 +40,7 @@ body model = ] , tbody = Table.tbody [] - (displayCharacters model model.enemy ++ + (displayCharacters model.enemy ++ [Table.tr [Table.rowAttr <| class "tr"] [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen [ Button.button -- GitLab From 42e59e692bd84b9d661b933071091b09fcd36fb0 Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Fri, 10 Jul 2020 14:01:37 +0200 Subject: [PATCH 05/21] color theme in modals --- out/main.js | 252 +++++++++++++------------------------------ res/Stysheet.css | 7 +- src/FightingTool.elm | 56 +++++----- src/Main.elm | 2 +- 4 files changed, 109 insertions(+), 208 deletions(-) diff --git a/out/main.js b/out/main.js index cd41a54..f5f38df 100644 --- a/out/main.js +++ b/out/main.js @@ -8581,22 +8581,22 @@ var $author$project$About$aboutView = A2( _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\r\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\r\n '), + $elm$html$Html$text('\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\r\n Der Spielleiter würfelt für alle NSCs.\r\n '), + $elm$html$Html$text('\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\n Der Spielleiter würfelt für alle NSCs.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\r\n ') + $elm$html$Html$text('\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\n ') ])), A2( $elm$html$Html$p, _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\r\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\r\n '), + $elm$html$Html$text('\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\r\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\r\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\r\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\r\n '), + $elm$html$Html$text('\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Die Berechnung übernimmt der Manager vollständig!\r\n ') + $elm$html$Html$text('\n Die Berechnung übernimmt der Manager vollständig!\n ') ])), A2( $elm$html$Html$p, @@ -9358,101 +9358,16 @@ var $author$project$FightingTool$displayCharacters = function (chars) { function (i, c) { var _v0 = function () { if (c.$ === 'Enemy') { -<<<<<<< HEAD - return A2( - $rundis$elm_bootstrap$Bootstrap$Table$tr, - _List_Nil, - _List_fromArray( - [ - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(i + 1)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text(name) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(armor)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text( - $elm$core$String$fromInt(health)) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - A2( - $elm$html$Html$button, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('metalButton'), - $elm$html$Html$Events$onClick( - $author$project$Model$ShowAttackModal(i)) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Angriff') - ])) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Table$td, - _List_Nil, - _List_fromArray( - [ - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$danger, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$RemoveEnemy(i)) - ])) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Löschen') - ])) - ])) - ])); -======= var n = c.a; var h = c.b; var a = c.d; var p = c.e; return {armor: a, health: h, name: n, pain: p}; ->>>>>>> dev } else { var n = c.a; var a = c.b; return {armor: a, health: 0, name: n, pain: ''}; } -<<<<<<< HEAD - }), - $elm$core$Array$toList(chars)); - }); -======= }(); var name = _v0.name; var health = _v0.health; @@ -9508,16 +9423,12 @@ var $author$project$FightingTool$displayCharacters = function (chars) { _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$success, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$ShowAttackModal(i)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$ShowAttackModal(i)) ]), _List_fromArray( [ @@ -9615,21 +9526,17 @@ var $author$project$FightingTool$displayCharacters = function (chars) { }), $elm$core$Array$toList(chars)); }; ->>>>>>> dev var $rundis$elm_bootstrap$Bootstrap$Table$Hover = {$: 'Hover'}; var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstrap$Table$Hover; var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'}; var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light)); -<<<<<<< HEAD var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { return {$: 'RowAttr', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); }; -======= ->>>>>>> dev var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) { return {$: 'THead', a: a}; }; @@ -9647,11 +9554,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$simpleThead = function (cells) { A2($rundis$elm_bootstrap$Bootstrap$Table$tr, _List_Nil, cells) ])); }; -<<<<<<< HEAD -======= -var $rundis$elm_bootstrap$Bootstrap$Table$Striped = {$: 'Striped'}; -var $rundis$elm_bootstrap$Bootstrap$Table$striped = $rundis$elm_bootstrap$Bootstrap$Table$Striped; ->>>>>>> dev var $rundis$elm_bootstrap$Bootstrap$Table$Inversed = {$: 'Inversed'}; var $elm$core$List$any = F2( function (isOkay, list) { @@ -10481,21 +10383,12 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Input$OnInput = function (a) { var $rundis$elm_bootstrap$Bootstrap$Form$Input$onInput = function (toMsg) { return $rundis$elm_bootstrap$Bootstrap$Form$Input$OnInput(toMsg); }; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Dark = {$: 'Dark'}; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Outlined = function (a) { - return {$: 'Outlined', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Button$outlineDark = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Outlined($rundis$elm_bootstrap$Bootstrap$Internal$Button$Dark)); var $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder = function (a) { return {$: 'Placeholder', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Form$Input$placeholder = function (value_) { return $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder(value_); }; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; -var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); var $rundis$elm_bootstrap$Bootstrap$Form$Input$text = $rundis$elm_bootstrap$Bootstrap$Form$Input$input($rundis$elm_bootstrap$Bootstrap$Form$Input$Text); var $rundis$elm_bootstrap$Bootstrap$Form$Input$Value = function (a) { return {$: 'Value', a: a}; @@ -10523,20 +10416,19 @@ var $author$project$FightingTool$viewAttackModal = function (model) { model.showAttackModal, A3( $rundis$elm_bootstrap$Bootstrap$Modal$footer, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('colored-header-footer') + ]), _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - A3($author$project$FightingTool$attack, model, model.characterId, model.damage)) - ])), - $rundis$elm_bootstrap$Bootstrap$Button$success + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + A3($author$project$FightingTool$attack, model, model.characterId, model.damage)) ]), _List_fromArray( [ @@ -10545,7 +10437,10 @@ var $author$project$FightingTool$viewAttackModal = function (model) { ]), A3( $rundis$elm_bootstrap$Bootstrap$Modal$body, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('body') + ]), _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Form$Input$text( @@ -10556,16 +10451,12 @@ var $author$project$FightingTool$viewAttackModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Form$Input$onInput($author$project$Model$ChangeTmpDice) ])), A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$DiceAndSlice(model.tmpdice)) - ])), - $rundis$elm_bootstrap$Bootstrap$Button$outlineDark + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$DiceAndSlice(model.tmpdice)) ]), _List_fromArray( [ @@ -10579,11 +10470,20 @@ var $author$project$FightingTool$viewAttackModal = function (model) { ])) ]), A3( - $rundis$elm_bootstrap$Bootstrap$Modal$h3, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$text('Angriff') + $elm$html$Html$Attributes$class('colored-header-footer') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$h3, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Angriff') + ])) ]), A2( $rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick, @@ -10844,16 +10744,12 @@ var $author$project$FightingTool$customEnemy = function (model) { ])), A2($elm$html$Html$br, _List_Nil, _List_Nil), A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$success, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$AddEnemy(model.tmpEnemy)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$AddEnemy(model.tmpEnemy)) ]), _List_fromArray( [ @@ -10926,16 +10822,12 @@ var $author$project$FightingTool$customHero = function (model) { ])), A2($elm$html$Html$br, _List_Nil, _List_Nil), A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$success, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$AddEnemy(model.tmpHero)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$AddEnemy(model.tmpHero)) ]), _List_fromArray( [ @@ -11818,11 +11710,17 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { model.showCustomEnemy, A3( $rundis$elm_bootstrap$Bootstrap$Modal$footer, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('colored-header-footer') + ]), _List_Nil, A3( $rundis$elm_bootstrap$Bootstrap$Modal$body, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('body') + ]), _List_fromArray( [ A2( @@ -11873,11 +11771,20 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { ])) ]), A3( - $rundis$elm_bootstrap$Bootstrap$Modal$h3, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$text('Charakter hinzufügen') + $elm$html$Html$Attributes$class('colored-header-footer') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$h3, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Charakter hinzufügen') + ])) ]), A2( $rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick, @@ -11964,11 +11871,9 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( -<<<<<<< HEAD + $elm$html$Html$Attributes$colspan(2)), + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( $elm$html$Html$Attributes$class('th')) -======= - $elm$html$Html$Attributes$colspan(2)) ->>>>>>> dev ]), _List_fromArray( [ @@ -12050,19 +11955,6 @@ var $author$project$Model$AddCharacterIcon = function (a) { var $author$project$Model$MouseDraw = function (a) { return {$: 'MouseDraw', a: a}; }; -<<<<<<< HEAD -var $author$project$Model$PlayerIcon = F2( - function (a, b) { - return {$: 'PlayerIcon', a: a, b: b}; - }); -======= -var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { - return {$: 'RowAttr', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { - return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); -}; ->>>>>>> dev var $author$project$DungeonMap$stopBubbling = function (msg) { return A2( $elm$html$Html$Events$stopPropagationOn, @@ -12942,6 +12834,9 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline = {$: 'Inline'}; var $rundis$elm_bootstrap$Bootstrap$Form$Radio$inline = $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline; var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map; var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map; +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; +var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( + $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray( [ A2($elm$html$Html$Attributes$style, 'position', 'absolute'), @@ -14460,7 +14355,7 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('header is-bold animate__animated animate__fadeInDown') + $elm$html$Html$Attributes$class('header animate__animated animate__fadeInDown') ]), _List_fromArray( [ @@ -14845,7 +14740,8 @@ var $author$project$Main$view = function (model) { $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('body') + $elm$html$Html$Attributes$class('body'), + A2($elm$html$Html$Attributes$style, 'height', '100%') ]), _List_fromArray( [ diff --git a/res/Stysheet.css b/res/Stysheet.css index c555f69..3362173 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -20,6 +20,10 @@ max-width: 100%; } +.colored-header-footer{ + background-color: #e4be9b; +} + .grid-container { display: grid; grid-gap: 2%; @@ -32,7 +36,7 @@ border-left-style: double; border-width: 5px; height: 75%; - width: 120%; + width: 100%; } .th { @@ -50,7 +54,6 @@ tr:nth-child(even) {background-color: white;} border-radius: 8px; padding: 8px 28px; color: white; - align-self: flex-end; text-align: center; text-decoration: none; text-shadow: 2px 2px 5px #404040; diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 3317736..426a949 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -32,7 +32,7 @@ body model = { options = [Table.hover ] , thead = Table.simpleThead [ Table.th [Table.cellAttr <| class "th"] [ text "ID" ] - , Table.th [ Table.cellAttr <| Attr.colspan 2 ] [ text "Name" ] + , Table.th [ Table.cellAttr <| Attr.colspan 2 , Table.cellAttr <| class "th"] [ text "Name" ] , Table.th [Table.cellAttr <| class "th"] [ text "RS" ] , Table.th [Table.cellAttr <| class "th"] [ text "LeP"] , Table.th [Table.cellAttr <| class "th"] [ text " "] @@ -40,7 +40,7 @@ body model = ] , tbody = Table.tbody [] - (displayCharacters model model.enemy ++ + (displayCharacters model.enemy ++ [Table.tr [Table.rowAttr <| class "tr"] [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen [ Button.button @@ -62,7 +62,7 @@ body model = header : Html Msg header = - Html.header [class "header is-bold animate__animated animate__fadeInDown"] + Html.header [class "header animate__animated animate__fadeInDown"] [ div [class "grid-container"] [ Html.figure [ class "image animate__animated animate__rollIn"] [ Svg.svg @@ -97,29 +97,29 @@ viewAttackModal model = div [] [ Modal.config (CloseModal AttackModal) |> Modal.hideOnBackdropClick True - |> Modal.h3 [] [ text "Angriff" ] - |> Modal.body [] + |> Modal.header [class "colored-header-footer"] + [ Html.h3 [][text "Angriff"] + ] + |> Modal.body [class "body"] [ Input.text [ Input.value model.dice , Input.placeholder "1W6+0" , Input.onInput ChangeTmpDice ] - , Button.button - [ Button.attrs [onClick (DiceAndSlice model.tmpdice) ] - , Button.outlineDark - ] - [ text "Schaden würfeln" ] + , Html.button + [ class "metalButton" + , onClick (DiceAndSlice model.tmpdice) + ] [ text "Schaden würfeln" ] , Input.number [ insideInput , Input.onInput ChangeDamage ] ] - |> Modal.footer [] - [ Button.button - [ Button.attrs [onClick <| attack model model.characterId model.damage] - , Button.success - ] - [ text "Schaden zufügen" ] + |> Modal.footer [class "colored-header-footer"] + [ Html.button + [ class "metalButton" + , onClick <| attack model model.characterId model.damage + ] [ text "Schaden zufügen" ] ] |> Modal.view model.showAttackModal ] @@ -146,8 +146,10 @@ viewCustomEnemyModal model = in Modal.config (CloseModal CustomEnemy) |> Modal.hideOnBackdropClick True - |> Modal.h3 [] [ text "Charakter hinzufügen" ] - |> Modal.body [] [ + |> Modal.header [class "colored-header-footer"] + [ Html.h3 [][text "Charakter hinzufügen"] + ] + |> Modal.body [ class "body"] [ div [] [ dropdownMenu model , Html.br [] [] @@ -176,7 +178,7 @@ viewCustomEnemyModal model = else p [][] ] ] - |> Modal.footer [] [] + |> Modal.footer [class "colored-header-footer"] [] |> Modal.view model.showCustomEnemy @@ -409,10 +411,10 @@ customEnemy model = , ddArmor ] , Html.br [] [] - , Button.button - [ Button.success - , Button.attrs [ onClick <| AddEnemy model.tmpEnemy ] - ] [ text "Hinzufügen"] + , Html.button + [ class "metalButton" + , onClick <| AddEnemy model.tmpEnemy ] + [ text "Hinzufügen"] ] customHero : Model -> Html Msg @@ -442,8 +444,8 @@ customHero model = UpdateTmp <| Hero name (Maybe.withDefault 0 <| String.toInt a) )] , Html.br [] [] - , Button.button - [ Button.success - , Button.attrs [ onClick <| AddEnemy model.tmpHero ] - ] [ text "Hinzufügen"] + , Html.button + [class "metalButton" + , onClick <| AddEnemy model.tmpHero ] + [text "Hinzufügen"] ] diff --git a/src/Main.elm b/src/Main.elm index 129d7ef..a29b6a3 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -264,7 +264,7 @@ update msg model = view : Model -> Html Msg view model = - div [Html.Attributes.class "body"] + div [Html.Attributes.class "body", Html.Attributes.style "height" "100%"] [ header , Tab.config TabMsg |> Tab.items -- GitLab From da6d60cfd83ebc14c3497f7d4795c310587602a9 Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sat, 11 Jul 2020 15:30:58 +0200 Subject: [PATCH 06/21] footer dynamically at bottom --- out/main.js | 4 ++-- res/Stysheet.css | 12 ++++++++++++ src/FightingTool.elm | 2 +- src/Main.elm | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/out/main.js b/out/main.js index f5f38df..2ad6c97 100644 --- a/out/main.js +++ b/out/main.js @@ -14324,7 +14324,7 @@ var $author$project$FightingTool$footer = A2( $elm$html$Html$footer, _List_fromArray( [ - $elm$html$Html$Attributes$class('footer animate__animated animate__fadeInUp') + $elm$html$Html$Attributes$class('footer animate__animated animate__fadeInUp page-footer') ]), _List_fromArray( [ @@ -14740,7 +14740,7 @@ var $author$project$Main$view = function (model) { $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('body'), + $elm$html$Html$Attributes$class('wrapper'), A2($elm$html$Html$Attributes$style, 'height', '100%') ]), _List_fromArray( diff --git a/res/Stysheet.css b/res/Stysheet.css index 3362173..60d528a 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -1,3 +1,15 @@ +html { + background-color: #faf2eb; +} + +.wrapper { + min-height: 100%; + display: grid; + grid-template-rows: auto 1fr auto; + background-color: #faf2eb; +} + + .header { background-image: repeating-linear-gradient(to right bottom, #b87333 , #ce8a4b , #b87333 40% ); color: white; diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 426a949..02ce822 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -78,7 +78,7 @@ header = footer : Html Msg footer = - Html.footer [class "footer animate__animated animate__fadeInUp"] + Html.footer [class "footer animate__animated animate__fadeInUp page-footer"] [ div [] [ Html.p [] [ text "Entwickelt von Laura Spilling, Stefan Kranz, Marcus Gagelmann und Alexander Kampf" ] , Html.p [] [ text "Einführung in das World Wide Web" ] diff --git a/src/Main.elm b/src/Main.elm index a29b6a3..6fa41c9 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -264,7 +264,7 @@ update msg model = view : Model -> Html Msg view model = - div [Html.Attributes.class "body", Html.Attributes.style "height" "100%"] + div [Html.Attributes.class "wrapper", Html.Attributes.style "height" "100%"] [ header , Tab.config TabMsg |> Tab.items -- GitLab From aa62b09ea04debd51cb1c28f9b12d5b76f68cb2d Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sat, 11 Jul 2020 16:07:36 +0200 Subject: [PATCH 07/21] centered hero --- out/main.js | 34 +++++++++++++++++++++++++--------- res/icons/Hero.svg | 21 +++++++++++---------- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/out/main.js b/out/main.js index fdee078..c8683fc 100644 --- a/out/main.js +++ b/out/main.js @@ -11863,7 +11863,11 @@ var $author$project$FightingTool$body = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('ID') @@ -11873,13 +11877,9 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( -<<<<<<< HEAD $elm$html$Html$Attributes$colspan(2)), $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( $elm$html$Html$Attributes$class('th')) -======= - $elm$html$Html$Attributes$colspan(2)) ->>>>>>> about_style ]), _List_fromArray( [ @@ -11887,28 +11887,44 @@ var $author$project$FightingTool$body = function (model) { ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('RS') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('LeP') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text(' ') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text(' ') diff --git a/res/icons/Hero.svg b/res/icons/Hero.svg index 7feacbf..7b07db5 100644 --- a/res/icons/Hero.svg +++ b/res/icons/Hero.svg @@ -8,7 +8,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" sodipodi:docname="Hero.svg" - inkscape:version="1.0 (6e3e5246a0, 2020-05-07)" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" id="svg8" version="1.1" viewBox="0 0 210 297" @@ -131,16 +131,16 @@ </defs> <sodipodi:namedview inkscape:window-maximized="1" - inkscape:window-y="27" - inkscape:window-x="72" - inkscape:window-height="704" - inkscape:window-width="1294" + inkscape:window-y="0" + inkscape:window-x="0" + inkscape:window-height="994" + inkscape:window-width="1680" showgrid="false" inkscape:document-rotation="0" inkscape:current-layer="layer1" inkscape:document-units="mm" inkscape:cy="562.58602" - inkscape:cx="400" + inkscape:cx="-52.857143" inkscape:zoom="0.35" inkscape:pageshadow="2" inkscape:pageopacity="0.0" @@ -160,7 +160,7 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -169,8 +169,9 @@ inkscape:groupmode="layer" inkscape:label="Ebene 1"> <path - d="M 68.806218,35.482623 A 39.999999,39.999999 0 0 1 28.806076,75.482765 v 69.999865 a 39.999999,39.999999 0 0 1 40.000142,40.00014 h 69.999862 a 39.999999,39.999999 0 0 1 40.00014,-40.00014 V 75.482765 A 39.999999,39.999999 0 0 1 138.80608,35.482623 Z" - style="fill:none;stroke-width:10;opacity:1;stroke:black;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" - id="rect1039" /> + d="M 70.00007,73.499927 A 39.999999,39.999999 0 0 1 29.999928,113.50007 v 69.99986 a 39.999999,39.999999 0 0 1 40.000142,40.00014 h 69.99986 a 39.999999,39.999999 0 0 1 40.00014,-40.00014 V 113.50007 A 39.999999,39.999999 0 0 1 139.99993,73.499927 Z" + style="opacity:1;fill:none;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1039" + inkscape:connector-curvature="0" /> </g> </svg> -- GitLab From e91b4f2ed4fce7045342a188b4f5f35b35c500b0 Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sat, 11 Jul 2020 16:23:30 +0200 Subject: [PATCH 08/21] Fancy Font --- index.html | 2 ++ out/main.js | 4 ++-- res/Stysheet.css | 11 ++++++++--- src/DungeonMap.elm | 2 +- src/Main.elm | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 1a4b4e9..299ea68 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,8 @@ <link rel="stylesheet" href="res/Stysheet.css"> <link rel="stylesheet" href="src/node_modules/animate.css/animate.css"> <link rel="stylesheet" href="src/node_modules/bootstrap/dist/css/bootstrap.css" integrity="" crossorigin="anonymous"> + <link href="https://fonts.googleapis.com/css2?family=Fondamento&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500&display=swap" rel="stylesheet"> <title>Main</title> <script src="out/main.js"></script> <style> diff --git a/out/main.js b/out/main.js index c8683fc..fc47ea6 100644 --- a/out/main.js +++ b/out/main.js @@ -12425,7 +12425,7 @@ var $author$project$DungeonMap$placeIcon = F5( 0, $elm$core$String$toFloat(y)) - 11.5)), $elm$svg$Svg$Attributes$title('ObjectIcon'), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/hero.png') + $elm$svg$Svg$Attributes$xlinkHref('res/icons/Hero.svg') ]), _List_Nil), A2( @@ -14746,7 +14746,7 @@ var $author$project$Main$view = function (model) { $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('wrapper'), + $elm$html$Html$Attributes$class('wrapper textFont'), A2($elm$html$Html$Attributes$style, 'height', '100%') ]), _List_fromArray( diff --git a/res/Stysheet.css b/res/Stysheet.css index f456420..1b8eecd 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -17,6 +17,7 @@ html { text-align: left; padding: 10px; margin-bottom: 1%; + font-family: 'Fondamento', cursive; } .footer { @@ -36,6 +37,10 @@ html { background-color: #e4be9b; } +.textFont { + font-family: 'Alegreya', serif; +} + .grid-container { display: grid; grid-gap: 2%; @@ -103,11 +108,11 @@ tr:nth-child(even) {background-color: white;} } .aboutText { - padding-left: 10%; - padding-right: 10%; + padding-left: 5%; + padding-right: 5%; } h1.about { - padding-top: 20px; + padding-top: 2%; font-variant: small-caps; } \ No newline at end of file diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 2f09454..e6c719f 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -266,7 +266,7 @@ placeIcon iconType id x y color = , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 11.5)) , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 11.5)) , SvgAtt.title "ObjectIcon" - , SvgAtt.xlinkHref ("res/icons/hero.png") + , SvgAtt.xlinkHref ("res/icons/Hero.svg") ] [] , Svg.text_ [ SvgAtt.textAnchor "middle" , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) + 1)) diff --git a/src/Main.elm b/src/Main.elm index 6fa41c9..97f512f 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -264,7 +264,7 @@ update msg model = view : Model -> Html Msg view model = - div [Html.Attributes.class "wrapper", Html.Attributes.style "height" "100%"] + div [Html.Attributes.class "wrapper textFont", Html.Attributes.style "height" "100%"] [ header , Tab.config TabMsg |> Tab.items -- GitLab From dff066d34fcae6219f338b6ef655bcc2245bfd80 Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sat, 11 Jul 2020 16:39:28 +0200 Subject: [PATCH 09/21] fixed Hero Icon --- out/main.js | 12 ++++++------ src/DungeonMap.elm | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/out/main.js b/out/main.js index fc47ea6..93c75e1 100644 --- a/out/main.js +++ b/out/main.js @@ -12410,20 +12410,20 @@ var $author$project$DungeonMap$placeIcon = F5( $elm$svg$Svg$image, _List_fromArray( [ - $elm$svg$Svg$Attributes$width('25'), - $elm$svg$Svg$Attributes$height('25'), + $elm$svg$Svg$Attributes$width('45'), + $elm$svg$Svg$Attributes$height('45'), $elm$svg$Svg$Attributes$x( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 11.5)), + $elm$core$String$toFloat(x)) - 22.5)), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 11.5)), + $elm$core$String$toFloat(y)) - 22)), $elm$svg$Svg$Attributes$title('ObjectIcon'), $elm$svg$Svg$Attributes$xlinkHref('res/icons/Hero.svg') ]), @@ -12438,13 +12438,13 @@ var $author$project$DungeonMap$placeIcon = F5( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) + 1)), + $elm$core$String$toFloat(x)))), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) + 2.5)), + $elm$core$String$toFloat(y)))), $elm$svg$Svg$Attributes$dominantBaseline('middle') ]), _List_fromArray( diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index e6c719f..14c87ca 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -261,16 +261,16 @@ placeIcon iconType id x y color = "player" -> [ Svg.image - [ SvgAtt.width "25" - , SvgAtt.height "25" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 11.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 11.5)) + [ SvgAtt.width "45" + , SvgAtt.height "45" + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 22.5)) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 22)) , SvgAtt.title "ObjectIcon" - , SvgAtt.xlinkHref ("res/icons/Hero.svg") + , SvgAtt.xlinkHref "res/icons/Hero.svg" ] [] , Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) + 1)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) + 2.5)) + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) , SvgAtt.dominantBaseline "middle" ] [ Svg.text (String.fromInt id) ] -- GitLab From f3496171ed4f58186798227e8465e6c62e65da8f Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sat, 11 Jul 2020 16:42:30 +0200 Subject: [PATCH 10/21] centered Enemy --- res/icons/Enemy.svg | 254 ++++++++++++++++++++++++++++++-------------- 1 file changed, 174 insertions(+), 80 deletions(-) diff --git a/res/icons/Enemy.svg b/res/icons/Enemy.svg index 9a8125b..ed9b4a6 100644 --- a/res/icons/Enemy.svg +++ b/res/icons/Enemy.svg @@ -7,13 +7,13 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - sodipodi:docname="Enemy.svg" - inkscape:version="1.0 (4035a4fb49, 2020-05-01)" - id="svg8" - version="1.1" - viewBox="0 0 210 297" + width="210mm" height="297mm" - width="210mm"> + viewBox="0 0 210 297" + version="1.1" + id="svg8" + inkscape:version="1.0 (1.0+r73+1)" + sodipodi:docname="Enemy.svg"> <defs id="defs2"> <inkscape:path-effect @@ -24,97 +24,190 @@ mode="free" lpeversion="1" is_visible="true" - id="path-effect902" - center_point="117.73467,392.80998" - end_point="-440.49472,371.74" - start_point="682.02498,371.73" + id="path-effect41" + center_point="375.77734,243.61817" + end_point="0,371.74" + start_point="1000000,115.5" effect="mirror_symmetry" /> <inkscape:path-effect split_items="false" oposite_fuse="false" - fuse_paths="false" + fuse_paths="true" discard_orig_path="false" mode="free" lpeversion="1" is_visible="true" - id="path-effect900" + id="path-effect39" center_point="375.77734,243.61817" end_point="375.77734,371.73633" start_point="375.77734,115.5" effect="mirror_symmetry" /> <inkscape:path-effect - split_items="false" - oposite_fuse="false" - fuse_paths="false" - discard_orig_path="true" - mode="free" + end_linecap_type="zerowidth" + scale_width="1" + miter_limit="4" + linejoin_type="round" + start_linecap_type="zerowidth" + interpolator_beta="0.55555556" + interpolator_type="CentripetalCatmullRom" + sort_points="true" + offset_points="4,16.5" lpeversion="1" is_visible="true" - id="path-effect898" - center_point="375.77734,243.61817" - end_point="375.77734,371.73633" - start_point="113.38477,243.61817" - effect="mirror_symmetry" /> + id="path-effect32" + effect="powerstroke" /> + <inkscape:path-effect + crossing_points_vector="" + add_other_stroke_width="inkscape_1.0_and_up" + inverse_width="false" + both="false" + add_stroke_width="inkscape_1.0_and_up" + prop_to_stroke_width="true" + interruption_width="3" + switcher_size="18.4" + lpeversion="1" + is_visible="true" + id="path-effect30" + effect="knot" /> + <inkscape:path-effect + interpolator_type="CentripetalCatmullRom" + lpeversion="1" + is_visible="true" + id="path-effect28" + effect="interpolate_points" /> + <inkscape:path-effect + spray_tool_friendly="true" + fixed_displacement="true" + shift_nodes="true" + handles="along" + global_randomize="1;1" + displace_y="10;1" + displace_x="10;1" + segments="8" + max_segment_size="78.562" + method="segments" + lpeversion="1" + is_visible="true" + id="path-effect26" + effect="roughen" /> + <inkscape:path-effect + simplify_just_coalesce="false" + simplify_individual_paths="false" + helper_size="5" + smooth_angles="90" + threshold="0.0265" + steps="70" + lpeversion="1" + is_visible="true" + id="path-effect24" + effect="simplify" /> + <inkscape:path-effect + allow_transforms="true" + css_properties="" + attributes="" + method="d" + linkeditem="" + lpeversion="1" + is_visible="true" + id="path-effect22" + effect="clone_original" /> + <inkscape:path-effect + min_radius="5" + phi="5" + teeth="9" + lpeversion="1" + is_visible="true" + id="path-effect20" + effect="gears" /> <inkscape:path-effect split_items="false" - oposite_fuse="false" - fuse_paths="true" - discard_orig_path="false" - mode="free" + mirror_copies="false" + copies_to_360="true" + gap="-0.01" + rotation_angle="60" + starting_angle="0" + num_copies="58" + method="normal" lpeversion="1" is_visible="true" - id="path-effect896" + id="path-effect18" + origin="113.38477,243.61817" + starting_point="0,0" + effect="copy_rotate" /> + <inkscape:path-effect + effect="mirror_symmetry" + start_point="678.99452,392.80498" + end_point="-443.52518,392.81498" + center_point="117.73467,392.80998" + id="path-effect902" + is_visible="true" + lpeversion="1" + mode="free" + discard_orig_path="false" + fuse_paths="true" + oposite_fuse="false" + split_items="false" /> + <inkscape:path-effect + effect="mirror_symmetry" + start_point="375.77734,115.5" + end_point="375.77734,371.73633" center_point="375.77734,243.61817" + id="path-effect900" + is_visible="true" + lpeversion="1" + mode="free" + discard_orig_path="false" + fuse_paths="false" + oposite_fuse="false" + split_items="false" /> + <inkscape:path-effect + effect="mirror_symmetry" + start_point="113.38477,243.61817" end_point="375.77734,371.73633" + center_point="375.77734,243.61817" + id="path-effect898" + is_visible="true" + lpeversion="1" + mode="free" + discard_orig_path="true" + fuse_paths="false" + oposite_fuse="false" + split_items="false" /> + <inkscape:path-effect + effect="mirror_symmetry" start_point="375.77734,115.5" - effect="mirror_symmetry" /> + end_point="375.77734,371.73633" + center_point="375.77734,243.61817" + id="path-effect896" + is_visible="true" + lpeversion="1" + mode="free" + discard_orig_path="false" + fuse_paths="true" + oposite_fuse="false" + split_items="false" /> </defs> <sodipodi:namedview - inkscape:window-maximized="1" - inkscape:window-y="-8" - inkscape:window-x="54" - inkscape:window-height="1057" - inkscape:window-width="1858" - inkscape:guide-bbox="true" - showguides="true" - showgrid="false" - inkscape:document-rotation="0" - inkscape:current-layer="layer1" - inkscape:document-units="mm" - inkscape:cy="257.17517" - inkscape:cx="188.17045" - inkscape:zoom="0.98994949" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - borderopacity="1.0" - bordercolor="#666666" + id="base" pagecolor="#ffffff" - id="base"> - <sodipodi:guide - id="guide856" - orientation="1,0" - position="104.76966,300.4745" /> - <sodipodi:guide - id="guide858" - orientation="0,-1" - position="186.28686,198.64481" /> - <sodipodi:guide - id="guide875" - orientation="0,-1" - position="135.50565,233.38985" /> - <sodipodi:guide - id="guide877" - orientation="0,-1" - position="141.65285,246.21879" /> - <sodipodi:guide - id="guide879" - orientation="1,0" - position="64.679224,261.72043" /> - <sodipodi:guide - id="guide881" - orientation="1,0" - position="51.04848,306.88897" /> - </sodipodi:namedview> + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.49497475" + inkscape:cx="396.85039" + inkscape:cy="480.44764" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + inkscape:document-rotation="0" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:window-width="1680" + inkscape:window-height="994" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" /> <metadata id="metadata5"> <rdf:RDF> @@ -123,20 +216,21 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g - id="layer1" + inkscape:label="Ebene 1" inkscape:groupmode="layer" - inkscape:label="Ebene 1"> + id="layer1"> <path inkscape:original-d="M 241.75391,115.5 A 151.1811,151.1811 0 0 1 113.38477,238.68359 151.1811,151.1811 0 0 1 192.82031,371.73633 H 375.77734 V 198.6543 A 151.1811,151.1811 0 0 1 241.75391,115.5 Z" - inkscape:path-effect="#path-effect896;#path-effect902" - transform="matrix(0,-0.26458333,0.26458333,0,6.8191918,198.30782)" - d="m 241.75391,115.5 c -11.54227,64.55777 -63.39055,114.3116 -128.36914,123.18359 48.92289,26.37659 79.42754,77.47054 79.43554,133.05077 -0.007,55.58023 -30.51075,106.67472 -79.43317,133.05218 64.97875,8.87083 116.82791,58.62374 128.37134,123.1813 25.52932,-50.67279 77.28272,-82.78426 134.02194,-83.15668 56.73924,0.3704 108.49379,32.48002 134.02492,83.15191 11.54112,-64.55798 63.38851,-114.31273 128.36694,-123.18588 -48.92241,-26.37521 -79.42773,-77.46712 -79.43791,-133.04609 0.009,-55.57897 30.5136,-106.67143 79.43554,-133.04751 C 573.19132,229.8116 521.34304,180.05777 509.80077,115.5 484.27055,166.17234 432.51657,198.28289 375.77734,198.6543 319.03811,198.28289 267.28413,166.17234 241.75391,115.5 Z" - style="fill:#1a1a1a;fill-opacity:0;stroke:black;stroke-width:33;stroke-opacity:1" - id="rect10" /> + inkscape:path-effect="#path-effect39;#path-effect41" + inkscape:connector-curvature="0" + id="rect10" + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:33;stroke-opacity:1" + d="m 241.75391,115.5 c -11.54227,64.55777 -63.39055,114.3116 -128.36914,123.18359 48.91005,26.36967 79.41153,77.44371 79.43553,133.007 0.004,55.56329 -30.47083,106.65296 -79.36736,133.0477 64.98313,8.83868 116.8569,58.56594 128.43226,123.11778 25.50425,-50.68541 77.24176,-82.82248 133.98079,-83.22297 56.73942,0.34233 108.50984,32.42635 134.06603,83.0856 11.50919,-64.56367 63.33196,-114.34407 128.30599,-123.24936 -48.89603,-26.32978 -79.41685,-77.34557 -79.50356,-132.87251 0.0583,-55.52698 30.55292,-106.5584 79.43546,-132.91324 C 573.19132,229.8116 521.34304,180.05777 509.80077,115.5 484.27055,166.17234 432.51657,198.28289 375.77734,198.6543 319.03811,198.28289 267.28413,166.17234 241.75391,115.5 Z" + transform="matrix(0,-0.26458333,0.26458333,0,6.6596801,247.93407)" /> </g> </svg> -- GitLab From 50a2fde3824448f821c7ea017a16d59d47b177ae Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sat, 11 Jul 2020 16:56:17 +0200 Subject: [PATCH 11/21] fixed Enemy Icon --- out/main.js | 14 +++++++------- src/DungeonMap.elm | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/out/main.js b/out/main.js index 93c75e1..d174dc7 100644 --- a/out/main.js +++ b/out/main.js @@ -12360,22 +12360,22 @@ var $author$project$DungeonMap$placeIcon = F5( $elm$svg$Svg$image, _List_fromArray( [ - $elm$svg$Svg$Attributes$width('30'), - $elm$svg$Svg$Attributes$height('30'), + $elm$svg$Svg$Attributes$width('50'), + $elm$svg$Svg$Attributes$height('50'), $elm$svg$Svg$Attributes$x( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 17.5)), + $elm$core$String$toFloat(x)) - 25.5)), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 17.5)), + $elm$core$String$toFloat(y)) - 24.5)), $elm$svg$Svg$Attributes$title('MonsterIcon'), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/enemy.png') + $elm$svg$Svg$Attributes$xlinkHref('res/icons/Enemy.svg') ]), _List_Nil), A2( @@ -12388,13 +12388,13 @@ var $author$project$DungeonMap$placeIcon = F5( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 3)), + $elm$core$String$toFloat(x)))), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 0.5)), + $elm$core$String$toFloat(y)))), $elm$svg$Svg$Attributes$dominantBaseline('middle') ]), _List_fromArray( diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 14c87ca..2131be0 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -244,16 +244,16 @@ placeIcon iconType id x y color = case iconType of "monster" -> [ Svg.image - [ SvgAtt.width "30" - , SvgAtt.height "30" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 17.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 17.5)) + [ SvgAtt.width "50" + , SvgAtt.height "50" + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 25.5)) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 24.5)) , SvgAtt.title "MonsterIcon" - , SvgAtt.xlinkHref ("res/icons/enemy.png") + , SvgAtt.xlinkHref "res/icons/Enemy.svg" ] [] , Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 3)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 0.5)) + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) , SvgAtt.dominantBaseline "middle" ] [ Svg.text (String.fromInt id) ] -- GitLab From 0d4c16d284b91cf957223f836913158170b8b959 Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sat, 11 Jul 2020 16:56:17 +0200 Subject: [PATCH 12/21] fixed Enemy Icon --- out/main.js | 14 ++--- res/icons/Enemy.svg | 144 -------------------------------------------- src/DungeonMap.elm | 14 ++--- 3 files changed, 14 insertions(+), 158 deletions(-) diff --git a/out/main.js b/out/main.js index 93c75e1..d174dc7 100644 --- a/out/main.js +++ b/out/main.js @@ -12360,22 +12360,22 @@ var $author$project$DungeonMap$placeIcon = F5( $elm$svg$Svg$image, _List_fromArray( [ - $elm$svg$Svg$Attributes$width('30'), - $elm$svg$Svg$Attributes$height('30'), + $elm$svg$Svg$Attributes$width('50'), + $elm$svg$Svg$Attributes$height('50'), $elm$svg$Svg$Attributes$x( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 17.5)), + $elm$core$String$toFloat(x)) - 25.5)), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 17.5)), + $elm$core$String$toFloat(y)) - 24.5)), $elm$svg$Svg$Attributes$title('MonsterIcon'), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/enemy.png') + $elm$svg$Svg$Attributes$xlinkHref('res/icons/Enemy.svg') ]), _List_Nil), A2( @@ -12388,13 +12388,13 @@ var $author$project$DungeonMap$placeIcon = F5( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 3)), + $elm$core$String$toFloat(x)))), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 0.5)), + $elm$core$String$toFloat(y)))), $elm$svg$Svg$Attributes$dominantBaseline('middle') ]), _List_fromArray( diff --git a/res/icons/Enemy.svg b/res/icons/Enemy.svg index ed9b4a6..97f127f 100644 --- a/res/icons/Enemy.svg +++ b/res/icons/Enemy.svg @@ -42,150 +42,6 @@ end_point="375.77734,371.73633" start_point="375.77734,115.5" effect="mirror_symmetry" /> - <inkscape:path-effect - end_linecap_type="zerowidth" - scale_width="1" - miter_limit="4" - linejoin_type="round" - start_linecap_type="zerowidth" - interpolator_beta="0.55555556" - interpolator_type="CentripetalCatmullRom" - sort_points="true" - offset_points="4,16.5" - lpeversion="1" - is_visible="true" - id="path-effect32" - effect="powerstroke" /> - <inkscape:path-effect - crossing_points_vector="" - add_other_stroke_width="inkscape_1.0_and_up" - inverse_width="false" - both="false" - add_stroke_width="inkscape_1.0_and_up" - prop_to_stroke_width="true" - interruption_width="3" - switcher_size="18.4" - lpeversion="1" - is_visible="true" - id="path-effect30" - effect="knot" /> - <inkscape:path-effect - interpolator_type="CentripetalCatmullRom" - lpeversion="1" - is_visible="true" - id="path-effect28" - effect="interpolate_points" /> - <inkscape:path-effect - spray_tool_friendly="true" - fixed_displacement="true" - shift_nodes="true" - handles="along" - global_randomize="1;1" - displace_y="10;1" - displace_x="10;1" - segments="8" - max_segment_size="78.562" - method="segments" - lpeversion="1" - is_visible="true" - id="path-effect26" - effect="roughen" /> - <inkscape:path-effect - simplify_just_coalesce="false" - simplify_individual_paths="false" - helper_size="5" - smooth_angles="90" - threshold="0.0265" - steps="70" - lpeversion="1" - is_visible="true" - id="path-effect24" - effect="simplify" /> - <inkscape:path-effect - allow_transforms="true" - css_properties="" - attributes="" - method="d" - linkeditem="" - lpeversion="1" - is_visible="true" - id="path-effect22" - effect="clone_original" /> - <inkscape:path-effect - min_radius="5" - phi="5" - teeth="9" - lpeversion="1" - is_visible="true" - id="path-effect20" - effect="gears" /> - <inkscape:path-effect - split_items="false" - mirror_copies="false" - copies_to_360="true" - gap="-0.01" - rotation_angle="60" - starting_angle="0" - num_copies="58" - method="normal" - lpeversion="1" - is_visible="true" - id="path-effect18" - origin="113.38477,243.61817" - starting_point="0,0" - effect="copy_rotate" /> - <inkscape:path-effect - effect="mirror_symmetry" - start_point="678.99452,392.80498" - end_point="-443.52518,392.81498" - center_point="117.73467,392.80998" - id="path-effect902" - is_visible="true" - lpeversion="1" - mode="free" - discard_orig_path="false" - fuse_paths="true" - oposite_fuse="false" - split_items="false" /> - <inkscape:path-effect - effect="mirror_symmetry" - start_point="375.77734,115.5" - end_point="375.77734,371.73633" - center_point="375.77734,243.61817" - id="path-effect900" - is_visible="true" - lpeversion="1" - mode="free" - discard_orig_path="false" - fuse_paths="false" - oposite_fuse="false" - split_items="false" /> - <inkscape:path-effect - effect="mirror_symmetry" - start_point="113.38477,243.61817" - end_point="375.77734,371.73633" - center_point="375.77734,243.61817" - id="path-effect898" - is_visible="true" - lpeversion="1" - mode="free" - discard_orig_path="true" - fuse_paths="false" - oposite_fuse="false" - split_items="false" /> - <inkscape:path-effect - effect="mirror_symmetry" - start_point="375.77734,115.5" - end_point="375.77734,371.73633" - center_point="375.77734,243.61817" - id="path-effect896" - is_visible="true" - lpeversion="1" - mode="free" - discard_orig_path="false" - fuse_paths="true" - oposite_fuse="false" - split_items="false" /> </defs> <sodipodi:namedview id="base" diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 14c87ca..2131be0 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -244,16 +244,16 @@ placeIcon iconType id x y color = case iconType of "monster" -> [ Svg.image - [ SvgAtt.width "30" - , SvgAtt.height "30" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 17.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 17.5)) + [ SvgAtt.width "50" + , SvgAtt.height "50" + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 25.5)) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 24.5)) , SvgAtt.title "MonsterIcon" - , SvgAtt.xlinkHref ("res/icons/enemy.png") + , SvgAtt.xlinkHref "res/icons/Enemy.svg" ] [] , Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 3)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 0.5)) + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) , SvgAtt.dominantBaseline "middle" ] [ Svg.text (String.fromInt id) ] -- GitLab From 91dc43ffb17aaf4482147999c6a5dcb8bd666670 Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sat, 11 Jul 2020 19:14:27 +0200 Subject: [PATCH 13/21] Tabs in addCharacter Modal --- out/main.js | 1446 ++++++++++++++++++++---------------------- src/FightingTool.elm | 81 +-- src/Main.elm | 5 + src/Model.elm | 3 + 4 files changed, 726 insertions(+), 809 deletions(-) diff --git a/out/main.js b/out/main.js index d174dc7..954a5ce 100644 --- a/out/main.js +++ b/out/main.js @@ -5647,6 +5647,7 @@ var $author$project$Model$init = function (_v0) { hover: false, iconText: '', maxFace: 6, + modalTabState: $rundis$elm_bootstrap$Bootstrap$Tab$initialState, myDrop1State: $rundis$elm_bootstrap$Bootstrap$Dropdown$initialState, objectIconList: _List_Nil, previews: _List_Nil, @@ -8227,6 +8228,13 @@ var $author$project$Main$update = F2( model, {tabState: state}), $elm$core$Platform$Cmd$none); + case 'ModalTabMsg': + var state = msg.a; + return _Utils_Tuple2( + _Utils_update( + model, + {modalTabState: state}), + $elm$core$Platform$Cmd$none); case 'AddCharacterIcon': var addCharacterIconMsg = msg.a; if (addCharacterIconMsg.$ === 'MouseClick') { @@ -10498,84 +10506,16 @@ var $author$project$FightingTool$viewAttackModal = function (model) { $author$project$Model$CloseModal($author$project$Model$AttackModal))))))) ])); }; -var $author$project$Model$SwitchEnemyHero = function (a) { - return {$: 'SwitchEnemyHero', a: a}; +var $author$project$Model$ModalTabMsg = function (a) { + return {$: 'ModalTabMsg', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config = function (a) { +var $rundis$elm_bootstrap$Bootstrap$Tab$Config = function (a) { return {$: 'Config', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapOptions = F2( - function (mapper, _v0) { - var conf = _v0.a; - var options = conf.options; - return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config( - _Utils_update( - conf, - { - options: mapper(options) - })); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$asGroup = $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapOptions( - function (opts) { - return _Utils_update( - opts, - {isGroup: true}); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked = function (a) { - return {$: 'Checked', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked = function (isCheck) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked(isCheck); -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig = F2( - function (mapper, _v0) { - var configRec = _v0.a; - return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config( - mapper(configRec)); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$children = function (children_) { - return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig( - function (conf) { - return _Utils_update( - conf, - {children: children_}); - }); -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$config = $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config( - { - children: _List_Nil, - legend: $elm$core$Maybe$Nothing, - options: {attributes: _List_Nil, disabled: false, isGroup: false} - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio = function (a) { - return {$: 'Radio', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced = F2( - function (options, label_) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio( - {label: label_, options: options}); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label = function (a) { - return {$: 'Label', a: a}; +var $rundis$elm_bootstrap$Bootstrap$Tab$config = function (toMsg) { + return $rundis$elm_bootstrap$Bootstrap$Tab$Config( + {attributes: _List_Nil, isPill: false, items: _List_Nil, layout: $elm$core$Maybe$Nothing, toMsg: toMsg, useHash: false, withAnimation: false}); }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$label = F2( - function (attributes, children) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label( - {attributes: attributes, children: children}); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$create = F2( - function (options, label_) { - return A2( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced, - options, - A2( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$label, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text(label_) - ]))); - }); var $author$project$Model$AddEnemy = function (a) { return {$: 'AddEnemy', a: a}; }; @@ -11454,326 +11394,404 @@ var $author$project$FightingTool$dropdownMenu = function (model) { [$rundis$elm_bootstrap$Bootstrap$Button$primary]), _List_fromArray( [ - $elm$html$Html$text('Gegner') + $elm$html$Html$text('Monster') ])), toggleMsg: $author$project$Model$MyDrop1Msg }) ])); }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id = function (a) { - return {$: 'Id', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$id = function (theId) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id(theId); -}; -var $elm$html$Html$legend = _VirtualDom_node('legend'); -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$legend = F2( - function (attributes, children_) { - return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig( - function (conf) { - return _Utils_update( - conf, - { - legend: $elm$core$Maybe$Just( - A2($elm$html$Html$legend, attributes, children_)) - }); - }); - }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick = function (a) { - return {$: 'OnClick', a: a}; +var $elm$html$Html$h5 = _VirtualDom_node('h5'); +var $rundis$elm_bootstrap$Bootstrap$Tab$Item = function (a) { + return {$: 'Item', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg); +var $rundis$elm_bootstrap$Bootstrap$Tab$item = function (rec) { + return $rundis$elm_bootstrap$Bootstrap$Tab$Item( + {id: rec.id, link: rec.link, pane: rec.pane}); }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2( - function (opt, _v0) { - var radio_ = _v0.a; - var options = radio_.options; - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio( +var $rundis$elm_bootstrap$Bootstrap$Tab$items = F2( + function (items_, _v0) { + var configRec = _v0.a; + return $rundis$elm_bootstrap$Bootstrap$Tab$Config( _Utils_update( - radio_, - { - options: A2($elm$core$List$cons, opt, options) - })); + configRec, + {items: items_})); }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) { - return {$: 'Name', a: a}; +var $rundis$elm_bootstrap$Bootstrap$Tab$Link = function (a) { + return {$: 'Link', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$name = function (name_) { - return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name(name_); +var $rundis$elm_bootstrap$Bootstrap$Tab$link = F2( + function (attributes, children) { + return $rundis$elm_bootstrap$Bootstrap$Tab$Link( + {attributes: attributes, children: children}); + }); +var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3'); +var $rundis$elm_bootstrap$Bootstrap$Tab$Pane = function (a) { + return {$: 'Pane', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier = F2( - function (modifier, options) { - switch (modifier.$) { - case 'Id': - var val = modifier.a; - return _Utils_update( - options, - { - id: $elm$core$Maybe$Just(val) - }); - case 'Checked': - var val = modifier.a; - return _Utils_update( - options, - {checked: val}); - case 'Name': - var val = modifier.a; - return _Utils_update( - options, - { - name: $elm$core$Maybe$Just(val) - }); - case 'Inline': - return _Utils_update( - options, - {inline: true}); - case 'OnClick': - var toMsg = modifier.a; - return _Utils_update( - options, - { - onClick: $elm$core$Maybe$Just(toMsg) - }); - case 'Custom': - return _Utils_update( - options, - {custom: true}); - case 'Disabled': - var val = modifier.a; - return _Utils_update( - options, - {disabled: val}); - case 'Validation': - var validation = modifier.a; - return _Utils_update( - options, - { - validation: $elm$core$Maybe$Just(validation) - }); - default: - var attrs_ = modifier.a; - return _Utils_update( - options, - { - attributes: _Utils_ap(options.attributes, attrs_) - }); +var $rundis$elm_bootstrap$Bootstrap$Tab$pane = F2( + function (attributes, children) { + return $rundis$elm_bootstrap$Bootstrap$Tab$Pane( + {attributes: attributes, children: children}); + }); +var $rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem = F2( + function (_v0, configRec) { + var activeTab = _v0.a.activeTab; + if (activeTab.$ === 'Nothing') { + return $elm$core$List$head(configRec.items); + } else { + var id = activeTab.a; + return function (found) { + if (found.$ === 'Just') { + var f = found.a; + return $elm$core$Maybe$Just(f); + } else { + return $elm$core$List$head(configRec.items); + } + }( + $elm$core$List$head( + A2( + $elm$core$List$filter, + function (_v2) { + var item_ = _v2.a; + return _Utils_eq(item_.id, id); + }, + configRec.items))); } }); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions = {attributes: _List_Nil, checked: false, custom: false, disabled: false, id: $elm$core$Maybe$Nothing, inline: false, name: $elm$core$Maybe$Nothing, onClick: $elm$core$Maybe$Nothing, validation: $elm$core$Maybe$Nothing}; -var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor'); -var $elm$html$Html$Attributes$checked = $elm$html$Html$Attributes$boolProperty('checked'); -var $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name'); -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes = function (options) { - return _Utils_ap( - _List_fromArray( +var $rundis$elm_bootstrap$Bootstrap$Tab$Hidden = {$: 'Hidden'}; +var $elm$html$Html$li = _VirtualDom_node('li'); +var $rundis$elm_bootstrap$Bootstrap$Tab$Start = {$: 'Start'}; +var $rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition = F2( + function (withAnimation_, visibility) { + var _v0 = _Utils_Tuple2(withAnimation_, visibility); + _v0$2: + while (true) { + if (_v0.a) { + switch (_v0.b.$) { + case 'Hidden': + var _v1 = _v0.b; + return $rundis$elm_bootstrap$Bootstrap$Tab$Start; + case 'Start': + var _v2 = _v0.b; + return $rundis$elm_bootstrap$Bootstrap$Tab$Showing; + default: + break _v0$2; + } + } else { + break _v0$2; + } + } + return $rundis$elm_bootstrap$Bootstrap$Tab$Showing; + }); +var $rundis$elm_bootstrap$Bootstrap$Tab$renderLink = F4( + function (id, active, _v0, configRec) { + var attributes = _v0.a.attributes; + var children = _v0.a.children; + var commonClasses = _List_fromArray( [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('form-check-input', !options.custom), - _Utils_Tuple2('custom-control-input', options.custom) - ])), - $elm$html$Html$Attributes$type_('radio'), - $elm$html$Html$Attributes$disabled(options.disabled), - $elm$html$Html$Attributes$checked(options.checked) - ]), - _Utils_ap( - A2( - $elm$core$List$filterMap, - $elm$core$Basics$identity, + _Utils_Tuple2('nav-link', true), + _Utils_Tuple2('active', active) + ]); + var clickHandler = $elm$html$Html$Events$onClick( + configRec.toMsg( + $rundis$elm_bootstrap$Bootstrap$Tab$State( + { + activeTab: $elm$core$Maybe$Just(id), + visibility: A2($rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition, configRec.withAnimation && (!active), $rundis$elm_bootstrap$Bootstrap$Tab$Hidden) + }))); + var linkItem = configRec.useHash ? A2( + $elm$html$Html$a, + _Utils_ap( _List_fromArray( [ - A2($elm$core$Maybe$map, $elm$html$Html$Events$onClick, options.onClick), - A2($elm$core$Maybe$map, $elm$html$Html$Attributes$name, options.name), - A2($elm$core$Maybe$map, $elm$html$Html$Attributes$id, options.id) - ])), - options.attributes)); -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$view = function (_v0) { - var radio_ = _v0.a; - var opts = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier, $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions, radio_.options); - var _v1 = radio_.label; - var label_ = _v1.a; - return A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( + $elm$html$Html$Attributes$classList(commonClasses), + clickHandler, + $elm$html$Html$Attributes$href('#' + id) + ]), + attributes), + children) : A2( + $elm$html$Html$button, + _Utils_ap( _List_fromArray( [ - _Utils_Tuple2('form-check', !opts.custom), - _Utils_Tuple2('form-check-inline', (!opts.custom) && opts.inline), - _Utils_Tuple2('custom-control', opts.custom), - _Utils_Tuple2('custom-radio', opts.custom), - _Utils_Tuple2('custom-control-inline', opts.inline && opts.custom) - ])) - ]), - _List_fromArray( - [ - A2( - $elm$html$Html$input, - $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes(opts), - _List_Nil), - A2( - $elm$html$Html$label, - _Utils_ap( - label_.attributes, - _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('form-check-label', !opts.custom), - _Utils_Tuple2('custom-control-label', opts.custom) - ])) - ]), - function () { - var _v2 = opts.id; - if (_v2.$ === 'Just') { - var v = _v2.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$for(v) - ]); - } else { - return _List_Nil; - } - }())), - label_.children) - ])); -}; -var $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList = F2( - function (groupName, radios) { + $elm$html$Html$Attributes$classList( + _Utils_ap( + commonClasses, + _List_fromArray( + [ + _Utils_Tuple2('btn', true), + _Utils_Tuple2('btn-link', true) + ]))), + clickHandler + ]), + attributes), + children); return A2( - $elm$core$List$map, - A2( - $elm$core$Basics$composeL, - $rundis$elm_bootstrap$Bootstrap$Form$Radio$view, - $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$name(groupName))), - radios); - }); -var $elm$core$List$append = F2( - function (xs, ys) { - if (!ys.b) { - return xs; - } else { - return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); - } - }); -var $elm$html$Html$fieldset = _VirtualDom_node('fieldset'); -var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$view = function (_v0) { - var rec = _v0.a; - var options = rec.options; - return A2( - $elm$html$Html$fieldset, - _Utils_ap( + $elm$html$Html$li, _List_fromArray( [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('form-group', options.isGroup) - ])), - $elm$html$Html$Attributes$disabled(options.disabled) + $elm$html$Html$Attributes$class('nav-item') ]), - options.attributes), - function (xs) { - return A2($elm$core$List$append, xs, rec.children); - }( + _List_fromArray( + [linkItem])); + }); +var $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles = function (opacity) { + return _List_fromArray( + [ A2( - $elm$core$Maybe$withDefault, - _List_Nil, - A2( - $elm$core$Maybe$map, - function (e) { - return _List_fromArray( - [e]); - }, - rec.legend)))); + $elm$html$Html$Attributes$style, + 'opacity', + $elm$core$String$fromInt(opacity)), + A2($elm$html$Html$Attributes$style, '-webkit-transition', 'opacity 0.15s linear'), + A2($elm$html$Html$Attributes$style, '-o-transition', 'opacity 0.15s linear'), + A2($elm$html$Html$Attributes$style, 'transition', 'opacity 0.15s linear') + ]); }; -var $author$project$FightingTool$viewCustomEnemyModal = function (model) { - var herobool = function () { - var _v1 = model.enemyHero; - if (_v1 === 'Hero') { - return true; - } else { - return false; - } - }(); - var enemybool = function () { - var _v0 = model.enemyHero; - if (_v0 === 'Enemy') { - return true; - } else { - return false; +var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2( + function (_v0, configRec) { + var visibility = _v0.a.visibility; + switch (visibility.$) { + case 'Hidden': + return _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'display', 'none') + ]); + case 'Start': + return _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'display', 'block'), + A2($elm$html$Html$Attributes$style, 'opacity', '0') + ]); + default: + return _Utils_ap( + _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'display', 'block') + ]), + $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1)); } - }(); - return A2( - $rundis$elm_bootstrap$Bootstrap$Modal$view, - model.showCustomEnemy, - A3( - $rundis$elm_bootstrap$Bootstrap$Modal$footer, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('colored-header-footer') - ]), - _List_Nil, - A3( - $rundis$elm_bootstrap$Bootstrap$Modal$body, + }); +var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( + function (id, active, _v0, state, configRec) { + var attributes = _v0.a.attributes; + var children = _v0.a.children; + var displayAttrs = active ? A2($rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes, state, configRec) : _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'display', 'none') + ]); + return A2( + $elm$html$Html$div, + _Utils_ap( _List_fromArray( [ - $elm$html$Html$Attributes$class('body') + $elm$html$Html$Attributes$id(id), + $elm$html$Html$Attributes$class('tab-pane') ]), + _Utils_ap(displayAttrs, attributes)), + children); + }); +var $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes = function (configRec) { + return _Utils_ap( + _List_fromArray( + [ + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('nav', true), + _Utils_Tuple2('nav-tabs', !configRec.isPill), + _Utils_Tuple2('nav-pills', configRec.isPill) + ])) + ]), + _Utils_ap( + function () { + var _v0 = configRec.layout; + if (_v0.$ === 'Just') { + switch (_v0.a.$) { + case 'Justified': + var _v1 = _v0.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class('nav-justified') + ]); + case 'Fill': + var _v2 = _v0.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class('nav-fill') + ]); + case 'Center': + var _v3 = _v0.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class('justify-content-center') + ]); + default: + var _v4 = _v0.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class('justify-content-end') + ]); + } + } else { + return _List_Nil; + } + }(), + configRec.attributes)); +}; +var $elm$html$Html$ul = _VirtualDom_node('ul'); +var $rundis$elm_bootstrap$Bootstrap$Tab$view = F2( + function (state, _v0) { + var configRec = _v0.a; + var _v1 = A2($rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem, state, configRec); + if (_v1.$ === 'Nothing') { + return A2( + $elm$html$Html$div, + _List_Nil, _List_fromArray( [ + A2( + $elm$html$Html$ul, + $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec), + _List_Nil), A2( $elm$html$Html$div, - _List_Nil, _List_fromArray( [ - $author$project$FightingTool$dropdownMenu(model), - A2($elm$html$Html$br, _List_Nil, _List_Nil), - $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$view( - A2( - $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$children, - A2( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList, - 'EnemyHero', - _List_fromArray( - [ - A2( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$create, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Form$Radio$id('enemy'), - $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick( - $author$project$Model$SwitchEnemyHero('Enemy')), - $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked(enemybool) - ]), - 'Gegner'), - A2( - $rundis$elm_bootstrap$Bootstrap$Form$Radio$create, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Form$Radio$id('hero'), - $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick( - $author$project$Model$SwitchEnemyHero('Hero')), - $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked(herobool) - ]), - 'Held') - ])), - A3( - $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$legend, - _List_Nil, - _List_fromArray( - [ - $elm$html$Html$text('Benutzerdefiniert: ') - ]), - $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$asGroup($rundis$elm_bootstrap$Bootstrap$Form$Fieldset$config)))), - (model.enemyHero === 'Hero') ? $author$project$FightingTool$customHero(model) : ((model.enemyHero === 'Enemy') ? $author$project$FightingTool$customEnemy(model) : A2($elm$html$Html$p, _List_Nil, _List_Nil)) + $elm$html$Html$Attributes$class('tab-content') + ]), + _List_Nil) + ])); + } else { + var currentItem = _v1.a.a; + return A2( + $elm$html$Html$div, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$ul, + $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec), + A2( + $elm$core$List$map, + function (_v2) { + var item_ = _v2.a; + return A4( + $rundis$elm_bootstrap$Bootstrap$Tab$renderLink, + item_.id, + _Utils_eq(item_.id, currentItem.id), + item_.link, + configRec); + }, + configRec.items)), + A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('tab-content') + ]), + A2( + $elm$core$List$map, + function (_v3) { + var item_ = _v3.a; + return A5( + $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane, + item_.id, + _Utils_eq(item_.id, currentItem.id), + item_.pane, + state, + configRec); + }, + configRec.items)) + ])); + } + }); +var $author$project$FightingTool$viewCustomEnemyModal = function (model) { + return A2( + $rundis$elm_bootstrap$Bootstrap$Modal$view, + model.showCustomEnemy, + A3( + $rundis$elm_bootstrap$Bootstrap$Modal$footer, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('colored-header-footer') + ]), + _List_Nil, + A3( + $rundis$elm_bootstrap$Bootstrap$Modal$body, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('body') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$div, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$h5, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Vordefiniert') + ])), + $author$project$FightingTool$dropdownMenu(model), + A2($elm$html$Html$br, _List_Nil, _List_Nil), + A2( + $elm$html$Html$h5, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Benutzerdefiniert') + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Tab$view, + model.modalTabState, + A2( + $rundis$elm_bootstrap$Bootstrap$Tab$items, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Tab$item( + { + id: 'enemy', + link: A2( + $rundis$elm_bootstrap$Bootstrap$Tab$link, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Gegner') + ])), + pane: A2( + $rundis$elm_bootstrap$Bootstrap$Tab$pane, + _List_fromArray( + [$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]), + _List_fromArray( + [ + $author$project$FightingTool$customEnemy(model) + ])) + }), + $rundis$elm_bootstrap$Bootstrap$Tab$item( + { + id: 'hero', + link: A2( + $rundis$elm_bootstrap$Bootstrap$Tab$link, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Held') + ])), + pane: A2( + $rundis$elm_bootstrap$Bootstrap$Tab$pane, + _List_fromArray( + [$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]), + _List_fromArray( + [ + $author$project$FightingTool$customHero(model) + ])) + }) + ]), + $rundis$elm_bootstrap$Bootstrap$Tab$config($author$project$Model$ModalTabMsg))) ])) ]), A3( @@ -11937,13 +11955,6 @@ var $author$project$FightingTool$body = function (model) { $author$project$FightingTool$viewAttackModal(model) ])); }; -var $rundis$elm_bootstrap$Bootstrap$Tab$Config = function (a) { - return {$: 'Config', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$config = function (toMsg) { - return $rundis$elm_bootstrap$Bootstrap$Tab$Config( - {attributes: _List_Nil, isPill: false, items: _List_Nil, layout: $elm$core$Maybe$Nothing, toMsg: toMsg, useHash: false, withAnimation: false}); -}; var $author$project$Model$ClearCharacterList = {$: 'ClearCharacterList'}; var $rundis$elm_bootstrap$Bootstrap$Grid$Column = function (a) { return {$: 'Column', a: a}; @@ -12817,7 +12828,42 @@ var $author$project$Model$ChangeIconText = function (a) { var $author$project$Model$ColorPickerMsg = function (a) { return {$: 'ColorPickerMsg', a: a}; }; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked = function (a) { + return {$: 'Checked', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked = function (isCheck) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked(isCheck); +}; var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Custom = {$: 'Custom'}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio = function (a) { + return {$: 'Radio', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced = F2( + function (options, label_) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio( + {label: label_, options: options}); + }); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label = function (a) { + return {$: 'Label', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$label = F2( + function (attributes, children) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label( + {attributes: attributes, children: children}); + }); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$create = F2( + function (options, label_) { + return A2( + $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced, + options, + A2( + $rundis$elm_bootstrap$Bootstrap$Form$Radio$label, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text(label_) + ]))); + }); var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createCustom = function (options) { return $rundis$elm_bootstrap$Bootstrap$Form$Radio$create( A2($elm$core$List$cons, $rundis$elm_bootstrap$Bootstrap$Form$Radio$Custom, options)); @@ -12836,103 +12882,285 @@ var $author$project$DungeonMap$getCharIcon = function (state) { return A5($author$project$Model$ObjectIcon, 0, '', '', '', $elm$core$Maybe$Nothing); } }; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id = function (a) { + return {$: 'Id', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$id = function (theId) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id(theId); +}; var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline = {$: 'Inline'}; var $rundis$elm_bootstrap$Bootstrap$Form$Radio$inline = $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline; var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map; var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; -var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); -var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'position', 'absolute'), - A2($elm$html$Html$Attributes$style, 'top', '1px'), - A2($elm$html$Html$Attributes$style, 'bottom', '1px'), - A2($elm$html$Html$Attributes$style, 'border', '1px solid #ddd'), - A2($elm$html$Html$Attributes$style, 'background-color', '#ffffff'), - A2($elm$html$Html$Attributes$style, 'width', '6px'), - A2($elm$html$Html$Attributes$style, 'pointer-events', 'none') - ]); -var $simonh1000$elm_colorpicker$ColorPicker$alphaMarker = function (alpha) { - var correction = 4; - var xVal = $elm$core$String$fromInt( - $elm$core$Basics$round((alpha * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction)); - return A2( - $elm$html$Html$div, - A2( - $elm$core$List$cons, - A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'), - $simonh1000$elm_colorpicker$ColorPicker$markerAttrs), - _List_Nil); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick = function (a) { + return {$: 'OnClick', a: a}; }; -var $simonh1000$elm_colorpicker$ColorPicker$NoOp = {$: 'NoOp'}; -var $simonh1000$elm_colorpicker$ColorPicker$bubblePreventer = A2( - $elm$html$Html$Events$stopPropagationOn, - 'click', - $elm$json$Json$Decode$succeed( - _Utils_Tuple2($simonh1000$elm_colorpicker$ColorPicker$NoOp, true))); -var $simonh1000$elm_colorpicker$ColorPicker$checkedBkgStyles = _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'background-size', '12px 12px'), - A2($elm$html$Html$Attributes$style, 'background-position', '0 0, 0 6px, 6px -6px, -6px 0px'), - A2($elm$html$Html$Attributes$style, 'background-image', 'linear-gradient(45deg, #808080 25%, transparent 25%), linear-gradient(-45deg, #808080 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #808080 75%), linear-gradient(-45deg, transparent 75%, #808080 75%)') - ]); -var $avh4$elm_color$Color$hsl = F3( - function (h, s, l) { - return A4($avh4$elm_color$Color$hsla, h, s, l, 1.0); - }); -var $simonh1000$elm_colorpicker$ColorPicker$hueMarker = function (lastHue) { - var correction = 4; - var xVal = $elm$core$String$fromInt( - $elm$core$Basics$round((lastHue * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction)); - return A2( - $elm$html$Html$div, - A2( - $elm$core$List$cons, - A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'), - $simonh1000$elm_colorpicker$ColorPicker$markerAttrs), - _List_Nil); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg); }; -var $simonh1000$elm_colorpicker$ColorPicker$HueSlider = {$: 'HueSlider'}; -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove = F2( - function (a, b) { - return {$: 'OnMouseMove', a: a, b: b}; - }); -var $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class'); -var $elm$svg$Svg$defs = $elm$svg$Svg$trustedNode('defs'); -var $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill'); -var $elm$svg$Svg$linearGradient = $elm$svg$Svg$trustedNode('linearGradient'); -var $elm$svg$Svg$Attributes$offset = _VirtualDom_attribute('offset'); -var $elm$svg$Svg$Attributes$display = _VirtualDom_attribute('display'); -var $simonh1000$elm_colorpicker$ColorPicker$sliderStyles = _List_fromArray( - [ - $elm$svg$Svg$Attributes$width( - $elm$core$String$fromInt($simonh1000$elm_colorpicker$ColorPicker$widgetWidth)), - $elm$svg$Svg$Attributes$height('100%'), - $elm$svg$Svg$Attributes$display('block') - ]); -var $elm$svg$Svg$stop = $elm$svg$Svg$trustedNode('stop'); -var $elm$svg$Svg$Attributes$stopColor = _VirtualDom_attribute('stop-color'); -var $elm$svg$Svg$Attributes$stopOpacity = _VirtualDom_attribute('stop-opacity'); -var $simonh1000$elm_colorpicker$ColorPicker$OnClick = F2( - function (a, b) { - return {$: 'OnClick', a: a, b: b}; - }); -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown = F2( - function (a, b) { - return {$: 'OnMouseDown', a: a, b: b}; - }); -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseUp = {$: 'OnMouseUp'}; -var $simonh1000$elm_colorpicker$ColorPicker$MouseInfo = F3( - function (x, y, mousePressed) { - return {mousePressed: mousePressed, x: x, y: y}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2( + function (opt, _v0) { + var radio_ = _v0.a; + var options = radio_.options; + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio( + _Utils_update( + radio_, + { + options: A2($elm$core$List$cons, opt, options) + })); }); -var $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo = A4( - $elm$json$Json$Decode$map3, - $simonh1000$elm_colorpicker$ColorPicker$MouseInfo, - A2($elm$json$Json$Decode$field, 'offsetX', $elm$json$Json$Decode$int), - A2($elm$json$Json$Decode$field, 'offsetY', $elm$json$Json$Decode$int), - A2( +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) { + return {$: 'Name', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$name = function (name_) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name(name_); +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier = F2( + function (modifier, options) { + switch (modifier.$) { + case 'Id': + var val = modifier.a; + return _Utils_update( + options, + { + id: $elm$core$Maybe$Just(val) + }); + case 'Checked': + var val = modifier.a; + return _Utils_update( + options, + {checked: val}); + case 'Name': + var val = modifier.a; + return _Utils_update( + options, + { + name: $elm$core$Maybe$Just(val) + }); + case 'Inline': + return _Utils_update( + options, + {inline: true}); + case 'OnClick': + var toMsg = modifier.a; + return _Utils_update( + options, + { + onClick: $elm$core$Maybe$Just(toMsg) + }); + case 'Custom': + return _Utils_update( + options, + {custom: true}); + case 'Disabled': + var val = modifier.a; + return _Utils_update( + options, + {disabled: val}); + case 'Validation': + var validation = modifier.a; + return _Utils_update( + options, + { + validation: $elm$core$Maybe$Just(validation) + }); + default: + var attrs_ = modifier.a; + return _Utils_update( + options, + { + attributes: _Utils_ap(options.attributes, attrs_) + }); + } + }); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions = {attributes: _List_Nil, checked: false, custom: false, disabled: false, id: $elm$core$Maybe$Nothing, inline: false, name: $elm$core$Maybe$Nothing, onClick: $elm$core$Maybe$Nothing, validation: $elm$core$Maybe$Nothing}; +var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor'); +var $elm$html$Html$Attributes$checked = $elm$html$Html$Attributes$boolProperty('checked'); +var $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name'); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes = function (options) { + return _Utils_ap( + _List_fromArray( + [ + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('form-check-input', !options.custom), + _Utils_Tuple2('custom-control-input', options.custom) + ])), + $elm$html$Html$Attributes$type_('radio'), + $elm$html$Html$Attributes$disabled(options.disabled), + $elm$html$Html$Attributes$checked(options.checked) + ]), + _Utils_ap( + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + A2($elm$core$Maybe$map, $elm$html$Html$Events$onClick, options.onClick), + A2($elm$core$Maybe$map, $elm$html$Html$Attributes$name, options.name), + A2($elm$core$Maybe$map, $elm$html$Html$Attributes$id, options.id) + ])), + options.attributes)); +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$view = function (_v0) { + var radio_ = _v0.a; + var opts = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier, $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions, radio_.options); + var _v1 = radio_.label; + var label_ = _v1.a; + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('form-check', !opts.custom), + _Utils_Tuple2('form-check-inline', (!opts.custom) && opts.inline), + _Utils_Tuple2('custom-control', opts.custom), + _Utils_Tuple2('custom-radio', opts.custom), + _Utils_Tuple2('custom-control-inline', opts.inline && opts.custom) + ])) + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$input, + $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes(opts), + _List_Nil), + A2( + $elm$html$Html$label, + _Utils_ap( + label_.attributes, + _Utils_ap( + _List_fromArray( + [ + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('form-check-label', !opts.custom), + _Utils_Tuple2('custom-control-label', opts.custom) + ])) + ]), + function () { + var _v2 = opts.id; + if (_v2.$ === 'Just') { + var v = _v2.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$for(v) + ]); + } else { + return _List_Nil; + } + }())), + label_.children) + ])); +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList = F2( + function (groupName, radios) { + return A2( + $elm$core$List$map, + A2( + $elm$core$Basics$composeL, + $rundis$elm_bootstrap$Bootstrap$Form$Radio$view, + $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption( + $rundis$elm_bootstrap$Bootstrap$Form$Radio$name(groupName))), + radios); + }); +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; +var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( + $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); +var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'position', 'absolute'), + A2($elm$html$Html$Attributes$style, 'top', '1px'), + A2($elm$html$Html$Attributes$style, 'bottom', '1px'), + A2($elm$html$Html$Attributes$style, 'border', '1px solid #ddd'), + A2($elm$html$Html$Attributes$style, 'background-color', '#ffffff'), + A2($elm$html$Html$Attributes$style, 'width', '6px'), + A2($elm$html$Html$Attributes$style, 'pointer-events', 'none') + ]); +var $simonh1000$elm_colorpicker$ColorPicker$alphaMarker = function (alpha) { + var correction = 4; + var xVal = $elm$core$String$fromInt( + $elm$core$Basics$round((alpha * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction)); + return A2( + $elm$html$Html$div, + A2( + $elm$core$List$cons, + A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'), + $simonh1000$elm_colorpicker$ColorPicker$markerAttrs), + _List_Nil); +}; +var $simonh1000$elm_colorpicker$ColorPicker$NoOp = {$: 'NoOp'}; +var $simonh1000$elm_colorpicker$ColorPicker$bubblePreventer = A2( + $elm$html$Html$Events$stopPropagationOn, + 'click', + $elm$json$Json$Decode$succeed( + _Utils_Tuple2($simonh1000$elm_colorpicker$ColorPicker$NoOp, true))); +var $simonh1000$elm_colorpicker$ColorPicker$checkedBkgStyles = _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'background-size', '12px 12px'), + A2($elm$html$Html$Attributes$style, 'background-position', '0 0, 0 6px, 6px -6px, -6px 0px'), + A2($elm$html$Html$Attributes$style, 'background-image', 'linear-gradient(45deg, #808080 25%, transparent 25%), linear-gradient(-45deg, #808080 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #808080 75%), linear-gradient(-45deg, transparent 75%, #808080 75%)') + ]); +var $avh4$elm_color$Color$hsl = F3( + function (h, s, l) { + return A4($avh4$elm_color$Color$hsla, h, s, l, 1.0); + }); +var $simonh1000$elm_colorpicker$ColorPicker$hueMarker = function (lastHue) { + var correction = 4; + var xVal = $elm$core$String$fromInt( + $elm$core$Basics$round((lastHue * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction)); + return A2( + $elm$html$Html$div, + A2( + $elm$core$List$cons, + A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'), + $simonh1000$elm_colorpicker$ColorPicker$markerAttrs), + _List_Nil); +}; +var $simonh1000$elm_colorpicker$ColorPicker$HueSlider = {$: 'HueSlider'}; +var $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove = F2( + function (a, b) { + return {$: 'OnMouseMove', a: a, b: b}; + }); +var $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class'); +var $elm$svg$Svg$defs = $elm$svg$Svg$trustedNode('defs'); +var $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill'); +var $elm$svg$Svg$linearGradient = $elm$svg$Svg$trustedNode('linearGradient'); +var $elm$svg$Svg$Attributes$offset = _VirtualDom_attribute('offset'); +var $elm$svg$Svg$Attributes$display = _VirtualDom_attribute('display'); +var $simonh1000$elm_colorpicker$ColorPicker$sliderStyles = _List_fromArray( + [ + $elm$svg$Svg$Attributes$width( + $elm$core$String$fromInt($simonh1000$elm_colorpicker$ColorPicker$widgetWidth)), + $elm$svg$Svg$Attributes$height('100%'), + $elm$svg$Svg$Attributes$display('block') + ]); +var $elm$svg$Svg$stop = $elm$svg$Svg$trustedNode('stop'); +var $elm$svg$Svg$Attributes$stopColor = _VirtualDom_attribute('stop-color'); +var $elm$svg$Svg$Attributes$stopOpacity = _VirtualDom_attribute('stop-opacity'); +var $simonh1000$elm_colorpicker$ColorPicker$OnClick = F2( + function (a, b) { + return {$: 'OnClick', a: a, b: b}; + }); +var $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown = F2( + function (a, b) { + return {$: 'OnMouseDown', a: a, b: b}; + }); +var $simonh1000$elm_colorpicker$ColorPicker$OnMouseUp = {$: 'OnMouseUp'}; +var $simonh1000$elm_colorpicker$ColorPicker$MouseInfo = F3( + function (x, y, mousePressed) { + return {mousePressed: mousePressed, x: x, y: y}; + }); +var $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo = A4( + $elm$json$Json$Decode$map3, + $simonh1000$elm_colorpicker$ColorPicker$MouseInfo, + A2($elm$json$Json$Decode$field, 'offsetX', $elm$json$Json$Decode$int), + A2($elm$json$Json$Decode$field, 'offsetY', $elm$json$Json$Decode$int), + A2( $elm$json$Json$Decode$map, $elm$core$Basics$neq(0), A2($elm$json$Json$Decode$field, 'buttons', $elm$json$Json$Decode$int))); @@ -14437,310 +14665,6 @@ var $author$project$FightingTool$header = A2( ])) ])) ])); -var $rundis$elm_bootstrap$Bootstrap$Tab$Item = function (a) { - return {$: 'Item', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$item = function (rec) { - return $rundis$elm_bootstrap$Bootstrap$Tab$Item( - {id: rec.id, link: rec.link, pane: rec.pane}); -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$items = F2( - function (items_, _v0) { - var configRec = _v0.a; - return $rundis$elm_bootstrap$Bootstrap$Tab$Config( - _Utils_update( - configRec, - {items: items_})); - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$Link = function (a) { - return {$: 'Link', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$link = F2( - function (attributes, children) { - return $rundis$elm_bootstrap$Bootstrap$Tab$Link( - {attributes: attributes, children: children}); - }); -var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3'); -var $rundis$elm_bootstrap$Bootstrap$Tab$Pane = function (a) { - return {$: 'Pane', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$pane = F2( - function (attributes, children) { - return $rundis$elm_bootstrap$Bootstrap$Tab$Pane( - {attributes: attributes, children: children}); - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem = F2( - function (_v0, configRec) { - var activeTab = _v0.a.activeTab; - if (activeTab.$ === 'Nothing') { - return $elm$core$List$head(configRec.items); - } else { - var id = activeTab.a; - return function (found) { - if (found.$ === 'Just') { - var f = found.a; - return $elm$core$Maybe$Just(f); - } else { - return $elm$core$List$head(configRec.items); - } - }( - $elm$core$List$head( - A2( - $elm$core$List$filter, - function (_v2) { - var item_ = _v2.a; - return _Utils_eq(item_.id, id); - }, - configRec.items))); - } - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$Hidden = {$: 'Hidden'}; -var $elm$html$Html$li = _VirtualDom_node('li'); -var $rundis$elm_bootstrap$Bootstrap$Tab$Start = {$: 'Start'}; -var $rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition = F2( - function (withAnimation_, visibility) { - var _v0 = _Utils_Tuple2(withAnimation_, visibility); - _v0$2: - while (true) { - if (_v0.a) { - switch (_v0.b.$) { - case 'Hidden': - var _v1 = _v0.b; - return $rundis$elm_bootstrap$Bootstrap$Tab$Start; - case 'Start': - var _v2 = _v0.b; - return $rundis$elm_bootstrap$Bootstrap$Tab$Showing; - default: - break _v0$2; - } - } else { - break _v0$2; - } - } - return $rundis$elm_bootstrap$Bootstrap$Tab$Showing; - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$renderLink = F4( - function (id, active, _v0, configRec) { - var attributes = _v0.a.attributes; - var children = _v0.a.children; - var commonClasses = _List_fromArray( - [ - _Utils_Tuple2('nav-link', true), - _Utils_Tuple2('active', active) - ]); - var clickHandler = $elm$html$Html$Events$onClick( - configRec.toMsg( - $rundis$elm_bootstrap$Bootstrap$Tab$State( - { - activeTab: $elm$core$Maybe$Just(id), - visibility: A2($rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition, configRec.withAnimation && (!active), $rundis$elm_bootstrap$Bootstrap$Tab$Hidden) - }))); - var linkItem = configRec.useHash ? A2( - $elm$html$Html$a, - _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList(commonClasses), - clickHandler, - $elm$html$Html$Attributes$href('#' + id) - ]), - attributes), - children) : A2( - $elm$html$Html$button, - _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( - _Utils_ap( - commonClasses, - _List_fromArray( - [ - _Utils_Tuple2('btn', true), - _Utils_Tuple2('btn-link', true) - ]))), - clickHandler - ]), - attributes), - children); - return A2( - $elm$html$Html$li, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('nav-item') - ]), - _List_fromArray( - [linkItem])); - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles = function (opacity) { - return _List_fromArray( - [ - A2( - $elm$html$Html$Attributes$style, - 'opacity', - $elm$core$String$fromInt(opacity)), - A2($elm$html$Html$Attributes$style, '-webkit-transition', 'opacity 0.15s linear'), - A2($elm$html$Html$Attributes$style, '-o-transition', 'opacity 0.15s linear'), - A2($elm$html$Html$Attributes$style, 'transition', 'opacity 0.15s linear') - ]); -}; -var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2( - function (_v0, configRec) { - var visibility = _v0.a.visibility; - switch (visibility.$) { - case 'Hidden': - return _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'display', 'none') - ]); - case 'Start': - return _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'display', 'block'), - A2($elm$html$Html$Attributes$style, 'opacity', '0') - ]); - default: - return _Utils_ap( - _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'display', 'block') - ]), - $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1)); - } - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( - function (id, active, _v0, state, configRec) { - var attributes = _v0.a.attributes; - var children = _v0.a.children; - var displayAttrs = active ? A2($rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes, state, configRec) : _List_fromArray( - [ - A2($elm$html$Html$Attributes$style, 'display', 'none') - ]); - return A2( - $elm$html$Html$div, - _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$id(id), - $elm$html$Html$Attributes$class('tab-pane') - ]), - _Utils_ap(displayAttrs, attributes)), - children); - }); -var $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes = function (configRec) { - return _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('nav', true), - _Utils_Tuple2('nav-tabs', !configRec.isPill), - _Utils_Tuple2('nav-pills', configRec.isPill) - ])) - ]), - _Utils_ap( - function () { - var _v0 = configRec.layout; - if (_v0.$ === 'Just') { - switch (_v0.a.$) { - case 'Justified': - var _v1 = _v0.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class('nav-justified') - ]); - case 'Fill': - var _v2 = _v0.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class('nav-fill') - ]); - case 'Center': - var _v3 = _v0.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class('justify-content-center') - ]); - default: - var _v4 = _v0.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class('justify-content-end') - ]); - } - } else { - return _List_Nil; - } - }(), - configRec.attributes)); -}; -var $elm$html$Html$ul = _VirtualDom_node('ul'); -var $rundis$elm_bootstrap$Bootstrap$Tab$view = F2( - function (state, _v0) { - var configRec = _v0.a; - var _v1 = A2($rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem, state, configRec); - if (_v1.$ === 'Nothing') { - return A2( - $elm$html$Html$div, - _List_Nil, - _List_fromArray( - [ - A2( - $elm$html$Html$ul, - $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec), - _List_Nil), - A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('tab-content') - ]), - _List_Nil) - ])); - } else { - var currentItem = _v1.a.a; - return A2( - $elm$html$Html$div, - _List_Nil, - _List_fromArray( - [ - A2( - $elm$html$Html$ul, - $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec), - A2( - $elm$core$List$map, - function (_v2) { - var item_ = _v2.a; - return A4( - $rundis$elm_bootstrap$Bootstrap$Tab$renderLink, - item_.id, - _Utils_eq(item_.id, currentItem.id), - item_.link, - configRec); - }, - configRec.items)), - A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('tab-content') - ]), - A2( - $elm$core$List$map, - function (_v3) { - var item_ = _v3.a; - return A5( - $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane, - item_.id, - _Utils_eq(item_.id, currentItem.id), - item_.pane, - state, - configRec); - }, - configRec.items)) - ])); - } - }); var $author$project$Main$view = function (model) { return A2( $elm$html$Html$div, diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 02ce822..f9c3b1c 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -16,6 +16,8 @@ import Bootstrap.Form as Form import Bootstrap.Form.Radio as Radio import Bootstrap.Form.Fieldset as Fieldset import Bootstrap.Form.Input as Input +import Bootstrap.Tab as Tab +import Bootstrap.Utilities.Spacing as Spacing import Array import Array.Extra as Array import Random @@ -132,55 +134,38 @@ viewCustomEnemyModal model = just works the way it is. It will probably be put in a modal in the future. -} - let - enemybool = - case model.enemyHero of - "Enemy" -> True - _ -> False - herobool = - case model.enemyHero of - "Hero" -> True - _ -> False - - - in - Modal.config (CloseModal CustomEnemy) - |> Modal.hideOnBackdropClick True - |> Modal.header [class "colored-header-footer"] - [ Html.h3 [][text "Charakter hinzufügen"] - ] - |> Modal.body [ class "body"] [ - div [] - [ dropdownMenu model - , Html.br [] [] - , Fieldset.config - |> Fieldset.asGroup - |> Fieldset.legend [] [ text "Benutzerdefiniert: " ] - |> Fieldset.children - ( Radio.radioList "EnemyHero" - [ Radio.create - [ Radio.id "enemy" - , Radio.onClick <| SwitchEnemyHero "Enemy" - , Radio.checked enemybool - ] "Gegner" - , Radio.create - [ Radio.id "hero" - , Radio.onClick <| SwitchEnemyHero "Hero" - , Radio.checked herobool - ] "Held" - ] - ) - |> Fieldset.view - , if model.enemyHero == "Hero" - then customHero model - else if model.enemyHero == "Enemy" - then customEnemy model - else p [][] + Modal.config (CloseModal CustomEnemy) + |> Modal.hideOnBackdropClick True + |> Modal.header [class "colored-header-footer"] + [ Html.h3 [][text "Charakter hinzufügen"] ] + |> Modal.body [ class "body"] + [ div [] + [ Html.h5 [][text "Vordefiniert"] + , dropdownMenu model + , Html.br [] [] + , Html.h5 [][text "Benutzerdefiniert"] + , Tab.config ModalTabMsg + |> Tab.items + [ Tab.item + { id = "enemy" + , link = Tab.link [] [ text "Gegner" ] + , pane = + Tab.pane [ Spacing.mt3 ] + [ customEnemy model ] + } + , Tab.item + { id = "hero" + , link = Tab.link [] [ text "Held" ] + , pane = + Tab.pane [ Spacing.mt3 ] + [ customHero model ] + } ] + |> Tab.view model.modalTabState ] - |> Modal.footer [class "colored-header-footer"] [] - |> Modal.view model.showCustomEnemy - + ] + |> Modal.footer [class "colored-header-footer"] [] + |> Modal.view model.showCustomEnemy parseEnemy : Json.Decode.Decoder Character parseEnemy = @@ -305,7 +290,7 @@ dropdownMenu model = { options = [ Dropdown.dropRight ] , toggleMsg = MyDrop1Msg , toggleButton = - Dropdown.toggle [ Button.primary ] [ text "Gegner" ] + Dropdown.toggle [ Button.primary ] [ text "Monster" ] , items = -- give a name to the LoadEnemy method and it will pull up the corresponding JSON [ Dropdown.header [ text "Kulturschaffender"] diff --git a/src/Main.elm b/src/Main.elm index 97f512f..ef87084 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -144,6 +144,11 @@ update msg model = , Cmd.none ) + ModalTabMsg state -> + ( { model | modalTabState = state } + , Cmd.none + ) + AddCharacterIcon addCharacterIconMsg -> case addCharacterIconMsg of MouseClick characterIcon -> diff --git a/src/Model.elm b/src/Model.elm index 0e2d5e7..f380545 100644 --- a/src/Model.elm +++ b/src/Model.elm @@ -25,6 +25,7 @@ type alias Model = , dieFace : Int , maxFace : Int , tabState : Tab.State + , modalTabState : Tab.State , characterList : List CharacterIcon , objectIconList : List CharacterIcon , addCharacterIcon : AddCharacterIconState @@ -58,6 +59,7 @@ init _ = , dieFace = 0 , maxFace = 6 , tabState = Tab.initialState + , modalTabState = Tab.initialState , characterList = [] , objectIconList = [] , addCharacterIcon = DrawingInactive @@ -98,6 +100,7 @@ type Msg | ChangeDamage String-- Will eventually be useless after refactor, I just have to get a better feel for let and in | DoNothing -- does nothing (yes, this IS necessary) | TabMsg Tab.State + | ModalTabMsg Tab.State | AddCharacterIcon AddCharacterIconMsg | ClearCharacterList | DiceAndSlice String -- GitLab From 39f3b5877c4ee3c424dbd290a2d601b3b78ee54e Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sun, 12 Jul 2020 11:39:48 +0200 Subject: [PATCH 14/21] Auto stash before merge of "style" and "origin/style" --- index.html | 26 +- out/main.js | 350 ++++----------------------- res/{Stysheet.css => Stylesheet.css} | 31 ++- src/DungeonMap.elm | 94 ++----- src/FightingTool.elm | 24 +- 5 files changed, 94 insertions(+), 431 deletions(-) rename res/{Stysheet.css => Stylesheet.css} (83%) diff --git a/index.html b/index.html index 51cc518..ecd9401 100644 --- a/index.html +++ b/index.html @@ -2,36 +2,14 @@ <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <!-- <link rel="stylesheet" href="src/node_modules/bulma/css/bulma.css"> --> - <link rel="stylesheet" href="res/Stysheet.css"> <link rel="stylesheet" href="src/node_modules/animate.css/animate.css"> <link rel="stylesheet" href="src/node_modules/bootstrap/dist/css/bootstrap.css" integrity="" crossorigin="anonymous"> <link href="https://fonts.googleapis.com/css2?family=Fondamento&display=swap" rel="stylesheet"> - <link href="https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500&display=swap" rel="stylesheet"> + <link rel="stylesheet" href="res/Stylesheet.css"> <title>Main</title> <script src="out/main.js"></script> <style> - .MonsterIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:30px; - height:30px; - } - .PlayerIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:25px; - height:25px; - } - .ObjectIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:25px; - height:25px; - } </style> </head> diff --git a/out/main.js b/out/main.js index bc772a2..274f7b0 100644 --- a/out/main.js +++ b/out/main.js @@ -9645,12 +9645,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstra var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'}; var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light)); -var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { - return {$: 'RowAttr', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { - return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); -}; var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) { return {$: 'THead', a: a}; }; @@ -10532,7 +10526,7 @@ var $author$project$FightingTool$viewAttackModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$footer, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_fromArray( [ @@ -10587,7 +10581,7 @@ var $author$project$FightingTool$viewAttackModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_fromArray( [ @@ -11670,6 +11664,7 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2( ]), $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1)); } +<<<<<<< Updated upstream }); var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( function (id, active, _v0, state, configRec) { @@ -11682,6 +11677,21 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( return A2( $elm$html$Html$div, _Utils_ap( +======= + }(); + return A2( + $rundis$elm_bootstrap$Bootstrap$Modal$view, + model.showCustomEnemy, + A3( + $rundis$elm_bootstrap$Bootstrap$Modal$footer, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('mediumCopper') + ]), + _List_Nil, + A3( + $rundis$elm_bootstrap$Bootstrap$Modal$body, +>>>>>>> Stashed changes _List_fromArray( [ $elm$html$Html$Attributes$id(id), @@ -11813,7 +11823,7 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$footer, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_Nil, A3( @@ -11898,7 +11908,7 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_fromArray( [ @@ -11940,11 +11950,7 @@ var $author$project$FightingTool$body = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$tr, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( - $elm$html$Html$Attributes$class('tr')) - ]), + _List_Nil, _List_fromArray( [ A2( @@ -11984,7 +11990,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -11997,7 +12003,7 @@ var $author$project$FightingTool$body = function (model) { $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( $elm$html$Html$Attributes$colspan(2)), $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12008,7 +12014,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12019,7 +12025,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12030,7 +12036,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12041,7 +12047,7 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12074,8 +12080,6 @@ var $author$project$Model$AddCharacterIcon = function (a) { var $author$project$Model$MouseDraw = function (a) { return {$: 'MouseDraw', a: a}; }; -<<<<<<< HEAD -======= var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { return {$: 'RowAttr', a: a}; }; @@ -12091,7 +12095,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$RoledRow = function (a) { var $rundis$elm_bootstrap$Bootstrap$Internal$Role$Secondary = {$: 'Secondary'}; var $rundis$elm_bootstrap$Bootstrap$Table$rowSecondary = $rundis$elm_bootstrap$Bootstrap$Table$RoledRow( $rundis$elm_bootstrap$Bootstrap$Table$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Role$Secondary)); ->>>>>>> dev var $author$project$DungeonMap$stopBubbling = function (msg) { return A2( $elm$html$Html$Events$stopPropagationOn, @@ -12201,8 +12204,6 @@ var $rundis$elm_bootstrap$Bootstrap$Table$Responsive = function (a) { return {$: 'Responsive', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Table$responsive = $rundis$elm_bootstrap$Bootstrap$Table$Responsive($elm$core$Maybe$Nothing); -var $rundis$elm_bootstrap$Bootstrap$Table$Striped = {$: 'Striped'}; -var $rundis$elm_bootstrap$Bootstrap$Table$striped = $rundis$elm_bootstrap$Bootstrap$Table$Striped; var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { return A2( $elm$html$Html$div, @@ -12492,275 +12493,12 @@ var $author$project$DungeonMap$getColor = function (object) { var n = object.d; return $elm$core$Maybe$Nothing; default: -<<<<<<< HEAD - return ''; - } -}; -var $elm$svg$Svg$Attributes$id = _VirtualDom_attribute('id'); -var $elm$svg$Svg$Attributes$r = _VirtualDom_attribute('r'); -var $elm$svg$Svg$Attributes$style = _VirtualDom_attribute('style'); -var $elm$svg$Svg$text = $elm$virtual_dom$VirtualDom$text; -var $elm$svg$Svg$Attributes$textAnchor = _VirtualDom_attribute('text-anchor'); -var $elm$svg$Svg$text_ = $elm$svg$Svg$trustedNode('text'); -var $elm$svg$Svg$Attributes$title = _VirtualDom_attribute('title'); -var $elm$core$String$toFloat = _String_toFloat; -var $elm$svg$Svg$Attributes$width = _VirtualDom_attribute('width'); -var $elm$svg$Svg$Attributes$x = _VirtualDom_attribute('x'); -var $elm$svg$Svg$Attributes$xlinkHref = function (value) { - return A3( - _VirtualDom_attributeNS, - 'http://www.w3.org/1999/xlink', - 'xlink:href', - _VirtualDom_noJavaScriptUri(value)); -}; -var $elm$svg$Svg$Attributes$y = _VirtualDom_attribute('y'); -var $author$project$DungeonMap$placeIcon = F5( - function (iconType, id, x, y, color) { - switch (iconType) { - case 'monster': - return _List_fromArray( - [ - A2( - $elm$svg$Svg$image, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$width('50'), - $elm$svg$Svg$Attributes$height('50'), - $elm$svg$Svg$Attributes$x( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(x)) - 25.5)), - $elm$svg$Svg$Attributes$y( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(y)) - 24.5)), - $elm$svg$Svg$Attributes$title('MonsterIcon'), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/Enemy.svg') - ]), - _List_Nil), - A2( - $elm$svg$Svg$text_, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$textAnchor('middle'), - $elm$svg$Svg$Attributes$x( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(x)))), - $elm$svg$Svg$Attributes$y( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(y)))), - $elm$svg$Svg$Attributes$dominantBaseline('middle') - ]), - _List_fromArray( - [ - $elm$svg$Svg$text( - $elm$core$String$fromInt(id)) - ])) - ]); - case 'player': - return _List_fromArray( - [ - A2( - $elm$svg$Svg$image, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$width('45'), - $elm$svg$Svg$Attributes$height('45'), - $elm$svg$Svg$Attributes$x( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(x)) - 22.5)), - $elm$svg$Svg$Attributes$y( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(y)) - 22)), - $elm$svg$Svg$Attributes$title('ObjectIcon'), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/Hero.svg') - ]), - _List_Nil), - A2( - $elm$svg$Svg$text_, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$textAnchor('middle'), - $elm$svg$Svg$Attributes$x( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(x)))), - $elm$svg$Svg$Attributes$y( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(y)))), - $elm$svg$Svg$Attributes$dominantBaseline('middle') - ]), - _List_fromArray( - [ - $elm$svg$Svg$text( - $elm$core$String$fromInt(id)) - ])) - ]); - case 'object': - var _v1 = $author$project$DungeonMap$getIconPath(id); - if (_v1 === 'custom') { - return _List_fromArray( - [ - A2( - $elm$svg$Svg$circle, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$id( - $elm$core$String$fromInt(id)), - $elm$svg$Svg$Attributes$cx(x), - $elm$svg$Svg$Attributes$cy(y), - $elm$svg$Svg$Attributes$r('10'), - $elm$svg$Svg$Attributes$style( - $author$project$DungeonMap$buildCustomObjectIconStyle(color)) - ]), - _List_Nil) - ]); - } else { - return _List_fromArray( - [ - A2( - $elm$svg$Svg$image, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$width('25'), - $elm$svg$Svg$Attributes$height('25'), - $elm$svg$Svg$Attributes$x( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(x)) - 11.5)), - $elm$svg$Svg$Attributes$y( - $elm$core$String$fromFloat( - A2( - $elm$core$Maybe$withDefault, - 0, - $elm$core$String$toFloat(y)) - 11.5)), - $elm$svg$Svg$Attributes$title('ObjectIcon'), - $elm$svg$Svg$Attributes$xlinkHref( - $author$project$DungeonMap$getIconPath(id)) - ]), - _List_Nil) - ]); - } - default: - return _List_Nil; - } - }); -var $elm$svg$Svg$rect = $elm$svg$Svg$trustedNode('rect'); -var $author$project$DungeonMap$newIconsView = function (addCharacterIcon) { - if (addCharacterIcon.$ === 'DrawIcon') { - var characterIcon = addCharacterIcon.a; - switch (characterIcon.$) { - case 'ObjectIcon': - var i = characterIcon.a; - var x = characterIcon.b; - var y = characterIcon.c; - var t = characterIcon.d; - var c = characterIcon.e; - return _List_Nil; - case 'PlayerIcon': - var i = characterIcon.a; - var x = characterIcon.b; - var y = characterIcon.c; - return _Utils_ap( - A5($author$project$DungeonMap$placeIcon, 'player', i, x, y, $elm$core$Maybe$Nothing), - _List_fromArray( - [ - A2( - $elm$svg$Svg$rect, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$width('800'), - $elm$svg$Svg$Attributes$height('600'), - $elm$svg$Svg$Attributes$x('0'), - $elm$svg$Svg$Attributes$y('0'), - $elm$svg$Svg$Attributes$style('fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;stroke-opacity:0.9') - ]), - _List_Nil) - ])); - default: - var i = characterIcon.a; - var x = characterIcon.b; - var y = characterIcon.c; - return _Utils_ap( - A5($author$project$DungeonMap$placeIcon, 'monster', i, x, y, $elm$core$Maybe$Nothing), - _List_fromArray( - [ - A2( - $elm$svg$Svg$rect, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$width('800'), - $elm$svg$Svg$Attributes$height('600'), - $elm$svg$Svg$Attributes$x('0'), - $elm$svg$Svg$Attributes$y('0'), - $elm$svg$Svg$Attributes$style('fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;stroke-opacity:0.9') - ]), - _List_Nil) - ])); - } - } else { - return _List_Nil; - } -}; -var $rundis$elm_bootstrap$Bootstrap$Button$onClick = function (message) { - return $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - A2( - $elm$html$Html$Events$preventDefaultOn, - 'click', - $elm$json$Json$Decode$succeed( - _Utils_Tuple2(message, true))) - ])); -}; -var $elm$svg$Svg$svg = $elm$svg$Svg$trustedNode('svg'); -var $author$project$DungeonMap$getColor = function (object) { - switch (object.$) { - case 'MonsterIcon': - var i = object.a; - var x = object.b; - var y = object.c; - return $elm$core$Maybe$Nothing; - case 'PlayerIcon': - var i = object.a; - var x = object.b; - var y = object.c; - return $elm$core$Maybe$Nothing; - default: -======= ->>>>>>> dev var i = object.a; var x = object.b; var y = object.c; var t = object.d; var c = object.e; -<<<<<<< HEAD -======= var ident = object.f; ->>>>>>> dev return c; } }; @@ -12903,7 +12641,9 @@ var $elm$svg$Svg$Attributes$style = _VirtualDom_attribute('style'); var $elm$svg$Svg$text = $elm$virtual_dom$VirtualDom$text; var $elm$svg$Svg$Attributes$textAnchor = _VirtualDom_attribute('text-anchor'); var $elm$svg$Svg$text_ = $elm$svg$Svg$trustedNode('text'); +var $elm$svg$Svg$Attributes$title = _VirtualDom_attribute('title'); var $elm$core$String$toFloat = _String_toFloat; +var $elm$svg$Svg$Attributes$width = _VirtualDom_attribute('width'); var $elm$svg$Svg$Attributes$x = _VirtualDom_attribute('x'); var $elm$svg$Svg$Attributes$xlinkHref = function (value) { return A3( @@ -12952,13 +12692,13 @@ var $author$project$DungeonMap$placeIcon = function (s) { A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 3)), + $elm$core$String$toFloat(x)))), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 0.5)), + $elm$core$String$toFloat(y)))), $elm$svg$Svg$Attributes$dominantBaseline('middle') ]), _List_fromArray( @@ -12970,21 +12710,22 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$image, _List_fromArray( [ - $elm$svg$Svg$Attributes$style('width:30px;height:30px;'), + $elm$svg$Svg$Attributes$width('50'), + $elm$svg$Svg$Attributes$height('50'), $elm$svg$Svg$Attributes$x( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 17.5)), + $elm$core$String$toFloat(x)) - 25.5)), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 17.5)), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/enemy.png'), - $elm$svg$Svg$Attributes$class('MonsterIcon'), + $elm$core$String$toFloat(y)) - 24.5)), + $elm$svg$Svg$Attributes$title('MonsterIcon'), + $elm$svg$Svg$Attributes$xlinkHref('res/icons/Enemy.svg'), $elm$svg$Svg$Events$onMouseOver( A2($author$project$Model$HighlightTableRow, id, text)), $elm$svg$Svg$Events$onMouseOut( @@ -13007,13 +12748,13 @@ var $author$project$DungeonMap$placeIcon = function (s) { A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) + 1)), + $elm$core$String$toFloat(x)))), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) + 2.5)), + $elm$core$String$toFloat(y)))), $elm$svg$Svg$Attributes$dominantBaseline('middle') ]), _List_fromArray( @@ -13025,21 +12766,22 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$image, _List_fromArray( [ - $elm$svg$Svg$Attributes$style('width:25px;height:25px;'), + $elm$svg$Svg$Attributes$width('45'), + $elm$svg$Svg$Attributes$height('45'), $elm$svg$Svg$Attributes$x( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(x)) - 11.5)), + $elm$core$String$toFloat(x)) - 22.5)), $elm$svg$Svg$Attributes$y( $elm$core$String$fromFloat( A2( $elm$core$Maybe$withDefault, 0, - $elm$core$String$toFloat(y)) - 11.5)), - $elm$svg$Svg$Attributes$xlinkHref('res/icons/hero.png'), - $elm$svg$Svg$Attributes$class('PlayerIcon'), + $elm$core$String$toFloat(y)) - 22)), + $elm$svg$Svg$Attributes$title('ObjectIcon'), + $elm$svg$Svg$Attributes$xlinkHref('res/icons/Hero.svg'), $elm$svg$Svg$Events$onMouseOver( A2($author$project$Model$HighlightTableRow, id, text)), $elm$svg$Svg$Events$onMouseOut( @@ -13113,7 +12855,6 @@ var $author$project$DungeonMap$placeIcon = function (s) { } }; var $elm$svg$Svg$rect = $elm$svg$Svg$trustedNode('rect'); -var $elm$svg$Svg$Attributes$width = _VirtualDom_attribute('width'); var $author$project$DungeonMap$newIconsView = function (addCharacterIcon) { if (addCharacterIcon.$ === 'DrawIcon') { var characterIcon = addCharacterIcon.a; @@ -13195,7 +12936,6 @@ var $author$project$DungeonMap$svgIconList = function (model) { $author$project$DungeonMap$placeIcon, _Utils_ap(model.characterList, model.objectIconList))); }; -var $elm$svg$Svg$Attributes$title = _VirtualDom_attribute('title'); var $elm$svg$Svg$Attributes$version = _VirtualDom_attribute('version'); var $elm$svg$Svg$Attributes$viewBox = _VirtualDom_attribute('viewBox'); var $author$project$DungeonMap$dungeonMap_Svg = function (model) { diff --git a/res/Stysheet.css b/res/Stylesheet.css similarity index 83% rename from res/Stysheet.css rename to res/Stylesheet.css index 1b8eecd..1e4614f 100644 --- a/res/Stysheet.css +++ b/res/Stylesheet.css @@ -30,12 +30,7 @@ html { .body { background-color: #faf2eb; - max-width: 100%; -} - -.colored-header-footer{ - background-color: #e4be9b; -} +} .textFont { font-family: 'Alegreya', serif; @@ -53,18 +48,20 @@ html { border-left-style: double; border-width: 5px; height: 75%; - width: 100%; } -.th { +.mediumCopper { background-color: #e4be9b } -.tr { - background-color: #faf2eb; +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + background-color: #e4be9b; + border-color: #dee2e6 #dee2e6 #fff; } tr:nth-child(even) {background-color: white;} +tr:nth-child(odd) {background-color: #faf2eb;} .metalButton { background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% ); @@ -95,16 +92,26 @@ tr:nth-child(even) {background-color: white;} fill-opacity:0; } +.MonsterIcon:hover { + fill: grey-darker; + opacity:0.5; + fill-opacity:0.5; + width:30px; + height:30px; +} .PlayerIcon:hover { fill: grey-darker; opacity:0.5; fill-opacity:0.5; + width:25px; + height:25px; } - -.MonsterIcon:hover { +.ObjectIcon:hover { fill: grey-darker; opacity:0.5; fill-opacity:0.5; + width:25px; + height:25px; } .aboutText { diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 29f952e..4f97d60 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -183,17 +183,18 @@ placeIcon s = case iconType of "monster" -> [ Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 3)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 0.5)) + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) , SvgAtt.dominantBaseline "middle" ] [ Svg.text (String.fromInt id) ] , Svg.image - [ SvgAtt.style "width:30px;height:30px;" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 17.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 17.5)) - , SvgAtt.xlinkHref ("res/icons/enemy.png") - , SvgAtt.class "MonsterIcon" + [ SvgAtt.width "50" + , SvgAtt.height "50" + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 25.5)) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 24.5)) + , SvgAtt.title "MonsterIcon" + , SvgAtt.xlinkHref "res/icons/Enemy.svg" , Svg.Events.onMouseOver (HighlightTableRow id text) , Svg.Events.onMouseOut (HighlightTableRow 0 "Beschreibung") , Svg.Events.onClick (DeleteIcon iconType id) @@ -202,17 +203,18 @@ placeIcon s = "player" -> [ Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) + 1)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) + 2.5)) + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) , SvgAtt.dominantBaseline "middle" ] [ Svg.text (String.fromInt id) ] , Svg.image - [ SvgAtt.style "width:25px;height:25px;" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 11.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 11.5)) - , SvgAtt.xlinkHref ("res/icons/hero.png") - , SvgAtt.class "PlayerIcon" + [ SvgAtt.width "45" + , SvgAtt.height "45" + , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 22.5)) + , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 22)) + , SvgAtt.title "ObjectIcon" + , SvgAtt.xlinkHref "res/icons/Hero.svg" , Svg.Events.onMouseOver (HighlightTableRow id text) , Svg.Events.onMouseOut (HighlightTableRow 0 "Beschreibung") , Svg.Events.onClick (DeleteIcon iconType id) @@ -321,70 +323,6 @@ getObjectText object = ObjectIcon i x y t c ident -> t - -placeIcon : String -> Int -> String -> String -> Maybe Color.Color -> List (Svg.Svg Msg) -placeIcon iconType id x y color = - case iconType of - "monster" -> - [ Svg.image - [ SvgAtt.width "50" - , SvgAtt.height "50" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 25.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 24.5)) - , SvgAtt.title "MonsterIcon" - , SvgAtt.xlinkHref "res/icons/Enemy.svg" - ] [] - , Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) - , SvgAtt.dominantBaseline "middle" - ] - [ Svg.text (String.fromInt id) ] - ] - - "player" -> - [ Svg.image - [ SvgAtt.width "45" - , SvgAtt.height "45" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 22.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 22)) - , SvgAtt.title "ObjectIcon" - , SvgAtt.xlinkHref "res/icons/Hero.svg" - ] [] - , Svg.text_ [ SvgAtt.textAnchor "middle" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x))) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y))) - , SvgAtt.dominantBaseline "middle" - ] - [ Svg.text (String.fromInt id) ] - ] - - "object" -> - case getIconPath id of - "custom" -> [ Svg.circle - [ SvgAtt.id (String.fromInt id) - , SvgAtt.cx x - , SvgAtt.cy y - , SvgAtt.r "10" - , SvgAtt.style (buildCustomObjectIconStyle color) - ] - [] - ] - - - _ -> [ Svg.image - [ SvgAtt.width "25" - , SvgAtt.height "25" - , SvgAtt.x (String.fromFloat (Maybe.withDefault 0 (String.toFloat x) - 11.5)) - , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 11.5)) - , SvgAtt.title "ObjectIcon" - , SvgAtt.xlinkHref (getIconPath id) - ] [] - ] - - _ -> - [] - buildCustomObjectIconStyle : Maybe Color.Color -> String buildCustomObjectIconStyle color = "stroke:black;stroke-width:4;fill:" ++ (Color.toCssString (Maybe.withDefault Color.black color)) diff --git a/src/FightingTool.elm b/src/FightingTool.elm index f9c3b1c..81ee582 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -33,17 +33,17 @@ body model = [ Table.table { options = [Table.hover ] , thead = Table.simpleThead - [ Table.th [Table.cellAttr <| class "th"] [ text "ID" ] - , Table.th [ Table.cellAttr <| Attr.colspan 2 , Table.cellAttr <| class "th"] [ text "Name" ] - , Table.th [Table.cellAttr <| class "th"] [ text "RS" ] - , Table.th [Table.cellAttr <| class "th"] [ text "LeP"] - , Table.th [Table.cellAttr <| class "th"] [ text " "] - , Table.th [Table.cellAttr <| class "th"] [ text " "] + [ Table.th [Table.cellAttr <| class "mediumCopper"] [ text "ID" ] + , Table.th [Table.cellAttr <| Attr.colspan 2 , Table.cellAttr <| class "mediumCopper"] [ text "Name" ] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ text "RS" ] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ text "LeP"] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ text " "] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ text " "] ] , tbody = Table.tbody [] (displayCharacters model.enemy ++ - [Table.tr [Table.rowAttr <| class "tr"] + [Table.tr [] [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen [ Button.button [ Button.light @@ -99,7 +99,7 @@ viewAttackModal model = div [] [ Modal.config (CloseModal AttackModal) |> Modal.hideOnBackdropClick True - |> Modal.header [class "colored-header-footer"] + |> Modal.header [class "mediumCopper"] [ Html.h3 [][text "Angriff"] ] |> Modal.body [class "body"] @@ -117,7 +117,7 @@ viewAttackModal model = , Input.onInput ChangeDamage ] ] - |> Modal.footer [class "colored-header-footer"] + |> Modal.footer [class "mediumCopper"] [ Html.button [ class "metalButton" , onClick <| attack model model.characterId model.damage @@ -136,7 +136,7 @@ viewCustomEnemyModal model = -} Modal.config (CloseModal CustomEnemy) |> Modal.hideOnBackdropClick True - |> Modal.header [class "colored-header-footer"] + |> Modal.header [class "mediumCopper"] [ Html.h3 [][text "Charakter hinzufügen"] ] |> Modal.body [ class "body"] [ div [] @@ -164,8 +164,8 @@ viewCustomEnemyModal model = |> Tab.view model.modalTabState ] ] - |> Modal.footer [class "colored-header-footer"] [] - |> Modal.view model.showCustomEnemy + |> Modal.footer [class "mediumCopper"] [] + |> Modal.view model.showCustomEnemy parseEnemy : Json.Decode.Decoder Character parseEnemy = -- GitLab From 6416e6090f29d2aa8c208aac595dbecc765ea81b Mon Sep 17 00:00:00 2001 From: Alexander Kampf <alexander.kampf@student.uni-halle.de> Date: Sun, 12 Jul 2020 11:44:52 +0200 Subject: [PATCH 15/21] map paging styled --- index.html | 21 --------- out/main.js | 114 ++++++++++++++++++++++++++++----------------- res/Stysheet.css | 56 +++++++++++++++------- src/DungeonMap.elm | 29 +++++++----- src/Main.elm | 10 ++-- src/Model.elm | 2 +- 6 files changed, 134 insertions(+), 98 deletions(-) diff --git a/index.html b/index.html index 03b36a1..1a4b4e9 100644 --- a/index.html +++ b/index.html @@ -9,27 +9,6 @@ <title>Main</title> <script src="out/main.js"></script> <style> - .MonsterIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:30px; - height:30px; - } - .PlayerIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:25px; - height:25px; - } - .ObjectIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:25px; - height:25px; - } </style> </head> diff --git a/out/main.js b/out/main.js index 3f4ed1f..71693db 100644 --- a/out/main.js +++ b/out/main.js @@ -5632,7 +5632,7 @@ var $avh4$elm_color$Color$rgb = F3( var $author$project$Model$init = function (_v0) { return _Utils_Tuple2( { - activeTooltip: 'Tooltip', + activeTooltip: '', addCharacterIcon: $author$project$Model$DrawingInactive, bonusDamage: 0, characterId: 0, @@ -8572,8 +8572,8 @@ var $author$project$Main$update = F2( _Utils_update( model, { - activeTooltip: 'Beschreibung', - mouseInIcon: (tooltip === 'Beschreibung') ? false : true + activeTooltip: '', + mouseInIcon: (tooltip === '') ? false : true }), $elm$core$Platform$Cmd$none); } else { @@ -8582,7 +8582,7 @@ var $author$project$Main$update = F2( model, { activeTooltip: tooltip, - mouseInIcon: (tooltip === 'Beschreibung') ? false : true + mouseInIcon: (tooltip === '') ? false : true }), $elm$core$Platform$Cmd$none); } @@ -8606,7 +8606,7 @@ var $author$project$Main$update = F2( _Utils_update( model, { - activeTooltip: 'Beschreibung', + activeTooltip: '', objectIconList: A2( $elm$core$List$filter, $author$project$Main$isNotId(id), @@ -8618,7 +8618,7 @@ var $author$project$Main$update = F2( _Utils_update( model, { - activeTooltip: 'Beschreibung', + activeTooltip: '', characterList: A2( $elm$core$List$filter, $author$project$Main$isNotId(id), @@ -11999,6 +11999,13 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$config = function (toMsg) { {attributes: _List_Nil, isPill: false, items: _List_Nil, layout: $elm$core$Maybe$Nothing, toMsg: toMsg, useHash: false, withAnimation: false}); }; var $author$project$Model$ClearCharacterList = {$: 'ClearCharacterList'}; +var $author$project$Model$Pick = {$: 'Pick'}; +var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs = function (a) { + return {$: 'Attrs', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$attrs = function (attrs_) { + return $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs(attrs_); +}; var $rundis$elm_bootstrap$Bootstrap$Grid$Column = function (a) { return {$: 'Column', a: a}; }; @@ -12009,6 +12016,12 @@ var $rundis$elm_bootstrap$Bootstrap$Grid$col = F2( }); var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Disabled = {$: 'Disabled'}; var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$disabled = $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Disabled; +var $rundis$elm_bootstrap$Bootstrap$Table$TableAttr = function (a) { + return {$: 'TableAttr', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Table$attr = function (attr_) { + return $rundis$elm_bootstrap$Bootstrap$Table$TableAttr(attr_); +}; var $rundis$elm_bootstrap$Bootstrap$Table$Bordered = {$: 'Bordered'}; var $rundis$elm_bootstrap$Bootstrap$Table$bordered = $rundis$elm_bootstrap$Bootstrap$Table$Bordered; var $author$project$Model$AddCharacterIcon = function (a) { @@ -12137,10 +12150,6 @@ var $author$project$DungeonMap$characters2rows = F2( }), $elm$core$Array$toList(chars)); }); -var $rundis$elm_bootstrap$Bootstrap$Table$Responsive = function (a) { - return {$: 'Responsive', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$responsive = $rundis$elm_bootstrap$Bootstrap$Table$Responsive($elm$core$Maybe$Nothing); var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { return A2( $elm$html$Html$div, @@ -12153,7 +12162,12 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { $rundis$elm_bootstrap$Bootstrap$Table$table( { options: _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Table$hover, $rundis$elm_bootstrap$Bootstrap$Table$bordered, $rundis$elm_bootstrap$Bootstrap$Table$responsive]), + [ + $rundis$elm_bootstrap$Bootstrap$Table$hover, + $rundis$elm_bootstrap$Bootstrap$Table$bordered, + $rundis$elm_bootstrap$Bootstrap$Table$attr( + $elm$html$Html$Attributes$class('map-table')) + ]), tbody: A2( $rundis$elm_bootstrap$Bootstrap$Table$tbody, _List_Nil, @@ -12188,7 +12202,6 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { }; var $author$project$Model$DragEnter = {$: 'DragEnter'}; var $author$project$Model$DragLeave = {$: 'DragLeave'}; -var $author$project$Model$Pick = {$: 'Pick'}; var $elm$file$File$decoder = _File_decoder; var $elm$json$Json$Decode$list = _Json_decodeList; var $elm$json$Json$Decode$oneOrMoreHelp = F2( @@ -12663,7 +12676,7 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$Events$onMouseOver( A2($author$project$Model$HighlightTableRow, id, text)), $elm$svg$Svg$Events$onMouseOut( - A2($author$project$Model$HighlightTableRow, 0, 'Beschreibung')), + A2($author$project$Model$HighlightTableRow, 0, '')), $elm$svg$Svg$Events$onClick( A2($author$project$Model$DeleteIcon, iconType, id)) ]), @@ -12718,7 +12731,7 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$Events$onMouseOver( A2($author$project$Model$HighlightTableRow, id, text)), $elm$svg$Svg$Events$onMouseOut( - A2($author$project$Model$HighlightTableRow, 0, 'Beschreibung')), + A2($author$project$Model$HighlightTableRow, 0, '')), $elm$svg$Svg$Events$onClick( A2($author$project$Model$DeleteIcon, iconType, id)) ]), @@ -12743,7 +12756,7 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$Events$onMouseOver( $author$project$Model$ToolTipMsg(text)), $elm$svg$Svg$Events$onMouseOut( - $author$project$Model$ToolTipMsg('Beschreibung')), + $author$project$Model$ToolTipMsg('')), $elm$svg$Svg$Attributes$class('ObjectIcon'), $elm$svg$Svg$Events$onClick( A2($author$project$Model$DeleteIcon, iconType, id)) @@ -12775,7 +12788,7 @@ var $author$project$DungeonMap$placeIcon = function (s) { $elm$svg$Svg$Events$onMouseOver( $author$project$Model$ToolTipMsg(text)), $elm$svg$Svg$Events$onMouseOut( - $author$project$Model$ToolTipMsg('Beschreibung')), + $author$project$Model$ToolTipMsg('')), $elm$svg$Svg$Attributes$class('ObjectIcon'), $elm$svg$Svg$Events$onClick( A2($author$project$Model$DeleteIcon, iconType, id)) @@ -12848,17 +12861,6 @@ var $author$project$DungeonMap$newIconsView = function (addCharacterIcon) { return _List_Nil; } }; -var $rundis$elm_bootstrap$Bootstrap$Button$onClick = function (message) { - return $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - A2( - $elm$html$Html$Events$preventDefaultOn, - 'click', - $elm$json$Json$Decode$succeed( - _Utils_Tuple2(message, true))) - ])); -}; var $elm$svg$Svg$svg = $elm$svg$Svg$trustedNode('svg'); var $author$project$DungeonMap$svgIconList = function (model) { return A3( @@ -12882,7 +12884,7 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { A2( $elm$html$Html$Attributes$style, 'border', - model.hover ? '6px dashed purple' : '6px dashed #ccc'), + model.hover ? '6px dashed purple' : '6px dashed #bfbfbf'), A2( $author$project$DungeonMap$hijackOn, 'dragenter', @@ -12900,16 +12902,6 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$Pick) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Upload Map') - ])), - A2( $elm$html$Html$figure, _List_fromArray( [ @@ -13614,6 +13606,17 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$config( $author$project$Model$CloseModal($author$project$Model$ObjectIconModal))))))); }; +var $rundis$elm_bootstrap$Bootstrap$Button$onClick = function (message) { + return $rundis$elm_bootstrap$Bootstrap$Button$attrs( + _List_fromArray( + [ + A2( + $elm$html$Html$Events$preventDefaultOn, + 'click', + $elm$json$Json$Decode$succeed( + _Utils_Tuple2(message, true))) + ])); +}; var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col = {$: 'Col'}; var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width = F2( function (screenSize, columnCount) { @@ -14530,7 +14533,7 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { $elm$html$Html$section, _List_fromArray( [ - $elm$html$Html$Attributes$class('container is-widescreen') + $elm$html$Html$Attributes$class('content-box is-widescreen') ]), _List_fromArray( [ @@ -14558,7 +14561,12 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { [ $rundis$elm_bootstrap$Bootstrap$Form$Textarea$rows(1), $rundis$elm_bootstrap$Bootstrap$Form$Textarea$disabled, - $rundis$elm_bootstrap$Bootstrap$Form$Textarea$value(model.activeTooltip) + $rundis$elm_bootstrap$Bootstrap$Form$Textarea$value(model.activeTooltip), + $rundis$elm_bootstrap$Bootstrap$Form$Textarea$attrs( + _List_fromArray( + [ + $elm$html$Html$Attributes$class('text-area') + ])) ])), A2($elm$html$Html$br, _List_Nil, _List_Nil), $author$project$DungeonMap$dungeonMap_Svg(model) @@ -14590,11 +14598,31 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { [ A2($elm$html$Html$br, _List_Nil, _List_Nil), A2( - $elm$html$Html$button, + $rundis$elm_bootstrap$Bootstrap$Button$button, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Button$attrs( + _List_fromArray( + [ + $elm$html$Html$Attributes$class('metalButton map-buttons') + ])), + $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$Pick) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Upload Map') + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Button$button, _List_fromArray( [ - $elm$html$Html$Attributes$class('metalButton'), - $elm$html$Html$Events$onClick($author$project$Model$ClearCharacterList) + $rundis$elm_bootstrap$Bootstrap$Button$attrs( + _List_fromArray( + [ + $elm$html$Html$Attributes$class('metalButton map-buttons'), + A2($elm$html$Html$Attributes$style, 'margin-top', '5px') + ])), + $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$ClearCharacterList) ]), _List_fromArray( [ diff --git a/res/Stysheet.css b/res/Stysheet.css index c555f69..907a08d 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -20,6 +20,11 @@ max-width: 100%; } +.body-fix { + display:flex; + flex-direction:column; +} + .grid-container { display: grid; grid-gap: 2%; @@ -32,7 +37,7 @@ border-left-style: double; border-width: 5px; height: 75%; - width: 120%; + width: 100%; } .th { @@ -49,7 +54,7 @@ tr:nth-child(even) {background-color: white;} background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% ); border-radius: 8px; padding: 8px 28px; - color: white; + color: white !important; align-self: flex-end; text-align: center; text-decoration: none; @@ -61,28 +66,47 @@ tr:nth-child(even) {background-color: white;} background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf 10%, #acacac 40% ); } -.PlayerIcon { - fill: black; - stroke: red; - stroke-width: 2; - fill-opacity:0; -} -.MonsterIcon { - fill: black; - stroke: red; - stroke-width: 2; - fill-opacity:0; +.MonsterIcon:hover { + fill: grey-darker; + opacity:0.5; + fill-opacity:0.5; + width:30px; + height:30px; + cursor: pointer; } - .PlayerIcon:hover { fill: grey-darker; opacity:0.5; fill-opacity:0.5; + width:25px; + height:25px; + cursor: pointer; } - -.MonsterIcon:hover { +.ObjectIcon:hover { fill: grey-darker; opacity:0.5; fill-opacity:0.5; + width:25px; + height:25px; + cursor: pointer; +} + +.content-box { + margin-right: 20px; + margin-left: 20px; + padding: 15px; +} + +.text-area { + color: #666666 !important; + background-color: #e4be9b !important; +} + +.map-buttons { + width: 120px; +} + +.map-table { + border: 2px solid #bfbfbf !important; } \ No newline at end of file diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 4d1730b..2419bd0 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -27,7 +27,7 @@ import Model exposing (..) dungeonMapView : Model -> Html Msg dungeonMapView model = - Html.section [ class "container is-widescreen" ] + Html.section [ class "content-box is-widescreen" ] [ div [ class "section" ] [ Grid.row [] [ Grid.col [] @@ -36,6 +36,7 @@ dungeonMapView model = [ Textarea.rows 1 , Textarea.disabled , Textarea.value model.activeTooltip + , Textarea.attrs [ class "text-area" ] ] , Html.br [] [] , dungeonMap_Svg model @@ -48,9 +49,13 @@ dungeonMapView model = ] , Grid.col [ Col.xs4 ] [ Html.br [] [] - , Html.button - [ class "metalButton" - , onClick ClearCharacterList ] + , Button.button + [ Button.attrs [ class "metalButton map-buttons"] + , Button.onClick Pick ] + [ text "Upload Map" ] + , Button.button + [ Button.attrs [ class "metalButton map-buttons", style "margin-top" "5px" ] + , Button.onClick ClearCharacterList ] [ text "Clear Map" ] ] ] @@ -63,7 +68,7 @@ dungeonMapView model = dungeonMap_MonsterList : Model -> Html Msg dungeonMap_MonsterList model = div [ class "container" ] - [ Table.table { options = [ Table.hover, Table.bordered, Table.responsive ] + [ Table.table { options = [ Table.hover, Table.bordered, Table.attr (class "map-table") ] , thead = Table.simpleThead [ Table.th [] [ Html.text "ID" ] , Table.th [] [ Html.text "Name" ] @@ -73,6 +78,7 @@ dungeonMap_MonsterList model = Table.tbody [] <| characters2rows model.enemy model.highlightedTableRow } + ] characters2rows : Array.Array Character -> Int -> List (Table.Row Msg) @@ -103,14 +109,13 @@ characters2rows chars highlighted = dungeonMap_Svg : Model -> Html Msg dungeonMap_Svg model = div [ class "container" - , style "border" (if model.hover then "6px dashed purple" else "6px dashed #ccc") + , style "border" (if model.hover then "6px dashed purple" else "6px dashed #bfbfbf") , hijackOn "dragenter" (Json.Decode.succeed DragEnter) , hijackOn "dragover" (Json.Decode.succeed DragEnter) , hijackOn "dragleave" (Json.Decode.succeed DragLeave) , hijackOn "drop" dropDecoder ] - [ Button.button [ Button.onClick Pick ] [ text "Upload Map" ] - , Html.figure [ class "image" ] + [ Html.figure [ class "image" ] [ Svg.svg ([ SvgAtt.width "100%", SvgAtt.viewBox "0 0 800 600", SvgAtt.version "1.1" ] ++ mouseDrawEvents model.addCharacterIcon @@ -207,7 +212,7 @@ placeIcon s = , SvgAtt.xlinkHref ("res/icons/enemy.png") , SvgAtt.class "MonsterIcon" , Svg.Events.onMouseOver (HighlightTableRow id text) - , Svg.Events.onMouseOut (HighlightTableRow 0 "Beschreibung") + , Svg.Events.onMouseOut (HighlightTableRow 0 "") , Svg.Events.onClick (DeleteIcon iconType id) ] [] ] @@ -226,7 +231,7 @@ placeIcon s = , SvgAtt.xlinkHref ("res/icons/hero.png") , SvgAtt.class "PlayerIcon" , Svg.Events.onMouseOver (HighlightTableRow id text) - , Svg.Events.onMouseOut (HighlightTableRow 0 "Beschreibung") + , Svg.Events.onMouseOut (HighlightTableRow 0 "") , Svg.Events.onClick (DeleteIcon iconType id) ] [] ] @@ -240,7 +245,7 @@ placeIcon s = , SvgAtt.r "10" , SvgAtt.style (buildCustomObjectIconStyle color) , Svg.Events.onMouseOver (ToolTipMsg text) - , Svg.Events.onMouseOut (ToolTipMsg "Beschreibung") + , Svg.Events.onMouseOut (ToolTipMsg "") , SvgAtt.class "ObjectIcon" , Svg.Events.onClick (DeleteIcon iconType id) ] @@ -254,7 +259,7 @@ placeIcon s = , SvgAtt.y (String.fromFloat (Maybe.withDefault 0 (String.toFloat y) - 11.5)) , SvgAtt.xlinkHref (getIconPath typeID) , Svg.Events.onMouseOver (ToolTipMsg text) - , Svg.Events.onMouseOut (ToolTipMsg "Beschreibung") + , Svg.Events.onMouseOut (ToolTipMsg "") , SvgAtt.class "ObjectIcon" , Svg.Events.onClick (DeleteIcon iconType id) ] [] diff --git a/src/Main.elm b/src/Main.elm index 1202f37..49e3345 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -266,13 +266,13 @@ update msg model = ToolTipMsg tooltip -> case tooltip of - "" -> ( { model | activeTooltip = "Beschreibung" - , mouseInIcon = (if tooltip=="Beschreibung" then False else True) } + "" -> ( { model | activeTooltip = "" + , mouseInIcon = (if tooltip=="" then False else True) } , Cmd.none ) _ -> ( { model | activeTooltip = tooltip - , mouseInIcon = (if tooltip=="Beschreibung" then False else True) } + , mouseInIcon = (if tooltip=="" then False else True) } , Cmd.none ) @@ -287,7 +287,7 @@ update msg model = case iconType of "object" -> ( { model | objectIconList = List.filter (isNotId id) model.objectIconList - , activeTooltip = "Beschreibung" } + , activeTooltip = "" } , Cmd.none ) @@ -295,7 +295,7 @@ update msg model = _ -> ( { model | characterList = List.filter (isNotId id) model.characterList , highlightedTableRow = 0 - , activeTooltip = "Beschreibung" } + , activeTooltip = "" } , Cmd.none ) diff --git a/src/Model.elm b/src/Model.elm index 9a435f8..fba87ca 100644 --- a/src/Model.elm +++ b/src/Model.elm @@ -78,7 +78,7 @@ init _ = , colorPicker = ColorPicker.empty , colour = Color.rgb 255 0 0 , radioCheckedID = 0 - , activeTooltip = "Tooltip" + , activeTooltip = "" , highlightedTableRow = 0 , mouseInIcon = False } -- GitLab From 7f81821208658040e4fa41d598348c4b4da54b81 Mon Sep 17 00:00:00 2001 From: Alexander Kampf <alexander.kampf@student.uni-halle.de> Date: Sun, 12 Jul 2020 12:09:41 +0200 Subject: [PATCH 16/21] last style changes --- out/main.js | 56 +++++++++++++++++++++++++++++++++++----------- res/Stysheet.css | 2 +- src/DungeonMap.elm | 21 ++++++++--------- 3 files changed, 55 insertions(+), 24 deletions(-) diff --git a/out/main.js b/out/main.js index 435da2f..13925dd 100644 --- a/out/main.js +++ b/out/main.js @@ -12118,6 +12118,8 @@ var $author$project$DungeonMap$characters2rows = F2( _Utils_ap( _List_fromArray( [ + $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( + $elm$html$Html$Attributes$class('tr')), $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( $author$project$DungeonMap$stopBubbling( $author$project$Model$AddCharacterIcon( @@ -12160,6 +12162,8 @@ var $author$project$DungeonMap$characters2rows = F2( _Utils_ap( _List_fromArray( [ + $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( + $elm$html$Html$Attributes$class('tr')), $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( $author$project$DungeonMap$stopBubbling( $author$project$Model$AddCharacterIcon( @@ -12225,21 +12229,33 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('ID') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('Name') ])), A2( $rundis$elm_bootstrap$Bootstrap$Table$th, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) + ]), _List_fromArray( [ $elm$html$Html$text('LeP') @@ -13240,9 +13256,6 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList = F2( $rundis$elm_bootstrap$Bootstrap$Form$Radio$name(groupName))), radios); }); -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'}; -var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success)); var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray( [ A2($elm$html$Html$Attributes$style, 'position', 'absolute'), @@ -13754,7 +13767,10 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { model.showObjectIconModal, A3( $rundis$elm_bootstrap$Bootstrap$Modal$footer, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('colored-header-footer') + ]), _List_fromArray( [ A2( @@ -13767,9 +13783,11 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { $elm$html$Html$Events$onClick( $author$project$Model$AddCharacterIcon( $author$project$Model$MouseClick( - $author$project$DungeonMap$getCharIcon(model.addCharacterIcon)))) + $author$project$DungeonMap$getCharIcon(model.addCharacterIcon)))), + $elm$html$Html$Attributes$class('metalButton map-buttons'), + A2($elm$html$Html$Attributes$style, 'margin-top', '5px'), + A2($elm$html$Html$Attributes$style, 'width', '140px') ])), - $rundis$elm_bootstrap$Bootstrap$Button$success, $rundis$elm_bootstrap$Bootstrap$Button$disabled(!model.radioCheckedID) ]), _List_fromArray( @@ -13779,7 +13797,10 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { ]), A3( $rundis$elm_bootstrap$Bootstrap$Modal$body, - _List_Nil, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('body') + ]), _List_fromArray( [ A2( @@ -13862,11 +13883,20 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { ])) ]), A3( - $rundis$elm_bootstrap$Bootstrap$Modal$h3, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$text('Neues Icon') + $elm$html$Html$Attributes$class('colored-header-footer') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$h3, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Neues Icon') + ])) ]), A2( $rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick, diff --git a/res/Stysheet.css b/res/Stysheet.css index 89d3d61..3c7f93a 100644 --- a/res/Stysheet.css +++ b/res/Stysheet.css @@ -69,7 +69,7 @@ tr:nth-child(even) {background-color: white;} background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% ); border-radius: 8px; padding: 8px 28px; - color: white; + color: white !important; text-align: center; text-decoration: none; text-shadow: 2px 2px 5px #404040; diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 2419bd0..0f109b1 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -70,9 +70,9 @@ dungeonMap_MonsterList model = div [ class "container" ] [ Table.table { options = [ Table.hover, Table.bordered, Table.attr (class "map-table") ] , thead = Table.simpleThead - [ Table.th [] [ Html.text "ID" ] - , Table.th [] [ Html.text "Name" ] - , Table.th [] [ Html.text "LeP" ] + [ Table.th [Table.cellAttr <| class "th"] [ Html.text "ID" ] + , Table.th [Table.cellAttr <| class "th"] [ Html.text "Name" ] + , Table.th [Table.cellAttr <| class "th"] [ Html.text "LeP" ] ] , tbody = Table.tbody [] @@ -87,7 +87,7 @@ characters2rows chars highlighted = (\i c -> case c of Enemy name health _ _ _ -> - Table.tr ([ Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (MonsterIcon (i+1) "-100" "-100" name)))) ] + Table.tr ([ Table.rowAttr <| class "tr", Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (MonsterIcon (i+1) "-100" "-100" name)))) ] ++ if highlighted==i+1 then [ Table.rowSecondary ] else []) [ Table.td [] [Html.text <| String.fromInt (i+1)] , Table.td [] [Html.text name] @@ -95,7 +95,7 @@ characters2rows chars highlighted = ] Hero name health -> - Table.tr ([ Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (PlayerIcon (i+1) "-100" "-100" name)))) ] + Table.tr ([ Table.rowAttr <| class "tr", Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (PlayerIcon (i+1) "-100" "-100" name)))) ] ++ if highlighted==i+1 then [ Table.rowSecondary ] else []) [ Table.td [] [Html.text <| String.fromInt (i+1)] , Table.td [] [Html.text name] @@ -131,8 +131,10 @@ newObjectIconModal : Model -> Html Msg newObjectIconModal model = Modal.config (CloseModal ObjectIconModal) |> Modal.hideOnBackdropClick True - |> Modal.h3 [] [ text "Neues Icon" ] - |> Modal.body [] + |> Modal.header [class "colored-header-footer"] + [ Html.h3 [][text "Neues Icon"] + ] + |> Modal.body [class "body"] [ div [] [ div [] ( Radio.radioList "customradiogroup" @@ -158,10 +160,9 @@ newObjectIconModal model = ) ] ] - |> Modal.footer [] + |> Modal.footer [class "colored-header-footer"] [ Button.button - [ Button.attrs [onClick <| AddCharacterIcon (MouseClick (getCharIcon model.addCharacterIcon)) ] - , Button.success + [ Button.attrs [onClick <| AddCharacterIcon (MouseClick (getCharIcon model.addCharacterIcon)), class "metalButton map-buttons", style "margin-top" "5px", style "width" "140px" ] , Button.disabled (model.radioCheckedID==0) ] [ text "Icon hinzufügen" ] -- GitLab From da76a589d859dd71b09594aeb38ced46bea4d14a Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sun, 12 Jul 2020 12:17:13 +0200 Subject: [PATCH 17/21] styled Tabs --- out/main.js | 57 +--------------------------------------------- res/Stylesheet.css | 18 ++++++++++++++- 2 files changed, 18 insertions(+), 57 deletions(-) diff --git a/out/main.js b/out/main.js index 274f7b0..18510af 100644 --- a/out/main.js +++ b/out/main.js @@ -5649,11 +5649,8 @@ var $author$project$Model$init = function (_v0) { hover: false, iconText: '', maxFace: 6, -<<<<<<< HEAD - mouseInIcon: false, -======= modalTabState: $rundis$elm_bootstrap$Bootstrap$Tab$initialState, ->>>>>>> style + mouseInIcon: false, myDrop1State: $rundis$elm_bootstrap$Bootstrap$Dropdown$initialState, objectIconList: _List_Nil, previews: _List_Nil, @@ -11664,7 +11661,6 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2( ]), $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1)); } -<<<<<<< Updated upstream }); var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( function (id, active, _v0, state, configRec) { @@ -11677,21 +11673,6 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5( return A2( $elm$html$Html$div, _Utils_ap( -======= - }(); - return A2( - $rundis$elm_bootstrap$Bootstrap$Modal$view, - model.showCustomEnemy, - A3( - $rundis$elm_bootstrap$Bootstrap$Modal$footer, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('mediumCopper') - ]), - _List_Nil, - A3( - $rundis$elm_bootstrap$Bootstrap$Modal$body, ->>>>>>> Stashed changes _List_fromArray( [ $elm$html$Html$Attributes$id(id), @@ -13098,40 +13079,6 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick = function (a) { var $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) { return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg); }; -<<<<<<< HEAD -var $simonh1000$elm_colorpicker$ColorPicker$HueSlider = {$: 'HueSlider'}; -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove = F2( - function (a, b) { - return {$: 'OnMouseMove', a: a, b: b}; - }); -var $elm$svg$Svg$defs = $elm$svg$Svg$trustedNode('defs'); -var $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill'); -var $elm$svg$Svg$linearGradient = $elm$svg$Svg$trustedNode('linearGradient'); -var $elm$svg$Svg$Attributes$offset = _VirtualDom_attribute('offset'); -var $elm$svg$Svg$Attributes$display = _VirtualDom_attribute('display'); -var $simonh1000$elm_colorpicker$ColorPicker$sliderStyles = _List_fromArray( - [ - $elm$svg$Svg$Attributes$width( - $elm$core$String$fromInt($simonh1000$elm_colorpicker$ColorPicker$widgetWidth)), - $elm$svg$Svg$Attributes$height('100%'), - $elm$svg$Svg$Attributes$display('block') - ]); -var $elm$svg$Svg$stop = $elm$svg$Svg$trustedNode('stop'); -var $elm$svg$Svg$Attributes$stopColor = _VirtualDom_attribute('stop-color'); -var $elm$svg$Svg$Attributes$stopOpacity = _VirtualDom_attribute('stop-opacity'); -var $simonh1000$elm_colorpicker$ColorPicker$OnClick = F2( - function (a, b) { - return {$: 'OnClick', a: a, b: b}; - }); -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown = F2( - function (a, b) { - return {$: 'OnMouseDown', a: a, b: b}; - }); -var $simonh1000$elm_colorpicker$ColorPicker$OnMouseUp = {$: 'OnMouseUp'}; -var $simonh1000$elm_colorpicker$ColorPicker$MouseInfo = F3( - function (x, y, mousePressed) { - return {mousePressed: mousePressed, x: x, y: y}; -======= var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2( function (opt, _v0) { var radio_ = _v0.a; @@ -13142,7 +13089,6 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2( { options: A2($elm$core$List$cons, opt, options) })); ->>>>>>> style }); var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) { return {$: 'Name', a: a}; @@ -13361,7 +13307,6 @@ var $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove = F2( function (a, b) { return {$: 'OnMouseMove', a: a, b: b}; }); -var $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class'); var $elm$svg$Svg$defs = $elm$svg$Svg$trustedNode('defs'); var $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill'); var $elm$svg$Svg$linearGradient = $elm$svg$Svg$trustedNode('linearGradient'); diff --git a/res/Stylesheet.css b/res/Stylesheet.css index 1e4614f..3f30952 100644 --- a/res/Stylesheet.css +++ b/res/Stylesheet.css @@ -54,10 +54,26 @@ html { background-color: #e4be9b } +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem #d9a473; +} + .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - background-color: #e4be9b; + background-color: #deb187; border-color: #dee2e6 #dee2e6 #fff; + color: black; +} + +.btn-link { + font-weight: 400; + color: #495057;; + text-decoration: none; +} + +.btn { + background-color: #e4be9b; } tr:nth-child(even) {background-color: white;} -- GitLab From 41a875ea6b6c5619011b480772b8057333dd097d Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sun, 12 Jul 2020 13:25:45 +0200 Subject: [PATCH 18/21] Styled Dropdownbutton + delete Button as Icon --- index.html | 2 ++ out/main.js | 30 ++++++++++++++---------------- res/Stylesheet.css | 15 ++++++++++++--- src/FightingTool.elm | 11 ++++++----- 4 files changed, 34 insertions(+), 24 deletions(-) diff --git a/index.html b/index.html index ecd9401..338a86b 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,8 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="src/node_modules/animate.css/animate.css"> <link rel="stylesheet" href="src/node_modules/bootstrap/dist/css/bootstrap.css" integrity="" crossorigin="anonymous"> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" + integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous"> <link href="https://fonts.googleapis.com/css2?family=Fondamento&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500&display=swap" rel="stylesheet"> <link rel="stylesheet" href="res/Stylesheet.css"> diff --git a/out/main.js b/out/main.js index 18510af..63fbdfd 100644 --- a/out/main.js +++ b/out/main.js @@ -9446,6 +9446,7 @@ var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled = function (a) { }; var $rundis$elm_bootstrap$Bootstrap$Button$danger = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Danger)); +var $elm$html$Html$i = _VirtualDom_node('i'); var $rundis$elm_bootstrap$Bootstrap$Table$Td = function (a) { return {$: 'Td', a: a}; }; @@ -9552,21 +9553,15 @@ var $author$project$FightingTool$displayCharacters = function (chars) { _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$i, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$danger, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$RemoveEnemy(i)) - ])) + $elm$html$Html$Attributes$class('fas fa-trash-alt'), + $elm$html$Html$Events$onClick( + $author$project$Model$RemoveEnemy(i)), + A2($elm$html$Html$Attributes$style, 'margin-top', '10%') ]), - _List_fromArray( - [ - $elm$html$Html$text('Löschen') - ])) + _List_Nil) ])) ])); } else { @@ -11115,9 +11110,6 @@ var $rundis$elm_bootstrap$Bootstrap$Dropdown$header = function (children) { ]), children)); }; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Primary = {$: 'Primary'}; -var $rundis$elm_bootstrap$Bootstrap$Button$primary = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Primary)); var $rundis$elm_bootstrap$Bootstrap$Dropdown$DropdownToggle = function (a) { return {$: 'DropdownToggle', a: a}; }; @@ -11482,7 +11474,13 @@ var $author$project$FightingTool$dropdownMenu = function (model) { toggleButton: A2( $rundis$elm_bootstrap$Bootstrap$Dropdown$toggle, _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Button$primary]), + [ + $rundis$elm_bootstrap$Bootstrap$Button$attrs( + _List_fromArray( + [ + $elm$html$Html$Attributes$class('metalButton') + ])) + ]), _List_fromArray( [ $elm$html$Html$text('Monster') diff --git a/res/Stylesheet.css b/res/Stylesheet.css index 3f30952..01748cc 100644 --- a/res/Stylesheet.css +++ b/res/Stylesheet.css @@ -54,9 +54,14 @@ html { background-color: #e4be9b } +.fas:hover { + font-weight: 900; + color: #acacac; +} + .btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem #d9a473; + border: 0; + box-shadow: 0 0 0 0.1rem #acacac; } .nav-tabs .nav-link.active, @@ -66,9 +71,13 @@ html { color: black; } +.btn-link:hover { + color: black; +} + .btn-link { font-weight: 400; - color: #495057;; + color: #495057; text-decoration: none; } diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 81ee582..5da80b4 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -211,10 +211,11 @@ displayCharacters chars = [ text "Angriff"] ] , Table.td[] - [ Button.button - [ Button.danger - , Button.attrs [onClick <| RemoveEnemy i ] ] - [ text "Löschen"] + [ Html.i + [class "fas fa-trash-alt" + , onClick <| RemoveEnemy i + , style "margin-top" "10%" + ] [] ] ] Hero _ _ -> @@ -290,7 +291,7 @@ dropdownMenu model = { options = [ Dropdown.dropRight ] , toggleMsg = MyDrop1Msg , toggleButton = - Dropdown.toggle [ Button.primary ] [ text "Monster" ] + Dropdown.toggle [Button.attrs [class "metalButton"]] [ text "Monster" ] , items = -- give a name to the LoadEnemy method and it will pull up the corresponding JSON [ Dropdown.header [ text "Kulturschaffender"] -- GitLab From 1a6fb96787ccf55b0f843ea7ba5d676461104ebc Mon Sep 17 00:00:00 2001 From: Laura <L.Spilling@web.de> Date: Sun, 12 Jul 2020 18:30:11 +0200 Subject: [PATCH 19/21] fixed Style Bugs --- out/main.js | 387 ++++++++++++++++++++++--------------------- res/Stylesheet.css | 13 +- src/FightingTool.elm | 23 ++- 3 files changed, 217 insertions(+), 206 deletions(-) diff --git a/out/main.js b/out/main.js index 63fbdfd..bb45388 100644 --- a/out/main.js +++ b/out/main.js @@ -8733,178 +8733,7 @@ var $author$project$Model$CustomEnemy = {$: 'CustomEnemy'}; var $author$project$Model$ShowModal = function (a) { return {$: 'ShowModal', a: a}; }; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Attrs = function (a) { - return {$: 'Attrs', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Button$attrs = function (attrs_) { - return $rundis$elm_bootstrap$Bootstrap$Internal$Button$Attrs(attrs_); -}; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Block = {$: 'Block'}; -var $rundis$elm_bootstrap$Bootstrap$Button$block = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Block; var $elm$html$Html$button = _VirtualDom_node('button'); -var $elm$core$Maybe$andThen = F2( - function (callback, maybeValue) { - if (maybeValue.$ === 'Just') { - var value = maybeValue.a; - return callback(value); - } else { - return $elm$core$Maybe$Nothing; - } - }); -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier = F2( - function (modifier, options) { - switch (modifier.$) { - case 'Size': - var size = modifier.a; - return _Utils_update( - options, - { - size: $elm$core$Maybe$Just(size) - }); - case 'Coloring': - var coloring = modifier.a; - return _Utils_update( - options, - { - coloring: $elm$core$Maybe$Just(coloring) - }); - case 'Block': - return _Utils_update( - options, - {block: true}); - case 'Disabled': - var val = modifier.a; - return _Utils_update( - options, - {disabled: val}); - default: - var attrs = modifier.a; - return _Utils_update( - options, - { - attributes: _Utils_ap(options.attributes, attrs) - }); - } - }); -var $elm$core$Tuple$second = function (_v0) { - var y = _v0.b; - return y; -}; -var $elm$html$Html$Attributes$classList = function (classes) { - return $elm$html$Html$Attributes$class( - A2( - $elm$core$String$join, - ' ', - A2( - $elm$core$List$map, - $elm$core$Tuple$first, - A2($elm$core$List$filter, $elm$core$Tuple$second, classes)))); -}; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$defaultOptions = {attributes: _List_Nil, block: false, coloring: $elm$core$Maybe$Nothing, disabled: false, size: $elm$core$Maybe$Nothing}; -var $elm$json$Json$Encode$bool = _Json_wrap; -var $elm$html$Html$Attributes$boolProperty = F2( - function (key, bool) { - return A2( - _VirtualDom_property, - key, - $elm$json$Json$Encode$bool(bool)); - }); -var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass = function (role) { - switch (role.$) { - case 'Primary': - return 'primary'; - case 'Secondary': - return 'secondary'; - case 'Success': - return 'success'; - case 'Info': - return 'info'; - case 'Warning': - return 'warning'; - case 'Danger': - return 'danger'; - case 'Dark': - return 'dark'; - case 'Light': - return 'light'; - default: - return 'link'; - } -}; -var $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption = function (size) { - switch (size.$) { - case 'XS': - return $elm$core$Maybe$Nothing; - case 'SM': - return $elm$core$Maybe$Just('sm'); - case 'MD': - return $elm$core$Maybe$Just('md'); - case 'LG': - return $elm$core$Maybe$Just('lg'); - default: - return $elm$core$Maybe$Just('xl'); - } -}; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$buttonAttributes = function (modifiers) { - var options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier, $rundis$elm_bootstrap$Bootstrap$Internal$Button$defaultOptions, modifiers); - return _Utils_ap( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('btn', true), - _Utils_Tuple2('btn-block', options.block), - _Utils_Tuple2('disabled', options.disabled) - ])), - $elm$html$Html$Attributes$disabled(options.disabled) - ]), - _Utils_ap( - function () { - var _v0 = A2($elm$core$Maybe$andThen, $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption, options.size); - if (_v0.$ === 'Just') { - var s = _v0.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class('btn-' + s) - ]); - } else { - return _List_Nil; - } - }(), - _Utils_ap( - function () { - var _v1 = options.coloring; - if (_v1.$ === 'Just') { - if (_v1.a.$ === 'Roled') { - var role = _v1.a.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class( - 'btn-' + $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass(role)) - ]); - } else { - var role = _v1.a.a; - return _List_fromArray( - [ - $elm$html$Html$Attributes$class( - 'btn-outline-' + $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass(role)) - ]); - } - } else { - return _List_Nil; - } - }(), - options.attributes))); -}; -var $rundis$elm_bootstrap$Bootstrap$Button$button = F2( - function (options, children) { - return A2( - $elm$html$Html$button, - $rundis$elm_bootstrap$Bootstrap$Internal$Button$buttonAttributes(options), - children); - }); var $rundis$elm_bootstrap$Bootstrap$Table$CellAttr = function (a) { return {$: 'CellAttr', a: a}; }; @@ -9033,6 +8862,20 @@ var $elm$virtual_dom$VirtualDom$attribute = F2( _VirtualDom_noJavaScriptOrHtmlUri(value)); }); var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute; +var $elm$core$Tuple$second = function (_v0) { + var y = _v0.b; + return y; +}; +var $elm$html$Html$Attributes$classList = function (classes) { + return $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + A2( + $elm$core$List$map, + $elm$core$Tuple$first, + A2($elm$core$List$filter, $elm$core$Tuple$second, classes)))); +}; var $rundis$elm_bootstrap$Bootstrap$Modal$StartClose = {$: 'StartClose'}; var $rundis$elm_bootstrap$Bootstrap$Modal$getCloseMsg = function (config_) { var _v0 = config_.withAnimation; @@ -9235,6 +9078,20 @@ var $rundis$elm_bootstrap$Bootstrap$Modal$display = F2( ]); } }); +var $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption = function (size) { + switch (size.$) { + case 'XS': + return $elm$core$Maybe$Nothing; + case 'SM': + return $elm$core$Maybe$Just('sm'); + case 'MD': + return $elm$core$Maybe$Just('md'); + case 'LG': + return $elm$core$Maybe$Just('lg'); + default: + return $elm$core$Maybe$Just('xl'); + } +}; var $rundis$elm_bootstrap$Bootstrap$Modal$modalClass = function (size) { var _v0 = $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(size); if (_v0.$ === 'Just') { @@ -9437,6 +9294,147 @@ var $author$project$Model$RemoveEnemy = function (a) { var $author$project$Model$ShowAttackModal = function (a) { return {$: 'ShowAttackModal', a: a}; }; +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Attrs = function (a) { + return {$: 'Attrs', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Button$attrs = function (attrs_) { + return $rundis$elm_bootstrap$Bootstrap$Internal$Button$Attrs(attrs_); +}; +var $elm$core$Maybe$andThen = F2( + function (callback, maybeValue) { + if (maybeValue.$ === 'Just') { + var value = maybeValue.a; + return callback(value); + } else { + return $elm$core$Maybe$Nothing; + } + }); +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier = F2( + function (modifier, options) { + switch (modifier.$) { + case 'Size': + var size = modifier.a; + return _Utils_update( + options, + { + size: $elm$core$Maybe$Just(size) + }); + case 'Coloring': + var coloring = modifier.a; + return _Utils_update( + options, + { + coloring: $elm$core$Maybe$Just(coloring) + }); + case 'Block': + return _Utils_update( + options, + {block: true}); + case 'Disabled': + var val = modifier.a; + return _Utils_update( + options, + {disabled: val}); + default: + var attrs = modifier.a; + return _Utils_update( + options, + { + attributes: _Utils_ap(options.attributes, attrs) + }); + } + }); +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$defaultOptions = {attributes: _List_Nil, block: false, coloring: $elm$core$Maybe$Nothing, disabled: false, size: $elm$core$Maybe$Nothing}; +var $elm$json$Json$Encode$bool = _Json_wrap; +var $elm$html$Html$Attributes$boolProperty = F2( + function (key, bool) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$bool(bool)); + }); +var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass = function (role) { + switch (role.$) { + case 'Primary': + return 'primary'; + case 'Secondary': + return 'secondary'; + case 'Success': + return 'success'; + case 'Info': + return 'info'; + case 'Warning': + return 'warning'; + case 'Danger': + return 'danger'; + case 'Dark': + return 'dark'; + case 'Light': + return 'light'; + default: + return 'link'; + } +}; +var $rundis$elm_bootstrap$Bootstrap$Internal$Button$buttonAttributes = function (modifiers) { + var options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier, $rundis$elm_bootstrap$Bootstrap$Internal$Button$defaultOptions, modifiers); + return _Utils_ap( + _List_fromArray( + [ + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('btn', true), + _Utils_Tuple2('btn-block', options.block), + _Utils_Tuple2('disabled', options.disabled) + ])), + $elm$html$Html$Attributes$disabled(options.disabled) + ]), + _Utils_ap( + function () { + var _v0 = A2($elm$core$Maybe$andThen, $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption, options.size); + if (_v0.$ === 'Just') { + var s = _v0.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class('btn-' + s) + ]); + } else { + return _List_Nil; + } + }(), + _Utils_ap( + function () { + var _v1 = options.coloring; + if (_v1.$ === 'Just') { + if (_v1.a.$ === 'Roled') { + var role = _v1.a.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class( + 'btn-' + $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass(role)) + ]); + } else { + var role = _v1.a.a; + return _List_fromArray( + [ + $elm$html$Html$Attributes$class( + 'btn-outline-' + $rundis$elm_bootstrap$Bootstrap$Internal$Button$roleClass(role)) + ]); + } + } else { + return _List_Nil; + } + }(), + options.attributes))); +}; +var $rundis$elm_bootstrap$Bootstrap$Button$button = F2( + function (options, children) { + return A2( + $elm$html$Html$button, + $rundis$elm_bootstrap$Bootstrap$Internal$Button$buttonAttributes(options), + children); + }); var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring = function (a) { return {$: 'Coloring', a: a}; }; @@ -9634,9 +9632,6 @@ var $author$project$FightingTool$displayCharacters = function (chars) { }; var $rundis$elm_bootstrap$Bootstrap$Table$Hover = {$: 'Hover'}; var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstrap$Table$Hover; -var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'}; -var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring( - $rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light)); var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) { return {$: 'THead', a: a}; }; @@ -10651,7 +10646,11 @@ var $author$project$FightingTool$customEnemy = function (model) { var ddArmor = _v0.c; return A2( $elm$html$Html$div, - _List_Nil, + _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'margin-left', '5%'), + A2($elm$html$Html$Attributes$style, 'margin-right', '5%') + ]), _List_fromArray( [ A2( @@ -10792,7 +10791,11 @@ var $author$project$FightingTool$customEnemy = function (model) { var $author$project$FightingTool$customHero = function (model) { return A2( $elm$html$Html$div, - _List_Nil, + _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'margin-left', '5%'), + A2($elm$html$Html$Attributes$style, 'margin-right', '5%') + ]), _List_fromArray( [ A2( @@ -11513,7 +11516,6 @@ var $rundis$elm_bootstrap$Bootstrap$Tab$link = F2( return $rundis$elm_bootstrap$Bootstrap$Tab$Link( {attributes: attributes, children: children}); }); -var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3'); var $rundis$elm_bootstrap$Bootstrap$Tab$Pane = function (a) { return {$: 'Pane', a: a}; }; @@ -11854,7 +11856,10 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { pane: A2( $rundis$elm_bootstrap$Bootstrap$Tab$pane, _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]), + [ + $elm$html$Html$Attributes$class('lightCopper'), + A2($elm$html$Html$Attributes$style, 'padding', '2%') + ]), _List_fromArray( [ $author$project$FightingTool$customEnemy(model) @@ -11873,7 +11878,10 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { pane: A2( $rundis$elm_bootstrap$Bootstrap$Tab$pane, _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]), + [ + $elm$html$Html$Attributes$class('lightCopper'), + A2($elm$html$Html$Attributes$style, 'padding', '2%') + ]), _List_fromArray( [ $author$project$FightingTool$customHero(model) @@ -11942,17 +11950,13 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, + $elm$html$Html$button, _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Button$light, - $rundis$elm_bootstrap$Bootstrap$Button$block, - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Events$onClick( - $author$project$Model$ShowModal($author$project$Model$CustomEnemy)) - ])) + $elm$html$Html$Attributes$class('metalButton'), + $elm$html$Html$Events$onClick( + $author$project$Model$ShowModal($author$project$Model$CustomEnemy)), + A2($elm$html$Html$Attributes$style, 'width', '100%') ]), _List_fromArray( [ @@ -14887,7 +14891,8 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('header animate__animated animate__fadeInDown') + $elm$html$Html$Attributes$class('header animate__animated animate__fadeInDown'), + A2($elm$html$Html$Attributes$style, 'height', '80%') ]), _List_fromArray( [ @@ -14933,7 +14938,8 @@ var $author$project$FightingTool$header = A2( $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('item1') + $elm$html$Html$Attributes$class('item1'), + A2($elm$html$Html$Attributes$style, 'height', '80%') ]), _List_fromArray( [ @@ -14963,6 +14969,7 @@ var $author$project$FightingTool$header = A2( ])) ])) ])); +var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3'); var $author$project$Main$view = function (model) { return A2( $elm$html$Html$div, diff --git a/res/Stylesheet.css b/res/Stylesheet.css index 01748cc..82e81ea 100644 --- a/res/Stylesheet.css +++ b/res/Stylesheet.css @@ -54,6 +54,10 @@ html { background-color: #e4be9b } +.lightCopper{ + background-color: #efd8c3; +} + .fas:hover { font-weight: 900; color: #acacac; @@ -66,7 +70,7 @@ html { .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - background-color: #deb187; + background-color: #e4be9b; border-color: #dee2e6 #dee2e6 #fff; color: black; } @@ -82,14 +86,14 @@ html { } .btn { - background-color: #e4be9b; + background-color: #deb187; } tr:nth-child(even) {background-color: white;} tr:nth-child(odd) {background-color: #faf2eb;} .metalButton { - background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% ); + background-image: repeating-linear-gradient(to right bottom, #999999, #acacac , #999999 40% ); border-radius: 8px; padding: 8px 28px; color: white; @@ -100,7 +104,8 @@ tr:nth-child(odd) {background-color: #faf2eb;} } .metalButton:hover{ - background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf 10%, #acacac 40% ); + background-image: repeating-linear-gradient(to right bottom, #acacac , #999999 10%, #acacac 40% ); + color: black; } .PlayerIcon { diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 5da80b4..284888c 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -45,12 +45,11 @@ body model = (displayCharacters model.enemy ++ [Table.tr [] [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen - [ Button.button - [ Button.light - , Button.block - , Button.attrs [onClick <| ShowModal CustomEnemy ] - ] - [ text "+"] + [ Html.button + [ class "metalButton" + , onClick <| ShowModal CustomEnemy + , style "width" "100%" + ][text "+"] ] ] ] @@ -64,14 +63,14 @@ body model = header : Html Msg header = - Html.header [class "header animate__animated animate__fadeInDown"] + Html.header [class "header animate__animated animate__fadeInDown", style "height" "80%"] [ div [class "grid-container"] [ Html.figure [ class "image animate__animated animate__rollIn"] [ Svg.svg [ SvgAtt.width "100%", style "margin-top" "-18%", style "margin-left" "10%"] [ Svg.image [ SvgAtt.width "100%", SvgAtt.height "100%", SvgAtt.title "Logo", SvgAtt.xlinkHref "res/P&P Manager Logo 512x512px noBG.png" ] [] ] ] - , div [class "item1"] + , div [class "item1", style "height" "80%"] [ h1 [class "title", style "margin-left" "2%", style "margin-top" "4px"] [text "Pen & Paper Manager"] , h2 [class "subtitle", style "margin-left" "2%"] [text "Für \"Das schwarze Auge\" Version 5"] ] @@ -150,14 +149,14 @@ viewCustomEnemyModal model = { id = "enemy" , link = Tab.link [] [ text "Gegner" ] , pane = - Tab.pane [ Spacing.mt3 ] + Tab.pane [ class "lightCopper" , style "padding" "2%"] [ customEnemy model ] } , Tab.item { id = "hero" , link = Tab.link [] [ text "Held" ] , pane = - Tab.pane [ Spacing.mt3 ] + Tab.pane [ class "lightCopper" , style "padding" "2%"] [ customHero model ] } ] @@ -334,7 +333,7 @@ customEnemy model = Hero _ _ -> (Input.placeholder "", Input.placeholder "", Input.placeholder "") in - div [] + div [style "margin-left" "5%", style "margin-right" "5%"] [ Form.label [] [text "Name:"] , Input.text [Input.onInput (\n -> @@ -405,7 +404,7 @@ customEnemy model = customHero : Model -> Html Msg customHero model = - div [] + div [style "margin-left" "5%", style "margin-right" "5%"] [ Form.label [] [text "Name"] , Input.text [Input.onInput (\n -> -- GitLab From 8b983141385178c1eecf33d576e8beff597af789 Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sun, 12 Jul 2020 19:02:25 +0200 Subject: [PATCH 20/21] merge and refactor --- out/main.js | 213 ++++++++++++++++++--------------------------- res/Stylesheet.css | 41 +++++++-- src/DungeonMap.elm | 96 ++++++++++---------- 3 files changed, 164 insertions(+), 186 deletions(-) diff --git a/out/main.js b/out/main.js index c1d0025..8027260 100644 --- a/out/main.js +++ b/out/main.js @@ -8693,22 +8693,22 @@ var $author$project$About$aboutView = A2( _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\r\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\r\n '), + $elm$html$Html$text('\n Die wenigsten Geschichten im Pen & Paper Rollenspiel DSA kommen ohne einen Kampf aus.\n Die Mechanik unterscheidet sich allerdings etwas vom normalen Spielgeschehen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\r\n Der Spielleiter würfelt für alle NSCs.\r\n '), + $elm$html$Html$text('\n Zur Vorbereitung wird die Reihenfolge der Kämpfenden bestimmt. Dazu wird der die Initiative (INI) ausgewürfelt.\n Der Spielleiter würfelt für alle NSCs.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\r\n ') + $elm$html$Html$text('\n Dieser Reihenfolge nach dürfen die Charaktere jetzt je einen Gegner angreifen.\n ') ])), A2( $elm$html$Html$p, _List_Nil, _List_fromArray( [ - $elm$html$Html$text('\r\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\r\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\r\n '), + $elm$html$Html$text('\n Um anzugreifen muss zunächst eine Probe mit einem W20 auf den AT-Wert bestanden werden.\n Gleichzeitig wirft der Angegriffene auf PA oder AW. Gelingt die Probe bricht der Angriff an dieser Stelle ab.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\r\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\r\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\r\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\r\n '), + $elm$html$Html$text('\n War der Angriff erfolgreich und die Verteidigung ein Fehlschlag wird der Schaden berechnet.\n Das ist die Gelegenheit den \"Angriff\"-Button zu klicken.\n Entsprechend der Angabe der Waffe (z.B 1W6+4) wird der Angriffswert erwürfelt.\n Von diesem wird der RS-Wert des Angegriffenen subtrahiert und das Ergebnis von den LeP abgezogen.\n '), A2($elm$html$Html$br, _List_Nil, _List_Nil), - $elm$html$Html$text('\r\n Die Berechnung übernimmt der Manager vollständig!\r\n ') + $elm$html$Html$text('\n Die Berechnung übernimmt der Manager vollständig!\n ') ])), A2( $elm$html$Html$p, @@ -12048,6 +12048,12 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs = function (a) { var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$attrs = function (attrs_) { return $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs(attrs_); }; +var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$RowAttrs = function (a) { + return {$: 'RowAttrs', a: a}; +}; +var $rundis$elm_bootstrap$Bootstrap$Grid$Row$attrs = function (attrs_) { + return $rundis$elm_bootstrap$Bootstrap$Grid$Internal$RowAttrs(attrs_); +}; var $rundis$elm_bootstrap$Bootstrap$Grid$Column = function (a) { return {$: 'Column', a: a}; }; @@ -12058,12 +12064,6 @@ var $rundis$elm_bootstrap$Bootstrap$Grid$col = F2( }); var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Disabled = {$: 'Disabled'}; var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$disabled = $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Disabled; -var $rundis$elm_bootstrap$Bootstrap$Table$TableAttr = function (a) { - return {$: 'TableAttr', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$attr = function (attr_) { - return $rundis$elm_bootstrap$Bootstrap$Table$TableAttr(attr_); -}; var $rundis$elm_bootstrap$Bootstrap$Table$Bordered = {$: 'Bordered'}; var $rundis$elm_bootstrap$Bootstrap$Table$bordered = $rundis$elm_bootstrap$Bootstrap$Table$Bordered; var $author$project$Model$AddCharacterIcon = function (a) { @@ -12072,15 +12072,12 @@ var $author$project$Model$AddCharacterIcon = function (a) { var $author$project$Model$MouseDraw = function (a) { return {$: 'MouseDraw', a: a}; }; -<<<<<<< HEAD var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) { return {$: 'RowAttr', a: a}; }; var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) { return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_); }; -======= ->>>>>>> style var $rundis$elm_bootstrap$Bootstrap$Table$Roled = function (a) { return {$: 'Roled', a: a}; }; @@ -12115,8 +12112,6 @@ var $author$project$DungeonMap$characters2rows = F2( _Utils_ap( _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( - $elm$html$Html$Attributes$class('tr')), $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( $author$project$DungeonMap$stopBubbling( $author$project$Model$AddCharacterIcon( @@ -12159,8 +12154,6 @@ var $author$project$DungeonMap$characters2rows = F2( _Utils_ap( _List_fromArray( [ - $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( - $elm$html$Html$Attributes$class('tr')), $rundis$elm_bootstrap$Bootstrap$Table$rowAttr( $author$project$DungeonMap$stopBubbling( $author$project$Model$AddCharacterIcon( @@ -12199,31 +12192,16 @@ var $author$project$DungeonMap$characters2rows = F2( }), $elm$core$Array$toList(chars)); }); -<<<<<<< HEAD -var $rundis$elm_bootstrap$Bootstrap$Table$Responsive = function (a) { - return {$: 'Responsive', a: a}; -}; -var $rundis$elm_bootstrap$Bootstrap$Table$responsive = $rundis$elm_bootstrap$Bootstrap$Table$Responsive($elm$core$Maybe$Nothing); -======= ->>>>>>> style var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { return A2( $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('container') - ]), + _List_Nil, _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$table( { options: _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Table$hover, - $rundis$elm_bootstrap$Bootstrap$Table$bordered, - $rundis$elm_bootstrap$Bootstrap$Table$attr( - $elm$html$Html$Attributes$class('map-table')) - ]), + [$rundis$elm_bootstrap$Bootstrap$Table$hover, $rundis$elm_bootstrap$Bootstrap$Table$bordered]), tbody: A2( $rundis$elm_bootstrap$Bootstrap$Table$tbody, _List_Nil, @@ -12236,7 +12214,7 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12247,7 +12225,7 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12258,7 +12236,7 @@ var $author$project$DungeonMap$dungeonMap_MonsterList = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$class('th')) + $elm$html$Html$Attributes$class('mediumCopper')) ]), _List_fromArray( [ @@ -12950,11 +12928,10 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { $elm$html$Html$div, _List_fromArray( [ - $elm$html$Html$Attributes$class('container'), A2( $elm$html$Html$Attributes$style, 'border', - model.hover ? '6px dashed purple' : '6px dashed #bfbfbf'), + model.hover ? '6px dashed #b87333' : '6px dashed #bfbfbf'), A2( $author$project$DungeonMap$hijackOn, 'dragenter', @@ -12973,10 +12950,7 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { [ A2( $elm$html$Html$figure, - _List_fromArray( - [ - $elm$html$Html$Attributes$class('image') - ]), + _List_Nil, _List_fromArray( [ A2( @@ -12985,7 +12959,7 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { _List_fromArray( [ $elm$svg$Svg$Attributes$width('100%'), - $elm$svg$Svg$Attributes$viewBox('0 0 800 600'), + $elm$svg$Svg$Attributes$viewBox('0 0 800 550'), $elm$svg$Svg$Attributes$version('1.1') ]), $author$project$DungeonMap$mouseDrawEvents(model.addCharacterIcon)), @@ -12997,7 +12971,7 @@ var $author$project$DungeonMap$dungeonMap_Svg = function (model) { _List_fromArray( [ $elm$svg$Svg$Attributes$width('800'), - $elm$svg$Svg$Attributes$height('600'), + $elm$svg$Svg$Attributes$height('550'), $elm$svg$Svg$Attributes$title('DungeonMap'), $elm$svg$Svg$Attributes$xlinkHref( A2( @@ -13775,7 +13749,7 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$footer, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_fromArray( [ @@ -13790,9 +13764,8 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { $author$project$Model$AddCharacterIcon( $author$project$Model$MouseClick( $author$project$DungeonMap$getCharIcon(model.addCharacterIcon)))), - $elm$html$Html$Attributes$class('metalButton map-buttons'), - A2($elm$html$Html$Attributes$style, 'margin-top', '5px'), - A2($elm$html$Html$Attributes$style, 'width', '140px') + $elm$html$Html$Attributes$class('metalButton'), + A2($elm$html$Html$Attributes$style, 'margin-top', '5px') ])), $rundis$elm_bootstrap$Bootstrap$Button$disabled(!model.radioCheckedID) ]), @@ -13892,7 +13865,7 @@ var $author$project$DungeonMap$newObjectIconModal = function (model) { $rundis$elm_bootstrap$Bootstrap$Modal$header, _List_fromArray( [ - $elm$html$Html$Attributes$class('colored-header-footer') + $elm$html$Html$Attributes$class('mediumCopper') ]), _List_fromArray( [ @@ -14820,7 +14793,7 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Value = function (a) { var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$value = function (value_) { return $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Value(value_); }; -var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col4 = {$: 'Col4'}; +var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col8 = {$: 'Col8'}; var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$ColWidth = function (a) { return {$: 'ColWidth', a: a}; }; @@ -14829,9 +14802,7 @@ var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$width = F2( return $rundis$elm_bootstrap$Bootstrap$Grid$Internal$ColWidth( A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width, size, count)); }); -var $rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4 = A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col4); -var $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col5 = {$: 'Col5'}; -var $rundis$elm_bootstrap$Bootstrap$Grid$Col$xs5 = A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col5); +var $rundis$elm_bootstrap$Bootstrap$Grid$Col$xs8 = A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col8); var $author$project$DungeonMap$dungeonMapView = function (model) { return A2( $elm$html$Html$section, @@ -14851,15 +14822,22 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { [ A2( $rundis$elm_bootstrap$Bootstrap$Grid$row, - _List_Nil, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Grid$Row$attrs( + _List_fromArray( + [ + A2($elm$html$Html$Attributes$style, 'margin-bottom', '2%') + ])) + ]), _List_fromArray( [ A2( $rundis$elm_bootstrap$Bootstrap$Grid$col, - _List_Nil, + _List_fromArray( + [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs8]), _List_fromArray( [ - A2($elm$html$Html$br, _List_Nil, _List_Nil), $rundis$elm_bootstrap$Bootstrap$Form$Textarea$textarea( _List_fromArray( [ @@ -14871,93 +14849,70 @@ var $author$project$DungeonMap$dungeonMapView = function (model) { [ $elm$html$Html$Attributes$class('text-area') ])) - ])), - A2($elm$html$Html$br, _List_Nil, _List_Nil), - $author$project$DungeonMap$dungeonMap_Svg(model) + ])) ])), A2( $rundis$elm_bootstrap$Bootstrap$Grid$col, - _List_fromArray( -<<<<<<< HEAD - [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4]), - _List_fromArray( - [ - $author$project$DungeonMap$dungeonMap_MonsterList(model) - ])) - ])) - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$info, - $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$ClearCharacterList) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Clear Map') - ])), -======= - [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs5]), + _List_Nil, _List_fromArray( [ A2( - $rundis$elm_bootstrap$Bootstrap$Grid$row, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Button$button, _List_fromArray( [ - A2( - $rundis$elm_bootstrap$Bootstrap$Grid$col, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Button$attrs( _List_fromArray( [ - A2($elm$html$Html$br, _List_Nil, _List_Nil), - $author$project$DungeonMap$dungeonMap_MonsterList(model) + $elm$html$Html$Attributes$class('metalButton'), + A2($elm$html$Html$Attributes$style, 'height', '52px'), + A2($elm$html$Html$Attributes$style, 'margin-right', '2%') ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Grid$col, - _List_fromArray( - [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs4]), + $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$Pick) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Upload Map') + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Button$button, + _List_fromArray( + [ + $rundis$elm_bootstrap$Bootstrap$Button$attrs( _List_fromArray( [ - A2($elm$html$Html$br, _List_Nil, _List_Nil), - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Attributes$class('metalButton map-buttons') - ])), - $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$Pick) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Upload Map') - ])), - A2( - $rundis$elm_bootstrap$Bootstrap$Button$button, - _List_fromArray( - [ - $rundis$elm_bootstrap$Bootstrap$Button$attrs( - _List_fromArray( - [ - $elm$html$Html$Attributes$class('metalButton map-buttons'), - A2($elm$html$Html$Attributes$style, 'margin-top', '5px') - ])), - $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$ClearCharacterList) - ]), - _List_fromArray( - [ - $elm$html$Html$text('Clear Map') - ])) - ])) + $elm$html$Html$Attributes$class('metalButton'), + A2($elm$html$Html$Attributes$style, 'height', '52px') + ])), + $rundis$elm_bootstrap$Bootstrap$Button$onClick($author$project$Model$ClearCharacterList) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Clear Map') ])) ])) + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$row, + _List_Nil, + _List_fromArray( + [ + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$col, + _List_fromArray( + [$rundis$elm_bootstrap$Bootstrap$Grid$Col$xs8]), + _List_fromArray( + [ + $author$project$DungeonMap$dungeonMap_Svg(model) + ])), + A2( + $rundis$elm_bootstrap$Bootstrap$Grid$col, + _List_Nil, + _List_fromArray( + [ + $author$project$DungeonMap$dungeonMap_MonsterList(model) + ])) ])) ])), ->>>>>>> style $author$project$DungeonMap$newObjectIconModal(model) ])); }; diff --git a/res/Stylesheet.css b/res/Stylesheet.css index 01748cc..988c4dd 100644 --- a/res/Stylesheet.css +++ b/res/Stylesheet.css @@ -99,10 +99,14 @@ tr:nth-child(odd) {background-color: #faf2eb;} font-size: 1rem; } -.metalButton:hover{ +.metalButton:hover { background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf 10%, #acacac 40% ); } +.metalButton:disabled { + background-color: #acacac; +} + .PlayerIcon { fill: black; stroke: red; @@ -110,6 +114,14 @@ tr:nth-child(odd) {background-color: #faf2eb;} fill-opacity:0; } +.PlayerIcon:hover { + fill: grey-darker; + opacity:0.5; + fill-opacity:0.5; + width:25px; + height:25px; +} + .MonsterIcon { fill: black; stroke: red; @@ -124,13 +136,7 @@ tr:nth-child(odd) {background-color: #faf2eb;} width:30px; height:30px; } -.PlayerIcon:hover { - fill: grey-darker; - opacity:0.5; - fill-opacity:0.5; - width:25px; - height:25px; -} + .ObjectIcon:hover { fill: grey-darker; opacity:0.5; @@ -147,4 +153,23 @@ tr:nth-child(odd) {background-color: #faf2eb;} h1.about { padding-top: 2%; font-variant: small-caps; +} + +.content-box { + margin-right: 20px; + margin-left: 20px; + padding: 15px; +} + +.form-control:disabled, .form-control[readonly] { + color: black; + background-color: #e4be9b; +} + +.map-table { + border: 2px solid #bfbfbf; +} + +figure { + margin: 0 0 0 0; } \ No newline at end of file diff --git a/src/DungeonMap.elm b/src/DungeonMap.elm index 68e9bf3..166c167 100644 --- a/src/DungeonMap.elm +++ b/src/DungeonMap.elm @@ -11,6 +11,7 @@ import Svg.Events import Json.Decode import Bootstrap.Grid as Grid import Bootstrap.Grid.Col as Col +import Bootstrap.Grid.Row as Row import Bootstrap.Table as Table import Bootstrap.Button as Button import Bootstrap.Modal as Modal @@ -29,50 +30,42 @@ dungeonMapView : Model -> Html Msg dungeonMapView model = Html.section [ class "content-box is-widescreen" ] [ div [ class "section" ] - [ Grid.row [] - [ Grid.col [] - [ Html.br [] [] - ,Textarea.textarea - [ Textarea.rows 1 - , Textarea.disabled - , Textarea.value model.activeTooltip - , Textarea.attrs [ class "text-area" ] - ] - , Html.br [] [] - , dungeonMap_Svg model - ] - , Grid.col [ Col.xs5 ] - [ Grid.row [] - [ Grid.col [] - [ Html.br [] [] - , dungeonMap_MonsterList model - ] - , Grid.col [ Col.xs4 ] - [ Html.br [] [] - , Button.button - [ Button.attrs [ class "metalButton map-buttons"] - , Button.onClick Pick ] - [ text "Upload Map" ] - , Button.button - [ Button.attrs [ class "metalButton map-buttons", style "margin-top" "5px" ] - , Button.onClick ClearCharacterList ] - [ text "Clear Map" ] - ] - ] - ] - ] - ] - , newObjectIconModal model + [ Grid.row [ Row.attrs <| [style "margin-bottom" "2%"] ] + [ Grid.col [ Col.xs8 ] + [ Textarea.textarea + [ Textarea.rows 1 + , Textarea.disabled + , Textarea.value model.activeTooltip + , Textarea.attrs [ class "text-area" ] + ] + ] + , Grid.col [ ] + [ Button.button + [ Button.attrs [ class "metalButton", style "height" "52px", style "margin-right" "2%" ] + , Button.onClick Pick ] + [ text "Upload Map" ] + , Button.button + [ Button.attrs [ class "metalButton", style "height" "52px" ] + , Button.onClick ClearCharacterList ] + [ text "Clear Map" ] + ] + ] + , Grid.row [ ] + [ Grid.col [ Col.xs8 ] [ dungeonMap_Svg model ] + , Grid.col [] [ dungeonMap_MonsterList model] + ] + ] + , newObjectIconModal model ] dungeonMap_MonsterList : Model -> Html Msg dungeonMap_MonsterList model = - div [ class "container" ] - [ Table.table { options = [ Table.hover, Table.bordered, Table.attr (class "map-table") ] + div [ ] + [ Table.table { options = [ Table.hover, Table.bordered ] , thead = Table.simpleThead - [ Table.th [Table.cellAttr <| class "th"] [ Html.text "ID" ] - , Table.th [Table.cellAttr <| class "th"] [ Html.text "Name" ] - , Table.th [Table.cellAttr <| class "th"] [ Html.text "LeP" ] + [ Table.th [Table.cellAttr <| class "mediumCopper"] [ Html.text "ID" ] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ Html.text "Name" ] + , Table.th [Table.cellAttr <| class "mediumCopper"] [ Html.text "LeP" ] ] , tbody = Table.tbody [] @@ -87,7 +80,7 @@ characters2rows chars highlighted = (\i c -> case c of Enemy name health _ _ _ -> - Table.tr ([ Table.rowAttr <| class "tr", Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (MonsterIcon (i+1) "-100" "-100" name)))) ] + Table.tr ([ Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (MonsterIcon (i+1) "-100" "-100" name)))) ] ++ if highlighted==i+1 then [ Table.rowSecondary ] else []) [ Table.td [] [Html.text <| String.fromInt (i+1)] , Table.td [] [Html.text name] @@ -95,7 +88,7 @@ characters2rows chars highlighted = ] Hero name health -> - Table.tr ([ Table.rowAttr <| class "tr", Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (PlayerIcon (i+1) "-100" "-100" name)))) ] + Table.tr ([ Table.rowAttr (stopBubbling (AddCharacterIcon (MouseDraw (PlayerIcon (i+1) "-100" "-100" name)))) ] ++ if highlighted==i+1 then [ Table.rowSecondary ] else []) [ Table.td [] [Html.text <| String.fromInt (i+1)] , Table.td [] [Html.text name] @@ -108,19 +101,24 @@ characters2rows chars highlighted = dungeonMap_Svg : Model -> Html Msg dungeonMap_Svg model = - div [ class "container" - , style "border" (if model.hover then "6px dashed purple" else "6px dashed #bfbfbf") + div [ style "border" (if model.hover then "6px dashed #b87333" else "6px dashed #bfbfbf") , hijackOn "dragenter" (Json.Decode.succeed DragEnter) , hijackOn "dragover" (Json.Decode.succeed DragEnter) , hijackOn "dragleave" (Json.Decode.succeed DragLeave) , hijackOn "drop" dropDecoder ] - [ Html.figure [ class "image" ] + [ Html.figure [ ] [ Svg.svg - ([ SvgAtt.width "100%", SvgAtt.viewBox "0 0 800 600", SvgAtt.version "1.1" ] + ([ SvgAtt.width "100%", SvgAtt.viewBox "0 0 800 550", SvgAtt.version "1.1" ] ++ mouseDrawEvents model.addCharacterIcon ) - ([ Svg.image [ SvgAtt.width "800", SvgAtt.height "600", SvgAtt.title "DungeonMap", SvgAtt.xlinkHref (Maybe.withDefault "" (List.head model.previews)) ] [] ] + ([ Svg.image + [ SvgAtt.width "800" + , SvgAtt.height "550" + , SvgAtt.title "DungeonMap" + , SvgAtt.xlinkHref (Maybe.withDefault "" (List.head model.previews)) + ] [] + ] ++ svgIconList model ++ newIconsView model.addCharacterIcon ) @@ -131,7 +129,7 @@ newObjectIconModal : Model -> Html Msg newObjectIconModal model = Modal.config (CloseModal ObjectIconModal) |> Modal.hideOnBackdropClick True - |> Modal.header [class "colored-header-footer"] + |> Modal.header [class "mediumCopper"] [ Html.h3 [][text "Neues Icon"] ] |> Modal.body [class "body"] @@ -160,9 +158,9 @@ newObjectIconModal model = ) ] ] - |> Modal.footer [class "colored-header-footer"] + |> Modal.footer [class "mediumCopper"] [ Button.button - [ Button.attrs [onClick <| AddCharacterIcon (MouseClick (getCharIcon model.addCharacterIcon)), class "metalButton map-buttons", style "margin-top" "5px", style "width" "140px" ] + [ Button.attrs [onClick <| AddCharacterIcon (MouseClick (getCharIcon model.addCharacterIcon)), class "metalButton", style "margin-top" "5px" ] , Button.disabled (model.radioCheckedID==0) ] [ text "Icon hinzufügen" ] -- GitLab From 18b646af354859dc700d29a5fa3da228622ab33d Mon Sep 17 00:00:00 2001 From: skranz <kranz.stefan99@tutanota.com> Date: Sun, 12 Jul 2020 19:19:52 +0200 Subject: [PATCH 21/21] small tweaks --- out/main.js | 10 ++-------- res/Stylesheet.css | 4 ++-- src/About.elm | 3 +-- src/FightingTool.elm | 1 + 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/out/main.js b/out/main.js index 09b8dc4..9e166c1 100644 --- a/out/main.js +++ b/out/main.js @@ -8653,7 +8653,6 @@ var $elm$html$Html$Attributes$stringProperty = F2( var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); var $elm$html$Html$div = _VirtualDom_node('div'); var $elm$html$Html$h1 = _VirtualDom_node('h1'); -var $elm$html$Html$h3 = _VirtualDom_node('h3'); var $elm$html$Html$Attributes$href = function (url) { return A2( $elm$html$Html$Attributes$stringProperty, @@ -8677,13 +8676,6 @@ var $author$project$About$aboutView = A2( [ $elm$html$Html$Attributes$class('about') ]), - _List_fromArray( - [ - $elm$html$Html$text('Das schwarze Auge Edition 5') - ])), - A2( - $elm$html$Html$h3, - _List_Nil, _List_fromArray( [ $elm$html$Html$text('Übersicht der Kampfesregeln') @@ -8794,6 +8786,7 @@ var $rundis$elm_bootstrap$Bootstrap$Modal$footer = F3( {attributes: attributes, children: children})) })); }); +var $elm$html$Html$h3 = _VirtualDom_node('h3'); var $rundis$elm_bootstrap$Bootstrap$Modal$Header = function (a) { return {$: 'Header', a: a}; }; @@ -10779,6 +10772,7 @@ var $author$project$FightingTool$customEnemy = function (model) { _List_fromArray( [ $elm$html$Html$Attributes$class('metalButton'), + A2($elm$html$Html$Attributes$style, 'position', 'right'), $elm$html$Html$Events$onClick( $author$project$Model$AddEnemy(model.tmpEnemy)) ]), diff --git a/res/Stylesheet.css b/res/Stylesheet.css index 1619185..5748fdd 100644 --- a/res/Stylesheet.css +++ b/res/Stylesheet.css @@ -70,7 +70,7 @@ html { .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - background-color: #e4be9b; + background-color: #efd8c3; border-color: #dee2e6 #dee2e6 #fff; color: black; } @@ -86,7 +86,7 @@ html { } .btn { - background-color: #deb187; + background-color: #e4be9b; } tr:nth-child(even) {background-color: white;} diff --git a/src/About.elm b/src/About.elm index 0a52bed..381b834 100644 --- a/src/About.elm +++ b/src/About.elm @@ -7,8 +7,7 @@ import Model exposing (..) aboutView : Html Msg aboutView = div[ class "aboutText" ] - [ Html.h1 [ class "about" ] [ text "Das schwarze Auge Edition 5" ] - , Html.h3 [] [ text "Übersicht der Kampfesregeln"] + [ Html.h1 [class "about"] [ text "Übersicht der Kampfesregeln"] , Html.p [] [ text """ diff --git a/src/FightingTool.elm b/src/FightingTool.elm index 284888c..12fe040 100644 --- a/src/FightingTool.elm +++ b/src/FightingTool.elm @@ -398,6 +398,7 @@ customEnemy model = , Html.br [] [] , Html.button [ class "metalButton" + , style "position" "right" , onClick <| AddEnemy model.tmpEnemy ] [ text "Hinzufügen"] ] -- GitLab