Tools.svelte 907 Bytes
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
2
3
4
5
6
7
8
9
<script>
	import { getContext } from 'svelte';

	const i18n = getContext('i18n');

	import CodeEditor from './Tools/CodeEditor.svelte';

	let loading = false;

Timothy J. Baek's avatar
refac  
Timothy J. Baek committed
10
11
	let codeEditor;

Timothy J. Baek's avatar
Timothy J. Baek committed
12
13
14
	const submitHandler = async () => {
		loading = true;
		// Call the API to submit the code
Timothy J. Baek's avatar
refac  
Timothy J. Baek committed
15
16
17
18

		if (codeEditor) {
			codeEditor.submitHandler();
		}
Timothy J. Baek's avatar
Timothy J. Baek committed
19
20
21
22
23
24
	};
</script>

<div class=" flex flex-col justify-between w-full overflow-y-auto h-full">
	<div class="mx-auto w-full md:px-0 h-full">
		<div class=" flex flex-col max-h-[100dvh] h-full">
Timothy J. Baek's avatar
Timothy J. Baek committed
25
			<div class="mb-2.5 flex-1 overflow-auto h-0 rounded-lg">
Timothy J. Baek's avatar
refac  
Timothy J. Baek committed
26
				<CodeEditor bind:this={codeEditor} />
Timothy J. Baek's avatar
Timothy J. Baek committed
27
28
29
30
31
32
33
34
35
36
37
38
39
40
			</div>
			<div class="pb-3">
				<button
					class="px-3 py-1.5 text-sm font-medium bg-emerald-600 hover:bg-emerald-700 text-gray-50 transition rounded-lg"
					on:click={() => {
						submitHandler();
					}}
				>
					{$i18n.t('Save')}
				</button>
			</div>
		</div>
	</div>
</div>