Files
OSIT-AE-App-Svelte/src/routes/journals/ae_comp__journal_entry_ai_tools.svelte
Scott Idem 62cc26d1f9 Making things prettier:
npx prettier --write src/routes/journals/
2026-05-05 17:27:48 -04:00

40 lines
1.4 KiB
Svelte

<script lang="ts">
/**
* ae_comp__journal_entry_ai_tools.svelte
* Journal-specific wrapper for the generic AE_AITools.
* Handles layout/positioning and specific save behavior for journal entries.
*/
import AE_AITools from '$lib/ae_elements/AE_AITools.svelte';
import { journals_loc } from '$lib/ae_journals/ae_journals_stores';
interface Props {
content: string;
summary: string | null | undefined; // Bindable
on_save: () => void;
log_lvl?: number;
}
let { content, summary = $bindable(), on_save, log_lvl = 0 }: Props = $props();
</script>
<div class="journal-entry-floating-actions absolute top-14 right-2 z-10">
<div
class="journal-entry-ai-tools inline-flex flex-wrap items-center justify-end gap-1">
<AE_AITools
{content}
model={$journals_loc.llm__api_model}
baseUrl={$journals_loc.llm__api_base_url}
token={$journals_loc.llm__api_token}
systemPrompt={$journals_loc.entry.llm__system_prompt}
maxTokens={$journals_loc.entry.llm__max_tokens}
temperature={$journals_loc.entry.llm__temperature}
buttonClass="btn btn-sm preset-tonal-primary shadow-md transition-all duration-150 hover:scale-105"
bind:summary
onSave={(newSummary) => {
summary = newSummary;
on_save();
}}
{log_lvl} />
</div>
</div>