another small ui fix
This commit is contained in:
parent
07da5e72cc
commit
00ab7c80b5
@ -4,6 +4,7 @@ html,
|
||||
body {
|
||||
height: 100%;
|
||||
scroll-behavior: smooth;
|
||||
background-color: #e7f7df;
|
||||
}
|
||||
|
||||
@keyframes fade-in {
|
||||
|
@ -1,3 +0,0 @@
|
||||
<div class="min-h-full bg-[#e7f7df]">
|
||||
<slot />
|
||||
</div>
|
@ -75,6 +75,18 @@
|
||||
})
|
||||
});
|
||||
|
||||
onMount(() => {
|
||||
if (typeof window !== 'object') return;
|
||||
|
||||
const listener = () => {
|
||||
const container = document.getElementById('container') as HTMLDivElement;
|
||||
container.style.height = document.body.offsetHeight + 'px';
|
||||
};
|
||||
|
||||
listener();
|
||||
window.addEventListener('resize', listener);
|
||||
})
|
||||
|
||||
const start = () => {
|
||||
recordingStart = new Date();
|
||||
recorder?.start();
|
||||
@ -109,83 +121,76 @@
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="min-rh-screen">
|
||||
<div class="rh-screen p-4 min-h-0 grid place-items-center">
|
||||
<div id="container" class="relative w-full">
|
||||
<div class="absolute left-0 right-0 m-auto h-full w-full max-w-[70vh] p-4">
|
||||
<video
|
||||
autoplay muted bind:this={video}
|
||||
class="opacity-0 h-full w-full min-h-0 max-w-[70vh] object-cover rounded-[40px] bg-[#303030] fade-in"
|
||||
class="opacity-0 h-full w-full object-cover rounded-[40px] bg-[#303030] fade-in"
|
||||
style="animation-delay: 500ms;"
|
||||
>
|
||||
<track kind="captions" />
|
||||
</video>
|
||||
|
||||
<div
|
||||
class="absolute top-0 left-0 right-0 p-6 m-auto w-fit scale-in"
|
||||
style="animation-delay: 50ms;"
|
||||
>
|
||||
<div class="rounded-3xl bg-white px-3 py-1 font-serif text-center w-fit">
|
||||
<h1 class="font-bold text-xl">{now.toLocaleDateString(lang(), { dateStyle: 'long' })}</h1>
|
||||
<h2 class="text-sm">{now.toLocaleTimeString(lang())}</h2>
|
||||
</div>
|
||||
|
||||
{#if !!recordingStart}
|
||||
<div class="h-1"></div>
|
||||
<div class="rounded-3xl bg-white px-3 py-1 font-serif flex gap-1 items-center w-fit m-auto scale-in">
|
||||
<svg class="blink" xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="24px" fill="red"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/></svg>
|
||||
<div>
|
||||
<span class="text-md">
|
||||
<!-- <span class="font-bold">Recording</span> -->
|
||||
<span>{dateDiff(now, recordingStart).toLocaleTimeString(lang(), { minute: 'numeric', second: 'numeric' })}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="absolute bottom-0 left-0 right-0 p-6 m-auto w-fit fade-in"
|
||||
style="animation-delay: 50ms;"
|
||||
>
|
||||
<button
|
||||
class={`font-serif px-5 py-3 rounded-3xl text-white font-bold text-2xl cursor-pointer ${recordingStart ? 'bg-[#e14c2f]' : 'bg-[#2596be]'}`}
|
||||
style="transition-duration: 250ms;"
|
||||
onclick={() => recordingStart ? stop() : start()}
|
||||
>
|
||||
{recordingStart ? 'Stop' : 'Start'}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if recordingURL}
|
||||
<div class="h-8"></div>
|
||||
|
||||
<div class="p-4 min-h-0 grid place-items-center">
|
||||
<video controls bind:this={finalVideo}
|
||||
src={recordingURL}
|
||||
class="opacity-0 h-full w-full max-w-[50vh] min-h-0 w-full object-cover rounded-[40px] bg-[#303030] fade-in"
|
||||
style="aspect-ratio: 320 / 480;"
|
||||
>
|
||||
<track kind="captions" />
|
||||
</video>
|
||||
|
||||
<div class="h-2"></div>
|
||||
|
||||
<button
|
||||
class={`font-serif px-5 py-3 rounded-3xl text-white font-bold text-2xl cursor-pointer bg-[#2596be]`}
|
||||
style="transition-duration: 250ms;"
|
||||
onclick={submit}
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
<div
|
||||
class="absolute top-0 left-0 right-0 p-6 m-auto w-fit"
|
||||
>
|
||||
<div class="rounded-3xl bg-white px-3 py-1 font-serif text-center w-fit scale-in" style="animation-delay: 150ms;">
|
||||
<h1 class="font-bold text-xl">{now.toLocaleDateString(lang(), { dateStyle: 'long' })}</h1>
|
||||
<h2 class="text-sm">{now.toLocaleTimeString(lang())}</h2>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if !!recordingStart}
|
||||
<div class="h-1"></div>
|
||||
<div class="rounded-3xl bg-white px-3 py-1 font-serif flex gap-1 items-center w-fit m-auto scale-in">
|
||||
<svg class="blink" xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="24px" fill="red"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/></svg>
|
||||
<div>
|
||||
<span class="text-md">
|
||||
<!-- <span class="font-bold">Recording</span> -->
|
||||
<span>{dateDiff(now, recordingStart).toLocaleTimeString(lang(), { minute: 'numeric', second: 'numeric' })}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="absolute bottom-0 left-0 right-0 p-6 m-auto w-fit fade-in"
|
||||
style="animation-delay: 50ms;"
|
||||
>
|
||||
<button
|
||||
class={`font-serif px-5 py-3 rounded-3xl text-white font-bold text-2xl cursor-pointer ${recordingStart ? 'bg-[#e14c2f]' : 'bg-[#2596be]'}`}
|
||||
style="transition-duration: 250ms;"
|
||||
onclick={() => recordingStart ? stop() : start()}
|
||||
>
|
||||
{recordingStart ? 'Stop' : 'Start'}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <canvas class="hidden" bind:this={renderCanvas}></canvas>
|
||||
<canvas class="hidden" bind:this={captureCanvas}></canvas>
|
||||
<video class="hidden" bind:this={sourceVideo}>
|
||||
<track kind="captions" />
|
||||
</video> -->
|
||||
{#if recordingURL}
|
||||
<div class="h-8"></div>
|
||||
|
||||
<div class="p-4 min-h-0 grid place-items-center">
|
||||
<video controls bind:this={finalVideo}
|
||||
src={recordingURL}
|
||||
class="opacity-0 h-full w-full max-w-[50vh] min-h-0 w-full object-cover rounded-[40px] bg-[#303030] fade-in"
|
||||
style="aspect-ratio: 320 / 480;"
|
||||
>
|
||||
<track kind="captions" />
|
||||
</video>
|
||||
|
||||
<div class="h-2"></div>
|
||||
|
||||
<button
|
||||
class={`font-serif px-5 py-3 rounded-3xl text-white font-bold text-2xl cursor-pointer bg-[#2596be]`}
|
||||
style="transition-duration: 250ms;"
|
||||
onclick={submit}
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<style>
|
||||
</style>
|
Loading…
x
Reference in New Issue
Block a user