Skip to content

Upgrade to Bootstrap 6.0.0-alpha.1 - #552

Open
linkdotnet wants to merge 1 commit into
masterfrom
bootstrap-6
Open

linkdotnet wants to merge 1 commit into
masterfrom
bootstrap-6

Conversation

@linkdotnet

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI balanced review requested due to automatic review settings October 12, 2026 17:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Native dialogs allow background scrolling, and the reading indicator still references removed animation keyframes.

2 open findings
What changed in this PR

Upgrades the web UI from Bootstrap 5.3.7 to Bootstrap 6.0.0-alpha.1, adapting components, utilities, dialogs, and tests.

Changes:

  • Migrates Bootstrap CDN assets, utility classes, menus, drawers, accordions, and forms.
  • Adds reusable native-dialog and accordion-icon components.
  • Updates CSS and automated tests for Bootstrap 6 markup.
File Description
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​ShowBlogPost/​Components/​TableOfContentsTests.cs Updates spacing assertion.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​ShowBlogPost/​Components/​CommentSectionTests.cs Updates alert selector.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​MarkdownConverterTests.cs Updates theme and table assertions.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​Home/​Components/​AccessControlTests.cs Updates menu selectors.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​Components/​UploadFileModalDialogTests.cs Configures dialog interop.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​Components/​MarkdownTextAreaTests.cs Updates dialog and button setup.
tests/​LinkDotNet.Blog.UnitTests/​Web/​Features/​Admin/​BlogPostEditor/​Components/​CreateNewBlogPostTests.cs Updates dialog and menu tests.
tests/​LinkDotNet.Blog.TestUtilities/​BunitExtensions.cs Adds native-dialog test helper.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Shared/​Skills/​SkillTableTests.cs Configures dialog interop.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Shared/​ProfileTests.cs Configures dialog interop.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Shared/​ConfirmDialogTests.cs Configures dialog interop.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Shared/​Admin/​BlogPostAdminActionsTests.cs Verifies dialog invocation.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Features/​Archive/​ArchivePageTests.cs Targets native summaries.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Features/​Admin/​BlogPostEditor/​CreateNewBlogPostPageTests.cs Updates menu selector.
tests/​LinkDotNet.Blog.IntegrationTests/​Web/​Features/​AboutMe/​Components/​TalksTests.cs Configures dialog interop.
src/​LinkDotNet.Blog.Web/​wwwroot/​css/​markdown-editor.css Migrates editor styling tokens.
src/​LinkDotNet.Blog.Web/​wwwroot/​css/​icons.css Avoids Bootstrap menu collision.
src/​LinkDotNet.Blog.Web/​wwwroot/​css/​basic.css Migrates global theme utilities.
src/​LinkDotNet.Blog.Web/​Pages/​Error.cshtml Loads Bootstrap 6 styling.
src/​LinkDotNet.Blog.Web/​Features/​TagDiscovery/​TagDiscoveryPanel.razor Migrates panel utilities.
src/​LinkDotNet.Blog.Web/​Features/​SupportMe/​Components/​Patreon.razor Updates spacing and foreground color.
src/​LinkDotNet.Blog.Web/​Features/​SupportMe/​Components/​GitHubSponsor.razor Updates button spacing.
src/​LinkDotNet.Blog.Web/​Features/​SupportMe/​Components/​DonationSection.razor Migrates responsive utilities.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​ShowBlogPostPage.razor Applies Bootstrap 6 content styling.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​TableOfContents.razor Uses native details accordion.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​SimilarBlogPostSection.razor Migrates related-post accordion.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​ShareBlogPost.razor Replaces dropdown with menu.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​Like.razor Migrates button styling.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​CommentSection.razor Migrates alert theme.
src/​LinkDotNet.Blog.Web/​Features/​ShowBlogPost/​Components/​BlogPostAdminActions.razor Migrates action buttons.
src/​LinkDotNet.Blog.Web/​Features/​SearchByTag/​SearchByTagPage.razor Updates spacing.
src/​LinkDotNet.Blog.Web/​Features/​Search/​SearchPage.razor Updates spacing.
src/​LinkDotNet.Blog.Web/​Features/​ResponsiveTableExtension.cs Uses Bootstrap responsive tables.
src/​LinkDotNet.Blog.Web/​Features/​MarkdownConverter.cs Migrates heading-anchor styling.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Index.razor Updates layout spacing.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​ThemeToggler.razor Migrates foreground utilities.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​SocialAccounts.razor Updates social-link spacing.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​NavMenu.razor Replaces collapse/dropdowns with drawer/menus.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​MainLayout.razor Updates footer clearance.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​Footer.razor Migrates foreground and spacing utilities.
src/​LinkDotNet.Blog.Web/​Features/​Home/​Components/​AccessControl.razor Replaces dropdowns with menus.
src/​LinkDotNet.Blog.Web/​Features/​CopyCodeBlockToClipboardExtension.cs Migrates button color utility.
src/​LinkDotNet.Blog.Web/​Features/​Components/​UploadFileModalDialog.razor Converts upload modal to native dialog.
src/​LinkDotNet.Blog.Web/​Features/​Components/​ShortBlogPost.razor Migrates badges and spacing.
src/​LinkDotNet.Blog.Web/​Features/​Components/​ObjectNotFound.razor Migrates game controls and alerts.
src/​LinkDotNet.Blog.Web/​Features/​Components/​NativeDialog.razor.js Adds native dialog interop.
src/​LinkDotNet.Blog.Web/​Features/​Components/​NativeDialog.razor Adds reusable dialog component.
src/​LinkDotNet.Blog.Web/​Features/​Components/​ModalDialog.razor Rebuilds modal wrapper with native dialog.
src/​LinkDotNet.Blog.Web/​Features/​Components/​MarkdownTextArea.razor Applies Bootstrap 6 prose styling.
src/​LinkDotNet.Blog.Web/​Features/​Components/​ConfirmDialog.razor Migrates confirmation controls.
src/​LinkDotNet.Blog.Web/​Features/​Components/​AccordionIcon.razor Adds shared accordion indicator.
src/​LinkDotNet.Blog.Web/​Features/​CalloutExtension.cs Converts generated alert theme classes.
src/​LinkDotNet.Blog.Web/​Features/​Bookmarks/​Components/​BookmarkButton.razor Migrates bookmark colors.
src/​LinkDotNet.Blog.Web/​Features/​Bookmarks/​Bookmarks.razor Migrates bookmark alert styling.
src/​LinkDotNet.Blog.Web/​Features/​Archive/​ArchivePage.razor Uses native details accordions.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​ShortCodes/​ShortCodesPage.razor Migrates accordion, form, and buttons.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​Settings/​SettingsPage.razor Migrates action buttons.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​DraftBlogPost/​DraftBlogPostPage.razor Updates page spacing.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​Dashboard/​DashboardPage.razor Updates dashboard spacing.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​Dashboard/​Components/​DateRangeSelector.razor Migrates responsive grid classes.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BrokenLinks/​BrokenLinksPage.razor Migrates alerts and colors.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​VersionDiffDialog.razor Converts diff modal to native dialog.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​TagInput.razor Migrates tag controls.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​ShortCodeDialog.razor Migrates dialog sections and controls.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​CreateNewBlogPost.razor.css Removes obsolete isolated editor styling.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​CreateNewBlogPost.razor Migrates editor layout and controls.
src/​LinkDotNet.Blog.Web/​Features/​Admin/​BlogPostEditor/​Components/​AddTemplateDialog.razor Migrates template dialog styling.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​Talk/​Talks.razor Migrates add-talk button.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​Talk/​TalkEntry.razor Migrates talk typography and controls.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​Talk/​AddTalkEntryDialog.razor Migrates talk form styling.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​TabbedNavigation.razor Migrates tabs and responsive grid.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​Skill/​SkillTable.razor Migrates skill table and button.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​Components/​Skill/​AddSkillDialog.razor Migrates skill form controls.
src/​LinkDotNet.Blog.Web/​Features/​AboutMe/​AboutMePage.razor Migrates responsive page grid.
src/​LinkDotNet.Blog.Web/​App.razor Loads Bootstrap 6 CSS and ESM JavaScript.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +1 to +11
export async function show(dialog, dotNetHelper) {
dialog.onclose = () => dotNetHelper.invokeMethodAsync('OnClosedAsync');
dialog.showModal();
// Bootstrap fades .dialog in from visibility: hidden, so the browser's own initial focus finds nothing
await Promise.all(dialog.getAnimations().map(animation => animation.finished));
dialog.focus();
}

export function close(dialog) {
dialog.close();
}
Comment thread src/LinkDotNet.Blog.Web/wwwroot/css/basic.css
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants