mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-28 21:49:40 +02:00
chore: ran linting
This commit is contained in:
parent
9d071d686a
commit
bacda8cb08
4 changed files with 176 additions and 178 deletions
|
|
@ -190,9 +190,7 @@ export function SearchSpaceAvatar({
|
||||||
{avatarButton}
|
{avatarButton}
|
||||||
</div>
|
</div>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent className="w-48">
|
<DropdownMenuContent className="w-48">{menuItems}</DropdownMenuContent>
|
||||||
{menuItems}
|
|
||||||
</DropdownMenuContent>
|
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -594,15 +594,15 @@ export function InboxSidebar({
|
||||||
{/* Mobile: Button that opens bottom drawer */}
|
{/* Mobile: Button that opens bottom drawer */}
|
||||||
{isMobile ? (
|
{isMobile ? (
|
||||||
<>
|
<>
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 rounded-full"
|
className="h-8 w-8 rounded-full"
|
||||||
onClick={() => setFilterDrawerOpen(true)}
|
onClick={() => setFilterDrawerOpen(true)}
|
||||||
>
|
>
|
||||||
<ListFilter className="h-4 w-4 text-muted-foreground" />
|
<ListFilter className="h-4 w-4 text-muted-foreground" />
|
||||||
<span className="sr-only">{t("filter") || "Filter"}</span>
|
<span className="sr-only">{t("filter") || "Filter"}</span>
|
||||||
</Button>
|
</Button>
|
||||||
<Drawer
|
<Drawer
|
||||||
open={filterDrawerOpen}
|
open={filterDrawerOpen}
|
||||||
onOpenChange={setFilterDrawerOpen}
|
onOpenChange={setFilterDrawerOpen}
|
||||||
|
|
@ -806,36 +806,36 @@ export function InboxSidebar({
|
||||||
</DropdownMenuContent>
|
</DropdownMenuContent>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
)}
|
)}
|
||||||
{isMobile ? (
|
{isMobile ? (
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 rounded-full"
|
className="h-8 w-8 rounded-full"
|
||||||
onClick={handleMarkAllAsRead}
|
onClick={handleMarkAllAsRead}
|
||||||
disabled={totalUnreadCount === 0}
|
disabled={totalUnreadCount === 0}
|
||||||
>
|
>
|
||||||
<CheckCheck className="h-4 w-4 text-muted-foreground" />
|
<CheckCheck className="h-4 w-4 text-muted-foreground" />
|
||||||
<span className="sr-only">{t("mark_all_read") || "Mark all as read"}</span>
|
<span className="sr-only">{t("mark_all_read") || "Mark all as read"}</span>
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 rounded-full"
|
className="h-8 w-8 rounded-full"
|
||||||
onClick={handleMarkAllAsRead}
|
onClick={handleMarkAllAsRead}
|
||||||
disabled={totalUnreadCount === 0}
|
disabled={totalUnreadCount === 0}
|
||||||
>
|
>
|
||||||
<CheckCheck className="h-4 w-4 text-muted-foreground" />
|
<CheckCheck className="h-4 w-4 text-muted-foreground" />
|
||||||
<span className="sr-only">{t("mark_all_read") || "Mark all as read"}</span>
|
<span className="sr-only">{t("mark_all_read") || "Mark all as read"}</span>
|
||||||
</Button>
|
</Button>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent className="z-80">
|
<TooltipContent className="z-80">
|
||||||
{t("mark_all_read") || "Mark all as read"}
|
{t("mark_all_read") || "Mark all as read"}
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)}
|
)}
|
||||||
{/* Dock/Undock button - desktop only */}
|
{/* Dock/Undock button - desktop only */}
|
||||||
{!isMobile && onDockedChange && (
|
{!isMobile && onDockedChange && (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
|
|
@ -984,61 +984,61 @@ export function InboxSidebar({
|
||||||
isMarkingAsRead && "opacity-50 pointer-events-none"
|
isMarkingAsRead && "opacity-50 pointer-events-none"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{isMobile ? (
|
{isMobile ? (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => handleItemClick(item)}
|
onClick={() => handleItemClick(item)}
|
||||||
disabled={isMarkingAsRead}
|
disabled={isMarkingAsRead}
|
||||||
className="flex items-center gap-3 flex-1 min-w-0 text-left overflow-hidden"
|
className="flex items-center gap-3 flex-1 min-w-0 text-left overflow-hidden"
|
||||||
>
|
>
|
||||||
<div className="shrink-0">{getStatusIcon(item)}</div>
|
<div className="shrink-0">{getStatusIcon(item)}</div>
|
||||||
<div className="flex-1 min-w-0 overflow-hidden">
|
<div className="flex-1 min-w-0 overflow-hidden">
|
||||||
<p
|
<p
|
||||||
className={cn(
|
className={cn(
|
||||||
"text-xs font-medium line-clamp-2",
|
"text-xs font-medium line-clamp-2",
|
||||||
!item.read && "font-semibold"
|
!item.read && "font-semibold"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{item.title}
|
{item.title}
|
||||||
</p>
|
</p>
|
||||||
<p className="text-[11px] text-muted-foreground line-clamp-2 mt-0.5">
|
<p className="text-[11px] text-muted-foreground line-clamp-2 mt-0.5">
|
||||||
{convertRenderedToDisplay(item.message)}
|
{convertRenderedToDisplay(item.message)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
) : (
|
) : (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => handleItemClick(item)}
|
onClick={() => handleItemClick(item)}
|
||||||
disabled={isMarkingAsRead}
|
disabled={isMarkingAsRead}
|
||||||
className="flex items-center gap-3 flex-1 min-w-0 text-left overflow-hidden"
|
className="flex items-center gap-3 flex-1 min-w-0 text-left overflow-hidden"
|
||||||
>
|
>
|
||||||
<div className="shrink-0">{getStatusIcon(item)}</div>
|
<div className="shrink-0">{getStatusIcon(item)}</div>
|
||||||
<div className="flex-1 min-w-0 overflow-hidden">
|
<div className="flex-1 min-w-0 overflow-hidden">
|
||||||
<p
|
<p
|
||||||
className={cn(
|
className={cn(
|
||||||
"text-xs font-medium line-clamp-2",
|
"text-xs font-medium line-clamp-2",
|
||||||
!item.read && "font-semibold"
|
!item.read && "font-semibold"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{item.title}
|
{item.title}
|
||||||
</p>
|
</p>
|
||||||
<p className="text-[11px] text-muted-foreground line-clamp-2 mt-0.5">
|
<p className="text-[11px] text-muted-foreground line-clamp-2 mt-0.5">
|
||||||
{convertRenderedToDisplay(item.message)}
|
{convertRenderedToDisplay(item.message)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent side="bottom" align="start" className="max-w-[250px]">
|
<TooltipContent side="bottom" align="start" className="max-w-[250px]">
|
||||||
<p className="font-medium">{item.title}</p>
|
<p className="font-medium">{item.title}</p>
|
||||||
<p className="text-muted-foreground mt-1">
|
<p className="text-muted-foreground mt-1">
|
||||||
{convertRenderedToDisplay(item.message)}
|
{convertRenderedToDisplay(item.message)}
|
||||||
</p>
|
</p>
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Time and unread dot - fixed width to prevent content shift */}
|
{/* Time and unread dot - fixed width to prevent content shift */}
|
||||||
<div className="flex items-center justify-end gap-1.5 shrink-0 w-10">
|
<div className="flex items-center justify-end gap-1.5 shrink-0 w-10">
|
||||||
|
|
|
||||||
|
|
@ -101,21 +101,21 @@ export function Sidebar({
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex h-14 shrink-0 items-center gap-0 px-1 border-b">
|
<div className="flex h-14 shrink-0 items-center gap-0 px-1 border-b">
|
||||||
<SidebarHeader
|
<SidebarHeader
|
||||||
searchSpace={searchSpace}
|
searchSpace={searchSpace}
|
||||||
isCollapsed={isCollapsed}
|
|
||||||
onSettings={onSettings}
|
|
||||||
onManageMembers={onManageMembers}
|
|
||||||
/>
|
|
||||||
<div className="shrink-0">
|
|
||||||
<SidebarCollapseButton
|
|
||||||
isCollapsed={isCollapsed}
|
isCollapsed={isCollapsed}
|
||||||
onToggle={onToggleCollapse ?? (() => {})}
|
onSettings={onSettings}
|
||||||
disableTooltip={disableTooltips}
|
onManageMembers={onManageMembers}
|
||||||
/>
|
/>
|
||||||
|
<div className="shrink-0">
|
||||||
|
<SidebarCollapseButton
|
||||||
|
isCollapsed={isCollapsed}
|
||||||
|
onToggle={onToggleCollapse ?? (() => {})}
|
||||||
|
disableTooltip={disableTooltips}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* New chat button */}
|
{/* New chat button */}
|
||||||
|
|
@ -149,38 +149,38 @@ export function Sidebar({
|
||||||
defaultOpen={true}
|
defaultOpen={true}
|
||||||
fillHeight={false}
|
fillHeight={false}
|
||||||
className="shrink-0 max-h-[50%] flex flex-col"
|
className="shrink-0 max-h-[50%] flex flex-col"
|
||||||
action={
|
action={
|
||||||
onViewAllSharedChats ? (
|
onViewAllSharedChats ? (
|
||||||
disableTooltips ? (
|
disableTooltips ? (
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
||||||
onClick={onViewAllSharedChats}
|
onClick={onViewAllSharedChats}
|
||||||
>
|
>
|
||||||
<FolderOpen className="h-4 w-4" />
|
<FolderOpen className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
||||||
onClick={onViewAllSharedChats}
|
onClick={onViewAllSharedChats}
|
||||||
>
|
>
|
||||||
<FolderOpen className="h-4 w-4" />
|
<FolderOpen className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent side="top">
|
<TooltipContent side="top">
|
||||||
{t("view_all_shared_chats") || "View all shared chats"}
|
{t("view_all_shared_chats") || "View all shared chats"}
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)
|
)
|
||||||
) : undefined
|
) : undefined
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{isLoadingChats ? (
|
{isLoadingChats ? (
|
||||||
<div className="flex flex-col gap-0.5">
|
<div className="flex flex-col gap-0.5">
|
||||||
<ChatListItemSkeleton />
|
<ChatListItemSkeleton />
|
||||||
<ChatListItemSkeleton />
|
<ChatListItemSkeleton />
|
||||||
|
|
@ -221,36 +221,36 @@ export function Sidebar({
|
||||||
title={t("chats")}
|
title={t("chats")}
|
||||||
defaultOpen={true}
|
defaultOpen={true}
|
||||||
fillHeight={true}
|
fillHeight={true}
|
||||||
action={
|
action={
|
||||||
onViewAllPrivateChats ? (
|
onViewAllPrivateChats ? (
|
||||||
disableTooltips ? (
|
disableTooltips ? (
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
||||||
onClick={onViewAllPrivateChats}
|
onClick={onViewAllPrivateChats}
|
||||||
>
|
>
|
||||||
<FolderOpen className="h-4 w-4" />
|
<FolderOpen className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon"
|
size="icon"
|
||||||
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
className="h-8 w-8 shrink-0 hover:bg-transparent hover:text-current focus-visible:ring-0"
|
||||||
onClick={onViewAllPrivateChats}
|
onClick={onViewAllPrivateChats}
|
||||||
>
|
>
|
||||||
<FolderOpen className="h-4 w-4" />
|
<FolderOpen className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent side="top">
|
<TooltipContent side="top">
|
||||||
{t("view_all_private_chats") || "View all private chats"}
|
{t("view_all_private_chats") || "View all private chats"}
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)
|
)
|
||||||
) : undefined
|
) : undefined
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{isLoadingChats ? (
|
{isLoadingChats ? (
|
||||||
<div className="flex flex-col gap-0.5">
|
<div className="flex flex-col gap-0.5">
|
||||||
|
|
|
||||||
|
|
@ -11,15 +11,17 @@ interface SidebarCollapseButtonProps {
|
||||||
disableTooltip?: boolean;
|
disableTooltip?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function SidebarCollapseButton({ isCollapsed, onToggle, disableTooltip = false }: SidebarCollapseButtonProps) {
|
export function SidebarCollapseButton({
|
||||||
|
isCollapsed,
|
||||||
|
onToggle,
|
||||||
|
disableTooltip = false,
|
||||||
|
}: SidebarCollapseButtonProps) {
|
||||||
const t = useTranslations("sidebar");
|
const t = useTranslations("sidebar");
|
||||||
|
|
||||||
const button = (
|
const button = (
|
||||||
<Button variant="ghost" size="icon" onClick={onToggle} className="h-8 w-8 shrink-0">
|
<Button variant="ghost" size="icon" onClick={onToggle} className="h-8 w-8 shrink-0">
|
||||||
{isCollapsed ? <PanelLeft className="h-4 w-4" /> : <PanelLeftClose className="h-4 w-4" />}
|
{isCollapsed ? <PanelLeft className="h-4 w-4" /> : <PanelLeftClose className="h-4 w-4" />}
|
||||||
<span className="sr-only">
|
<span className="sr-only">{isCollapsed ? t("expand_sidebar") : t("collapse_sidebar")}</span>
|
||||||
{isCollapsed ? t("expand_sidebar") : t("collapse_sidebar")}
|
|
||||||
</span>
|
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -29,9 +31,7 @@ export function SidebarCollapseButton({ isCollapsed, onToggle, disableTooltip =
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>{button}</TooltipTrigger>
|
||||||
{button}
|
|
||||||
</TooltipTrigger>
|
|
||||||
<TooltipContent side={isCollapsed ? "right" : "bottom"}>
|
<TooltipContent side={isCollapsed ? "right" : "bottom"}>
|
||||||
{isCollapsed ? `${t("expand_sidebar")} (⌘B)` : `${t("collapse_sidebar")} (⌘B)`}
|
{isCollapsed ? `${t("expand_sidebar")} (⌘B)` : `${t("collapse_sidebar")} (⌘B)`}
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue