diff --git a/out/main.js b/out/main.js index 2c8fa2ba96f35c329e464d858226e1b9784c1854..bc772a24a6a377d0adc098a1d6d970aca949ca96 100644 --- a/out/main.js +++ b/out/main.js @@ -5649,7 +5649,11 @@ var $author$project$Model$init = function (_v0) { hover: false, iconText: '', maxFace: 6, +<<<<<<< HEAD mouseInIcon: false, +======= + modalTabState: $rundis$elm_bootstrap$Bootstrap$Tab$initialState, +>>>>>>> style myDrop1State: $rundis$elm_bootstrap$Bootstrap$Dropdown$initialState, objectIconList: _List_Nil, previews: _List_Nil, @@ -8250,6 +8254,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') { @@ -10595,84 +10606,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}; }; @@ -11551,268 +11494,323 @@ 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; +var $author$project$FightingTool$viewCustomEnemyModal = function (model) { 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, + $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') @@ -11831,46 +11829,69 @@ 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( @@ -12034,13 +12055,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}; @@ -13274,7 +13288,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)); @@ -13293,63 +13342,23 @@ 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 $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); }; +<<<<<<< HEAD var $simonh1000$elm_colorpicker$ColorPicker$HueSlider = {$: 'HueSlider'}; var $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove = F2( function (a, b) { @@ -13382,162 +13391,420 @@ 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) + })); +>>>>>>> style }); -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))); -var $simonh1000$elm_colorpicker$ColorPicker$onClickSvg = function (msgCreator) { - return A2( - $elm$svg$Svg$Events$on, - 'click', - A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); -}; -var $simonh1000$elm_colorpicker$ColorPicker$onMouseDownSvg = function (msgCreator) { - return A2( - $elm$svg$Svg$Events$on, - 'mousedown', - A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); -}; -var $simonh1000$elm_colorpicker$ColorPicker$onMouseMoveSvg = function (msgCreator) { - return A2( - $elm$svg$Svg$Events$on, - 'mousemove', - A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) { + return {$: 'Name', a: a}; }; -var $elm$svg$Svg$Events$onMouseUp = function (msg) { - return A2( - $elm$html$Html$Events$on, - 'mouseup', - $elm$json$Json$Decode$succeed(msg)); +var $rundis$elm_bootstrap$Bootstrap$Form$Radio$name = function (name_) { + return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name(name_); }; -var $simonh1000$elm_colorpicker$ColorPicker$svgDragAttrs = F3( - function (currMouseTgt, thisTgt, onMoveMsg) { - var common = _List_fromArray( - [ - $simonh1000$elm_colorpicker$ColorPicker$onMouseDownSvg( - $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown(thisTgt)), - $elm$svg$Svg$Events$onMouseUp($simonh1000$elm_colorpicker$ColorPicker$OnMouseUp), - $simonh1000$elm_colorpicker$ColorPicker$onClickSvg( - $simonh1000$elm_colorpicker$ColorPicker$OnClick(thisTgt)) - ]); - return _Utils_eq(currMouseTgt, thisTgt) ? A2( - $elm$core$List$cons, - $simonh1000$elm_colorpicker$ColorPicker$onMouseMoveSvg(onMoveMsg), - common) : common; - }); -var $elm$svg$Svg$Attributes$x1 = _VirtualDom_attribute('x1'); -var $elm$svg$Svg$Attributes$x2 = _VirtualDom_attribute('x2'); -var $elm$svg$Svg$Attributes$y1 = _VirtualDom_attribute('y1'); -var $elm$svg$Svg$Attributes$y2 = _VirtualDom_attribute('y2'); -var $simonh1000$elm_colorpicker$ColorPicker$huePalette = function (mouseTarget) { - var stops = _List_fromArray( - [ - _Utils_Tuple2('0%', '#FF0000'), - _Utils_Tuple2('17%', '#FF00FF'), - _Utils_Tuple2('33%', '#0000FF'), - _Utils_Tuple2('50%', '#00FFFF'), - _Utils_Tuple2('66%', '#00FF00'), - _Utils_Tuple2('83%', '#FFFF00'), - _Utils_Tuple2('100%', '#FF0000') - ]); - var mkStop = function (_v0) { - var os = _v0.a; - var sc = _v0.b; - return A2( - $elm$svg$Svg$stop, - _List_fromArray( - [ - $elm$svg$Svg$Attributes$offset(os), - $elm$svg$Svg$Attributes$stopColor(sc), - $elm$svg$Svg$Attributes$stopOpacity('1') - ]), - _List_Nil); - }; +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$svg$Svg$svg, - A2( - $elm$core$List$cons, - $elm$svg$Svg$Attributes$class('hue-picker'), - $simonh1000$elm_colorpicker$ColorPicker$sliderStyles), + $elm$html$Html$div, _List_fromArray( [ - A2( - $elm$svg$Svg$defs, - _List_Nil, + $elm$html$Html$Attributes$classList( _List_fromArray( [ - A2( - $elm$svg$Svg$linearGradient, + _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$svg$Svg$Attributes$id('gradient-hsv'), - $elm$svg$Svg$Attributes$x1('100%'), - $elm$svg$Svg$Attributes$y1('0%'), - $elm$svg$Svg$Attributes$x2('0%'), - $elm$svg$Svg$Attributes$y2('0%') + $elm$html$Html$Attributes$classList( + _List_fromArray( + [ + _Utils_Tuple2('form-check-label', !opts.custom), + _Utils_Tuple2('custom-control-label', opts.custom) + ])) ]), - A2($elm$core$List$map, mkStop, stops)) - ])), - A2( - $elm$svg$Svg$rect, - _Utils_ap( - _List_fromArray( - [ - $elm$svg$Svg$Attributes$x('0'), - $elm$svg$Svg$Attributes$y('0'), - $elm$svg$Svg$Attributes$width( - $elm$core$String$fromInt($simonh1000$elm_colorpicker$ColorPicker$widgetWidth)), - $elm$svg$Svg$Attributes$height('100%'), - $elm$svg$Svg$Attributes$fill('url(#gradient-hsv)') - ]), - A3( - $simonh1000$elm_colorpicker$ColorPicker$svgDragAttrs, - mouseTarget, - $simonh1000$elm_colorpicker$ColorPicker$HueSlider, - $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove($simonh1000$elm_colorpicker$ColorPicker$HueSlider))), - _List_Nil) + 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 $simonh1000$elm_colorpicker$ColorPicker$OpacitySlider = function (a) { - return {$: 'OpacitySlider', a: a}; -}; -var $simonh1000$elm_colorpicker$ColorPicker$onClickHtml = function (msgCreator) { +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$Events$on, - 'click', - A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); + $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 $elm$html$Html$Events$onMouseUp = function (msg) { +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$Events$on, - 'mouseup', - $elm$json$Json$Decode$succeed(msg)); -}; -var $simonh1000$elm_colorpicker$ColorPicker$htmlDragAttrs = F3( - function (currMouseTgt, thisTgt, onMoveMsg) { - var common = _List_fromArray( - [ - A2( - $elm$html$Html$Events$on, - 'mousedown', - A2( - $elm$json$Json$Decode$map, - $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown(thisTgt), - $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)), - $elm$html$Html$Events$onMouseUp($simonh1000$elm_colorpicker$ColorPicker$OnMouseUp), - $simonh1000$elm_colorpicker$ColorPicker$onClickHtml( - $simonh1000$elm_colorpicker$ColorPicker$OnClick(thisTgt)) - ]); - return _Utils_eq(currMouseTgt, thisTgt) ? A2( + $elm$html$Html$div, + A2( $elm$core$List$cons, - A2( - $elm$html$Html$Events$on, + 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))); +var $simonh1000$elm_colorpicker$ColorPicker$onClickSvg = function (msgCreator) { + return A2( + $elm$svg$Svg$Events$on, + 'click', + A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); +}; +var $simonh1000$elm_colorpicker$ColorPicker$onMouseDownSvg = function (msgCreator) { + return A2( + $elm$svg$Svg$Events$on, + 'mousedown', + A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); +}; +var $simonh1000$elm_colorpicker$ColorPicker$onMouseMoveSvg = function (msgCreator) { + return A2( + $elm$svg$Svg$Events$on, + 'mousemove', + A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); +}; +var $elm$svg$Svg$Events$onMouseUp = function (msg) { + return A2( + $elm$html$Html$Events$on, + 'mouseup', + $elm$json$Json$Decode$succeed(msg)); +}; +var $simonh1000$elm_colorpicker$ColorPicker$svgDragAttrs = F3( + function (currMouseTgt, thisTgt, onMoveMsg) { + var common = _List_fromArray( + [ + $simonh1000$elm_colorpicker$ColorPicker$onMouseDownSvg( + $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown(thisTgt)), + $elm$svg$Svg$Events$onMouseUp($simonh1000$elm_colorpicker$ColorPicker$OnMouseUp), + $simonh1000$elm_colorpicker$ColorPicker$onClickSvg( + $simonh1000$elm_colorpicker$ColorPicker$OnClick(thisTgt)) + ]); + return _Utils_eq(currMouseTgt, thisTgt) ? A2( + $elm$core$List$cons, + $simonh1000$elm_colorpicker$ColorPicker$onMouseMoveSvg(onMoveMsg), + common) : common; + }); +var $elm$svg$Svg$Attributes$x1 = _VirtualDom_attribute('x1'); +var $elm$svg$Svg$Attributes$x2 = _VirtualDom_attribute('x2'); +var $elm$svg$Svg$Attributes$y1 = _VirtualDom_attribute('y1'); +var $elm$svg$Svg$Attributes$y2 = _VirtualDom_attribute('y2'); +var $simonh1000$elm_colorpicker$ColorPicker$huePalette = function (mouseTarget) { + var stops = _List_fromArray( + [ + _Utils_Tuple2('0%', '#FF0000'), + _Utils_Tuple2('17%', '#FF00FF'), + _Utils_Tuple2('33%', '#0000FF'), + _Utils_Tuple2('50%', '#00FFFF'), + _Utils_Tuple2('66%', '#00FF00'), + _Utils_Tuple2('83%', '#FFFF00'), + _Utils_Tuple2('100%', '#FF0000') + ]); + var mkStop = function (_v0) { + var os = _v0.a; + var sc = _v0.b; + return A2( + $elm$svg$Svg$stop, + _List_fromArray( + [ + $elm$svg$Svg$Attributes$offset(os), + $elm$svg$Svg$Attributes$stopColor(sc), + $elm$svg$Svg$Attributes$stopOpacity('1') + ]), + _List_Nil); + }; + return A2( + $elm$svg$Svg$svg, + A2( + $elm$core$List$cons, + $elm$svg$Svg$Attributes$class('hue-picker'), + $simonh1000$elm_colorpicker$ColorPicker$sliderStyles), + _List_fromArray( + [ + A2( + $elm$svg$Svg$defs, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$svg$Svg$linearGradient, + _List_fromArray( + [ + $elm$svg$Svg$Attributes$id('gradient-hsv'), + $elm$svg$Svg$Attributes$x1('100%'), + $elm$svg$Svg$Attributes$y1('0%'), + $elm$svg$Svg$Attributes$x2('0%'), + $elm$svg$Svg$Attributes$y2('0%') + ]), + A2($elm$core$List$map, mkStop, stops)) + ])), + A2( + $elm$svg$Svg$rect, + _Utils_ap( + _List_fromArray( + [ + $elm$svg$Svg$Attributes$x('0'), + $elm$svg$Svg$Attributes$y('0'), + $elm$svg$Svg$Attributes$width( + $elm$core$String$fromInt($simonh1000$elm_colorpicker$ColorPicker$widgetWidth)), + $elm$svg$Svg$Attributes$height('100%'), + $elm$svg$Svg$Attributes$fill('url(#gradient-hsv)') + ]), + A3( + $simonh1000$elm_colorpicker$ColorPicker$svgDragAttrs, + mouseTarget, + $simonh1000$elm_colorpicker$ColorPicker$HueSlider, + $simonh1000$elm_colorpicker$ColorPicker$OnMouseMove($simonh1000$elm_colorpicker$ColorPicker$HueSlider))), + _List_Nil) + ])); +}; +var $simonh1000$elm_colorpicker$ColorPicker$OpacitySlider = function (a) { + return {$: 'OpacitySlider', a: a}; +}; +var $simonh1000$elm_colorpicker$ColorPicker$onClickHtml = function (msgCreator) { + return A2( + $elm$html$Html$Events$on, + 'click', + A2($elm$json$Json$Decode$map, msgCreator, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)); +}; +var $elm$html$Html$Events$onMouseUp = function (msg) { + return A2( + $elm$html$Html$Events$on, + 'mouseup', + $elm$json$Json$Decode$succeed(msg)); +}; +var $simonh1000$elm_colorpicker$ColorPicker$htmlDragAttrs = F3( + function (currMouseTgt, thisTgt, onMoveMsg) { + var common = _List_fromArray( + [ + A2( + $elm$html$Html$Events$on, + 'mousedown', + A2( + $elm$json$Json$Decode$map, + $simonh1000$elm_colorpicker$ColorPicker$OnMouseDown(thisTgt), + $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)), + $elm$html$Html$Events$onMouseUp($simonh1000$elm_colorpicker$ColorPicker$OnMouseUp), + $simonh1000$elm_colorpicker$ColorPicker$onClickHtml( + $simonh1000$elm_colorpicker$ColorPicker$OnClick(thisTgt)) + ]); + return _Utils_eq(currMouseTgt, thisTgt) ? A2( + $elm$core$List$cons, + A2( + $elm$html$Html$Events$on, 'mousemove', A2($elm$json$Json$Decode$map, onMoveMsg, $simonh1000$elm_colorpicker$ColorPicker$decodeMouseInfo)), common) : common; @@ -15013,310 +15280,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/res/icons/Enemy.svg b/res/icons/Enemy.svg index ed9b4a6e6536cabb69fc30353cd98e25977f2241..97f127f11c238161fec1bb626871e1de50833d9e 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/FightingTool.elm b/src/FightingTool.elm index 02ce822a76c1b381b21c112f7245e3dcb8ace568..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 @@ -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 7fb4bf196b18ef0b51e86612e0cb12ec455b7a47..8d9839541fadbd10b6abd1a16238eb242166741a 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 9a435f8184341e06804052e6359fd7f1ca6673dd..a197647a83c2c06c33f841d9c964d4349976643b 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