Skip to content

Commit 49f654f

Browse files
committed
feat: add Sysarmy and Nerdearla as sponsors
1 parent 42b6d02 commit 49f654f

File tree

5 files changed

+94
-48
lines changed

5 files changed

+94
-48
lines changed

assets/sponsors/nerdearla.svg

+15
Loading

assets/sponsors/sysarmy.webp

5.27 KB
Binary file not shown.

src/components/cards/contributor_card.rs

+19-27
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,7 @@ pub fn ContributorCard(
1414
) -> impl IntoView {
1515
view! {
1616
<article class="hover:z-10 flex flex-col h-full gap-y-6 border border-black p-4 hover:bg-orange-500 bg-orange-100 dark:hover:bg-zinc-900/40 dark:bg-black/40 drop-shadow-[0_0_0_rgba(0,0,0)] hover:drop-shadow-[-4px_-4px_0_rgba(0,0,0)] transition justify-between">
17-
<a
18-
href=link.clone()
19-
target="_blank"
20-
class="group flex flex-col justify-between"
21-
>
17+
<a href=link.clone() target="_blank" class="group flex flex-col justify-between">
2218
<span class="absolute top-0 end-0 inline-flex items-center size-3.5 group-hover:min-w-16 rounded-full border-2 border-white text-xs font-medium transition-all transform -translate-y-1/2 translate-x-1/2 bg-teal-500 dark:border-slate-900 badge-container">
2319
<span class="sr-only text-black badge-content transition-all transform">
2420
{contributions}
@@ -27,34 +23,30 @@ pub fn ContributorCard(
2723
<div class="flex flex-col gap-y-2">
2824
<img src=brand_src width="60" class="rounded-full mb-4" alt=name.clone()/>
2925
<h2 class="font-work-sans text-black dark:text-white text-xl">{name}</h2>
30-
{location.map(|location| {
31-
view! {
32-
<div class="flex gap-2 items-center bg-slate-200/20 dark:bg-neutral-500/40 rounded-md p-1">
33-
<LocationIcon size=16/>
34-
<p class="font-work-sans text-black dark:text-white text-sm">
35-
{location}
36-
</p>
37-
</div>
38-
}
39-
},)}
26+
{location
27+
.map(|location| {
28+
view! {
29+
<div class="flex gap-2 items-center bg-slate-200/20 dark:bg-neutral-500/40 rounded-md p-1">
30+
<LocationIcon size=16/>
31+
<p class="font-work-sans text-black dark:text-white text-sm">
32+
{location}
33+
</p>
34+
</div>
35+
}
36+
})}
4037

4138
<p class="font-work-sans text-black dark:text-white">{description}</p>
4239
</div>
4340
</a>
4441
<div class="ml-auto flex flex-row gap-2">
4542
{twitter
46-
.map(
47-
|twitter| {
48-
view! {
49-
<a
50-
href=format!("https://twitter.com/{}", twitter)
51-
target="_blank"
52-
>
53-
<TwitterIcon size=30/>
54-
</a>
55-
}
56-
},
57-
)}
43+
.map(|twitter| {
44+
view! {
45+
<a href=format!("https://twitter.com/{}", twitter) target="_blank">
46+
<TwitterIcon size=30/>
47+
</a>
48+
}
49+
})}
5850
<a href=link target="_blank">
5951
<GithubIcon size=30/>
6052
</a>

src/components/sponsors.rs

+26-3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ pub fn Sponsors() -> impl IntoView {
4141
<SponsorCard
4242
name="Heavy Duty Builders"
4343
link="https://heavyduty.builders"
44+
image_padding="p-2"
4445
image=format!("{assets_folder}/sponsors/heavydutybuilders.png")
4546
description="Queremos unir fuerzas con más constructores como nosotros en el ecosistema Blockchain, llámalo DAO si quieres, pero queremos decir mucho más."
4647
/>
@@ -55,6 +56,7 @@ pub fn Sponsors() -> impl IntoView {
5556
<SponsorCard
5657
name="Tauri"
5758
link="https://tauri.app"
59+
image_padding="p-2"
5860
image=format!("{assets_folder}/sponsors/tauri.png")
5961
description="Cree una aplicación optimizada, segura e independiente del frontend para su implantación multiplataforma."
6062
/>
@@ -65,6 +67,22 @@ pub fn Sponsors() -> impl IntoView {
6567
description="Somos una comunidad de personas interesadas en tecnología y ciencias informáticas, lenguajes de programación, diseño web, infraestructura y muchas ganas de aprender entre todos."
6668
/>
6769
</div>
70+
<div class="w-full flex flex-col md:flex-row items-center justify-center gap-x-8 gap-y-8">
71+
<SponsorCard
72+
name="Sysarmy"
73+
link="https://x.com/sysarmy"
74+
image=format!("{assets_folder}/sponsors/sysarmy.webp")
75+
image_padding="p-4"
76+
image_rounded=false
77+
description="La comunidad de sistemas que nuclea a profesionales del área para favorecer el contacto y el intercambio de conocimiento de manera informal."
78+
/>
79+
<SponsorCard
80+
name="Nerdearla"
81+
link="https://nerdear.la"
82+
image=format!("{assets_folder}/sponsors/nerdearla.svg")
83+
description="Evento de tecnología, cinco días con más de 150 charlas y talleres de tecnología, divulgación científica y una gran variedad de temas."
84+
/>
85+
</div>
6886
</div>
6987
</section>
7088
</div>
@@ -79,29 +97,34 @@ pub fn SponsorCard(
7997
#[prop(into, optional, default=None)] image: Option<String>,
8098
#[prop(into, default=None)] component: Option<View>,
8199
#[prop(into, default = "black")] image_bg_color: &'static str,
100+
#[prop(into, default = true)] image_rounded: bool,
101+
#[prop(into, default = "")] image_padding: &'static str,
82102
) -> impl IntoView {
83103
let colors = HashMap::from([
84104
("white", "bg-white dark:bg-white text-black dark:text-black"),
85105
("black", "bg-black text-white dark:text-black"),
86106
]);
87107
let current_color = (*colors.get(&image_bg_color).unwrap()).to_string();
88108

109+
let image_rounded = if image_rounded { " rounded-full " } else { "" };
110+
89111
view! {
90112
<div class="group flex flex-col gap-y-6 p-6 justify-between items-center max-w-screen-sm w-full">
91113
<div class="mx-auto text-center">
92114
{image
93115
.map(|image| {
94116
view! {
95117
<div class=format!(
96-
"mx-auto rounded-full h-[120px] w-[120px] {} mb-4",
118+
"mx-auto rounded-full h-[120px] w-[120px] flex items-center justify-center {} mb-4 {}",
97119
current_color,
120+
image_padding,
98121
)>
99122
<Anchor link=link>
100123
<img
101124
alt=name
102125
width="120"
103126
height="120"
104-
class="mb-4 rounded-full max-w-full max-h-full"
127+
class=format!("{image_rounded} max-w-full max-h-full")
105128
loading="lazy"
106129
src=image
107130
/>
@@ -122,7 +145,7 @@ pub fn SponsorCard(
122145
})}
123146
<h3 class="text-xl font-bold font-work-sans text-black dark:text-white mb-2">
124147
<Anchor link=link>{name}</Anchor>
125-
</h3> <p class="text-balance">{description}</p>
148+
</h3> <p class="text-balance lg:max-w-lg">{description}</p>
126149
</div>
127150
</div>
128151
}

src/pages/contributors.rs

+34-18
Original file line numberDiff line numberDiff line change
@@ -155,25 +155,41 @@ pub fn Contributors() -> impl IntoView {
155155
<span class="font-work-sans font-light">"Nuestros "</span>
156156
<span class="font-alfa-slab text-orange-500">"Colaboradores"</span>
157157
</h2>
158-
<p class="md:max-w-[800px] mb-2">Gracias al esfuerzo y dedicación de estos extraordinarios colaboradores open source, los servicios y páginas de nuestra comunidad se mantienen activos y en constante evolución. Su pasión por el código abierto y el desarrollo de Rust es el corazón que impulsa nuestro crecimiento.</p>
159-
<p class="md:max-w-[800px] mb-2">Te invitamos a unirte a esta vibrante comunidad, explorar nuestros repositorios en <a href="https://github.com/RustLangES" class="underline" target="_blank">GitHub</a> y contribuir con tu talento.</p>
160-
<p class="md:max-w-[800px]"><strong>Juntos</strong>, podemos seguir construyendo un ecosistema Rust más fuerte y accesible para todos.</p>
158+
<p class="md:max-w-[800px] mb-2">
159+
Gracias al esfuerzo y dedicación de estos extraordinarios colaboradores open source, los servicios y páginas de nuestra comunidad se mantienen activos y en constante evolución. Su pasión por el código abierto y el desarrollo de Rust es el corazón que impulsa nuestro crecimiento.
160+
</p>
161+
<p class="md:max-w-[800px] mb-2">
162+
Te invitamos a unirte a esta vibrante comunidad, explorar nuestros repositorios en
163+
<a href="https://github.com/RustLangES" class="underline" target="_blank">
164+
GitHub
165+
</a> y contribuir con tu talento.
166+
</p>
167+
<p class="md:max-w-[800px]">
168+
<strong>Juntos</strong>
169+
, podemos seguir construyendo un ecosistema Rust más fuerte y accesible para todos.
170+
</p>
161171
<div class="mt-6 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-5 gap-6">
162-
<Await
163-
future=|| fetch_contributors()
164-
let:contributors
165-
>
166-
{contributors.iter().map(|item| view! {
167-
<ContributorCard
168-
name=item.login.clone()
169-
description=item.bio.clone()
170-
link=item.url.clone()
171-
brand_src=item.avatar_url.clone()
172-
twitter=item.twitter_username.clone()
173-
location=item.location.clone()
174-
contributions=item.contributions_collection.as_ref().map(|c| c.total).unwrap_or(1)
175-
/>
176-
}).collect::<Vec<_>>()}
172+
<Await future=|| fetch_contributors() let:contributors>
173+
{contributors
174+
.iter()
175+
.map(|item| {
176+
view! {
177+
<ContributorCard
178+
name=item.login.clone()
179+
description=item.bio.clone()
180+
link=item.url.clone()
181+
brand_src=item.avatar_url.clone()
182+
twitter=item.twitter_username.clone()
183+
location=item.location.clone()
184+
contributions=item
185+
.contributions_collection
186+
.as_ref()
187+
.map(|c| c.total)
188+
.unwrap_or(1)
189+
/>
190+
}
191+
})
192+
.collect::<Vec<_>>()}
177193
</Await>
178194
</div>
179195
</div>

0 commit comments

Comments
 (0)