import ods/xls en + de csv
fix modal behavior on close, fine tune import file modal
This commit is contained in:
@@ -7,7 +7,7 @@ import { campaignService, participantService, voteService } from '@/lib/services
|
||||
import AddParticipantModal from '@/components/AddParticipantModal';
|
||||
import EditParticipantModal from '@/components/EditParticipantModal';
|
||||
import DeleteParticipantModal from '@/components/DeleteParticipantModal';
|
||||
import ImportCSVModal from '@/components/ImportCSVModal';
|
||||
import ImportFileModal from '@/components/ImportFileModal';
|
||||
import SendParticipantEmailModal from '@/components/SendParticipantEmailModal';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
||||
@@ -166,7 +166,7 @@ function CampaignParticipantsPageContent() {
|
||||
<div className="flex gap-2">
|
||||
<Button variant="outline" onClick={() => setShowImportModal(true)}>
|
||||
<Upload className="w-4 h-4 mr-2" />
|
||||
Importer CSV
|
||||
Importer
|
||||
</Button>
|
||||
<Button onClick={() => setShowAddModal(true)} size="lg">
|
||||
✨ Nouveau participant
|
||||
@@ -409,7 +409,7 @@ function CampaignParticipantsPageContent() {
|
||||
/>
|
||||
)}
|
||||
|
||||
<ImportCSVModal
|
||||
<ImportFileModal
|
||||
isOpen={showImportModal}
|
||||
onClose={() => setShowImportModal(false)}
|
||||
onImport={handleImportParticipants}
|
||||
|
||||
@@ -7,7 +7,7 @@ import { campaignService, propositionService } from '@/lib/services';
|
||||
import AddPropositionModal from '@/components/AddPropositionModal';
|
||||
import EditPropositionModal from '@/components/EditPropositionModal';
|
||||
import DeletePropositionModal from '@/components/DeletePropositionModal';
|
||||
import ImportCSVModal from '@/components/ImportCSVModal';
|
||||
import ImportFileModal from '@/components/ImportFileModal';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
||||
import { Badge } from '@/components/ui/badge';
|
||||
@@ -154,7 +154,7 @@ function CampaignPropositionsPageContent() {
|
||||
<div className="flex gap-2">
|
||||
<Button variant="outline" onClick={() => setShowImportModal(true)}>
|
||||
<Upload className="w-4 h-4 mr-2" />
|
||||
Importer CSV
|
||||
Importer
|
||||
</Button>
|
||||
<Button onClick={() => setShowAddModal(true)} size="lg">
|
||||
✨ Nouvelle proposition
|
||||
@@ -323,7 +323,7 @@ function CampaignPropositionsPageContent() {
|
||||
/>
|
||||
)}
|
||||
|
||||
<ImportCSVModal
|
||||
<ImportFileModal
|
||||
isOpen={showImportModal}
|
||||
onClose={() => setShowImportModal(false)}
|
||||
onImport={handleImportPropositions}
|
||||
|
||||
@@ -362,7 +362,7 @@ function CampaignStatsPageContent() {
|
||||
<div key={stat.proposition.id} className="border rounded-lg p-6 hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors">
|
||||
<div className="flex items-start justify-between mb-4">
|
||||
<div className="flex-1">
|
||||
<div className="flex items-center gap-3 mb-2">
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<Badge variant="outline" className="text-xs">
|
||||
#{index + 1}
|
||||
</Badge>
|
||||
@@ -370,9 +370,6 @@ function CampaignStatsPageContent() {
|
||||
{stat.proposition.title}
|
||||
</h3>
|
||||
</div>
|
||||
<p className="text-slate-600 dark:text-slate-300 text-sm">
|
||||
{stat.proposition.description}
|
||||
</p>
|
||||
</div>
|
||||
{index === 0 && stat.averageAmount > 0 && (
|
||||
<Badge className="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">
|
||||
|
||||
Reference in New Issue
Block a user