Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6131c75
feat: show username in sidebar
matmanna Apr 6, 2026
298fc98
fix: profile link
matmanna Apr 6, 2026
7755c34
fix: hackati.me links are dumb
matmanna Apr 6, 2026
ac19701
fix: actually scratch that just use hackatime.hackclub.com/@
matmanna Apr 6, 2026
3f0e8f3
Merge branch 'main' into profile-links
matmanna Apr 6, 2026
1002205
Merge branch 'main' into profile-links
skyfallwastaken Apr 13, 2026
6c95f78
Merge branch 'main' into profile-links
matmanna Apr 17, 2026
686a324
Merge remote-tracking branch 'upstream/main' into profile-links
matmanna May 21, 2026
c3750d3
Merge branch 'profile-links' of github.com:quackclub/hackatime into p…
matmanna May 21, 2026
6c7b6ec
Merge branch 'main' into profile-links
matmanna May 22, 2026
e0502f3
Merge branch 'main' into profile-links
matmanna May 23, 2026
380cf22
Merge remote-tracking branch 'upstream/main' into profile-links
matmanna May 26, 2026
62a2d26
feat: user tag transition +profile link in usersummary
matmanna May 28, 2026
e62bbbd
Merge branch 'profile-links' of github.com:quackclub/hackatime into p…
matmanna May 28, 2026
516678a
Merge branch 'main' into profile-links
matmanna May 28, 2026
999ca6c
style: svelte format
matmanna May 28, 2026
cdb7b36
Merge branch 'profile-links' of github.com:quackclub/hackatime into p…
matmanna May 28, 2026
42abf4f
Merge branch 'main' into profile-links
matmanna May 29, 2026
1024473
Merge branch 'main' into profile-links
matmanna May 30, 2026
8324274
Merge branch 'main' into profile-links
matmanna May 31, 2026
8863875
Merge branch 'main' into profile-links
matmanna Jun 7, 2026
279b3fe
Merge branch 'main' into profile-links
matmanna Jun 8, 2026
39d752b
Merge branch 'main' into profile-links
matmanna Jun 8, 2026
e42828f
Merge branch 'main' into profile-links
matmanna Jun 8, 2026
f500916
Merge branch 'main' into profile-links
matmanna Jun 13, 2026
50ec1b9
Merge branch 'main' into profile-links
matmanna Jun 13, 2026
1da87b6
Merge branch 'main' into profile-links
matmanna Jun 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/controllers/inertia_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ def inertia_nav_current_user
country = current_user.country_code.present? ? ISO3166::Country.new(current_user.country_code) : nil
{
display_name: current_user.display_name,
username: current_user.username,
Comment thread
skyfallwastaken marked this conversation as resolved.
avatar_url: current_user.avatar_url,
title: FlavorText.same_user.sample,
country_code: current_user.country_code,
Expand Down
1 change: 1 addition & 0 deletions app/controllers/settings/base_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ def badges_props
project_badge_url: work_time_stats_url,
project_badge_base_url: work_time_stats_base_url,
projects: project_list,
profile_url: (@user.username.present? ? "https://hackatime.hackclub.com/@#{@user.username}" : nil),
markscribe_template: '{{ wakatimeDoubleCategoryBar "Languages:" wakatimeData.Languages "Projects:" wakatimeData.Projects 5 }}',
markscribe_reference_url: "https://github.com/taciturnaxolotl/markscribe#your-wakatime-languages-formated-as-a-bar",
markscribe_preview_image_url: "https://cdn.fluff.pw/slackcdn/524e293aa09bc5f9115c0c29c18fb4bc.png",
Expand Down
28 changes: 27 additions & 1 deletion app/javascript/layouts/app/UserSummary.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<script lang="ts">
import { Link } from "@inertiajs/svelte";
import CountryFlag from "../../components/CountryFlag.svelte";
import { profiles } from "../../api";
import StreakIcon from "./StreakIcon.svelte";
import { streakTheme, streakLabel } from "../../utils";
import type { AdminLevel, NavCurrentUser } from "../../types";
Expand All @@ -24,6 +26,9 @@
const streak = $derived(
user.streak_days ? streakTheme(user.streak_days) : null,
);
const profilePath = $derived(
user.username ? profiles.show.path({ username: user.username }) : null,
);
</script>

<div class="user-info flex min-h-10 items-center gap-2" title={user.title}>
Expand All @@ -37,7 +42,28 @@
loading="lazy"
/>
{/if}
<span class="inline-flex items-center gap-1">{user.display_name}</span>
{#if profilePath}
<Link
href={profilePath}
aria-label={`View ${user.display_name}'s profile`}
class="group inline-grid w-fit max-w-full items-center gap-1"
>
<span
class="col-start-1 row-start-1 truncate transition-all duration-200 group-hover:opacity-0 group-hover:-translate-y-1"
>
{user.display_name}
</span>
<span
class="col-start-1 row-start-1 truncate text-muted opacity-0 translate-y-1 transition-all duration-200 group-hover:opacity-100 group-hover:translate-y-0"
>
@{user.username}
</span>
</Link>
{:else}
<span class="inline-flex max-w-full items-center gap-1 truncate">
{user.display_name}
</span>
{/if}
{#if user.country_code}
<span
class="flex items-center"
Expand Down
1 change: 1 addition & 0 deletions app/javascript/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export type AdminLevel =
export type NavCurrentUser = {
display_name: string;
avatar_url?: string | null;
username?: string | null;
title: string;
country_code?: string | null;
country_name?: string | null;
Expand Down