Skip to content

Commit 955b2ab

Browse files
committed
refactor: Simplify template dialog focus handling and update database column type
1 parent a1936cb commit 955b2ab

File tree

2 files changed

+31
-33
lines changed

2 files changed

+31
-33
lines changed

src/LinkDotNet.Blog.Infrastructure/Migrations/20260109211327_AddBlogPostTemplate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ protected override void Down(MigrationBuilder migrationBuilder)
5555
maxLength: 256,
5656
nullable: true,
5757
oldClrType: typeof(string),
58-
oldType: "nvarchar(256)",
58+
oldType: "TEXT",
5959
oldMaxLength: 256,
6060
oldNullable: true);
6161
}
62-
}
62+
}

src/LinkDotNet.Blog.Web/Features/Admin/BlogPostEditor/Components/AddTemplateDialog.razor

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -132,41 +132,39 @@
132132
selectedIndex = -1;
133133
}
134134

135-
private async Task HandleFocusOut(FocusEventArgs args)
136-
{
137-
await Task.Delay(150);
138-
isOpen = false;
139-
await InvokeAsync(StateHasChanged);
140-
}
135+
private void HandleFocusOut(FocusEventArgs args) => isOpen = false;
141136

142137
private void HandleKeyDown(KeyboardEventArgs args)
143138
{
144-
if (!isOpen && (args.Key == "ArrowDown" || args.Key == "ArrowUp"))
145-
{
146-
isOpen = true;
147-
FilterTemplates(TemplateName);
148-
return;
149-
}
150-
151-
if (!isOpen) return;
152-
153-
switch (args.Key)
139+
switch (isOpen)
154140
{
155-
case "ArrowDown":
156-
selectedIndex = Math.Min(selectedIndex + 1, filteredTemplates.Count - 1);
157-
break;
158-
case "ArrowUp":
159-
selectedIndex = Math.Max(selectedIndex - 1, 0);
160-
break;
161-
case "Enter":
162-
if (selectedIndex >= 0 && selectedIndex < filteredTemplates.Count)
163-
{
164-
SelectTemplate(filteredTemplates[selectedIndex]);
165-
}
166-
break;
167-
case "Escape":
168-
isOpen = false;
169-
break;
141+
case false when args.Key is "ArrowDown" or "ArrowUp":
142+
isOpen = true;
143+
FilterTemplates(TemplateName);
144+
return;
145+
case false:
146+
return;
147+
default:
148+
switch (args.Key)
149+
{
150+
case "ArrowDown":
151+
selectedIndex = Math.Min(selectedIndex + 1, filteredTemplates.Count - 1);
152+
break;
153+
case "ArrowUp":
154+
selectedIndex = Math.Max(selectedIndex - 1, 0);
155+
break;
156+
case "Enter":
157+
if (selectedIndex >= 0 && selectedIndex < filteredTemplates.Count)
158+
{
159+
SelectTemplate(filteredTemplates[selectedIndex]);
160+
}
161+
break;
162+
case "Escape":
163+
isOpen = false;
164+
break;
165+
}
166+
167+
break;
170168
}
171169
}
172170

0 commit comments

Comments
 (0)