Skip to content

Commit 9cd6931

Browse files
committed
chore: fix about photos, social links and copy across locales
- serve team avatars locally from /public/team instead of hotlinking prostaff.gg - wire real Effront social links (X, Instagram, YouTube) - refine EN copy ("professional tools", "powered by real Riot API data") - mirror copy changes to pt/es/ko
1 parent 222d3e4 commit 9cd6931

10 files changed

Lines changed: 38 additions & 20 deletions

File tree

messages/en.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"Mission": {
3030
"sectionLabel": "Who we are",
3131
"statementPrefix": "We started by solving a real problem: ",
32-
"statementHighlight": "competitive League of Legends organizations without a single decent tool",
32+
"statementHighlight": "competitive League of Legends organizations lacking professional tools",
3333
"statementSuffix": " to manage a roster, analyze a draft, or run a tournament.",
3434
"follow": "Today we build the technical foundation that supports this. What we list here exists - and anything still in the works is labeled as such.",
3535
"link": "Our story →"
@@ -67,7 +67,7 @@
6767
{
6868
"tag": "peneira.gg",
6969
"title": "Recruitment and tryouts",
70-
"body": "Talent pool, team openings and tryouts on real Riot API data - an MVP in development on top of prostaff-api and riot-gateway."
70+
"body": "Talent pool, team openings and tryouts powered by real Riot API data - an MVP in development on top of prostaff-api and riot-gateway."
7171
}
7272
]
7373
},
@@ -144,7 +144,7 @@
144144
"Organizations recruiting a roster",
145145
"Same backend: prostaff-api + riot-gateway"
146146
],
147-
"tagline": "Recruitment and tryouts on real Riot API data."
147+
"tagline": "Recruitment and tryouts powered by real Riot API data."
148148
},
149149
"pageIntro": "One product per stage of the competitive journey - from the amateur team on the rise to the organization already competing at the highest level.",
150150
"viewAll": "See all products →"

messages/es.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"Mission": {
3030
"sectionLabel": "Quiénes somos",
3131
"statementPrefix": "Empezamos resolviendo un problema real: ",
32-
"statementHighlight": "organizaciones competitivas de League of Legends sin ninguna herramienta decente",
32+
"statementHighlight": "organizaciones competitivas de League of Legends sin herramientas profesionales",
3333
"statementSuffix": " para gestionar un equipo, analizar un draft u organizar un torneo.",
3434
"follow": "Hoy construimos la base técnica que lo sostiene. Lo que listamos aquí existe - y lo que aún está en construcción aparece marcado como tal.",
3535
"link": "Nuestra historia →"
@@ -67,7 +67,7 @@
6767
{
6868
"tag": "peneira.gg",
6969
"title": "Reclutamiento y tryouts",
70-
"body": "Banco de talentos, vacantes y tryouts sobre datos reales de la Riot API - un MVP en desarrollo sobre prostaff-api y riot-gateway."
70+
"body": "Banco de talentos, vacantes y tryouts impulsados por datos reales de la Riot API - un MVP en desarrollo sobre prostaff-api y riot-gateway."
7171
}
7272
]
7373
},
@@ -144,7 +144,7 @@
144144
"Organizaciones reclutando roster",
145145
"Mismo backend: prostaff-api + riot-gateway"
146146
],
147-
"tagline": "Reclutamiento y tryouts sobre datos reales de la Riot API."
147+
"tagline": "Reclutamiento y tryouts impulsados por datos reales de la Riot API."
148148
},
149149
"pageIntro": "Un producto por etapa del recorrido competitivo - del amateur en ascenso a la organización que ya compite al más alto nivel.",
150150
"viewAll": "Ver todos los productos →"

