<script>
	import { onMount } from 'svelte';

	let { 
		title = '', 
		oncollapse = () => {},
		children
	} = $props();

	let clockText = $state('');

	onMount(() => {
		function updateClock() {
			const now = new Date();
			clockText = now.toLocaleTimeString('en-IN', { hour: '2-digit', minute: '2-digit' });
		}

		updateClock();
		const interval = setInterval(updateClock, 30000);
		return () => clearInterval(interval);
	});
</script>

<header class="h-14 bg-white border-b border-gray-200 flex items-center justify-between px-3 lg:px-4 sticky top-0 z-30">
	<div class="flex items-center gap-2">
		<button
			onclick={oncollapse}
			class="text-gray-500 hover:text-gray-800 transition-colors p-2.5 rounded-lg hover:bg-gray-100 -ml-1"
		>
			<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
				<path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" />
			</svg>
		</button>
		{#if title}
			<h1 class="text-lg font-semibold text-gray-800 truncate">{title}</h1>
		{/if}
	</div>

	<div class="flex items-center gap-3">
		<div class="text-sm text-gray-500 font-mono">{clockText}</div>
		{@render children?.()}
	</div>
</header>
