Files
tpw-roller/src/components/DetailsRoller.svelte
T

107 lines
3.4 KiB
Svelte
Raw Normal View History

2021-07-30 00:03:52 -04:00
<script lang="ts">
import { format as formatDate } from "date-fns";
2021-08-18 22:37:42 -04:00
import { createEventDispatcher } from "svelte";
2021-07-30 00:03:52 -04:00
import { Button, Icon } from "sveltestrap";
import {
rollAbility,
rollActivity,
rollAdjective,
rollAge,
rollAlignment,
rollAspect,
rollCondition,
rollDisposition,
rollElement,
rollFeature,
rollMagicType,
rollNumAppearing,
rollOddity,
rollOrientation,
rollRuination,
rollSize,
rollTag,
rollTerrain,
rollVisibility,
} from "../rollers/details";
2021-07-30 00:03:52 -04:00
import DieIcon from "./DieIcon.svelte";
2021-08-18 22:37:42 -04:00
const dispatch = createEventDispatcher();
let rollResults: { type: string; roll: number; value: string; timestamp: string }[] = [];
2021-07-30 00:03:52 -04:00
2021-07-30 19:19:03 -04:00
function roll(item: { type: string; description: string; roll: number }) {
rollResults = [
{ type: item.type, roll: item.roll, value: item.description, timestamp: formatDate(new Date(), "P kk:mm:ss") },
...rollResults,
];
2021-08-18 22:37:42 -04:00
dispatch("roll");
2021-07-30 00:03:52 -04:00
}
</script>
<main>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollAbility())}>Roll Ability</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollActivity())}>Roll Activity</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollAdjective())}>Roll Adjective</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollAge())}>Roll Age</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollAlignment())}>Roll Alignment</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollAspect())}>Roll Aspect</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollCondition())}>Roll Condition</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollDisposition())}>Roll Disposition</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollElement())}>Roll Element</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollFeature())}>Roll Feature</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollMagicType())}>Roll MagicType</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollNumAppearing())}>Roll NumAppearing</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollOddity())}>Roll Oddity</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollOrientation())}>Roll Orientation</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollRuination())}>Roll Ruination</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollSize())}>Roll Size</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollTag())}>Roll Tag</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollTerrain())}>Roll Terrain</Button>
2021-07-30 00:03:52 -04:00
</span>
<span class="btn">
2021-07-30 19:19:03 -04:00
<Button color="primary" on:click={() => roll(rollVisibility())}>Roll Visibility</Button>
2021-07-30 00:03:52 -04:00
</span>
{#each rollResults as { type, roll, value, timestamp }}
<h4>{timestamp}: ({type}): {value}<DieIcon value={roll} /></h4>
2021-07-30 00:03:52 -04:00
{/each}
</main>
<style>
</style>