messages/ko.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"Mission": {
2424
"sectionLabel": "회사 소개",
2525
"statementPrefix": "우리는 실제 문제에서 시작했습니다: ",
26-
"statementHighlight": "팀 관리, 드래프트 분석, 대회 운영에 쓸 만한 도구가 하나도 없던 League of Legends 경쟁 조직들",
26+
"statementHighlight": "팀 관리, 드래프트 분석, 대회 운영을 위한 전문적인 도구가 없던 League of Legends 경쟁 조직들",
2727
"statementSuffix": "이 그 출발점이었습니다.",
2828
"follow": "지금 우리는 그것을 받치는 기술 기반을 만듭니다. 여기 적힌 것은 실제로 존재하며, 아직 만드는 중인 것은 그렇게 표시되어 있습니다.",
2929
"link": "우리의 이야기 →"

messages/pt.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"Mission": {
3030
"sectionLabel": "Quem somos",
3131
"statementPrefix": "Começamos resolvendo um problema real: ",
32-
"statementHighlight": "organizações competitivas de League of Legends sem ferramenta nenhuma decente",
32+
"statementHighlight": "organizações competitivas de League of Legends sem ferramentas profissionais",
3333
"statementSuffix": " pra gerenciar time, analisar draft ou rodar um campeonato.",
3434
"follow": "Hoje, construímos a base técnica que sustenta isso. O que listamos aqui existe - e o que ainda está em construção aparece marcado como tal.",
3535
"link": "Nossa história →"
@@ -67,7 +67,7 @@
6767
{
6868
"tag": "peneira.gg",
6969
"title": "Recrutamento e tryouts",
70-
"body": "Banco de talentos, vagas e peneiras sobre dados reais da Riot API - MVP em desenvolvimento sobre a prostaff-api e o riot-gateway."
70+
"body": "Banco de talentos, vagas e peneiras alimentadas por dados reais da Riot API - MVP em desenvolvimento sobre a prostaff-api e o riot-gateway."
7171
}
7272
]
7373
},
@@ -144,7 +144,7 @@
144144
"Organizações recrutando elenco",
145145
"Mesmo backend: prostaff-api + riot-gateway"
146146
],
147-
"tagline": "Recrutamento e tryouts sobre dados reais da Riot API."
147+
"tagline": "Recrutamento e tryouts alimentados por dados reais da Riot API."
148148
},
149149
"pageIntro": "Um produto por etapa da jornada competitiva - do amador em ascensão à organização que já compete no mais alto nível.",
150150
"viewAll": "Ver todos os produtos →"

public/logos/effrontLogoNoBkg.png

53.5 KB
Loading

public/team/hausch.webp

479 KB
Loading

public/team/kev.webp

27.4 KB
Loading

public/team/md.webp

27.7 KB
Loading

src/app/[locale]/about/page.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,21 @@ const TEAM = [
2121
name: "Michael Douglas",
2222
role: "CEO & Founder",
2323
linkedin: "https://www.linkedin.com/in/michael-bullet",
24-
avatar: "https://prostaff.gg/team/md.webp",
24+
avatar: "/team/md.webp",
2525
initials: "MD",
2626
},
2727
{
2828
name: "Kevin Almeida",
2929
role: "UX Designer",
3030
linkedin: "https://www.linkedin.com/in/kevin-almeida-365601113",
31-
avatar: "https://prostaff.gg/team/kev.webp",
31+
avatar: "/team/kev.webp",
3232
initials: "KA",
3333
},
3434
{
3535
name: "Maielin Hauschild",
3636
role: "VP of Marketing",
3737
linkedin: "https://www.linkedin.com/in/mai%C3%A9lin-hauschild",
38-
avatar: "https://prostaff.gg/team/hausch.webp",
38+
avatar: "/team/hausch.webp",
3939
initials: "MH",
4040
},
4141
];
@@ -178,7 +178,6 @@ export default async function AboutPage({ params }: Props) {
178178
alt={member.name}
179179
width={56}
180180
height={56}
181-
unoptimized
182181
/>
183182
<div>
184183
<h3>{member.name}</h3>

src/components/SocialLinks.tsx

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,39 @@
11
import { XIcon, InstagramIcon, YouTubeIcon } from "./icons";
22

3+
type Socials = { x: string; instagram: string; youtube: string };
4+
35
/**
4-
* Placeholder hrefs — the Effront social handles are confirmed available
5-
* (X, Instagram, YouTube) but not yet claimed. Fill in real URLs once the
6-
* accounts exist.
6+
* Per-brand social URLs. Effront's accounts are live; the other ecosystem
7+
* brands are placeholders ("#") until their handles are claimed.
78
*/
9+
const SOCIALS: Record<string, Socials> = {
10+
Effront: {
11+
x: "https://x.com/effrontgg",
12+
instagram: "https://www.instagram.com/effront.gg/",
13+
youtube: "https://www.youtube.com/@effront",
14+
},
15+
};
16+
17+
const PLACEHOLDER: Socials = { x: "#", instagram: "#", youtube: "#" };
18+
819
export function SocialLinks({ name = "Effront" }: { name?: string }) {
20+
const socials = SOCIALS[name] ?? PLACEHOLDER;
21+
const external = (href: string) =>
22+
href === "#" ? {} : { target: "_blank", rel: "noopener noreferrer" };
23+
924
return (
1025
<div className="foot-social">
11-
<a href="#" aria-label={`${name} - X`}>
26+
<a href={socials.x} aria-label={`${name} - X`} {...external(socials.x)}>
1227
<XIcon width={13} height={13} />
1328
</a>
14-
<a href="#" aria-label={`${name} - Instagram`}>
29+
<a
30+
href={socials.instagram}
31+
aria-label={`${name} - Instagram`}
32+
{...external(socials.instagram)}
33+
>
1534
<InstagramIcon width={13} height={13} />
1635
</a>
17-
<a href="#" aria-label={`${name} - YouTube`}>
36+
<a href={socials.youtube} aria-label={`${name} - YouTube`} {...external(socials.youtube)}>
1837
<YouTubeIcon width={13} height={13} />
1938
</a>
2039
</div>

0 commit comments

Comments
 (0)