From a40f0faa046f48a005927ccce79aa815c047cd76 Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期三, 09 四月 2025 14:02:28 +0800 Subject: [PATCH] AI场景详情对话框优化 --- src/components/SceneIntroDialog.tsx | 78 ++++++++++++++++++++------------------- 1 files changed, 40 insertions(+), 38 deletions(-) diff --git a/src/components/SceneIntroDialog.tsx b/src/components/SceneIntroDialog.tsx index b4720d2..05f80c6 100644 --- a/src/components/SceneIntroDialog.tsx +++ b/src/components/SceneIntroDialog.tsx @@ -118,12 +118,44 @@ </Dialog.Title> <button onClick={onClose} - className="text-gray-300 hover:text-white transition-colors" + className="group relative p-2 rounded-full hover:bg-white/5 transition-colors duration-300 cursor-pointer" > - <svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg + xmlns="http://www.w3.org/2000/svg" + className="h-6 w-6 text-gray-400 group-hover:text-[#6ADBFF] transition-colors duration-300" + fill="none" + viewBox="0 0 24 24" + stroke="currentColor" + > <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" /> </svg> </button> + </div> + + <motion.div + className="mb-6 flex justify-center" + initial={{ opacity: 0, y: 20 }} + animate={{ opacity: 1, y: 0 }} + transition={{ duration: 0.5, delay: 0.3 }} + > + <button + onClick={onStartChat} + className="group relative w-64 cursor-pointer" + > + <div className="absolute -inset-0.5 rounded-lg bg-gradient-to-r from-[#6ADBFF] to-[#5E72EB] opacity-60 blur group-hover:opacity-100 transition-all duration-300"></div> + <div className="relative px-6 py-3 rounded-lg bg-[#131C41] text-white group-hover:text-[#6ADBFF] transition-colors duration-300 flex items-center justify-center gap-2"> + <span className="text-lg">寮�濮嬩娇鐢�</span> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 transform group-hover:translate-x-1 transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 7l5 5m0 0l-5 5m5-5H6" /> + </svg> + </div> + </button> + </motion.div> + + <div className="relative mb-8 flex items-center"> + <div className="flex-grow h-[1px] bg-gradient-to-r from-transparent via-[#6ADBFF]/30 to-transparent"></div> + <span className="mx-4 text-sm text-gray-400">鍦烘櫙淇℃伅</span> + <div className="flex-grow h-[1px] bg-gradient-to-r from-[#6ADBFF]/30 via-[#6ADBFF]/30 to-transparent"></div> </div> <div className="space-y-6"> @@ -178,51 +210,21 @@ </p> </motion.div> - {/* 鏁版嵁璇存槑 */} + {/* 鏁版嵁璇存槑 - 娣诲姞鎮诞鍔ㄧ敾鏁堟灉 */} <motion.div - className="bg-[#1A2547] rounded-lg p-6" + className="bg-[#1A2547] rounded-lg p-6 transform transition-all duration-300 hover:scale-[1.02] hover:shadow-[0_0_20px_rgba(106,219,255,0.15)] relative group" initial={{ opacity: 0, x: -20 }} animate={{ opacity: 1, x: 0 }} transition={{ duration: 0.5, delay: 0.6 }} > - <h3 className="text-lg font-semibold text-[#6ADBFF] mb-4 flex items-center"> - <div className="w-1 h-4 bg-[#6ADBFF] mr-2"></div> + <div className="absolute inset-0 rounded-lg bg-gradient-to-r from-[#6ADBFF]/5 to-[#5E72EB]/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div> + <h3 className="text-lg font-semibold text-[#6ADBFF] mb-4 flex items-center relative"> + <div className="w-1 h-4 bg-[#6ADBFF] mr-2 group-hover:h-5 transition-all duration-300"></div> 鏁版嵁璇存槑 </h3> - <p className="text-gray-300 leading-relaxed"> + <p className="text-gray-300 leading-relaxed relative"> {scene.dataDescription || '鏈満鏅墍浣跨敤鐨勬暟鎹潎涓烘ā鎷熸暟鎹紝浠呯敤浜庢紨绀虹洰鐨勩�傚湪瀹為檯搴旂敤涓紝灏嗘牴鎹偍鐨勫叿浣撻渶姹備娇鐢ㄧ湡瀹炴暟鎹繘琛屽垎鏋愬拰澶勭悊銆�'} </p> - </motion.div> - - {/* 鎸夐挳缁� */} - <motion.div - className="sticky bottom-0 bg-gradient-to-br from-[#131C41] to-[#0A1033] pt-4" - initial={{ opacity: 0, y: 20 }} - animate={{ opacity: 1, y: 0 }} - transition={{ duration: 0.5, delay: 0.7 }} - > - <div className="flex justify-end gap-4"> - <button - onClick={onClose} - className="px-4 py-2 text-sm font-medium text-gray-300 hover:text-white transition-colors relative overflow-hidden group" - > - <span className="relative z-10">鍏抽棴</span> - <span className="absolute bottom-0 left-0 right-0 h-[1px] bg-gray-300/30 transform scale-x-0 group-hover:scale-x-100 transition-transform duration-300 origin-left"></span> - </button> - - <button - onClick={onStartChat} - className="group relative" - > - <div className="absolute -inset-0.5 rounded-lg bg-gradient-to-r from-[#6ADBFF] to-[#5E72EB] opacity-60 blur group-hover:opacity-100 transition-all duration-300"></div> - <div className="relative px-6 py-2 rounded-lg bg-[#131C41] text-white group-hover:text-[#6ADBFF] transition-colors duration-300 flex items-center gap-2"> - <span>寮�濮嬩娇鐢�</span> - <svg xmlns="http://www.w3.org/2000/svg" className="h-4 w-4 transform group-hover:translate-x-1 transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 7l5 5m0 0l-5 5m5-5H6" /> - </svg> - </div> - </button> - </div> </motion.div> </div> </div> -- Gitblit v1.9.3