diff --git a/src/app.css b/src/app.css
index 989db93..c910ea2 100644
--- a/src/app.css
+++ b/src/app.css
@@ -43,7 +43,7 @@ body {
}
*:focus-visible {
- outline: 2px solid #3b82f6;
+ outline: 2px solid #16a34a;
outline-offset: 2px;
}
diff --git a/src/lib/components/ComparatorPanel.svelte b/src/lib/components/ComparatorPanel.svelte
index 848c56c..e5e6326 100644
--- a/src/lib/components/ComparatorPanel.svelte
+++ b/src/lib/components/ComparatorPanel.svelte
@@ -176,19 +176,9 @@
}
}
- function toggleWatchKey(key: string) {
- const current = new SvelteSet(watchedKeys);
- if (current.has(key)) {
- current.delete(key);
- } else {
- current.add(key);
- }
- cmpState.watchedKeysInput = Array.from(current).join(', ');
- handleWatchInput();
- }
-
function getValueByPath(obj: unknown, path: string): unknown {
- const parts = path.split('.');
+ const normalized = path.replace(/\[(\d+)\]/g, '.$1');
+ const parts = normalized.split('.');
function walk(current: unknown, idx: number): unknown {
if (idx >= parts.length) return current;
if (current === null || current === undefined) return undefined;
@@ -488,7 +478,7 @@
type="text"
bind:value={cmpState.server1Base}
list="server1-url-history"
- class="w-full rounded-lg border border-gray-200 bg-gray-50 px-4 py-3 font-mono text-sm text-gray-700 transition-all focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/20 focus:outline-none dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:ring-indigo-500/40"
+ class="w-full rounded-lg border border-gray-200 bg-gray-50 px-4 py-3 font-mono text-sm text-gray-700 transition-all focus:border-green-500 focus:ring-2 focus:ring-green-500/20 focus:outline-none dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:ring-green-500/40"
/>
{#if totalSnapshotsLoading}
Loading...
@@ -161,7 +161,7 @@
onclick={() => (gtfsRtLogState.timeRange = range as 'live' | '1h' | '24h' | 'all')}
class="flex-1 rounded-md px-3 py-1.5 text-xs font-medium transition-all sm:flex-none
{gtfsRtLogState.timeRange === range
- ? 'bg-indigo-600 text-white shadow'
+ ? 'bg-green-600 text-white shadow'
: 'text-gray-600 hover:bg-gray-200 dark:text-gray-300 dark:hover:bg-gray-700'}"
>
{range === '1h'
@@ -203,7 +203,7 @@
bind:value={gtfsRtLogState.limit}
min="10"
max="1000"
- class="w-full rounded-lg border border-gray-200 bg-white px-4 py-2 text-sm text-gray-900 focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/30 focus:outline-none dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200"
+ class="w-full rounded-lg border border-gray-200 bg-white px-4 py-2 text-sm text-gray-900 focus:border-green-500 focus:ring-2 focus:ring-green-500/30 focus:outline-none dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200"
/>
@@ -255,7 +255,7 @@
openDetail(snapshot.id)}
- class="group w-full rounded-lg border border-gray-200 bg-gray-50 p-4 text-left transition-all hover:border-indigo-400 hover:bg-gray-100 hover:shadow-md dark:border-gray-800 dark:bg-gray-800/60 dark:hover:border-indigo-600/60 dark:hover:bg-gray-800"
+ class="group w-full rounded-lg border border-gray-200 bg-gray-50 p-4 text-left transition-all hover:border-green-400 hover:bg-gray-100 hover:shadow-md dark:border-gray-800 dark:bg-gray-800/60 dark:hover:border-green-600/60 dark:hover:bg-gray-800"
>
@@ -321,13 +321,13 @@
Inspect