{#each SOURCE_TYPES as opt} {/each}
onUpdate('localPath', (e.target as HTMLInputElement).value)} /> {#if pathValid !== 'idle'}{vIcon(pathValid)}{/if}
selectBrowser('localPath', p)} onClose={() => showBrowser = false} />
{#if pathValid === 'valid' && isGitRepo}Git repo ({gitBranch}){/if} {#if pathValid === 'invalid'}Path does not exist{/if} {#if pathValid === 'not-dir'}Not a directory{/if}
onUpdate('repoUrl', (e.target as HTMLInputElement).value)} /> {#if gitProbeStatus === 'probing'}{/if} {#if gitProbeStatus === 'ok'}{/if} {#if gitProbeStatus === 'error'}{/if}
{#if gitProbeStatus === 'ok' && gitProbeBranches.length > 0}{gitProbeBranches.length} branches found{/if} {#if gitProbeStatus === 'error'}Repository not found or inaccessible{/if}
onUpdate('cloneTarget', (e.target as HTMLInputElement).value)} />
onUpdate('githubRepo', (e.target as HTMLInputElement).value)} /> {#if githubLoading}Checking…{/if} {#if githubProbeStatus === 'ok' && githubPlatform === 'github'}Found on GitHub ✓{/if} {#if githubProbeStatus === 'ok' && githubPlatform === 'gitlab'}Found on GitLab ✓{/if} {#if githubProbeStatus === 'ok' && !githubPlatform}Repository verified ✓{/if} {#if githubProbeStatus === 'error'}Repository not found on GitHub or GitLab{/if} {#if githubInfo}
★ {githubInfo.stars} {githubInfo.description} Default: {githubInfo.defaultBranch}
{/if}
{#if templateOriginDir}Templates from: {templateOriginDir}{/if}
onUpdate('templateTargetDir', (e.target as HTMLInputElement).value)} />
{#each templates as tmpl} {/each}
onUpdate('remoteHost', (e.target as HTMLInputElement).value)} /> onUpdate('remoteUser', (e.target as HTMLInputElement).value)} /> onUpdate('remotePath', (e.target as HTMLInputElement).value)} />
{#each AUTH_METHODS as m}{/each}
onUpdate('remotePassword', (e.target as HTMLInputElement).value)} />
onUpdate('remoteKeyPath', (e.target as HTMLInputElement).value)} />
{#if sshfsInstalled === false}sshfs not installed -- mount option unavailable{/if} onUpdate('remoteSshfs', v)} />
onUpdate('remoteSshfsMountpoint', (e.target as HTMLInputElement).value)} />
selectBrowser('remoteSshfsMountpoint', p)} onClose={() => showMountBrowser = false} />