Major features implemented: - System prompt management (/prompts route) - Create, edit, delete prompt templates - Set default and active prompts - Prompts stored in IndexedDB (v3 migration) - Injected into chat as system messages - Custom tool creation (ToolEditor) - Create tools with JavaScript or HTTP implementations - Execute user-defined tools during chat - Tool call display in messages (ToolCallDisplay.svelte) - Theme toggle - Light/dark mode switch in Settings - Theme persistence to localStorage - Flash prevention on page load - Bug fixes - Disable USE_FUNCTION_MODEL (was routing all to functiongemma) - Add ready() promise to prompts store for async loading - Fix ToolEditor syntax error (extra script tag) Files created: - src/lib/storage/prompts.ts - src/lib/stores/prompts.svelte.ts - src/routes/prompts/+page.svelte - src/lib/components/tools/ToolEditor.svelte - src/lib/components/chat/ToolCallDisplay.svelte 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
855 B
HTML
24 lines
855 B
HTML
<!doctype html>
|
|
<html lang="en" data-theme="modern">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<link rel="icon" href="%sveltekit.assets%/favicon.svg" type="image/svg+xml" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<script>
|
|
// Initialize theme before page render to prevent flash
|
|
(function() {
|
|
const saved = localStorage.getItem('darkMode');
|
|
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
const isDark = saved !== null ? saved === 'true' : prefersDark;
|
|
if (isDark) {
|
|
document.documentElement.classList.add('dark');
|
|
}
|
|
})();
|
|
</script>
|
|
%sveltekit.head%
|
|
</head>
|
|
<body data-sveltekit-preload-data="hover" class="bg-surface-900 text-surface-50 dark:bg-surface-900 dark:text-surface-50">
|
|
<div style="display: contents">%sveltekit.body%</div>
|
|
</body>
|
|
</html>
|