From 9e8a22cd628bc1d259ff23d0502abac9d2a3ad09 Mon Sep 17 00:00:00 2001 From: Russell Champoux Date: Sat, 21 Aug 2021 16:02:35 -0400 Subject: [PATCH] add lots of cool features add side nav add clipboard add remove --- TODO.txt | 1 + src/App.svelte | 112 +++++++++++++++----------- src/components/ClipboardHelper.svelte | 26 ++++++ src/components/CreatureCard.svelte | 50 ++++++++++-- src/components/CreatureRoller.svelte | 15 +--- src/components/DangerCard.svelte | 41 ++++++++++ src/components/DangerRoller.svelte | 28 +------ src/components/DetailsCard.svelte | 28 +++++++ src/components/DetailsRoller.svelte | 96 ++++++---------------- src/components/DiscoveryRoller.svelte | 27 +------ src/components/DungeonCard.svelte | 4 +- src/components/DungeonRoller.svelte | 23 +----- src/components/FollowerRoller.svelte | 23 +----- src/components/KingdomCard.svelte | 31 +++++++ src/components/KingdomRoller.svelte | 37 ++++----- src/components/MultiCard.svelte | 55 +++++++++++++ src/components/NpcRoller.svelte | 23 +----- src/components/PlaceCard.svelte | 24 ++++++ src/components/PlaceRoller.svelte | 14 +--- src/components/RegionCard.svelte | 24 ++++++ src/components/RegionRoller.svelte | 14 +--- src/components/SoundOptions.svelte | 2 +- src/rollers/details.ts | 6 ++ src/rollers/dungeons.ts | 12 +-- src/rollers/kingdoms.ts | 4 + src/rollers/places.ts | 4 +- src/rollers/regions.ts | 2 + src/types/RollCard.ts | 5 ++ 28 files changed, 428 insertions(+), 303 deletions(-) create mode 100644 src/components/ClipboardHelper.svelte create mode 100644 src/components/DangerCard.svelte create mode 100644 src/components/DetailsCard.svelte create mode 100644 src/components/KingdomCard.svelte create mode 100644 src/components/MultiCard.svelte create mode 100644 src/components/PlaceCard.svelte create mode 100644 src/components/RegionCard.svelte create mode 100644 src/types/RollCard.ts diff --git a/TODO.txt b/TODO.txt index abd4ae2..8517217 100644 --- a/TODO.txt +++ b/TODO.txt @@ -2,4 +2,5 @@ Add Steadings tables Change steadings and mounts to not show English names by default Make everything look nicer Maybe put roller button in a left nav bar and the results in the middle? +Add a copy-to-clipboard option Add a 3d dice rolling visualizer \ No newline at end of file diff --git a/src/App.svelte b/src/App.svelte index 4c6d8a7..f815295 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,5 +1,6 @@
-

The Perilous Wilds

-

A web-app for rolling on tables and getting funny results

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + +

The Perilous Wilds

+

A web-app for rolling on tables and getting funny results

+
+
+ + + + + +

Results:

