refactor: lint apps/components/shared files

This commit is contained in:
JamBalaya56562
2025-08-03 17:25:06 +09:00
parent 4259e2533e
commit 8be0db385a
7 changed files with 29 additions and 29 deletions
@@ -10,7 +10,7 @@ interface ChatwootWidgetProps {
launcherTitle?: string; launcherTitle?: string;
darkMode?: boolean; darkMode?: boolean;
hideMessageBubble?: boolean; hideMessageBubble?: boolean;
placement?: "right" | "left"; placement?: "left" | "right";
showPopoutButton?: boolean; showPopoutButton?: boolean;
widgetStyle?: "standard" | "bubble"; widgetStyle?: "standard" | "bubble";
}; };
@@ -41,7 +41,7 @@ export const ChatwootWidget = ({
position: "right", position: "right",
}; };
(window as any).chatwootSDKReady = () => { window.chatwootSDKReady = () => {
window.chatwootSDK?.run({ websiteToken, baseUrl }); window.chatwootSDK?.run({ websiteToken, baseUrl });
const trySetUser = () => { const trySetUser = () => {
@@ -63,7 +63,7 @@ export const ChatwootWidget = ({
<Script <Script
src={`${baseUrl}/packs/js/sdk.js`} src={`${baseUrl}/packs/js/sdk.js`}
strategy="lazyOnload" strategy="lazyOnload"
onLoad={() => (window as any).chatwootSDKReady?.()} onLoad={() => window.chatwootSDKReady?.()}
/> />
); );
}; };
@@ -1,11 +1,11 @@
import { AlertCircle, AlertTriangle, CheckCircle2, Info } from "lucide-react";
import { cn } from "@/lib/utils";
interface Props extends React.ComponentPropsWithoutRef<"div"> { interface Props extends React.ComponentPropsWithoutRef<"div"> {
icon?: React.ReactNode; icon?: React.ReactNode;
type?: "info" | "success" | "warning" | "error"; type?: "info" | "success" | "warning" | "error";
} }
import { cn } from "@/lib/utils";
import { AlertCircle, AlertTriangle, CheckCircle2, Info } from "lucide-react";
const iconMap = { const iconMap = {
info: { info: {
className: "bg-blue-50 dark:bg-blue-950 text-blue-600 dark:text-blue-400", className: "bg-blue-50 dark:bg-blue-950 text-blue-600 dark:text-blue-400",
@@ -1,3 +1,5 @@
import Link from "next/link";
import { Fragment } from "react";
import { import {
Breadcrumb, Breadcrumb,
BreadcrumbItem, BreadcrumbItem,
@@ -7,8 +9,6 @@ import {
} from "@/components/ui/breadcrumb"; } from "@/components/ui/breadcrumb";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import { SidebarTrigger } from "@/components/ui/sidebar"; import { SidebarTrigger } from "@/components/ui/sidebar";
import Link from "next/link";
import { Fragment } from "react";
interface Props { interface Props {
list: { list: {
@@ -26,7 +26,7 @@ export const BreadcrumbSidebar = ({ list }: Props) => {
<Separator orientation="vertical" className="mr-2 h-4" /> <Separator orientation="vertical" className="mr-2 h-4" />
<Breadcrumb> <Breadcrumb>
<BreadcrumbList> <BreadcrumbList>
{list.map((item, _index) => ( {list.map((item, index) => (
<Fragment key={item.name}> <Fragment key={item.name}>
<BreadcrumbItem className="block"> <BreadcrumbItem className="block">
<BreadcrumbLink href={item.href} asChild={!!item.href}> <BreadcrumbLink href={item.href} asChild={!!item.href}>
@@ -37,7 +37,7 @@ export const BreadcrumbSidebar = ({ list }: Props) => {
)} )}
</BreadcrumbLink> </BreadcrumbLink>
</BreadcrumbItem> </BreadcrumbItem>
{_index + 1 < list.length && ( {index + 1 < list.length && (
<BreadcrumbSeparator className="block" /> <BreadcrumbSeparator className="block" />
)} )}
</Fragment> </Fragment>
@@ -1,20 +1,19 @@
import { cn } from "@/lib/utils";
import { json } from "@codemirror/lang-json";
import { yaml } from "@codemirror/lang-yaml";
import { StreamLanguage } from "@codemirror/language";
import { import {
autocompletion,
type Completion, type Completion,
type CompletionContext, type CompletionContext,
type CompletionResult, type CompletionResult,
autocompletion,
} from "@codemirror/autocomplete"; } from "@codemirror/autocomplete";
import { json } from "@codemirror/lang-json";
import { yaml } from "@codemirror/lang-yaml";
import { StreamLanguage } from "@codemirror/language";
import { properties } from "@codemirror/legacy-modes/mode/properties"; import { properties } from "@codemirror/legacy-modes/mode/properties";
import { shell } from "@codemirror/legacy-modes/mode/shell"; import { shell } from "@codemirror/legacy-modes/mode/shell";
import { EditorView } from "@codemirror/view"; import { EditorView } from "@codemirror/view";
import { githubDark, githubLight } from "@uiw/codemirror-theme-github"; import { githubDark, githubLight } from "@uiw/codemirror-theme-github";
import CodeMirror, { type ReactCodeMirrorProps } from "@uiw/react-codemirror"; import CodeMirror, { type ReactCodeMirrorProps } from "@uiw/react-codemirror";
import { useTheme } from "next-themes"; import { useTheme } from "next-themes";
import { cn } from "@/lib/utils";
// Docker Compose completion options // Docker Compose completion options
const dockerComposeServices = [ const dockerComposeServices = [
@@ -101,9 +100,7 @@ function dockerComposeComplete(
context: CompletionContext, context: CompletionContext,
): CompletionResult | null { ): CompletionResult | null {
const word = context.matchBefore(/\w*/); const word = context.matchBefore(/\w*/);
if (!word) return null; if (!word || (!word.text && !context.explicit)) return null;
if (!word.text && !context.explicit) return null;
// Check if we're at the root level // Check if we're at the root level
const line = context.state.doc.lineAt(context.pos); const line = context.state.doc.lineAt(context.pos);
@@ -1,3 +1,4 @@
import { format, formatDistanceToNow } from "date-fns";
import { import {
Tooltip, Tooltip,
TooltipContent, TooltipContent,
@@ -5,7 +6,6 @@ import {
TooltipTrigger, TooltipTrigger,
} from "@/components/ui/tooltip"; } from "@/components/ui/tooltip";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { format, formatDistanceToNow } from "date-fns";
interface Props { interface Props {
date: string; date: string;
@@ -1,3 +1,5 @@
import { Loader2 } from "lucide-react";
import { useEffect, useRef, useState } from "react";
import { import {
Sheet, Sheet,
SheetContent, SheetContent,
@@ -5,8 +7,6 @@ import {
SheetHeader, SheetHeader,
SheetTitle, SheetTitle,
} from "@/components/ui/sheet"; } from "@/components/ui/sheet";
import { Loader2 } from "lucide-react";
import { useEffect, useRef, useState } from "react";
import { TerminalLine } from "../dashboard/docker/logs/terminal-line"; import { TerminalLine } from "../dashboard/docker/logs/terminal-line";
import type { LogLine } from "../dashboard/docker/logs/utils"; import type { LogLine } from "../dashboard/docker/logs/utils";
@@ -43,11 +43,11 @@ export const DrawerLogs = ({ isOpen, onClose, filteredLogs }: Props) => {
return ( return (
<Sheet <Sheet
open={!!isOpen} open={!!isOpen}
onOpenChange={(_open) => { onOpenChange={() => {
onClose(); onClose();
}} }}
> >
<SheetContent className="sm:max-w-[740px] flex flex-col"> <SheetContent className="sm:max-w-[740px] flex flex-col">
<SheetHeader> <SheetHeader>
<SheetTitle>Deployment Logs</SheetTitle> <SheetTitle>Deployment Logs</SheetTitle>
<SheetDescription>Details of the request log entry.</SheetDescription> <SheetDescription>Details of the request log entry.</SheetDescription>
@@ -13,10 +13,13 @@ export const ToggleVisibilityInput = ({ ...props }: InputProps) => {
setIsPasswordVisible((prevVisibility) => !prevVisibility); setIsPasswordVisible((prevVisibility) => !prevVisibility);
}; };
const inputType = isPasswordVisible ? "text" : "password";
return ( return (
<div className="flex w-full items-center space-x-2"> <div className="flex w-full items-center space-x-2">
<Input ref={inputRef} type={inputType} {...props} /> <Input
ref={inputRef}
type={isPasswordVisible ? "text" : "password"}
{...props}
/>
<Button <Button
variant={"secondary"} variant={"secondary"}
onClick={() => { onClick={() => {
@@ -27,10 +30,10 @@ export const ToggleVisibilityInput = ({ ...props }: InputProps) => {
<Clipboard className="size-4 text-muted-foreground" /> <Clipboard className="size-4 text-muted-foreground" />
</Button> </Button>
<Button onClick={togglePasswordVisibility} variant={"secondary"}> <Button onClick={togglePasswordVisibility} variant={"secondary"}>
{inputType === "password" ? ( {isPasswordVisible ? (
<EyeIcon className="size-4 text-muted-foreground" />
) : (
<EyeOffIcon className="size-4 text-muted-foreground" /> <EyeOffIcon className="size-4 text-muted-foreground" />
) : (
<EyeIcon className="size-4 text-muted-foreground" />
)} )}
</Button> </Button>
</div> </div>