@@ -127,14 +127,14 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
127127 field :hourly_rate_max , :integer
128128 field :hours_per_week , :integer
129129 field :hiring , :boolean
130- field :company_types , { :array , :string }
130+ field :categories , { :array , :string }
131131 end
132132
133133 def hiring_options do
134134 [ { "Yes" , "true" } , { "No" , "false" } ]
135135 end
136136
137- def company_types_options do
137+ def categories_options do
138138 [
139139 { "Open source company" , "open_source" } ,
140140 { "Closed source company" , "closed_source" } ,
@@ -144,7 +144,7 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
144144 end
145145
146146 def init do
147- to_form ( PreferencesForm . changeset ( % PreferencesForm { } , % { company_types : [ ] } ) )
147+ to_form ( PreferencesForm . changeset ( % PreferencesForm { } , % { categories : [ ] } ) )
148148 end
149149
150150 def changeset ( form , attrs ) do
@@ -154,7 +154,7 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
154154 :hourly_rate_max ,
155155 :hours_per_week ,
156156 :hiring ,
157- :company_types
157+ :categories
158158 ] )
159159 |> validate_required ( [ :hourly_rate_min ] , message: "Please enter a minimum hourly rate" )
160160 |> validate_required ( [ :hourly_rate_max ] , message: "Please enter a maximum hourly rate" )
@@ -163,14 +163,8 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
163163 |> validate_number ( :hourly_rate_min , greater_than: 0 )
164164 |> validate_number ( :hourly_rate_max , greater_than: 0 )
165165 |> validate_number ( :hours_per_week , greater_than: 0 )
166- |> validate_length ( :company_types ,
167- min: 1 ,
168- message: "Please select at least one company type"
169- )
170- |> validate_subset (
171- :company_types ,
172- Enum . map ( PreferencesForm . company_types_options ( ) , & elem ( & 1 , 1 ) )
173- )
166+ |> validate_length ( :categories , min: 1 , message: "Please select at least one category" )
167+ |> validate_subset ( :categories , Enum . map ( PreferencesForm . categories_options ( ) , & elem ( & 1 , 1 ) ) )
174168 |> validate_rate_range ( )
175169 end
176170
@@ -409,6 +403,7 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
409403 og_title: get_in ( metadata , [ :org , :og_title ] ) ,
410404 og_image_url: get_in ( metadata , [ :org , :og_image_url ] ) ,
411405 tech_stack: tech_stack ,
406+ categories: preferences . categories ,
412407 hourly_rate_min: Money . new! ( preferences . hourly_rate_min , :USD ) ,
413408 hourly_rate_max: Money . new! ( preferences . hourly_rate_max , :USD ) ,
414409 hours_per_week: preferences . hours_per_week ,
@@ -769,18 +764,18 @@ defmodule AlgoraWeb.Onboarding.OrgLive do
769764 Select all that apply
770765 </ p >
771766 < div class = "grid grid-cols-2 gap-4 " >
772- <%= for { label , value } <- PreferencesForm . company_types_options ( ) do %>
767+ <%= for { label , value } <- PreferencesForm . categories_options ( ) do %>
773768 < label class = { [
774769 "group relative flex cursor-pointer rounded-lg px-3 py-2 shadow-sm focus:outline-none" ,
775770 "border-2 bg-background transition-all duration-200 hover:border-primary hover:bg-primary/10" ,
776771 "border-border has-[:checked]:border-primary has-[:checked]:bg-primary/10"
777772 ] } >
778773 < div class = "sr-only " >
779774 < . input
780- field = { @ preferences_form [ :company_types ] }
775+ field = { @ preferences_form [ :categories ] }
781776 type = "checkbox "
782777 value = { value }
783- checked = { value in ( get_field ( @ preferences_form . source , :company_types ) || [ ] ) }
778+ checked = { value in ( get_field ( @ preferences_form . source , :categories ) || [ ] ) }
784779 multiple
785780 />
786781 </ div >
0 commit comments