💩 Makes topbar setting remove canvas
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { onMount } from 'svelte';
|
import { onDestroy, onMount } from 'svelte';
|
||||||
import { CanvasTexture, CircleGeometry, Mesh, MeshBasicMaterial} from 'three';
|
import { CanvasTexture, CircleGeometry, Mesh, MeshBasicMaterial} from 'three';
|
||||||
import { dataBuffer, servoBuffer, socket, angles, log, mpu } from '../../lib/socket'
|
import { dataBuffer, servoBuffer, socket, angles, log, mpu } from '../../lib/socket'
|
||||||
import { lerp } from '../../lib/utils';
|
import { lerp } from '../../lib/utils';
|
||||||
@@ -63,6 +63,10 @@ onMount(async () => {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onDestroy(() => {
|
||||||
|
canvas.remove()
|
||||||
|
})
|
||||||
|
|
||||||
const cacheModelFiles = async () => {
|
const cacheModelFiles = async () => {
|
||||||
let data = await fetch("/stl.zip").then(data => data.arrayBuffer())
|
let data = await fetch("/stl.zip").then(data => data.arrayBuffer())
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,34 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { isConnected, dataBuffer, status } from '../lib/socket';
|
import { isConnected, dataBuffer, status } from '../lib/socket';
|
||||||
import { Icon, Bars3, Power, Battery100, Signal, SignalSlash } from 'svelte-hero-icons';
|
import { Icon, Bars3, XMark, Power, Battery100, Signal, SignalSlash } from 'svelte-hero-icons';
|
||||||
import { emulateModel } from '../lib/store';
|
import { emulateModel } from '../lib/store';
|
||||||
import { Link } from 'svelte-routing'
|
import { Link, useLocation } from 'svelte-routing'
|
||||||
|
|
||||||
const views = ["Virtual environment", "Robot camera"]
|
const views = ["Virtual environment", "Robot camera"]
|
||||||
const modes = ["Drive", "Choreography"]
|
const modes = ["Drive", "Choreography"]
|
||||||
|
|
||||||
|
const location = useLocation()
|
||||||
|
|
||||||
let selected_view = views[0];
|
let selected_view = views[0];
|
||||||
let selected_modes = modes[0];
|
let selected_modes = modes[0];
|
||||||
|
let settingOpen = window.location.pathname.includes('/settings')
|
||||||
|
|
||||||
$: emulateModel.set(selected_view === views[0])
|
$: emulateModel.set(selected_view === views[0])
|
||||||
|
$: settingOpen = $location.pathname.includes('/settings')
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="topbar absolute left-0 top-0 w-full z-10 flex justify-between bg-zinc-800">
|
<div class="topbar absolute left-0 top-0 w-full z-10 flex justify-between bg-zinc-800">
|
||||||
<div class="flex gap-2 py-2">
|
<div class="flex gap-2 p-2">
|
||||||
|
{#if settingOpen}
|
||||||
|
<Link to="/">
|
||||||
|
<Icon src={XMark} size="32" />
|
||||||
|
</Link>
|
||||||
|
{:else}
|
||||||
<Link to="/settings">
|
<Link to="/settings">
|
||||||
<Icon src={Bars3} size="32" />
|
<Icon src={Bars3} size="32" />
|
||||||
</Link>
|
</Link>
|
||||||
|
{/if}
|
||||||
<select bind:value={selected_modes} class="rounded-md outline outline-2 text-zinc-200 outline-zinc-600 bg-zinc-800">
|
<select bind:value={selected_modes} class="rounded-md outline outline-2 text-zinc-200 outline-zinc-600 bg-zinc-800">
|
||||||
{#each modes as mode}
|
{#each modes as mode}
|
||||||
<option>{mode}</option>
|
<option>{mode}</option>
|
||||||
|
|||||||
Reference in New Issue
Block a user