fix: use dynamic imports for views to prevent hydration errors and client-side exceptions

This commit is contained in:
Gemini AI
2025-12-29 14:21:29 +04:00
Unverified
parent 0d627e3fc7
commit f8be02a144
2 changed files with 13 additions and 11 deletions

View File

@@ -3,18 +3,21 @@
import { useState, useEffect } from "react";
import Sidebar from "@/components/Sidebar";
import type { View } from "@/components/Sidebar";
import PromptEnhancer from "@/components/PromptEnhancer";
import PRDGenerator from "@/components/PRDGenerator";
import ActionPlanGenerator from "@/components/ActionPlanGenerator";
import UXDesignerPrompt from "@/components/UXDesignerPrompt";
import SlidesGenerator from "@/components/SlidesGenerator";
import GoogleAdsGenerator from "@/components/GoogleAdsGenerator";
import MarketResearcher from "@/components/MarketResearcher";
import AIAssist from "@/components/AIAssist";
import HistoryPanel from "@/components/HistoryPanel";
import SettingsPanel from "@/components/SettingsPanel";
import dynamic from 'next/dynamic';
import modelAdapter from "@/lib/services/adapter-instance";
// Dynamic imports to prevent hydration mismatches
const PromptEnhancer = dynamic(() => import("@/components/PromptEnhancer"), { ssr: false });
const PRDGenerator = dynamic(() => import("@/components/PRDGenerator"), { ssr: false });
const ActionPlanGenerator = dynamic(() => import("@/components/ActionPlanGenerator"), { ssr: false });
const UXDesignerPrompt = dynamic(() => import("@/components/UXDesignerPrompt"), { ssr: false });
const SlidesGenerator = dynamic(() => import("@/components/SlidesGenerator"), { ssr: false });
const GoogleAdsGenerator = dynamic(() => import("@/components/GoogleAdsGenerator"), { ssr: false });
const MarketResearcher = dynamic(() => import("@/components/MarketResearcher"), { ssr: false });
const AIAssist = dynamic(() => import("@/components/AIAssist"), { ssr: false });
const HistoryPanel = dynamic(() => import("@/components/HistoryPanel"), { ssr: false });
const SettingsPanel = dynamic(() => import("@/components/SettingsPanel"), { ssr: false });
export default function Home() {
const [currentView, setCurrentView] = useState<View>("enhance");

View File

@@ -2,7 +2,6 @@
const nextConfig = {
reactStrictMode: true,
basePath: '/tools/promptarch',
assetPrefix: '/tools/promptarch',
trailingSlash: true,
};