Skip to content

Commit d2b1811

Browse files
committed
changelog
1 parent ba40903 commit d2b1811

File tree

3 files changed

+69
-12
lines changed

3 files changed

+69
-12
lines changed

apps/desktop/src/components/main/body/templates/template-form.tsx

Lines changed: 40 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ import { useForm } from "@tanstack/react-form";
33
import type { Template, TemplateSection, TemplateStorage } from "@hypr/store";
44
import { Input } from "@hypr/ui/components/ui/input";
55
import { Textarea } from "@hypr/ui/components/ui/textarea";
6+
import { cn } from "@hypr/utils";
67

78
import * as main from "../../../../store/tinybase/store/main";
9+
import * as settings from "../../../../store/tinybase/store/settings";
810
import { DangerZone } from "../resource-list";
911
import { RelatedSessions } from "./related-sessions";
1012
import { SectionsList } from "./sections-editor";
@@ -62,6 +64,19 @@ export function TemplateForm({
6264
const row = main.UI.useRow("templates", id, main.STORE_ID);
6365
const value = row ? normalizeTemplatePayload(row) : undefined;
6466

67+
const selectedTemplateId = settings.UI.useValue(
68+
"selected_template_id",
69+
settings.STORE_ID,
70+
) as string | undefined;
71+
const isDefault = selectedTemplateId === id;
72+
73+
const setSelectedTemplateId = settings.UI.useSetValueCallback(
74+
"selected_template_id",
75+
() => (isDefault ? "" : id),
76+
[id, isDefault],
77+
settings.STORE_ID,
78+
);
79+
6580
const handleUpdate = main.UI.useSetPartialRowCallback(
6681
"templates",
6782
id,
@@ -109,16 +124,31 @@ export function TemplateForm({
109124
return (
110125
<div className="flex-1 flex flex-col h-full">
111126
<div className="px-6 py-4 border-b border-neutral-200">
112-
<form.Field name="title">
113-
{(field) => (
114-
<Input
115-
value={field.state.value}
116-
onChange={(e) => field.handleChange(e.target.value)}
117-
placeholder="Enter template title"
118-
className="border-0 shadow-none text-lg font-semibold px-0 focus-visible:ring-0 h-8"
119-
/>
120-
)}
121-
</form.Field>
127+
<div className="flex items-center gap-2">
128+
<form.Field name="title">
129+
{(field) => (
130+
<Input
131+
value={field.state.value}
132+
onChange={(e) => field.handleChange(e.target.value)}
133+
placeholder="Enter template title"
134+
className="border-0 shadow-none text-lg font-semibold px-0 focus-visible:ring-0 h-8 flex-1"
135+
/>
136+
)}
137+
</form.Field>
138+
<button
139+
type="button"
140+
onClick={setSelectedTemplateId}
141+
title={isDefault ? "Remove as default" : "Set as default"}
142+
className={cn([
143+
"shrink-0 text-xs px-2 py-0.5 rounded border transition-colors",
144+
isDefault
145+
? "border-neutral-800 bg-neutral-800 text-white"
146+
: "border-neutral-300 text-neutral-500 hover:border-neutral-500 hover:text-neutral-700",
147+
])}
148+
>
149+
{isDefault ? "Default" : "Set default"}
150+
</button>
151+
</div>
122152
<form.Field name="description">
123153
{(field) => (
124154
<Textarea

apps/desktop/src/components/onboarding/shared.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function OnboardingSection({
4848
{title}
4949
</h2>
5050
{isCompleted && (
51-
<CheckIcon className="size-3.5 text-neutral-400" aria-hidden />
51+
<CheckIcon className="size-3.5 text-neutral-900" aria-hidden />
5252
)}
5353
{import.meta.env.DEV && isActive && (onBack || onNext) && (
5454
<div className="flex items-center gap-2">
@@ -73,7 +73,7 @@ export function OnboardingSection({
7373
</div>
7474
)}
7575
</div>
76-
{description && (
76+
{isActive && description && (
7777
<p className="text-sm text-neutral-500">{description}</p>
7878
)}
7979
</div>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
date: "2026-02-21"
3+
---
4+
5+
## AI
6+
7+
- Your selected default template in settings is now applied automatically to all new AI-generated summaries
8+
- Whisper small support by Cactus is now beta. English only.
9+
10+
## Transcription
11+
12+
- Fixed a visual glitch that occurred when starting a new listening session
13+
- "Resume listening" button label in the header now correctly reflects the paused state
14+
15+
## Notes
16+
17+
- Added "Reveal in Finder" to the session overflow menu for quick file access
18+
19+
## Onboarding
20+
21+
- Help users to focus on current step
22+
- Show clear trial status after sign-in
23+
24+
## Others
25+
26+
- Settings and AI tab bars now wrap correctly on narrow windows
27+
- Long calendar event descriptions no longer overflow their container

0 commit comments

Comments
 (0)