|
<script lang="ts"> |
|
import { page } from "$app/stores"; |
|
import { browser } from "$app/environment"; |
|
import { goto } from "$app/navigation"; |
|
import { version } from "$lib/json/version.json"; |
|
|
|
export let choices = [version, "4.44.1", "main"]; |
|
export let value: string = $page.params?.version || version; |
|
export let docs_type = "python"; |
|
|
|
$: is_guide = $page.route.id?.includes("/guides"); |
|
$: is_docs = $page.route.id?.includes("/docs"); |
|
|
|
let match_name: RegExpMatchArray | null; |
|
let docs_section: string; |
|
|
|
$: match_name = $page.url.pathname.match(/\/docs\/([^/]+)/); |
|
$: if (match_name) { |
|
docs_section = match_name[1]; |
|
} |
|
|
|
$: docs_url = `${value === version ? "" : `/${value}`}/docs${ |
|
docs_section ? `/${docs_section}` : "" |
|
}/${ |
|
$page.params?.doc || |
|
(is_dynamic || path_parts.length !== 5 |
|
? "" |
|
: path_parts[path_parts.length - 1]) |
|
}`; |
|
|
|
$: path_parts = $page.route.id?.split("/") || []; |
|
$: is_dynamic = path_parts[path_parts.length - 1].match(/\[.+\]/); |
|
|
|
$: guide_url = `${value === version ? "" : `/${value}`}/guides/${ |
|
$page.params?.guide || |
|
(is_dynamic || path_parts.length !== 4 |
|
? "" |
|
: path_parts[path_parts.length - 1]) |
|
}`; |
|
|
|
function reload() { |
|
goto(is_docs ? docs_url : guide_url); |
|
} |
|
</script> |
|
|
|
<svelte:head> |
|
<script |
|
type="module" |
|
src="https://gradio.s3-us-west-2.amazonaws.com/{value === 'main' |
|
? version.replace('b', '-beta.') |
|
: value.replace('b', '-beta.')}/gradio.js" |
|
></script> |
|
</svelte:head> |
|
|
|
<select |
|
bind:value |
|
on:change={reload} |
|
class="rounded-md border-gray-200 focus:placeholder-transparent focus:shadow-none focus:border-orange-500 focus:ring-0 text-xs mt-2 py-1 pl-2 pr-7 font-mono" |
|
> |
|
{#each choices as choice} |
|
<option value={choice}>{choice}</option> |
|
{/each} |
|
</select> |
|
|