@@ -144,7 +144,8 @@ defmodule Algora.Bounties do
144144 type: :claim ,
145145 started_at: claim . inserted_at ,
146146 user: claim . user ,
147- group_id: "claim-#{ claim . group_id } " ,
147+ group_id: claim . group_id ,
148+ solution_id: "claim-#{ claim . group_id } " ,
148149 indicator: "π’" ,
149150 solution: "##{ claim . source . number } "
150151 }
@@ -155,7 +156,8 @@ defmodule Algora.Bounties do
155156 type: :attempt ,
156157 started_at: attempt . inserted_at ,
157158 user: attempt . user ,
158- group_id: "attempt-#{ attempt . id } " ,
159+ group_id: attempt . id ,
160+ solution_id: "attempt-#{ attempt . id } " ,
159161 indicator: get_attempt_emoji ( attempt ) ,
160162 solution: "WIP"
161163 }
@@ -183,9 +185,9 @@ defmodule Algora.Bounties do
183185 solution = Enum . find ( solutions , & ( & 1 . type == :claim ) ) || List . first ( solutions )
184186 % { solution | started_at: started_at }
185187 end )
186- |> Enum . group_by ( & & 1 . group_id )
187- |> Enum . sort_by ( fn { _group_id , solutions } -> Enum . min_by ( solutions , & & 1 . started_at ) . started_at end )
188- |> Enum . map ( fn { _group_id , solutions } ->
188+ |> Enum . group_by ( & & 1 . solution_id )
189+ |> Enum . sort_by ( fn { _solution_id , solutions } -> Enum . min_by ( solutions , & & 1 . started_at ) . started_at end )
190+ |> Enum . map ( fn { _solution_id , solutions } ->
189191 primary_solution = Enum . min_by ( solutions , & & 1 . started_at )
190192 timestamp = Calendar . strftime ( primary_solution . started_at , "%b %d, %Y, %I:%M:%S %p" )
191193
@@ -195,7 +197,14 @@ defmodule Algora.Bounties do
195197 |> Enum . map ( & "@#{ & 1 . user . provider_login } " )
196198 |> Util . format_name_list ( )
197199
198- "| #{ primary_solution . indicator } #{ users } | #{ timestamp } | #{ primary_solution . solution } |"
200+ actions =
201+ if primary_solution . type == :claim do
202+ "[Reward](#{ AlgoraWeb.Endpoint . url ( ) } /claims/#{ primary_solution . group_id } )"
203+ else
204+ ""
205+ end
206+
207+ "| #{ primary_solution . indicator } #{ users } | #{ timestamp } | #{ primary_solution . solution } | #{ actions } |"
199208 end )
200209
201210 solutions_table =
@@ -204,8 +213,8 @@ defmodule Algora.Bounties do
204213 else
205214 """
206215
207- | Attempt | Started (UTC) | Solution |
208- | --- | --- | --- |
216+ | Attempt | Started (UTC) | Solution | Actions |
217+ | --- | --- | --- | --- |
209218 #{ Enum . join ( solutions , "\n " ) }
210219 """
211220 end
0 commit comments