Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e423be5
book icon update
LadyBluenotes Dec 17, 2025
faafd97
fix book icon
LadyBluenotes Dec 17, 2025
077e78a
update command icon
LadyBluenotes Dec 17, 2025
bc13d2c
replace react-icons/bs
LadyBluenotes Dec 17, 2025
0da0133
migrate to close icons to lucide-react x
LadyBluenotes Dec 17, 2025
c443ae2
discord, close, and github icons plus some others
LadyBluenotes Dec 17, 2025
ce8b873
update icons to lucide-react for improved consistency
LadyBluenotes Dec 17, 2025
bbfa028
replace FaBolt with Zap icon in multiple components for consistency
LadyBluenotes Dec 17, 2025
f226c54
replace FontAwesome icons with Lucide icons for consistency
LadyBluenotes Dec 17, 2025
dddfe66
add CheckCircleIcon component and replace FaCheckCircle usage for con…
LadyBluenotes Dec 17, 2025
e8c52ff
remove unused FontAwesome icons for improved consistency
LadyBluenotes Dec 17, 2025
21cf6d3
replace FaCogs with CogsIcon component for consistency across multipl…
LadyBluenotes Dec 17, 2025
8628183
replace FaComment with MessageSquare icon for consistency across mult…
LadyBluenotes Dec 17, 2025
c172ce8
replace FontAwesome icons with Lucide icons for consistency across mu…
LadyBluenotes Dec 17, 2025
a25100a
replace FaExternalLinkAlt and FaEdit with ExternalLink and SquarePen …
LadyBluenotes Dec 17, 2025
60ee6ec
replace FontAwesome icons with Lucide icons for consistency across mu…
LadyBluenotes Dec 17, 2025
0bb47e9
replace icons with Lucide icons for consistency across multiple compo…
LadyBluenotes Dec 17, 2025
83ac72c
replace icons with Lucide icons for consistency across multiple compo…
LadyBluenotes Dec 17, 2025
ec60911
auth logs
tannerlinsley Dec 17, 2025
e077daf
update icons
LadyBluenotes Dec 17, 2025
a0e8466
add BrandXIcon and BSkyIcon components; update Navbar to use new icons
LadyBluenotes Dec 17, 2025
26c875e
replace Material Design icons with Lucide icons for consistency acros…
LadyBluenotes Dec 17, 2025
545e95c
replace react-icons with Lucide icons
LadyBluenotes Dec 17, 2025
670e205
replace react-icons with Lucide icons
LadyBluenotes Dec 18, 2025
ef5bfbb
ci: apply automated fixes
autofix-ci[bot] Dec 18, 2025
cf674e4
fix broken icon
LadyBluenotes Dec 18, 2025
732f6f3
enable lazy loading and async decoding for images in Markdown component
LadyBluenotes Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"private": true,
"sideEffects": false,
"repository": "https://github.com/TanStack/tanstack.com.git",
"packageManager": "pnpm@9.4.0",
"packageManager": "pnpm@10.26.0",
"type": "module",
"scripts": {
"dev": "pnpm run with-env vite dev",
Expand Down Expand Up @@ -59,12 +59,12 @@
"hast-util-to-string": "^3.0.1",
"html-react-parser": "^5.1.10",
"lru-cache": "^7.13.1",
"lucide-react": "^0.561.0",
"mermaid": "^11.11.0",
"postgres": "^3.4.7",
"react": "^19.2.0",
"react-colorful": "^5.6.1",
"react-dom": "^19.2.0",
"react-icons": "^5.3.0",
"react-instantsearch": "7",
"rehype-autolink-headings": "^7.1.0",
"rehype-callouts": "^2.1.2",
Expand Down
24 changes: 12 additions & 12 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 27 additions & 12 deletions src/components/CodeExplorerTopBar.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import React from 'react'
import { FaExpand, FaCompress } from 'react-icons/fa'
import { CgMenuLeft } from 'react-icons/cg'
import {
ArrowLeftFromLine,
ArrowRightFromLine,
Maximize,
Minimize,
TextAlignStart,
} from 'lucide-react'

interface CodeExplorerTopBarProps {
activeTab: 'code' | 'sandbox'
Expand All @@ -23,16 +28,26 @@ export function CodeExplorerTopBar({
<div className="flex items-center justify-between gap-2 border-b border-gray-200 dark:border-gray-700">
<div className="flex items-center gap-2 px-1">
{activeTab === 'code' ? (
<button
onClick={() => setIsSidebarOpen(!isSidebarOpen)}
className="p-2 text-sm rounded transition-colors hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300"
title={isSidebarOpen ? 'Hide sidebar' : 'Show sidebar'}
>
<CgMenuLeft className="w-4 h-4" />
</button>
isSidebarOpen ? (
<button
onClick={() => setIsSidebarOpen(!isSidebarOpen)}
className="p-2 text-sm rounded transition-colors hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300"
title={'Hide sidebar'}
>
<ArrowLeftFromLine className="w-4 h-4" />
</button>
) : (
<button
onClick={() => setIsSidebarOpen(!isSidebarOpen)}
className="p-2 text-sm rounded transition-colors hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300"
title={'Show sidebar'}
>
<ArrowRightFromLine className="w-4 h-4" />
</button>
)
) : (
<div className="p-2 text-sm rounded" aria-hidden>
<CgMenuLeft className="w-4 h-4 text-transparent" aria-hidden />
<TextAlignStart className="w-4 h-4 text-transparent" aria-hidden />
</div>
)}
<button
Expand Down Expand Up @@ -81,9 +96,9 @@ export function CodeExplorerTopBar({
title={isFullScreen ? 'Exit full screen' : 'Enter full screen'}
>
{isFullScreen ? (
<FaCompress className="w-4 h-4" />
<Minimize className="w-4 h-4" />
) : (
<FaExpand className="w-4 h-4" />
<Maximize className="w-4 h-4" />
)}
</button>
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/components/CopyMarkdownButton.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use client'
import { useState, useTransition } from 'react'
import { FaCheck, FaCopy } from 'react-icons/fa'

import { type MouseEventHandler, useEffect, useRef } from 'react'
import { useToast } from '~/components/ToastProvider'
import { Check, Copy } from 'lucide-react'

export function useCopyButton(
onCopy: () => void | Promise<void>,
Expand Down Expand Up @@ -115,11 +115,11 @@ export function CopyMarkdownButton({
<div className="flex gap-2 items-center">
{checked ? (
<>
<FaCheck className="w-3 h-3" /> Copied to Clipboard
<Check className="w-3 h-3" /> Copied to Clipboard
</>
) : (
<>
<FaCopy className="w-3 h-3" /> Copy Markdown
<Copy className="w-3 h-3" /> Copy Markdown
</>
)}
</div>
Expand Down
12 changes: 4 additions & 8 deletions src/components/Doc.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import * as React from 'react'
import {
BsArrowsCollapseVertical,
BsArrowsExpandVertical,
} from 'react-icons/bs'
import { FaEdit } from 'react-icons/fa'
import { FoldHorizontal, SquarePen, UnfoldHorizontal } from 'lucide-react'
import { twMerge } from 'tailwind-merge'
import { useWidthToggle } from '~/components/DocsLayout'
import { DocTitle } from '~/components/DocTitle'
Expand Down Expand Up @@ -146,9 +142,9 @@ function DocContent({
title={isFullWidth ? 'Constrain width' : 'Expand width'}
>
{isFullWidth ? (
<BsArrowsCollapseVertical className="w-4 h-4" />
<FoldHorizontal className="w-4 h-4" />
) : (
<BsArrowsExpandVertical className="w-4 h-4" />
<UnfoldHorizontal className="w-4 h-4" />
)}
</button>
)}
Expand Down Expand Up @@ -186,7 +182,7 @@ function DocContent({
href={`https://github.com/${repo}/edit/${branch}/${filePath}`}
className="flex items-center gap-2"
>
<FaEdit /> Edit on GitHub
<SquarePen size={16} /> Edit on GitHub
</a>
</div>
<div className="h-24" />
Expand Down
8 changes: 4 additions & 4 deletions src/components/DocFeedbackFloatingButton.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react'
import { FaPlus, FaComment, FaLightbulb } from 'react-icons/fa'
import { twMerge } from 'tailwind-merge'
import { Lightbulb, MessageSquare, Plus } from 'lucide-react'

interface DocFeedbackFloatingButtonProps {
onAddNote: () => void
Expand Down Expand Up @@ -59,7 +59,7 @@
document.removeEventListener('mousedown', handleClickOutside)
document.removeEventListener('keydown', handleEscape)
}
}, [isMenuOpen])

Check warning on line 62 in src/components/DocFeedbackFloatingButton.tsx

View workflow job for this annotation

GitHub Actions / PR

React Hook React.useEffect has a missing dependency: 'setIsMenuOpen'. Either include it or remove the dependency array

const handleButtonClick = (e: React.MouseEvent) => {
e.preventDefault()
Expand All @@ -86,7 +86,7 @@
}

return (
<div

Check failure on line 89 in src/components/DocFeedbackFloatingButton.tsx

View workflow job for this annotation

GitHub Actions / PR

Avoid non-native interactive elements. If using native HTML is not possible, add an appropriate role and support for tabbing, mouse, keyboard, and touch inputs to an interactive content element

Check failure on line 89 in src/components/DocFeedbackFloatingButton.tsx

View workflow job for this annotation

GitHub Actions / PR

Visible, non-interactive elements with click handlers must have at least one keyboard listener
ref={buttonRef}
className="doc-feedback-floating-btn absolute top-0 right-0 -translate-y-full z-[100]"
onMouseEnter={onMouseEnter}
Expand All @@ -111,7 +111,7 @@
)}
title="Add feedback"
>
<FaPlus
<Plus
className={twMerge(
'text-[10px] transition-transform duration-200',
isMenuOpen && 'rotate-45',
Expand All @@ -128,7 +128,7 @@
onClick={handleNoteClick}
className="w-full px-4 py-3 flex items-center gap-3 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-left"
>
<FaComment className="text-blue-500" />
<MessageSquare className="text-blue-500" />
<div>
<div className="font-medium text-sm text-gray-900 dark:text-white">
Add Note
Expand All @@ -148,7 +148,7 @@
onClick={handleFeedbackClick}
className="w-full px-4 py-3 flex items-center gap-3 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-left"
>
<FaLightbulb className="text-yellow-500" />
<Lightbulb className="text-yellow-500" />
<div>
<div className="font-medium text-sm text-gray-900 dark:text-white">
Suggest Improvement
Expand Down
35 changes: 17 additions & 18 deletions src/components/DocFeedbackNote.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
import * as React from 'react'
import { twMerge } from 'tailwind-merge'
import {
FaComment,
FaLightbulb,
FaTrash,
FaChevronDown,
FaChevronUp,
FaSave,
FaTimes,
} from 'react-icons/fa'
import { useMutation, useQueryClient } from '@tanstack/react-query'
import {
deleteDocFeedback,
updateDocFeedback,
updateDocFeedbackCollapsed,
} from '~/utils/docFeedback.functions'
import { useToast } from '~/components/ToastProvider'
import type { DocFeedback } from '~/db/schema'
import {
ChevronDown,
ChevronUp,
Lightbulb,
MessageSquare,
Save,
Trash,
X,
} from 'lucide-react'

interface DocFeedbackNoteProps {
note: DocFeedback
Expand All @@ -42,13 +41,13 @@

// Theme based on type
const isImprovement = note.type === 'improvement'
const Icon = isImprovement ? FaLightbulb : FaComment
const Icon = isImprovement ? Lightbulb : MessageSquare
const colors = isImprovement
? {
bg: 'bg-yellow-50 dark:bg-yellow-900/20',
border: 'border-yellow-400 dark:border-yellow-600',
header: 'bg-yellow-100 dark:bg-yellow-900/30',
icon: 'text-yellow-600 dark:text-yellow-500',
icon: 'text-yellow-600 dark:text-yellow-500 text-[14px]',
text: 'text-yellow-800 dark:text-yellow-300',
timestamp: 'text-yellow-700 dark:text-yellow-400',
deleteHover: 'hover:text-yellow-600 dark:hover:text-yellow-400',
Expand All @@ -57,7 +56,7 @@
bg: 'bg-blue-50 dark:bg-blue-900/20',
border: 'border-blue-400 dark:border-blue-600',
header: 'bg-blue-100 dark:bg-blue-900/30',
icon: 'text-blue-600 dark:text-blue-500',
icon: 'text-blue-600 dark:text-blue-500 text-[14px]',
text: 'text-blue-800 dark:text-blue-300',
timestamp: 'text-blue-700 dark:text-blue-400',
deleteHover: 'hover:text-blue-600 dark:hover:text-blue-400',
Expand Down Expand Up @@ -299,7 +298,7 @@
}

return (
<div

Check failure on line 301 in src/components/DocFeedbackNote.tsx

View workflow job for this annotation

GitHub Actions / PR

Avoid non-native interactive elements. If using native HTML is not possible, add an appropriate role and support for tabbing, mouse, keyboard, and touch inputs to an interactive content element

Check failure on line 301 in src/components/DocFeedbackNote.tsx

View workflow job for this annotation

GitHub Actions / PR

Visible, non-interactive elements with click handlers must have at least one keyboard listener
className={twMerge(
inline ? 'w-full' : 'fixed z-40 w-80 max-w-[calc(100vw-2rem)]',
'transition-all duration-200',
Expand Down Expand Up @@ -335,7 +334,7 @@
)}

{/* Header - always visible */}
<div

Check failure on line 337 in src/components/DocFeedbackNote.tsx

View workflow job for this annotation

GitHub Actions / PR

Avoid non-native interactive elements. If using native HTML is not possible, add an appropriate role and support for tabbing, mouse, keyboard, and touch inputs to an interactive content element

Check failure on line 337 in src/components/DocFeedbackNote.tsx

View workflow job for this annotation

GitHub Actions / PR

Visible, non-interactive elements with click handlers must have at least one keyboard listener
className={twMerge(
`flex flex-col gap-1 p-2 ${colors.header}`,
note.isCollapsed &&
Expand Down Expand Up @@ -377,7 +376,7 @@
title={isImprovement ? 'Delete improvement' : 'Delete note'}
disabled={isDeleting || isSaving}
>
<FaTrash className="text-xs" />
<Trash className="text-xs" />
</button>
</>
)}
Expand All @@ -394,9 +393,9 @@
}
>
{note.isCollapsed ? (
<FaChevronDown className="text-xs" />
<ChevronDown className="text-xs" />
) : (
<FaChevronUp className="text-xs" />
<ChevronUp className="text-xs" />
)}
</button>
</div>
Expand Down Expand Up @@ -444,15 +443,15 @@
)}
disabled={isSaving}
>
<FaSave className="text-[10px]" />
<Save className="text-[10px]" />
{isSaving ? 'Saving...' : 'Save'}
</button>
<button
onClick={handleCancel}
className="px-3 py-1 text-xs font-medium text-gray-700 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white disabled:opacity-50"
disabled={isSaving}
>
<FaTimes className="inline text-[10px] mr-1" />
<X className="inline text-[10px] mr-1" />
Cancel
</button>
</div>
Expand Down
8 changes: 4 additions & 4 deletions src/components/DocFeedbackProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import * as React from 'react'
import * as ReactDOM from 'react-dom'
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
import { twMerge } from 'tailwind-merge'
import { FaComment, FaLightbulb } from 'react-icons/fa'
import { DocFeedbackNote } from './DocFeedbackNote'
import { DocFeedbackFloatingButton } from './DocFeedbackFloatingButton'
import { getDocFeedbackForPageQueryOptions } from '~/queries/docFeedback'
Expand All @@ -13,6 +12,7 @@ import {
getBlockIdentifier,
} from '~/utils/docFeedback.client'
import type { DocFeedback } from '~/db/schema'
import { Lightbulb, MessageSquare } from 'lucide-react'

interface DocFeedbackProviderProps {
children: React.ReactNode
Expand Down Expand Up @@ -536,21 +536,21 @@ function CreatingFeedbackNote({

// Theme based on type
const isImprovement = type === 'improvement'
const Icon = isImprovement ? FaLightbulb : FaComment
const Icon = isImprovement ? Lightbulb : MessageSquare

const colors = isImprovement
? {
bg: 'bg-yellow-50 dark:bg-yellow-900/20',
border: 'border-yellow-400 dark:border-yellow-600',
header: 'bg-yellow-100 dark:bg-yellow-900/30',
icon: 'text-yellow-600 dark:text-yellow-500',
icon: 'text-yellow-600 dark:text-yellow-500 text-[14px]',
text: 'text-yellow-800 dark:text-yellow-300',
}
: {
bg: 'bg-blue-50 dark:bg-blue-900/20',
border: 'border-blue-400 dark:border-blue-600',
header: 'bg-blue-100 dark:bg-blue-900/30',
icon: 'text-blue-600 dark:text-blue-500',
icon: 'text-blue-600 dark:text-blue-500 text-[14px]',
text: 'text-blue-800 dark:text-blue-300',
}

Expand Down
Loading
Loading