33import { useQuery } from "@tanstack/react-query" ;
44import { getCampaign , getCampaignRoles } from "@/models/campaign" ;
55import { Button } from "@/components/ui/button" ;
6- import { Copy , Pencil , Trash , Share , BookOpenCheck } from "lucide-react" ;
6+ import { Copy , Pencil , Trash , Share , BookOpenCheck , FormIcon , CircleCheck } from "lucide-react" ;
77import { ButtonGroup } from "@/components/ui/button-group" ;
88import { dateToString } from "@/lib/utils" ;
99import {
@@ -19,9 +19,9 @@ import {
1919import Link from "next/link" ;
2020import { getOrganisationUserRole } from "@/models/organisation" ;
2121
22- export default function CampaignDetails ( { campaignId, descriptionHtml, orgId, dict } : { campaignId : string , descriptionHtml : string , orgId : string , dict : any } ) {
22+ export default function CampaignDetails ( { campaignId, descriptionHtml, orgId, dict } : { campaignId : string , descriptionHtml : string , orgId : string , dict : any } ) {
2323 const editingMode = true ;
24-
24+
2525 const { data : campaign } = useQuery ( {
2626 queryKey : [ `${ campaignId } -campaign-details` ] ,
2727 queryFn : ( ) => getCampaign ( campaignId ) ,
@@ -51,18 +51,27 @@ export default function CampaignDetails({ campaignId, descriptionHtml, orgId, di
5151 < Button variant = "outline" onClick = { ( ) => navigator . clipboard . writeText ( `${ process . env . NEXT_PUBLIC_APP_URL } /campaign/${ campaign ?. organisation_slug } /${ campaign ?. campaign_slug } ` ) } >
5252 < Share className = "w-4 h-4" /> { dict . dashboard . campaigns . share_link }
5353 </ Button >
54+ < Button variant = "outline" onClick = { ( ) => navigator . clipboard . writeText ( campaignId ) } >
55+ < Copy className = "w-4 h-4" /> { dict . dashboard . campaigns . copy_campaign_id }
56+ </ Button >
5457 </ ButtonGroup >
5558 { userRole ?. role === "Admin" && (
56- < ButtonGroup >
57- < Button variant = "outline" > < Pencil className = "w-4 h-4" /> { dict . dashboard . actions . edit } </ Button >
58- < Button variant = "outline" > < Trash className = "w-4 h-4" /> { dict . dashboard . actions . delete } </ Button >
59- </ ButtonGroup >
59+ < ButtonGroup >
60+ < Button variant = "outline" > < Pencil className = "w-4 h-4" /> { dict . dashboard . actions . edit } </ Button >
61+ < Button variant = "outline" > < Trash className = "w-4 h-4" /> { dict . dashboard . actions . delete } </ Button >
62+ </ ButtonGroup >
6063 ) }
64+ {
65+ ! campaign ?. published && (
66+ < Link href = { `/dashboard/organisation/${ orgId } /campaigns/${ campaignId } /questions` } >
67+ < Button variant = "outline" > < FormIcon className = "w-4 h-4" /> { dict . dashboard . campaigns . manage_questions } </ Button >
68+ </ Link >
69+ )
70+ }
6171 < ButtonGroup >
62- < Button variant = "outline" onClick = { ( ) => navigator . clipboard . writeText ( campaignId ) } >
63- < Copy className = "w-4 h-4" /> { dict . dashboard . campaigns . copy_campaign_id }
64- </ Button >
72+ < Button variant = "outline" > < CircleCheck className = "w-4 h-4 text-green-500" /> { dict . dashboard . campaigns . publish } </ Button >
6573 </ ButtonGroup >
74+
6675 </ ButtonGroup >
6776 </ div >
6877 < div className = "flex flex-col gap-1" >
0 commit comments