Browse Source
so that it is easier to read large threads and connect replies to their parent messagemaster
4 changed files with 103 additions and 19 deletions
@ -1,3 +1,51 @@ |
|||||||
<div class="border-l border-blue-500 pl-1"> |
<script lang="ts"> |
||||||
|
import { icons_misc } from '../icons' |
||||||
|
|
||||||
|
let show_replies = true |
||||||
|
export let num_replies = 0 |
||||||
|
|
||||||
|
const toggle_replies = () => { |
||||||
|
show_replies = !show_replies |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
{#if num_replies > 0} |
||||||
|
<div class="border-l border-blue-500 pl-1"> |
||||||
|
{#if show_replies} |
||||||
|
<div class="opacity-20 hover:opacity-70" class:relative={show_replies}> |
||||||
|
<button |
||||||
|
on:click={() => { |
||||||
|
toggle_replies() |
||||||
|
}} |
||||||
|
class=" right-0 -mt-8 p-1" |
||||||
|
class:absolute={show_replies} |
||||||
|
> |
||||||
|
<span class="inline text-xs" |
||||||
|
>{show_replies ? 'hide' : 'show'} {num_replies} replies</span |
||||||
|
> |
||||||
|
<svg |
||||||
|
xmlns="http://www.w3.org/2000/svg" |
||||||
|
viewBox="0 0 16 16" |
||||||
|
class="inline h-7 w-7 flex-none fill-base-content pt-1" |
||||||
|
> |
||||||
|
{#each show_replies ? icons_misc.chevron_up : icons_misc.chevron_down as p} |
||||||
|
<path d={p} /> |
||||||
|
{/each} |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
</div> |
||||||
|
{:else} |
||||||
|
<button |
||||||
|
on:click={() => { |
||||||
|
toggle_replies() |
||||||
|
}} |
||||||
|
class="w-full cursor-pointer bg-base-300 p-3 text-left hover:bg-base-400" |
||||||
|
> |
||||||
|
show {num_replies} hidden replies |
||||||
|
</button> |
||||||
|
{/if} |
||||||
|
<div class:hidden={!show_replies}> |
||||||
<slot /> |
<slot /> |
||||||
</div> |
</div> |
||||||
|
</div> |
||||||
|
{/if} |
||||||
|
|||||||
@ -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', |
||||||
|
], |
||||||
|
} |
||||||
Loading…
Reference in new issue