diff --git a/index.html b/index.html index 1a4b4e97cbec5666132c2f1880b500fd8d143587..299ea68289be6d18a28ab9e5f9fbe2235fb63bff 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 71693db650f21f2d274db255abaafd1f3d0851dd..435da2f8ed70b021b0c2c914a89794e0bf84c58a 100644 --- a/out/main.js +++ b/out/main.js @@ -5649,6 +5649,7 @@ var $author$project$Model$init = function (_v0) { hover: false, iconText: '', maxFace: 6, + modalTabState: $rundis$elm_bootstrap$Bootstrap$Tab$initialState, mouseInIcon: false, myDrop1State: $rundis$elm_bootstrap$Bootstrap$Dropdown$initialState, objectIconList: _List_Nil, @@ -8250,6 +8251,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') { @@ -8634,9 +8642,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) { @@ -8645,6 +8650,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, @@ -8656,12 +8665,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') @@ -8771,7 +8786,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; @@ -9628,6 +9642,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}; }; @@ -10474,21 +10494,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}; @@ -10516,20 +10527,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( [ @@ -10538,7 +10548,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( @@ -10549,16 +10562,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( [ @@ -10572,11 +10581,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$Attributes$class('colored-header-footer') + ]), _List_fromArray( [ - $elm$html$Html$text('Angriff') + A2( + $elm$html$Html$h3, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Angriff') + ])) ]), A2( $rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick, @@ -10585,84 +10603,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}; }; @@ -10837,16 +10787,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( [ @@ -10919,16 +10865,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( [ @@ -11549,273 +11491,334 @@ 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( + _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( [ - _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, + $elm$html$Html$Attributes$classList(commonClasses), + clickHandler, + $elm$html$Html$Attributes$href('#' + id) + ]), + attributes), + children) : A2( + $elm$html$Html$button, + _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)); + $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$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, +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('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) + _Utils_Tuple2('nav', true), + _Utils_Tuple2('nav-tabs', !configRec.isPill), + _Utils_Tuple2('nav-pills', configRec.isPill) ])) ]), - _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( + _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$classList( - _List_fromArray( - [ - _Utils_Tuple2('form-check-label', !opts.custom), - _Utils_Tuple2('custom-control-label', opts.custom) - ])) + $elm$html$Html$Attributes$class('tab-content') ]), - 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 $elm$core$List$append = F2( - function (xs, ys) { - if (!ys.b) { - return xs; + _List_Nil) + ])); } else { - return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); + 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 $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( - _List_fromArray( - [ - $elm$html$Html$Attributes$classList( - _List_fromArray( - [ - _Utils_Tuple2('form-group', options.isGroup) - ])), - $elm$html$Html$Attributes$disabled(options.disabled) - ]), - options.attributes), - function (xs) { - return A2($elm$core$List$append, xs, rec.children); - }( - A2( - $elm$core$Maybe$withDefault, - _List_Nil, - A2( - $elm$core$Maybe$map, - function (e) { - return _List_fromArray( - [e]); - }, - rec.legend)))); -}; 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; - } - }(); return A2( $rundis$elm_bootstrap$Bootstrap$Modal$view, 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( @@ -11823,54 +11826,86 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) { _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), - $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$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( - $rundis$elm_bootstrap$Bootstrap$Modal$h3, - _List_Nil, + $rundis$elm_bootstrap$Bootstrap$Modal$header, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('colored-header-footer') + ]), _List_fromArray( [ - $elm$html$Html$text('Charakter hinzufügen') + A2( + $elm$html$Html$h3, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Charakter hinzufügen') + ])) ]), A2( $rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick, @@ -11902,7 +11937,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( @@ -11939,7 +11978,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') @@ -11949,7 +11992,9 @@ var $author$project$FightingTool$body = function (model) { _List_fromArray( [ $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( - $elm$html$Html$Attributes$colspan(2)) + $elm$html$Html$Attributes$colspan(2)), + $rundis$elm_bootstrap$Bootstrap$Table$cellAttr( + $elm$html$Html$Attributes$class('th')) ]), _List_fromArray( [ @@ -11957,28 +12002,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(' ') @@ -11991,13 +12052,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 $author$project$Model$Pick = {$: 'Pick'}; var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs = function (a) { @@ -12030,12 +12084,6 @@ var $author$project$Model$AddCharacterIcon = function (a) { var $author$project$Model$MouseDraw = function (a) { return {$: 'MouseDraw', a: a}; }; -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$Roled = function (a) { return {$: 'Roled', a: a}; }; @@ -12952,7 +13000,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)); @@ -12971,49 +13054,234 @@ var $author$project$DungeonMap$getCharIcon = function (state) { return A6($author$project$Model$ObjectIcon, 0, '', '', '', $elm$core$Maybe$Nothing, 0); } }; +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 $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 $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg); +}; +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 $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)); @@ -14641,7 +14909,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( [ @@ -14672,7 +14940,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( [ @@ -14748,316 +15016,13 @@ 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, _List_fromArray( [ - $elm$html$Html$Attributes$class('body') + $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 907a08d2e4e9d3c79ab19d7dc64058e4f12030a5..89d3d615a3f29b69a98a5d959c324fd3a69d0fd4 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; @@ -5,6 +17,7 @@ text-align: left; padding: 10px; margin-bottom: 1%; + font-family: 'Fondamento', cursive; } .footer { @@ -19,10 +32,12 @@ background-color: #faf2eb; max-width: 100%; } +.colored-header-footer{ + background-color: #e4be9b; +} -.body-fix { - display:flex; - flex-direction:column; +.textFont { + font-family: 'Alegreya', serif; } .grid-container { @@ -54,8 +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 !important; - align-self: flex-end; + color: white; text-align: center; text-decoration: none; text-shadow: 2px 2px 5px #404040; @@ -109,4 +123,14 @@ tr:nth-child(even) {background-color: white;} .map-table { border: 2px solid #bfbfbf !important; +} + +.aboutText { + padding-left: 5%; + padding-right: 5%; +} + +h1.about { + padding-top: 2%; + font-variant: small-caps; } \ No newline at end of file diff --git a/res/icons/Enemy.svg b/res/icons/Enemy.svg index 9a8125bd834184ae33902760191553fbc2645f63..97f127f11c238161fec1bb626871e1de50833d9e 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,36 +24,10 @@ 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" - effect="mirror_symmetry" /> - <inkscape:path-effect - split_items="false" - oposite_fuse="false" - fuse_paths="false" - discard_orig_path="false" - mode="free" - lpeversion="1" - is_visible="true" - id="path-effect900" + id="path-effect41" 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" - 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" + end_point="0,371.74" + start_point="1000000,115.5" effect="mirror_symmetry" /> <inkscape:path-effect split_items="false" @@ -63,58 +37,33 @@ mode="free" lpeversion="1" is_visible="true" - id="path-effect896" + id="path-effect39" center_point="375.77734,243.61817" end_point="375.77734,371.73633" start_point="375.77734,115.5" effect="mirror_symmetry" /> </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 +72,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> diff --git a/res/icons/Hero.svg b/res/icons/Hero.svg index 7feacbf07abf390bfa8db1826a71d49e65b4df70..7b07db574e3087f1e6f98271034b0eff1ac0519a 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> diff --git a/src/About.elm b/src/About.elm index 963c97023d9b633bea8f30d720a9b7255f5d30d4..0a52bede1ed0cfa71ca9d7033c5a93bc75a7a583 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 84633fec41c4e2aa17d4648ecd00f5ceef364b1e..f9c3b1c82b304fde0517afd530f52e3b03229741 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 @@ -31,17 +33,17 @@ body model = [ Table.table { options = [Table.hover ] , thead = Table.simpleThead - [ Table.th [] [ text "ID" ] - , Table.th [ Table.cellAttr <| Attr.colspan 2 ] [ 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 <| 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 " "] ] , tbody = Table.tbody [] (displayCharacters 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 @@ -62,7 +64,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 @@ -78,7 +80,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" ] @@ -97,29 +99,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 ] @@ -132,53 +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.h3 [] [ text "Charakter hinzufügen" ] - |> Modal.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 [] [] - |> Modal.view model.showCustomEnemy - + ] + |> Modal.footer [class "colored-header-footer"] [] + |> Modal.view model.showCustomEnemy parseEnemy : Json.Decode.Decoder Character parseEnemy = @@ -303,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"] @@ -409,10 +396,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 +429,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 49e33452a1e8f24d1671b2e7dda0adbe59b9fe60..ca650c9f726526f58c50671ab902ce7c9cc77b93 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 -> @@ -301,7 +306,7 @@ update msg model = view : Model -> Html Msg view model = - div [Html.Attributes.class "body"] + div [Html.Attributes.class "wrapper textFont", Html.Attributes.style "height" "100%"] [ header , Tab.config TabMsg |> Tab.items diff --git a/src/Model.elm b/src/Model.elm index fba87ca83349943ca1425944c6adfef9975069ea..3eae4eaa8f8b0f037154f9b86cb1c321cd41252f 100644 --- a/src/Model.elm +++ b/src/Model.elm @@ -26,6 +26,7 @@ type alias Model = , dieFace : Int , maxFace : Int , tabState : Tab.State + , modalTabState : Tab.State , characterList : List CharacterIcon , objectIconList : List CharacterIcon , addCharacterIcon : AddCharacterIconState @@ -62,6 +63,7 @@ init _ = , dieFace = 0 , maxFace = 6 , tabState = Tab.initialState + , modalTabState = Tab.initialState , characterList = [] , objectIconList = [] , addCharacterIcon = DrawingInactive @@ -105,6 +107,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