feat(ui): replace unicode icons with solid-icons

Swap emoji and unicode glyphs for Tabler components so icons inherit
currentColor and font-size and render consistently across platforms.

- add src/components/doc-icons.ts to resolve doc-entry frontmatter icon
  keys to components; frontmatter now stores semantic keys
- replace the align-*.png assets with TbOutlineAlign* icons
- render RevealManager action SVGs as components instead of injected
  innerHTML strings
- carry completion icons via an optional CompletionItem.icon field
This commit is contained in:
2026-09-13 14:01:03 +08:00
parent b5f25e6b60
commit 40b6fbe157
50 changed files with 304 additions and 152 deletions
+2 -1
View File
@@ -2,6 +2,7 @@
* InviteDialog — input player name, copy invite link
*/
import { Component, createSignal } from "solid-js";
import { TbOutlineX } from "solid-icons/tb";
import { useJournalStream } from "../stores/journalStream";
interface InviteDialogProps {
@@ -51,7 +52,7 @@ export const InviteDialog: Component<InviteDialogProps> = (props) => {
onClick={props.onClose}
class="text-gray-400 hover:text-gray-600 text-sm"
>
✕
<TbOutlineX />
</button>
</div>
<p class="text-xs text-gray-500">