@@ -943,19 +943,11 @@ defmodule AlgoraWeb.Org.JobLive do
943
943
< span > Active on weekends</ span >
944
944
</ div >
945
945
< div class = "flex items-center gap-2 " >
946
- < . icon
947
- name = {
948
- if has_matching_tech_stack? ( @ user . tech_stack , @ job . tech_stack , @ contributions ) ,
949
- do: "tabler-check" ,
950
- else: "tabler-x"
951
- }
952
- class = {
953
- if has_matching_tech_stack? ( @ user . tech_stack , @ job . tech_stack , @ contributions ) ,
954
- do: "text-success-400" ,
955
- else: "text-destructive"
956
- }
957
- />
958
- < span > Versed in { get_matching_techs ( @ user . tech_stack , @ job . tech_stack , @ contributions ) |> Enum . join ( ", " ) } </ span >
946
+ < . icon name = "tabler-check " class = "text-success-400 " />
947
+ < span >
948
+ Versed in { get_matching_techs ( @ user . tech_stack , @ job . tech_stack , @ contributions )
949
+ |> Enum . join ( ", " ) }
950
+ </ span >
959
951
</ div >
960
952
<% end %>
961
953
</ div >
@@ -1706,9 +1698,7 @@ defmodule AlgoraWeb.Org.JobLive do
1706
1698
# Get tech stacks from top contributions
1707
1699
contribution_techs =
1708
1700
contributions
1709
- |> Enum . flat_map ( fn contribution ->
1710
- contribution . repository . tech_stack || [ ]
1711
- end )
1701
+ |> Enum . flat_map ( fn contribution -> Enum . take ( contribution . repository . tech_stack , 1 ) end )
1712
1702
|> Enum . uniq ( )
1713
1703
1714
1704
# Combine user's declared tech stack with contribution tech stacks
@@ -1718,15 +1708,18 @@ defmodule AlgoraWeb.Org.JobLive do
1718
1708
|> MapSet . new ( & String . downcase / 1 )
1719
1709
1720
1710
job_set = MapSet . new ( Enum . map ( job_stack || [ ] , & String . downcase / 1 ) )
1721
-
1722
- # Return the intersection
1723
- MapSet . intersection ( all_user_techs , job_set )
1724
- |> MapSet . to_list ( )
1725
- |> Enum . map ( & String . capitalize / 1 )
1726
- end
1727
1711
1728
- defp has_matching_tech_stack? ( user_stack , job_stack , contributions ) do
1729
- matching_techs = get_matching_techs ( user_stack , job_stack , contributions )
1730
- length ( matching_techs ) > 0
1712
+ # Return the intersection
1713
+ intersection =
1714
+ all_user_techs
1715
+ |> MapSet . intersection ( job_set )
1716
+ |> MapSet . to_list ( )
1717
+ |> Enum . map ( & String . capitalize / 1 )
1718
+
1719
+ if length ( intersection ) > 0 do
1720
+ intersection
1721
+ else
1722
+ Enum . take ( contribution_techs , 2 )
1723
+ end
1731
1724
end
1732
1725
end
0 commit comments