{#if loading && !diff}
{:else}
{#if treeToggled !== false}
{/if}
{#if treeToggled !== true}
(treeToggled = true)} variant="ghost" size="small" class={treeToggled === false ? undefined : "sm:hidden"} /> {/if} {#if diff}
{diff.files.length} changed {diff.files.length === 1 ? "file" : "files"}
{/if}
setAllOpen(!allOpen)} variant="ghost" size="small" >
{allOpen ? "Collapse" : "Expand"}
{#if downloadUrls}
{#snippet trigger()}
Download commit
{/snippet}
As a patch file
As a diff file
{/if}
Wrap
{#each ["unified", "split"] as const as style (style)}
(localStyle = style)} size="small" {...segmentProps(diffStyle === style)} >
{style === "split" ? "Split" : "Unified"}
{/each}
{#if error}
{error}
{:else if diff && diff.files.length > 0} {#key diff}
(diffScroll = max)} bind:this={files} {isOpen} onSetOpen={(key, open) => (openStates[key] = open)} patchUrl={patchUrl ?? downloadUrls?.diff} /> {/key} {:else if diff}
{:else}
{/if}
{/if}