Replace UI components to fix critical production errors

Refactor `BLReconciliation.tsx` and multiple Shadcn/ui components by replacing them with custom, robust alternatives to resolve React #310 errors in production.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/rmaxwaw
This commit is contained in:
michaelschal committed 2025-08-12 11:05:49 +00:00
1 parent 553c07a2cb
commit c0e1b26599
80 files changed
+5691 -377

No files matched your search

+33 -33
View File
@@ -1,4 +1,4 @@
import * as React from "react"
import React, { forwardRef, useState, useEffect, useContext, useCallback, useMemo, createContext } from "react"
import { Slot } from "@radix-ui/react-slot"
import { VariantProps, cva } from "class-variance-authority"
import { PanelLeft } from "lucide-react"
@@ -40,10 +40,10 @@ type SidebarContextProps = {
toggleSidebar: () => void
}
const SidebarContext = React.createContext<SidebarContextProps | null>(null)
const SidebarContext = createContext<SidebarContextProps | null>(null)
function useSidebar() {
const context = React.useContext(SidebarContext)
const context = useContext(SidebarContext)
if (!context) {
throw new Error("useSidebar must be used within a SidebarProvider.")
}
@@ -51,7 +51,7 @@ function useSidebar() {
return context
}
const SidebarProvider = React.forwardRef<
const SidebarProvider = forwardRef<
HTMLDivElement,
React.ComponentProps<"div"> & {
defaultOpen?: boolean
@@ -72,13 +72,13 @@ const SidebarProvider = React.forwardRef<
ref
) => {
const isMobile = useIsMobile()
const [openMobile, setOpenMobile] = React.useState(false)
const [openMobile, setOpenMobile] = useState(false)
// This is the internal state of the sidebar.
// We use openProp and setOpenProp for control from outside the component.
const [_open, _setOpen] = React.useState(defaultOpen)
const [_open, _setOpen] = useState(defaultOpen)
const open = openProp ?? _open
const setOpen = React.useCallback(
const setOpen = useCallback(
(value: boolean | ((value: boolean) => boolean)) => {
const openState = typeof value === "function" ? value(open) : value
if (setOpenProp) {
@@ -94,14 +94,14 @@ const SidebarProvider = React.forwardRef<
)
// Helper to toggle the sidebar.
const toggleSidebar = React.useCallback(() => {
const toggleSidebar = useCallback(() => {
return isMobile
? setOpenMobile((open) => !open)
: setOpen((open) => !open)
}, [isMobile, setOpen, setOpenMobile])
// Adds a keyboard shortcut to toggle the sidebar.
React.useEffect(() => {
useEffect(() => {
const handleKeyDown = (event: KeyboardEvent) => {
if (
event.key === SIDEBAR_KEYBOARD_SHORTCUT &&
@@ -120,7 +120,7 @@ const SidebarProvider = React.forwardRef<
// This makes it easier to style the sidebar with Tailwind classes.
const state = open ? "expanded" : "collapsed"
const contextValue = React.useMemo<SidebarContextProps>(
const contextValue = useMemo<SidebarContextProps>(
() => ({
state,
open,
@@ -160,7 +160,7 @@ const SidebarProvider = React.forwardRef<
)
SidebarProvider.displayName = "SidebarProvider"
const Sidebar = React.forwardRef<
const Sidebar = forwardRef<
HTMLDivElement,
React.ComponentProps<"div"> & {
side?: "left" | "right"
@@ -267,7 +267,7 @@ const Sidebar = React.forwardRef<
)
Sidebar.displayName = "Sidebar"
const SidebarTrigger = React.forwardRef<
const SidebarTrigger = forwardRef<
React.ElementRef<typeof Button>,
React.ComponentProps<typeof Button>
>(({ className, onClick, ...props }, ref) => {
@@ -293,7 +293,7 @@ const SidebarTrigger = React.forwardRef<
})
SidebarTrigger.displayName = "SidebarTrigger"
const SidebarRail = React.forwardRef<
const SidebarRail = forwardRef<
HTMLButtonElement,
React.ComponentProps<"button">
>(({ className, ...props }, ref) => {
@@ -322,7 +322,7 @@ const SidebarRail = React.forwardRef<
})
SidebarRail.displayName = "SidebarRail"
const SidebarInset = React.forwardRef<
const SidebarInset = forwardRef<
HTMLDivElement,
React.ComponentProps<"main">
>(({ className, ...props }, ref) => {
@@ -340,7 +340,7 @@ const SidebarInset = React.forwardRef<
})
SidebarInset.displayName = "SidebarInset"
const SidebarInput = React.forwardRef<
const SidebarInput = forwardRef<
React.ElementRef<typeof Input>,
React.ComponentProps<typeof Input>
>(({ className, ...props }, ref) => {
@@ -358,7 +358,7 @@ const SidebarInput = React.forwardRef<
})
SidebarInput.displayName = "SidebarInput"
const SidebarHeader = React.forwardRef<
const SidebarHeader = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => {
@@ -373,7 +373,7 @@ const SidebarHeader = React.forwardRef<
})
SidebarHeader.displayName = "SidebarHeader"
const SidebarFooter = React.forwardRef<
const SidebarFooter = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => {
@@ -388,7 +388,7 @@ const SidebarFooter = React.forwardRef<
})
SidebarFooter.displayName = "SidebarFooter"
const SidebarSeparator = React.forwardRef<
const SidebarSeparator = forwardRef<
React.ElementRef<typeof Separator>,
React.ComponentProps<typeof Separator>
>(({ className, ...props }, ref) => {
@@ -403,7 +403,7 @@ const SidebarSeparator = React.forwardRef<
})
SidebarSeparator.displayName = "SidebarSeparator"
const SidebarContent = React.forwardRef<
const SidebarContent = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => {
@@ -421,7 +421,7 @@ const SidebarContent = React.forwardRef<
})
SidebarContent.displayName = "SidebarContent"
const SidebarGroup = React.forwardRef<
const SidebarGroup = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => {
@@ -436,7 +436,7 @@ const SidebarGroup = React.forwardRef<
})
SidebarGroup.displayName = "SidebarGroup"
const SidebarGroupLabel = React.forwardRef<
const SidebarGroupLabel = forwardRef<
HTMLDivElement,
React.ComponentProps<"div"> & { asChild?: boolean }
>(({ className, asChild = false, ...props }, ref) => {
@@ -457,7 +457,7 @@ const SidebarGroupLabel = React.forwardRef<
})
SidebarGroupLabel.displayName = "SidebarGroupLabel"
const SidebarGroupAction = React.forwardRef<
const SidebarGroupAction = forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> & { asChild?: boolean }
>(({ className, asChild = false, ...props }, ref) => {
@@ -480,7 +480,7 @@ const SidebarGroupAction = React.forwardRef<
})
SidebarGroupAction.displayName = "SidebarGroupAction"
const SidebarGroupContent = React.forwardRef<
const SidebarGroupContent = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => (
@@ -493,7 +493,7 @@ const SidebarGroupContent = React.forwardRef<
))
SidebarGroupContent.displayName = "SidebarGroupContent"
const SidebarMenu = React.forwardRef<
const SidebarMenu = forwardRef<
HTMLUListElement,
React.ComponentProps<"ul">
>(({ className, ...props }, ref) => (
@@ -506,7 +506,7 @@ const SidebarMenu = React.forwardRef<
))
SidebarMenu.displayName = "SidebarMenu"
const SidebarMenuItem = React.forwardRef<
const SidebarMenuItem = forwardRef<
HTMLLIElement,
React.ComponentProps<"li">
>(({ className, ...props }, ref) => (
@@ -541,7 +541,7 @@ const sidebarMenuButtonVariants = cva(
}
)
const SidebarMenuButton = React.forwardRef<
const SidebarMenuButton = forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> & {
asChild?: boolean
@@ -600,7 +600,7 @@ const SidebarMenuButton = React.forwardRef<
)
SidebarMenuButton.displayName = "SidebarMenuButton"
const SidebarMenuAction = React.forwardRef<
const SidebarMenuAction = forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> & {
asChild?: boolean
@@ -631,7 +631,7 @@ const SidebarMenuAction = React.forwardRef<
})
SidebarMenuAction.displayName = "SidebarMenuAction"
const SidebarMenuBadge = React.forwardRef<
const SidebarMenuBadge = forwardRef<
HTMLDivElement,
React.ComponentProps<"div">
>(({ className, ...props }, ref) => (
@@ -652,14 +652,14 @@ const SidebarMenuBadge = React.forwardRef<
))
SidebarMenuBadge.displayName = "SidebarMenuBadge"
const SidebarMenuSkeleton = React.forwardRef<
const SidebarMenuSkeleton = forwardRef<
HTMLDivElement,
React.ComponentProps<"div"> & {
showIcon?: boolean
}
>(({ className, showIcon = false, ...props }, ref) => {
// Random width between 50 to 90%.
const width = React.useMemo(() => {
const width = useMemo(() => {
return `${Math.floor(Math.random() * 40) + 50}%`
}, [])
@@ -690,7 +690,7 @@ const SidebarMenuSkeleton = React.forwardRef<
})
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton"
const SidebarMenuSub = React.forwardRef<
const SidebarMenuSub = forwardRef<
HTMLUListElement,
React.ComponentProps<"ul">
>(({ className, ...props }, ref) => (
@@ -707,13 +707,13 @@ const SidebarMenuSub = React.forwardRef<
))
SidebarMenuSub.displayName = "SidebarMenuSub"
const SidebarMenuSubItem = React.forwardRef<
const SidebarMenuSubItem = forwardRef<
HTMLLIElement,
React.ComponentProps<"li">
>(({ ...props }, ref) => <li ref={ref} {...props} />)
SidebarMenuSubItem.displayName = "SidebarMenuSubItem"
const SidebarMenuSubButton = React.forwardRef<
const SidebarMenuSubButton = forwardRef<
HTMLAnchorElement,
React.ComponentProps<"a"> & {
asChild?: boolean