fix: Resolve all ESLint errors and warnings in web package
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Fixes all 542 ESLint problems in the web package to achieve 0 errors and 0 warnings. Changes: - Fixed 144 issues: nullish coalescing, return types, unused variables - Fixed 118 issues: unnecessary conditions, type safety, template literals - Fixed 79 issues: non-null assertions, unsafe assignments, empty functions - Fixed 67 issues: explicit return types, promise handling, enum comparisons - Fixed 45 final warnings: missing return types, optional chains - Fixed 25 typecheck-related issues: async/await, type assertions, formatting - Fixed JSX.Element namespace errors across 90+ files All Quality Rails violations resolved. Lint and typecheck both pass with 0 problems. Files modified: 118 components, tests, hooks, and utilities Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
|
||||
import { Button } from "@mosaic/ui";
|
||||
|
||||
const API_URL = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3001";
|
||||
const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:3001";
|
||||
|
||||
export function LoginButton() {
|
||||
const handleLogin = () => {
|
||||
export function LoginButton(): React.JSX.Element {
|
||||
const handleLogin = (): void => {
|
||||
// Redirect to the backend OIDC authentication endpoint
|
||||
// BetterAuth will handle the OIDC flow and redirect back to the callback
|
||||
window.location.assign(`${API_URL}/auth/callback/authentik`);
|
||||
|
||||
@@ -6,7 +6,7 @@ import { LogoutButton } from "./LogoutButton";
|
||||
// Mock next/navigation
|
||||
const mockPush = vi.fn();
|
||||
vi.mock("next/navigation", () => ({
|
||||
useRouter: () => ({
|
||||
useRouter: (): { push: typeof mockPush } => ({
|
||||
push: mockPush,
|
||||
}),
|
||||
}));
|
||||
@@ -14,7 +14,7 @@ vi.mock("next/navigation", () => ({
|
||||
// Mock auth context
|
||||
const mockSignOut = vi.fn();
|
||||
vi.mock("@/lib/auth/auth-context", () => ({
|
||||
useAuth: () => ({
|
||||
useAuth: (): { signOut: typeof mockSignOut } => ({
|
||||
signOut: mockSignOut,
|
||||
}),
|
||||
}));
|
||||
@@ -51,7 +51,9 @@ describe("LogoutButton", (): void => {
|
||||
mockSignOut.mockRejectedValue(new Error("Sign out failed"));
|
||||
|
||||
// Suppress console.error for this test
|
||||
const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
|
||||
const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => {
|
||||
// Intentionally empty - suppressing error output
|
||||
});
|
||||
|
||||
render(<LogoutButton />);
|
||||
|
||||
|
||||
@@ -9,11 +9,14 @@ interface LogoutButtonProps {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export function LogoutButton({ variant = "secondary", className }: LogoutButtonProps) {
|
||||
export function LogoutButton({
|
||||
variant = "secondary",
|
||||
className,
|
||||
}: LogoutButtonProps): React.JSX.Element {
|
||||
const router = useRouter();
|
||||
const { signOut } = useAuth();
|
||||
|
||||
const handleSignOut = async () => {
|
||||
const handleSignOut = async (): Promise<void> => {
|
||||
try {
|
||||
await signOut();
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user