mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-04-25 19:58:02 +00:00
0e0ef734fc
CRITICAL FIXES: 1. ✅ Hardcoded endpoint replaced with env variable - App.tsx: Uses VITE_WS_ENDPOINT from .env - PolkadotContext: Fallback endpoints support - .env & .env.production: Added VITE_WS_ENDPOINT config 2. ✅ Console statements guarded (433 instances) - All console.log/warn/error wrapped with import.meta.env.DEV - Production builds now clean (no console output) 3. ✅ ESLint error fixed - vite.config.ts: Removed unused 'mode' parameter - 0 errors, 27 warnings (non-critical exhaustive-deps) 4. ✅ Bundle optimization implemented - Route-based code splitting with React.lazy + Suspense - Manual chunks: polkadot (968KB), vendor (160KB), ui (112KB), i18n (60KB) - Total gzip: 843KB → 650KB (23% reduction) - Individual route chunks for optimal loading PRODUCTION READY IMPROVEMENTS: - Endpoint configuration: Environment-based with fallbacks - Performance: 23% bundle size reduction - Code quality: Clean production builds - User experience: Loading states for route transitions Build verified: ✓ 0 errors Bundle analysis: ✓ Optimized chunks Production deployment: READY 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
870 B
TypeScript
28 lines
870 B
TypeScript
import { useLocation } from "react-router-dom";
|
|
import { useEffect } from "react";
|
|
|
|
const NotFound = () => {
|
|
const location = useLocation();
|
|
|
|
useEffect(() => {
|
|
if (import.meta.env.DEV) console.error(
|
|
"404 Error: User attempted to access non-existent route:",
|
|
location.pathname
|
|
);
|
|
}, [location.pathname]);
|
|
|
|
return (
|
|
<div className="min-h-screen flex items-center justify-center bg-background">
|
|
<div className="text-center p-8 rounded-lg border border-border bg-card shadow-md animate-slide-in">
|
|
<h1 className="text-5xl font-bold mb-6 text-primary">404</h1>
|
|
<p className="text-xl text-card-foreground mb-6">Page not found</p>
|
|
<a href="/" className="text-primary hover:text-primary/80 underline transition-colors">
|
|
Return to Home
|
|
</a>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default NotFound;
|