diff --git a/source/style/modules/game/_tfw.scss b/source/style/modules/game/_tfw.scss index 3c5e950..4960713 100644 --- a/source/style/modules/game/_tfw.scss +++ b/source/style/modules/game/_tfw.scss @@ -36,7 +36,8 @@ color: hippie.$color_darkest; } - .success { + .complete .subtle, + button[data-action="claim"] { color: hippie.basic_color(alpha); } @@ -166,15 +167,17 @@ justify-content: space-between; padding: hippie.$space_basic; - & > button:last-child { - //margin-left: auto; + & > button:not(:first-child) { padding-inline: 2em; } } } - .quest, - footer *:not(button[data-action="back"]) { + .quest { opacity: 0; } + + footer *:not(button[data-action="back"]) { + display: none; + } } \ No newline at end of file diff --git a/source/view/demo/examples/game/tfw.liquid b/source/view/demo/examples/game/tfw.liquid index 1365630..ab44818 100644 --- a/source/view/demo/examples/game/tfw.liquid +++ b/source/view/demo/examples/game/tfw.liquid @@ -38,7 +38,7 @@ tags:
- +
@@ -66,25 +66,29 @@ tags:
- +
+ + + - + - + +
Active quests (Max.: 4)
King Of Kings Active
Garage Days Pt. 1CompleteComplete
@@ -104,7 +108,9 @@ tags:
@@ -203,6 +209,12 @@ tags: viewQuest.addEventListener('click', (event) => { const rows = viewQuest.querySelectorAll('tr'); const rowTarget = event.target.closest('tr'); + const rowSelection = event.target.closest('#questSelection tr'); + const rowActive = event.target.closest('#questActive tr:not(.complete)'); + const rowComplete = event.target.closest('#questActive tr.complete'); + const buttonAccept = viewQuest.querySelector('footer button[data-action=accept]'); + const buttonAbandon = viewQuest.querySelector('footer button[data-action=abandon]'); + const buttonClaim = viewQuest.querySelector('footer button[data-action=claim]'); if (event.button !== 0) return; @@ -213,8 +225,25 @@ tags: } rowTarget.classList.add('active'); - document.querySelector('.quest').style.opacity = 1; - document.querySelector('footer button[data-action=accept]').style.display = 'inline-block'; + viewQuest.querySelector('.quest').style.opacity = 1; + + if (rowSelection) { + buttonClaim.style.display = 'none'; + buttonAbandon.style.display = 'none'; + buttonAccept.style.display = 'inline-block'; + } + + if (rowActive) { + buttonAccept.style.display = 'none'; + buttonClaim.style.display = 'none'; + buttonAbandon.style.display = 'inline-block'; + } + + if (rowComplete) { + buttonAccept.style.display = 'none'; + buttonAbandon.style.display = 'none'; + buttonClaim.style.display = 'inline-block'; + } } });