Skip to content

Commit

Permalink
feature: implement edit mastery set
Browse files Browse the repository at this point in the history
  • Loading branch information
Attacktive committed Jan 21, 2024
1 parent e3bc9c6 commit 73bded3
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 67 deletions.
132 changes: 66 additions & 66 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "troubleshooter-editor",
"version": "1.1.1",
"version": "1.1.2",
"private": true,
"type": "module",
"scripts": {
Expand Down
39 changes: 39 additions & 0 deletions src/components/tabs/Company.svelte
Original file line number Diff line number Diff line change
@@ -1,6 +1,33 @@
<script lang="ts">
import { Accordion, AccordionItem, Input, Label, NumberInput, Select, Textarea } from "flowbite-svelte";
import { store } from "../../store/store";
type SelectEventWithTarget = Event & { currentTarget: HTMLSelectElement };
type TrueOrFalse = "true" | "false";
interface KeyValuePair {
name: string;
value: TrueOrFalse;
}
let masterySets: KeyValuePair[];
$: masterySets = Object.entries($store.company.properties)
.map(([key, value]): KeyValuePair | undefined => {
const matched = key.match(/^MasterySetIndex\/(.+)/);
if (!matched) {
return undefined;
}
return {
name: matched[1],
value: value as TrueOrFalse
};
})
.filter(keyValuePair => keyValuePair) as KeyValuePair[];
const onMasterySetChange = (event: SelectEventWithTarget, masterySetName: string) => {
$store.company.properties[`MasterySetIndex/${masterySetName}`] = event.currentTarget.value;
};
</script>

<div class="my-1">
Expand All @@ -26,6 +53,18 @@
<option value="Merciless">Cruel</option>
</Select>
</div>
<div class="my-1 mt-1">
Mastery sets
{#each masterySets as masterySet (masterySet)}
<div class="my-1">
<Label>{masterySet.name}</Label>
<Select id={`masterySet-${masterySet.name}`} bind:value={masterySet.value} on:input={event => onMasterySetChange(event, masterySet.name)}>
<option value="true">true</option>
<option value="false">false</option>
</Select>
</div>
{/each}
</div>

<Accordion class="my-2">
<AccordionItem>
Expand Down

0 comments on commit 73bded3

Please sign in to comment.