refactor(ui): standardize operation page actions
This commit is contained in:
@@ -102,7 +102,6 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
</div>
|
||||
<div>
|
||||
<h1 className="text-3xl font-bold text-foreground">{client.name}</h1>
|
||||
{client.company_name && <p className="text-muted-foreground mt-1">{client.company_name}</p>}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -113,7 +112,7 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
{!client.client_auth_id && (
|
||||
<Dialog open={createUserOpen} onOpenChange={setCreateUserOpen}>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="outline" size="sm" className="gap-2 ml-2 border-dashed">
|
||||
<Button effect="shine" variant="secondary" size="sm" className="gap-2 ml-2 border-dashed">
|
||||
<UserPlus className="h-4 w-4" /> Portal Hesabı Aç
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
@@ -135,9 +134,9 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
<Label htmlFor="invitation-url">Davet bağlantısı</Label>
|
||||
<div className="flex gap-2">
|
||||
<Input id="invitation-url" value={invitationUrl} readOnly />
|
||||
<Button
|
||||
<Button effect="shine"
|
||||
type="button"
|
||||
variant="outline"
|
||||
variant="secondary"
|
||||
size="icon"
|
||||
aria-label="Davet bağlantısını kopyala"
|
||||
onClick={async () => {
|
||||
@@ -153,8 +152,8 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
) : null}
|
||||
</div>
|
||||
<DialogFooter>
|
||||
<Button type="button" variant="ghost" onClick={() => setCreateUserOpen(false)}>İptal</Button>
|
||||
<Button type="submit" disabled={isCreatingUser || Boolean(invitationUrl)}>
|
||||
<Button effect="shine" type="button" variant="secondary" onClick={() => setCreateUserOpen(false)}>İptal</Button>
|
||||
<Button variant="default" effect="shine" type="submit" disabled={isCreatingUser || Boolean(invitationUrl)}>
|
||||
{isCreatingUser && <Loader2 className="mr-2 h-4 w-4 animate-spin" />}
|
||||
Davet Oluştur
|
||||
</Button>
|
||||
@@ -226,7 +225,7 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
|
||||
<Dialog open={openDialog} onOpenChange={setOpenDialog}>
|
||||
<DialogTrigger asChild>
|
||||
<Button size="sm" className="gap-2">
|
||||
<Button variant="default" effect="shine" size="sm" className="gap-2">
|
||||
<Plus className="h-4 w-4" /> Aktivite Ekle
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
@@ -262,7 +261,7 @@ export function ClientDetailClient({ client, activities }: { client: ClientDetai
|
||||
</div>
|
||||
</div>
|
||||
<DialogFooter>
|
||||
<Button type="submit" disabled={isAddingActivity}>
|
||||
<Button variant="default" effect="shine" type="submit" disabled={isAddingActivity}>
|
||||
{isAddingActivity ? "Ekleniyor..." : "Ekle"}
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -167,9 +167,6 @@ export function ClientsClient({
|
||||
<h1 className="text-3xl font-semibold tracking-normal text-foreground">
|
||||
CRM & Müşteriler
|
||||
</h1>
|
||||
<p className="mt-1 max-w-2xl text-sm text-muted-foreground">
|
||||
Potansiyel müşterilerini pipeline üzerinden takip et ve müşteri ilişkilerini yönet.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ClientDialog mode="create" />
|
||||
@@ -331,7 +328,7 @@ function DraggableClientCard({
|
||||
{client.name}
|
||||
</PendingLink>
|
||||
<div onPointerDown={(e) => e.stopPropagation()}>
|
||||
<ClientDialog mode="edit" client={client} trigger={<Button variant="ghost" className="h-6 w-6 p-0"><Pencil className="h-3 w-3" /></Button>} />
|
||||
<ClientDialog mode="edit" client={client} trigger={<Button size="icon-sm" effect="shine" variant="secondary" ><Pencil className="h-3 w-3" /></Button>} />
|
||||
</div>
|
||||
</div>
|
||||
{client.company_name && <p className="text-xs text-muted-foreground mb-2 pointer-events-none">{client.company_name}</p>}
|
||||
@@ -412,11 +409,11 @@ function ClientRow({ client }: { client: ClientListItem }) {
|
||||
|
||||
<div className="flex justify-end gap-2">
|
||||
<PendingLink href={`/clients/${client.id}`} className="inline-flex" showSpinner>
|
||||
<Button variant="ghost" className="h-9 w-9 p-0">
|
||||
<Button size="icon" effect="shine" variant="secondary" >
|
||||
<ArrowRight className="h-4 w-4" />
|
||||
</Button>
|
||||
</PendingLink>
|
||||
<ClientDialog mode="edit" client={client} trigger={<Button variant="outline" className="h-9 min-w-20 gap-2 px-3"><Pencil className="h-4 w-4" /> Düzenle</Button>} />
|
||||
<ClientDialog mode="edit" client={client} trigger={<Button effect="shine" variant="secondary" className="min-w-20 gap-2 px-3"><Pencil className="h-4 w-4" /> Düzenle</Button>} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -457,9 +454,9 @@ function ClientDialog({
|
||||
<Dialog open={open} onOpenChange={setOpen}>
|
||||
<DialogTrigger asChild>
|
||||
{trigger || (
|
||||
<Button
|
||||
variant={mode === "create" ? "default" : "outline"}
|
||||
className="h-9 min-w-24 gap-2 px-3"
|
||||
<Button effect="shine"
|
||||
variant={mode === "create" ? "default" : "secondary"}
|
||||
className="min-w-24 gap-2 px-3"
|
||||
>
|
||||
{mode === "create" ? <Plus className="h-4 w-4" /> : <Pencil className="h-4 w-4" />}
|
||||
{mode === "create" ? "Müşteri ekle" : "Düzenle"}
|
||||
@@ -483,7 +480,7 @@ function ClientDialog({
|
||||
</div>
|
||||
|
||||
<DialogFooter className="shrink-0 border-t border-border bg-background p-5">
|
||||
<Button type="submit" disabled={isSubmitting} className="w-full gap-2 sm:w-auto">
|
||||
<Button variant="default" effect="shine" type="submit" disabled={isSubmitting} className="w-full gap-2 sm:w-auto">
|
||||
{mode === "create" ? <Plus className="h-4 w-4" /> : <Pencil className="h-4 w-4" />}
|
||||
{isSubmitting
|
||||
? "Kaydediliyor"
|
||||
|
||||
Reference in New Issue
Block a user