refactor: full codebase cleanup, dependency updates, and lint fixes

Phase 0: Remove ~920 lines of dead code (ThemeBentoPicker, PromoDiscountBadge,
AdminLayout, SettingsSidebar, MovingGradient, EmptyState, miniapp API, unused
types/functions/transitions/skeleton helpers). Fix API barrel file (add 20 missing exports).

Phase 1: Add ErrorBoundary (app/page/widget levels), centralize constants,
add axios timeout, fix staleTime:0 in React Query.

Phase 2: Consolidate hexToHsl, extract email validation, fix duplicate code.

Phase 3: Fix auth race condition (await checkAdminStatus), memoize useCurrency,
add WebSocket message validation.

Phase 4: Extract useBranding, useFeatureFlags, useScrollRestoration from AppShell.

Phase 5: Remove all eslint-disable react-hooks/exhaustive-deps (14 total),
simplify logger, remove deprecated hooks (useBackButton, useTelegramDnd,
useTelegramWebApp).

Dependencies: React 19, react-router 7, zustand 5, i18next 25, react-i18next 16,
eslint-plugin-react-refresh 0.5. Remove unused @lottiefiles/dotlottie-react.
Convert vite manualChunks to function-based approach for react-router v7 compat.

Lint: Fix logger.ts no-unused-expressions, fix react-refresh/only-export-components
in 6 Radix primitive files (const re-exports → direct re-exports), fix
WebSocketProvider exhaustive-deps. Result: 0 errors, 0 warnings.

Add CLAUDE.md to .gitignore.
This commit is contained in:
c0mrade
2026-02-06 01:35:12 +03:00
parent c5cad20a6f
commit 562ab7abf7
118 changed files with 1243 additions and 2746 deletions

View File

@@ -1,53 +0,0 @@
interface UseBackButtonOptions {
/**
* Whether the back button should be visible
* @default true
*/
visible?: boolean;
}
/**
* Hook to manage the Telegram BackButton
*
* NOTE: This hook is now a no-op for backward compatibility.
* The Telegram Navigator (@telegram-apps/react-router-integration) handles
* BackButton visibility and navigation automatically based on router history.
*
* The navigator:
* - Shows BackButton when there's navigation history
* - Hides BackButton on root page
* - Handles back button clicks automatically
*
* @param onBack - (Ignored) Callback when back button is pressed
* @param options - (Ignored) Configuration options
*
* @example
* ```tsx
* function MyPage() {
* const navigate = useNavigate();
* useBackButton(() => navigate('/admin')); // No-op: navigator handles this
* // ...
* }
* ```
*/
export function useBackButton(
_onBack: (() => void) | null | undefined,
_options: UseBackButtonOptions = {},
): void {
// No-op: Navigator handles BackButton automatically
return;
}
/**
* Hook to conditionally show back button based on navigation depth
*
* NOTE: This hook is now a no-op for backward compatibility.
* The navigator handles conditional visibility automatically.
*
* @param canGoBack - (Ignored) Whether navigation back is possible
* @param onBack - (Ignored) Callback when back button is pressed
*/
export function useConditionalBackButton(_canGoBack: boolean, _onBack: () => void): void {
// No-op: Navigator handles BackButton automatically
return;
}