Ui/MainMenu.razor
@using Sandbox;
@using Sandbox.UI;
@inherits PanelComponent
@namespace Clover.Ui

<root>
	@if ( State == MenuState.Title )
	{
		<div class="title">Clover Meadows</div>
		<div class="menu-items">
			<button @onclick=@( () => SetState( MenuState.SelectRealm ) )>Select Realm</button>
			<button @onclick=@( () => SetState( MenuState.Settings ) )>Settings</button>
			<button @onclick=@( () => Game.Close() )>Quit</button>
		</div>
	}
	else if ( State == MenuState.SelectRealm )
	{
		<div class="title">Select Realm</div>

		<div class="realm-list">
			@foreach ( var realm in Realms.OrderBy( x => x.LastPlayed ).Reverse() )
			{
				<button class="realm-entry" @onclick=@( () => SelectRealm( realm ) )>
					<div class="name">
						@realm.Name
					</div>
					<div class="last-played">
						@( $"Last played {realm.LastPlayed.ToString( "yyyy-MM-dd HH:mm" )}" )
					</div>
					<div class="created">
						@( $"Created {realm.Created.ToString( "yyyy-MM-dd HH:mm" )}" )
					</div>
				</button>
			}
			@if ( Realms.Count == 0 )
			{
				<div>No realms found</div>
			}
		</div>

		<div class="menu-items">
			<button @onclick=@( () => SetState( MenuState.CreateRealm ) )>Create</button>
			<button @onclick=@( () => SetState( MenuState.Title ) )>Back</button>
		</div>
	}
	else if ( State == MenuState.CreateRealm )
	{
		<div class="title">Create Realm</div>
		<div class="menu-items">
			<TextEntry class="text-input" Value:bind=@_newRealmName/>
			<button @onclick=@( () => CreateRealm() )>Perfect</button>
			<button @onclick=@( () => SetState( MenuState.SelectRealm ) )>Back</button>
		</div>
	}
	else if ( State == MenuState.Settings )
	{
		<div class="title">Settings</div>
		<div class="menu-items">
			<button @onclick=@( () => SetState( MenuState.Title ) )>Back</button>
		</div>
	}
</root>