refactor(ui): standardize operation page actions

This commit is contained in:
poyrazavsever
2026-07-17 22:13:36 +03:00
parent c6eecf29ed
commit a642314786
7 changed files with 114 additions and 130 deletions
@@ -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ı
</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>
+7 -10
View File
@@ -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"