Initial web

This commit is contained in:
Caesar2011
2026-05-17 19:55:53 +02:00
parent 6e3499812e
commit 20ed6ee9fb
58 changed files with 8541 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
'use client';
import { useApp } from '@/lib/context';
import type { TimeRange, TimeMode } from '@/lib/types';
const RANGES: TimeRange[] = ['30m', '1h', '6h', '24h', '7d', '30d'];
export default function TimeRangeSelector() {
const { timeRange, setTimeRange, timeMode, setTimeMode } = useApp();
return (
<div className="flex items-center gap-3 flex-wrap">
<div className="flex rounded overflow-hidden border border-gray-700">
{RANGES.map(r => (
<button
key={r}
onClick={() => setTimeRange(r)}
className={`px-3 py-1 text-sm font-mono transition-colors ${
timeRange === r
? 'bg-indigo-600 text-white'
: 'bg-gray-800 text-gray-300 hover:bg-gray-700'
}`}
>
{r}
</button>
))}
</div>
<div className="flex rounded overflow-hidden border border-gray-700">
{(['real', 'tick'] as TimeMode[]).map(m => (
<button
key={m}
onClick={() => setTimeMode(m)}
className={`px-3 py-1 text-sm transition-colors ${
timeMode === m
? 'bg-indigo-600 text-white'
: 'bg-gray-800 text-gray-300 hover:bg-gray-700'
}`}
>
{m === 'real' ? 'Real Time' : 'Game Tick'}
</button>
))}
</div>
</div>
);
}