+ {#each cards as card} + + {/each} + +
+ +
+ +
diff --git a/src/components/CreatureCard.svelte b/src/components/CreatureCard.svelte index 9e83414..ddbc94d 100644 --- a/src/components/CreatureCard.svelte +++ b/src/components/CreatureCard.svelte @@ -1,23 +1,55 @@
- {capitalize(creature.type)} - {#if creature.subtype !== ""}({creature.subtype}){/if}: {capitalize( - creature.description - )} +
+
+ {capitalize(creature.type)} + {#if creature.subtype !== ""}({creature.subtype}){/if}: {capitalize( + creature.description + )} +
+
+ + + Remove Item +
+
@@ -72,8 +104,12 @@ main { text-align: left; } - .card-subtitle { - padding-bottom: 1em; + .title { + display: flex; + justify-content: space-between; + } + .title .buttons { + display: flex; } ul { margin-left: 2em; diff --git a/src/components/CreatureRoller.svelte b/src/components/CreatureRoller.svelte index d206224..bff0819 100644 --- a/src/components/CreatureRoller.svelte +++ b/src/components/CreatureRoller.svelte @@ -1,30 +1,19 @@
- - {#each rollResults as { creature, timestamp }} - - {/each}
diff --git a/src/components/DangerCard.svelte b/src/components/DangerCard.svelte new file mode 100644 index 0000000..1502857 --- /dev/null +++ b/src/components/DangerCard.svelte @@ -0,0 +1,41 @@ + + +
+ + + + {capitalize(danger.category)} + {#if danger.subcategory !== ""}({danger.subcategory}){/if}: {capitalize( + danger.description + )} + + + + + : {danger.description} + + + {timestamp} + +
+ + diff --git a/src/components/DangerRoller.svelte b/src/components/DangerRoller.svelte index 828dfb8..f47408b 100644 --- a/src/components/DangerRoller.svelte +++ b/src/components/DangerRoller.svelte @@ -1,38 +1,18 @@
- - - - - {#each rollResults as { danger, icon, timestamp }} -

- {timestamp}: {danger.category} ({danger.subcategory}) : {danger.description} -

- {/each} +
diff --git a/src/components/DetailsRoller.svelte b/src/components/DetailsRoller.svelte index 7b5fa40..fc96305 100644 --- a/src/components/DetailsRoller.svelte +++ b/src/components/DetailsRoller.svelte @@ -1,8 +1,8 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {#each rollResults as { type, roll, value, timestamp }} -

{timestamp}: ({type}): {value}

- {/each} + + + + + + + + + + + + + + + + + + +
diff --git a/src/components/DungeonCard.svelte b/src/components/DungeonCard.svelte index 19e76e6..b95cfab 100644 --- a/src/components/DungeonCard.svelte +++ b/src/components/DungeonCard.svelte @@ -25,9 +25,7 @@
- {capitalize(dungeon.size.description)} {dungeon.function.description} built by (a/an) {dungeon.builder.description} + {capitalize(dungeon.size.description)} {dungeon.function.description} built by {dungeon.builder.description} diff --git a/src/components/DungeonRoller.svelte b/src/components/DungeonRoller.svelte index 9a27f29..085bd45 100644 --- a/src/components/DungeonRoller.svelte +++ b/src/components/DungeonRoller.svelte @@ -1,37 +1,20 @@
- - - - - {#each rollResults as { dungeon, timestamp }} - - {/each} +
diff --git a/src/components/FollowerRoller.svelte b/src/components/FollowerRoller.svelte index 088565c..6b08db6 100644 --- a/src/components/FollowerRoller.svelte +++ b/src/components/FollowerRoller.svelte @@ -1,37 +1,20 @@
- - - - - {#each rollResults as { follower, timestamp }} - - {/each} +
diff --git a/src/components/KingdomCard.svelte b/src/components/KingdomCard.svelte new file mode 100644 index 0000000..d9c0577 --- /dev/null +++ b/src/components/KingdomCard.svelte @@ -0,0 +1,31 @@ + + +
+ + + + {capitalize(item.category)} from {item.kingdom.description} + + + + + + {item.description} + + + {timestamp} + +
+ + diff --git a/src/components/KingdomRoller.svelte b/src/components/KingdomRoller.svelte index 19fb9dc..9d60d6f 100644 --- a/src/components/KingdomRoller.svelte +++ b/src/components/KingdomRoller.svelte @@ -1,47 +1,40 @@
-

- -

-

{kingdoms[kingdom].subtitle}

+ + +
{kingdoms[kingdom].subtitle}
{#each categories as category} - - - - {/each} - - {#each rollResults as { value, icon, timestamp }} -

{timestamp}: {value}

+ {/each}
diff --git a/src/components/MultiCard.svelte b/src/components/MultiCard.svelte new file mode 100644 index 0000000..2d8b942 --- /dev/null +++ b/src/components/MultiCard.svelte @@ -0,0 +1,55 @@ + + +
+ {#if card.type == "creature"} + + {:else if card.type == "danger"} + + {:else if card.type == "detail"} + + {:else if card.type == "discovery"} + + {:else if card.type == "dungeon"} + + {:else if card.type == "follower"} + + {:else if card.type == "kingdom"} + + {:else if card.type == "npc"} + + {:else if card.type == "place"} + + {:else if card.type == "region"} + + {:else if card.type == "steading"} + + {:else} +

Card type not supported: {card.type}

+ {/if} +
+ + diff --git a/src/components/NpcRoller.svelte b/src/components/NpcRoller.svelte index e2a6b20..d055740 100644 --- a/src/components/NpcRoller.svelte +++ b/src/components/NpcRoller.svelte @@ -1,37 +1,20 @@
- - - - - {#each rollResults as { npc, timestamp }} - - {/each} +
diff --git a/src/components/PlaceCard.svelte b/src/components/PlaceCard.svelte new file mode 100644 index 0000000..11604fc --- /dev/null +++ b/src/components/PlaceCard.svelte @@ -0,0 +1,24 @@ + + +
+ + + Place + + + + {place} + + + {timestamp} + +
+ + diff --git a/src/components/PlaceRoller.svelte b/src/components/PlaceRoller.svelte index cee8754..be569a0 100644 --- a/src/components/PlaceRoller.svelte +++ b/src/components/PlaceRoller.svelte @@ -1,28 +1,18 @@
- - - - - {#each rollResults as { place, timestamp }} -

{timestamp}: {place}

- {/each} +
diff --git a/src/components/RegionRoller.svelte b/src/components/RegionRoller.svelte index 7c8b2ba..04ee1df 100644 --- a/src/components/RegionRoller.svelte +++ b/src/components/RegionRoller.svelte @@ -1,28 +1,18 @@
- - - - - {#each rollResults as { region, timestamp }} -

{timestamp}: {region}

- {/each} +