<script lang="ts"> | |
import WHEEL from "$lib/json/wheel.json"; | |
export let name: string; | |
export let code: string; | |
export let highlighted_code: string; | |
export let url_version: string; | |
$: url_version; | |
</script> | |
<svelte:head> | |
<link rel="stylesheet" href="{WHEEL.gradio_lite_url}/dist/lite.css" /> | |
</svelte:head> | |
<div class="hidden lg:block py-2 max-h-[750px] overflow-y-scroll"> | |
{#key name} | |
<button | |
class="hidden lg:block open-btn bg-gray-200 text-gray-500 font-bold px-2 rounded mx-4 my-2" | |
on:click={() => { | |
let code_b64 = btoa(code); | |
window.open("/playground?demo=Blank&code=" + code_b64, "_blank"); | |
}} | |
> | |
Open in π’ β | |
</button> | |
<gradio-lite playground shared-worker layout="vertical" class="p-2"> | |
{code} | |
</gradio-lite> | |
{/key} | |
</div> | |
<div class="lg:hidden"> | |
<div class="codeblock" id="{name}_code"> | |
<pre class=" max-h-80 overflow-auto"><code class="code language-python" | |
>{@html highlighted_code}</code | |
> | |
</pre> | |
</div> | |
{#key name} | |
{#if url_version === "main"} | |
<gradio-app space={"gradio/" + name + "_main"} /> | |
{:else} | |
<gradio-app space={"gradio/" + name} /> | |
{/if} | |
{/key} | |
</div> | |
<style> | |
.open-btn { | |
position: absolute; | |
top: 3%; | |
right: 0; | |
background: #eaecef; | |
color: #374151; | |
font-weight: 500; | |
} | |
:global(.child-container) { | |
flex-direction: column ; | |
} | |
:global(.code-editor) { | |
border-bottom: 1px solid rgb(229 231 235); | |
height: 300px; | |
overflow-y: scroll; | |
flex: none ; | |
} | |
</style> | |