package site

import datastar "github.com/starfederation/datastar/sdk/go"

type TemplCounterSignals struct {
	Global uint32 `json:"global"`
	User   uint32 `json:"user"`
}

templ templCounterExampleButtons() {
	<div class="flex justify-around gap-4">
		<button
			class="btn btn-info"
			data-on-click={ datastar.PostSSE("/examples/templ_counter/increment/global") }
		>
			Increment Global
		</button>
		<button
			class="btn btn-success"
			data-on-click={ datastar.PostSSE("/examples/templ_counter/increment/user") }
		>
			Increment User
		</button>
	</div>
}

templ templCounterExampleCounts() {
	<div class="flex justify-around gap-4">
		<div class="flex flex-col items-center gap-1">
			<div class="text-lg font-bold">Global</div>
			<div class="text-2xl" data-text="global.value"></div>
		</div>
		<div class="flex flex-col items-center gap-1">
			<div class="text-lg font-bold">User</div>
			<div class="text-2xl" data-text="user.value"></div>
		</div>
	</div>
}

templ templCounterExampleInitialContents(signals TemplCounterSignals) {
	<div
		id="container"
		data-signals={ templ.JSONString(signals) }
		class="flex flex-col gap-4"
	>
		@templCounterExampleButtons()
		@templCounterExampleCounts()
	</div>
}
