mishig HF staff commited on
Commit
1589e5a
1 Parent(s): f3997e2

Better mobile UX

Browse files
Files changed (1) hide show
  1. src/routes/+page.svelte +10 -4
src/routes/+page.svelte CHANGED
@@ -1,5 +1,5 @@
1
  <script lang="ts">
2
- import { onMount } from 'svelte';
3
 
4
  let txt = '';
5
  let isLoading = false;
@@ -13,7 +13,8 @@
13
 
14
  const animImageDuration = 500 as const;
15
  const animNoiseDuration = 3000 as const;
16
- const canvasSize = 300 as const;
 
17
 
18
  async function drawNoise() {
19
  if (!ctx) {
@@ -163,7 +164,12 @@
163
  }
164
  }
165
 
166
- onMount(() => {
 
 
 
 
 
167
  const drawingBoard = new window.DrawingBoard.Board('board-container', {
168
  size: 10,
169
  controls: [
@@ -192,7 +198,7 @@
192
 
193
  <div class="flex flex-wrap gap-x-8 justify-center mt-8">
194
  <div class={isLoading ? 'pointer-events-none' : ''}>
195
- <div id="board-container" style="width: {canvasSize}px;height: {canvasSize}px;" />
196
  <div class="flex gap-x-2 mt-4 items-center justify-center {isLoading ? 'animate-pulse' : ''}">
197
  <input type="text" class="border-2 " placeholder="Add prompt" bind:value={txt} />
198
  <button
 
1
  <script lang="ts">
2
+ import { onMount, tick } from 'svelte';
3
 
4
  let txt = '';
5
  let isLoading = false;
 
13
 
14
  const animImageDuration = 500 as const;
15
  const animNoiseDuration = 3000 as const;
16
+ let canvasSize = 512;
17
+ let containerEl: HTMLDivElement;
18
 
19
  async function drawNoise() {
20
  if (!ctx) {
 
164
  }
165
  }
166
 
167
+ onMount(async () => {
168
+ const {innerWidth: windowWidth} = window;
169
+ canvasSize = Math.min(canvasSize, Math.floor(windowWidth*0.75));
170
+ containerEl.style.width = `${canvasSize}px`;
171
+ containerEl.style.height = `${canvasSize}px`;
172
+ await tick();
173
  const drawingBoard = new window.DrawingBoard.Board('board-container', {
174
  size: 10,
175
  controls: [
 
198
 
199
  <div class="flex flex-wrap gap-x-8 justify-center mt-8">
200
  <div class={isLoading ? 'pointer-events-none' : ''}>
201
+ <div id="board-container" bind:this={containerEl} />
202
  <div class="flex gap-x-2 mt-4 items-center justify-center {isLoading ? 'animate-pulse' : ''}">
203
  <input type="text" class="border-2 " placeholder="Add prompt" bind:value={txt} />
204
  <button