Skip to content

Commit fa29fdf

Browse files
committed
refactor: improve contract view layout and enhance client information display
- Updated the contract view to use the `Util` alias for initials and time ago functions, improving code clarity. - Added a new badge for the :paid contract status to enhance status visibility. - Replaced span elements with badge components for tech stack display, improving UI consistency. - Renamed "Provider" to "Contractor" for better terminology alignment in the contract view.
1 parent d3f6b3d commit fa29fdf

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

lib/algora_web/live/contract/view_live.ex

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ defmodule AlgoraWeb.Contract.ViewLive do
88
alias Algora.Contracts.Contract
99
alias Algora.Organizations
1010
alias Algora.Repo
11+
alias Algora.Util
1112

1213
defp page_size, do: 10
1314

@@ -24,13 +25,13 @@ defmodule AlgoraWeb.Contract.ViewLive do
2425
<.avatar class="h-12 w-12 ring-2 ring-background">
2526
<.avatar_image src={@contract.client.avatar_url} />
2627
<.avatar_fallback>
27-
{Algora.Util.initials(@contract.client.name)}
28+
{Util.initials(@contract.client.name)}
2829
</.avatar_fallback>
2930
</.avatar>
3031
<.avatar class="h-12 w-12 ring-2 ring-background">
3132
<.avatar_image src={@contract.contractor.avatar_url} />
3233
<.avatar_fallback>
33-
{Algora.Util.initials(@contract.contractor.name)}
34+
{Util.initials(@contract.contractor.name)}
3435
</.avatar_fallback>
3536
</.avatar>
3637
</div>
@@ -54,6 +55,8 @@ defmodule AlgoraWeb.Contract.ViewLive do
5455
<.badge variant="warning">Draft</.badge>
5556
<% :active -> %>
5657
<.badge variant="success">Active</.badge>
58+
<% :paid -> %>
59+
<.badge variant="success">Paid</.badge>
5760
<% _ -> %>
5861
<.badge variant="destructive">Inactive</.badge>
5962
<% end %>
@@ -260,17 +263,15 @@ defmodule AlgoraWeb.Contract.ViewLive do
260263
</div>
261264
<div class="flex flex-wrap gap-2 pt-6">
262265
<%= for tech <- @contract.client.tech_stack do %>
263-
<span class="rounded-lg bg-secondary px-2 py-0.5 text-xs ring-1 ring-border">
264-
{tech}
265-
</span>
266+
<.badge>{tech}</.badge>
266267
<% end %>
267268
</div>
268269
<div class="flex -space-x-1 pt-6">
269270
<%= for member <- @org_members do %>
270271
<.avatar class="h-9 w-9 ring-2 ring-background">
271272
<.avatar_image src={member.user.avatar_url} />
272273
<.avatar_fallback>
273-
{Algora.Util.initials(member.user.name)}
274+
{Util.initials(member.user.name)}
274275
</.avatar_fallback>
275276
</.avatar>
276277
<% end %>
@@ -280,7 +281,7 @@ defmodule AlgoraWeb.Contract.ViewLive do
280281
281282
<.card>
282283
<.card_header>
283-
<.card_title>Provider</.card_title>
284+
<.card_title>Contractor</.card_title>
284285
</.card_header>
285286
<.card_content>
286287
<div class="flex items-center gap-4">
@@ -296,9 +297,7 @@ defmodule AlgoraWeb.Contract.ViewLive do
296297
</div>
297298
<div class="flex flex-wrap gap-2 pt-6">
298299
<%= for tech <- @contract.contractor.tech_stack do %>
299-
<span class="rounded-lg bg-secondary px-2 py-0.5 text-xs ring-1 ring-border">
300-
{tech}
301-
</span>
300+
<.badge>{tech}</.badge>
302301
<% end %>
303302
</div>
304303
<div class="space-y-2 pt-6">
@@ -343,15 +342,17 @@ defmodule AlgoraWeb.Contract.ViewLive do
343342
<.avatar>
344343
<.avatar_image src={@contract.contractor.avatar_url} alt="Developer avatar" />
345344
<.avatar_fallback>
346-
{Algora.Util.initials(@contract.contractor.name)}
345+
{Util.initials(@contract.contractor.name)}
347346
</.avatar_fallback>
348347
</.avatar>
349348
<div class="absolute right-0 bottom-0 h-3 w-3 rounded-full border-2 border-background bg-success">
350349
</div>
351350
</div>
352351
<div>
353352
<h2 class="text-lg font-semibold">{@contract.contractor.name}</h2>
354-
<p class="text-xs text-muted-foreground">Active now</p>
353+
<p class="text-xs text-muted-foreground">
354+
Active {Util.time_ago(@contract.contractor.last_active_at)}
355+
</p>
355356
</div>
356357
</div>
357358
</div>
@@ -384,7 +385,7 @@ defmodule AlgoraWeb.Contract.ViewLive do
384385
<.avatar class="h-8 w-8">
385386
<.avatar_image src={message.sender.avatar_url} />
386387
<.avatar_fallback>
387-
{Algora.Util.initials(message.sender.name)}
388+
{Util.initials(message.sender.name)}
388389
</.avatar_fallback>
389390
</.avatar>
390391
<div class="max-w-[80%] relative rounded-2xl rounded-tl-none bg-muted p-3">

0 commit comments

Comments
 (0)