diff --git a/src/lib/components/events/ThreadWrapper.svelte b/src/lib/components/events/ThreadWrapper.svelte
index c6a9ecd..1fb5b77 100644
--- a/src/lib/components/events/ThreadWrapper.svelte
+++ b/src/lib/components/events/ThreadWrapper.svelte
@@ -1,3 +1,51 @@
-
-
-
+
+
+{#if num_replies > 0}
+
+ {#if show_replies}
+
+
+
+ {:else}
+
+ {/if}
+
+
+
+
+{/if}
diff --git a/src/lib/components/icons.ts b/src/lib/components/icons.ts
new file mode 100644
index 0000000..65dd727
--- /dev/null
+++ b/src/lib/components/icons.ts
@@ -0,0 +1,8 @@
+export const icons_misc = {
+ chevron_down: [
+ 'M6 8.825c-.2 0-.4-.1-.5-.2l-3.3-3.3c-.3-.3-.3-.8 0-1.1c.3-.3.8-.3 1.1 0l2.7 2.7l2.7-2.7c.3-.3.8-.3 1.1 0c.3.3.3.8 0 1.1l-3.2 3.2c-.2.2-.4.3-.6.3',
+ ],
+ chevron_up: [
+ 'M6 4c-.2 0-.4.1-.5.2L2.2 7.5c-.3.3-.3.8 0 1.1c.3.3.8.3 1.1 0L6 5.9l2.7 2.7c.3.3.8.3 1.1 0c.3-.3.3-.8 0-1.1L6.6 4.3C6.4 4.1 6.2 4 6 4',
+ ],
+}
diff --git a/src/lib/wrappers/Thread.svelte b/src/lib/wrappers/Thread.svelte
index 5814a80..08d897d 100644
--- a/src/lib/wrappers/Thread.svelte
+++ b/src/lib/wrappers/Thread.svelte
@@ -40,7 +40,7 @@
-
+
{#each $thread_tree_store as tree}
{/each}
diff --git a/src/lib/wrappers/ThreadTree.svelte b/src/lib/wrappers/ThreadTree.svelte
index f16017b..ec06766 100644
--- a/src/lib/wrappers/ThreadTree.svelte
+++ b/src/lib/wrappers/ThreadTree.svelte
@@ -5,67 +5,95 @@
export let tree: ThreadTreeNode
export let type: 'proposal' | 'issue' = 'proposal'
+ const countReplies = (tree: ThreadTreeNode, starting: number = 0): number => {
+ return (
+ tree.child_nodes.length +
+ tree.child_nodes.reduce((a, c) => a + countReplies(c), starting)
+ )
+ }
-
+
{#each tree.child_nodes as layer1}
-
+
{#each layer1.child_nodes as layer2}
-
+
{#each layer2.child_nodes as layer3}
-
+
{#each layer3.child_nodes as layer4}
-
+
{#each layer4.child_nodes as layer5}
-
+
{#each layer5.child_nodes as layer6}
-
+
{#each layer6.child_nodes as layer7}
-
+
{#each layer7.child_nodes as layer8}
-
+
{#each layer8.child_nodes as layer9}
-
+
{#each layer9.child_nodes as layer10}
-
+
{#each layer10.child_nodes as layer11}
-
+
{#each layer11.child_nodes as layer12}
-
+
{#each layer12.child_nodes as layer13}
-
+
{#each layer13.child_nodes as layer14}
-
+
{#each layer14.child_nodes as layer15}