Skip to content

Commit c4bb44b

Browse files
committed
misc
1 parent 5b64b4a commit c4bb44b

File tree

5 files changed

+150
-204
lines changed

5 files changed

+150
-204
lines changed

lib/algora/admin/admin.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ defmodule Algora.Admin do
3131
Enum.map(opts, fn opts ->
3232
with %{repo_name: repo_name, contribution_count: contribution_count} <- opts,
3333
[repo_owner, repo_name] <- String.split(repo_name, "/"),
34+
dbg("fetching repo #{repo_owner}/#{repo_name}"),
3435
{:ok, repo} <- Workspace.ensure_repository(token, repo_owner, repo_name),
3536
{:ok, _tech_stack} <- Workspace.ensure_repo_tech_stack(token, repo),
3637
{:ok, _contribution} <- Algora.Workspace.upsert_user_contribution(user, repo, contribution_count) do

lib/algora/workspace/workspace.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -630,9 +630,9 @@ defmodule Algora.Workspace do
630630
where: not ilike(r.name, "%algorithms%"),
631631
where: not ilike(repo_owner.provider_login, "%algorithms%"),
632632
where: repo_owner.type == :organization or r.stargazers_count > 200,
633-
where: fragment("? && ?::citext[]", r.tech_stack, ^(opts[:tech_stack] || [])),
633+
# where: fragment("? && ?::citext[]", r.tech_stack, ^(opts[:tech_stack] || [])),
634634
order_by: [
635-
# desc: fragment("CASE WHEN ? && ?::citext[] THEN 1 ELSE 0 END", r.tech_stack, ^(opts[:tech_stack] || [])),
635+
desc: fragment("CASE WHEN ? && ?::citext[] THEN 1 ELSE 0 END", r.tech_stack, ^(opts[:tech_stack] || [])),
636636
desc: r.stargazers_count
637637
],
638638
select_merge: %{repository: %{r | user: repo_owner}}

lib/algora_web/live/jobs_live.ex

Lines changed: 66 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -139,128 +139,6 @@ defmodule AlgoraWeb.JobsLive do
139139
<% end %>
140140
</.section>
141141
142-
<.section class="pt-24">
143-
<h2 class="font-display text-4xl font-semibold tracking-tight text-foreground sm:text-6xl text-center mb-2 sm:mb-4">
144-
<span class="text-success-300 drop-shadow-[0_1px_5px_#34d39980]">
145-
Hire the best
146-
</span>
147-
<br />using open source
148-
</h2>
149-
<p class="text-center font-medium text-base text-muted-foreground sm:text-xl mb-12 mx-auto">
150-
Source, screen, interview and onboard with Algora.<br />
151-
Guarantee role fit and job performance.
152-
</p>
153-
<ul class="space-y-3 mt-4 text-xl grid grid-cols-1 md:grid-cols-2 gap-4">
154-
<li class="flex items-center gap-4">
155-
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
156-
<.icon name="tabler-speakerphone" class="size-8 text-success-300" />
157-
</div>
158-
<span>
159-
<span class="font-semibold text-success-300">Reach 50K+ devs</span>
160-
<br class="md:hidden" /> with unlimited job postings
161-
</span>
162-
</li>
163-
<li class="flex items-center gap-4">
164-
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
165-
<.icon name="tabler-lock-open" class="size-8 text-success-300" />
166-
</div>
167-
<span>
168-
<span class="font-semibold text-success-300">Access top 1% users</span>
169-
<br class="md:hidden" /> matching your preferences
170-
</span>
171-
</li>
172-
<li class="flex items-center gap-4">
173-
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
174-
<.icon name="tabler-wand" class="size-8 text-success-300" />
175-
</div>
176-
<span>
177-
<span class="font-semibold text-success-300">Auto-rank applicants</span>
178-
<br class="md:hidden" /> for OSS contribution history
179-
</span>
180-
</li>
181-
<li class="flex items-center gap-4">
182-
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
183-
<.icon name="tabler-currency-dollar" class="size-8 text-success-300" />
184-
</div>
185-
<span>
186-
<span class="font-semibold text-success-300">Trial top candidates</span>
187-
<br class="md:hidden" /> using contracts and bounties
188-
</span>
189-
</li>
190-
</ul>
191-
</.section>
192-
193-
<.section class="pt-12">
194-
<div class="max-w-2xl mx-auto border ring-1 ring-transparent rounded-xl overflow-hidden">
195-
<div class="bg-card/75 flex flex-col h-full p-4 rounded-xl border-t-4 sm:border-t-0 sm:border-l-4 border-emerald-400">
196-
<div class="flex flex-col md:flex-row gap-8 p-4 sm:p-6">
197-
<div class="flex-1 flex flex-col justify-center items-center">
198-
<.simple_form
199-
for={@form}
200-
phx-change="validate_job"
201-
phx-submit="create_job"
202-
class="w-full space-y-6"
203-
>
204-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
205-
<.input
206-
id="final_section_email"
207-
field={@form[:email]}
208-
label="Email"
209-
data-domain-target
210-
phx-hook="DeriveDomain"
211-
phx-change="email_changed"
212-
phx-debounce="300"
213-
/>
214-
<.input id="final_section_url" field={@form[:url]} label="Job Posting URL" />
215-
<.input
216-
id="final_section_company_url"
217-
field={@form[:company_url]}
218-
label="Company URL"
219-
data-domain-source
220-
/>
221-
<.input
222-
id="final_section_company_name"
223-
field={@form[:company_name]}
224-
label="Company Name"
225-
/>
226-
</div>
227-
228-
<div class="flex flex-col items-center gap-4">
229-
<.button size="xl" class="w-full">
230-
<div class="flex flex-col items-center gap-1 font-semibold">
231-
<span>Hire now</span>
232-
</div>
233-
</.button>
234-
<div>
235-
<div
236-
:if={
237-
@user_metadata.ok? && get_in(@user_metadata.result, [:org, :favicon_url])
238-
}
239-
class="flex items-center gap-3"
240-
>
241-
<%= if logo = get_in(@user_metadata.result, [:org, :favicon_url]) do %>
242-
<img src={logo} class="h-16 w-16 rounded-2xl" />
243-
<% end %>
244-
<div>
245-
<div class="text-lg text-foreground font-bold font-display line-clamp-1">
246-
{get_change(@form.source, :company_name)}
247-
</div>
248-
<%= if description = get_in(@user_metadata.result, [:org, :og_description]) do %>
249-
<div class="text-sm text-muted-foreground line-clamp-1">
250-
{description}
251-
</div>
252-
<% end %>
253-
</div>
254-
</div>
255-
</div>
256-
</div>
257-
</.simple_form>
258-
</div>
259-
</div>
260-
</div>
261-
</div>
262-
</.section>
263-
264142
<.section class="pt-24">
265143
<h2 class="font-display text-4xl font-semibold tracking-tight text-foreground sm:text-6xl text-center mb-2 sm:mb-4">
266144
<span class="text-success-300 drop-shadow-[0_1px_5px_#34d39980]">
@@ -293,7 +171,7 @@ defmodule AlgoraWeb.JobsLive do
293171
<span class="text-success-300 drop-shadow-[0_1px_5px_#34d39980]">invite top matches</span>
294172
</h2>
295173
<p class="text-center font-medium text-base text-muted-foreground sm:text-xl mb-12 mx-auto">
296-
Access your matches from Algora userbase based on your tech stack and preferences.
174+
Access your top matches from Algora based on your tech stack and preferences
297175
</p>
298176
299177
<img
@@ -464,7 +342,58 @@ defmodule AlgoraWeb.JobsLive do
464342
</section>
465343
</.section>
466344
467-
<.section class="pt-24 pb-20">
345+
<.section class="pt-24">
346+
<h2 class="font-display text-4xl font-semibold tracking-tight text-foreground sm:text-6xl text-center mb-2 sm:mb-4">
347+
<span class="text-success-300 drop-shadow-[0_1px_5px_#34d39980]">
348+
Hire the best
349+
</span>
350+
<br />using open source
351+
</h2>
352+
<p class="text-center font-medium text-base text-muted-foreground sm:text-xl mb-12 mx-auto">
353+
Source, screen, interview and onboard with Algora.<br />
354+
Guarantee role fit and job performance.
355+
</p>
356+
<ul class="space-y-3 mt-4 text-xl grid grid-cols-1 md:grid-cols-2 gap-4">
357+
<li class="flex items-center gap-4">
358+
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
359+
<.icon name="tabler-speakerphone" class="size-8 text-success-300" />
360+
</div>
361+
<span>
362+
<span class="font-semibold text-success-300">Reach 50K+ devs</span>
363+
<br class="md:hidden" /> with unlimited job postings
364+
</span>
365+
</li>
366+
<li class="flex items-center gap-4">
367+
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
368+
<.icon name="tabler-lock-open" class="size-8 text-success-300" />
369+
</div>
370+
<span>
371+
<span class="font-semibold text-success-300">Access top 1% users</span>
372+
<br class="md:hidden" /> matching your preferences
373+
</span>
374+
</li>
375+
<li class="flex items-center gap-4">
376+
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
377+
<.icon name="tabler-wand" class="size-8 text-success-300" />
378+
</div>
379+
<span>
380+
<span class="font-semibold text-success-300">Auto-rank applicants</span>
381+
<br class="md:hidden" /> for OSS contribution history
382+
</span>
383+
</li>
384+
<li class="flex items-center gap-4">
385+
<div class="shrink-0 flex items-center justify-center rounded-full bg-success-300/10 size-12 border border-success-300/20">
386+
<.icon name="tabler-currency-dollar" class="size-8 text-success-300" />
387+
</div>
388+
<span>
389+
<span class="font-semibold text-success-300">Trial top candidates</span>
390+
<br class="md:hidden" /> using contracts and bounties
391+
</span>
392+
</li>
393+
</ul>
394+
</.section>
395+
396+
<.section class="pt-12 pb-20">
468397
<div class="max-w-2xl mx-auto border ring-1 ring-transparent rounded-xl overflow-hidden">
469398
<div class="bg-card/75 flex flex-col h-full p-4 rounded-xl border-t-4 sm:border-t-0 sm:border-l-4 border-emerald-400">
470399
<div class="flex flex-col md:flex-row gap-8 p-4 sm:p-6">
@@ -477,16 +406,26 @@ defmodule AlgoraWeb.JobsLive do
477406
>
478407
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
479408
<.input
409+
id="final_section_email"
480410
field={@form[:email]}
481411
label="Email"
482412
data-domain-target
483413
phx-hook="DeriveDomain"
484414
phx-change="email_changed"
485415
phx-debounce="300"
486416
/>
487-
<.input field={@form[:url]} label="Job Posting URL" />
488-
<.input field={@form[:company_url]} label="Company URL" data-domain-source />
489-
<.input field={@form[:company_name]} label="Company Name" />
417+
<.input id="final_section_url" field={@form[:url]} label="Job Posting URL" />
418+
<.input
419+
id="final_section_company_url"
420+
field={@form[:company_url]}
421+
label="Company URL"
422+
data-domain-source
423+
/>
424+
<.input
425+
id="final_section_company_name"
426+
field={@form[:company_name]}
427+
label="Company Name"
428+
/>
490429
</div>
491430
492431
<div class="flex flex-col items-center gap-4">

0 commit comments

Comments
 (0)