зеркало из
				https://github.com/kodackx/disinformation-quest.git
				synced 2025-10-30 04:56:05 +02:00 
			
		
		
		
	edit footer with versio and github link
Этот коммит содержится в:
		
							родитель
							
								
									f94c8b0e1b
								
							
						
					
					
						Коммит
						0846f8141c
					
				| @ -1,9 +1,19 @@ | |||||||
| import { VERSION } from '../version'; | import { VERSION } from '../version'; | ||||||
|  | import { Github } from 'lucide-react'; | ||||||
| 
 | 
 | ||||||
| export const Footer = () => { | export const Footer = () => { | ||||||
|   return ( |   return ( | ||||||
|     <footer className="fixed bottom-0 left-0 right-0 p-2 text-center text-xs text-gray-500 bg-white/80"> |     <footer className="p-2 text-center text-xs text-gray-500 flex items-center justify-center gap-4"> | ||||||
|       <span>v{VERSION.current}</span> |       <span>v{VERSION.current}</span> | ||||||
|  |       <a  | ||||||
|  |         href="https://github.com/kodackx/disinformation-quest"  | ||||||
|  |         target="_blank"  | ||||||
|  |         rel="noopener noreferrer" | ||||||
|  |         className="flex items-center gap-1 hover:text-gray-400 transition-colors" | ||||||
|  |       > | ||||||
|  |         <Github size={12} /> | ||||||
|  |         <span>Source</span> | ||||||
|  |       </a> | ||||||
|     </footer> |     </footer> | ||||||
|   ); |   ); | ||||||
| };  | };  | ||||||
| @ -395,39 +395,42 @@ const Index = () => { | |||||||
|   return ( |   return ( | ||||||
|     <div className="relative min-h-screen overflow-hidden"> |     <div className="relative min-h-screen overflow-hidden"> | ||||||
|       <GameBackground /> |       <GameBackground /> | ||||||
|       <div className="relative min-h-screen bg-transparent p-4 flex items-center"> |       <div className="relative min-h-screen bg-transparent p-4 flex flex-col"> | ||||||
|         <div className="max-w-full md:max-w-4xl mx-auto w-full px-2 md:px-4"> |         <div className="flex-grow flex items-center"> | ||||||
|           <Card className="bg-black/50 text-white border-gray-700 transition-all duration-1000 animate-fade-in"> |           <div className="max-w-full md:max-w-4xl mx-auto w-full px-2 md:px-4"> | ||||||
|             <CardHeader className="p-3 md:p-6"> |             <Card className="bg-black/50 text-white border-gray-700 transition-all duration-1000 animate-fade-in"> | ||||||
|               <div className="flex flex-col gap-4"> |               <CardHeader className="p-3 md:p-6"> | ||||||
|                 <div className="flex justify-between items-center"> |                 <div className="flex flex-col gap-4"> | ||||||
|                   <BriefingAudio  |                   <div className="flex justify-between items-center"> | ||||||
|                     stage={currentStageData.title}  |                     <BriefingAudio  | ||||||
|                     audioRef={audioRef}  |                       stage={currentStageData.title}  | ||||||
|                     className="self-start" |                       audioRef={audioRef}  | ||||||
|                   /> |                       className="self-start" | ||||||
|                   {currentStage > 0 && <DossierPanel entries={dossierEntries} choices={previousChoices} />} |                     /> | ||||||
|  |                     {currentStage > 0 && <DossierPanel entries={dossierEntries} choices={previousChoices} />} | ||||||
|  |                   </div> | ||||||
|  |                   <CardTitle>{currentStageData.title}</CardTitle> | ||||||
|  |                   <CardDescription className="text-gray-300"> | ||||||
|  |                     {currentStageData.description} | ||||||
|  |                   </CardDescription> | ||||||
|                 </div> |                 </div> | ||||||
|                 <CardTitle>{currentStageData.title}</CardTitle> |               </CardHeader> | ||||||
|                 <CardDescription className="text-gray-300"> |               <CardContent className="space-y-4"> | ||||||
|                   {currentStageData.description} |                 {currentStageData.choices.map((choice, index) => ( | ||||||
|                 </CardDescription> |                   <ChoiceCard | ||||||
|               </div> |                     key={choice.id} | ||||||
|             </CardHeader> |                     choice={choice} | ||||||
|             <CardContent className="space-y-4"> |                     previousChoices={previousChoices} | ||||||
|               {currentStageData.choices.map((choice, index) => ( |                     onClick={() => handleStrategyClick(choice)} | ||||||
|                 <ChoiceCard |                     disabled={showingResult || isLoading} | ||||||
|                   key={choice.id} |                     optionNumber={index + 1} | ||||||
|                   choice={choice} |                   /> | ||||||
|                   previousChoices={previousChoices} |                 ))} | ||||||
|                   onClick={() => handleStrategyClick(choice)} |               </CardContent> | ||||||
|                   disabled={showingResult || isLoading} |             </Card> | ||||||
|                   optionNumber={index + 1} |           </div> | ||||||
|                 /> |  | ||||||
|               ))} |  | ||||||
|             </CardContent> |  | ||||||
|           </Card> |  | ||||||
|         </div> |         </div> | ||||||
|  |         <Footer /> | ||||||
|       </div> |       </div> | ||||||
| 
 | 
 | ||||||
|       <Dialog open={showConfirmDialog} onOpenChange={setShowConfirmDialog}> |       <Dialog open={showConfirmDialog} onOpenChange={setShowConfirmDialog}> | ||||||
| @ -504,8 +507,6 @@ const Index = () => { | |||||||
|       </Dialog> |       </Dialog> | ||||||
| 
 | 
 | ||||||
|       {isLoading && <LoadingOverlay message={loadingMessage} progress={loadingProgress} />} |       {isLoading && <LoadingOverlay message={loadingMessage} progress={loadingProgress} />} | ||||||
| 
 |  | ||||||
|       <Footer /> |  | ||||||
|     </div> |     </div> | ||||||
|   ); |   ); | ||||||
| }; | }; | ||||||
|  | |||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Constantin Rusu
						Constantin Rusu