Skip to content

Commit 46d404b

Browse files
authored
Merge pull request #477 from datum-cloud/phasetwo/huddle
chore: update cta, huddle, changelog, roadmap
2 parents 80f898b + edd7eed commit 46d404b

File tree

14 files changed

+157
-180
lines changed

14 files changed

+157
-180
lines changed

package-lock.json

Lines changed: 3 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/Footer.astro

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,23 @@ const {
1818
const navData = navigation as NavData;
1919
---
2020

21-
<footer id="footer" class:list={['footer', !showBackground && 'bg-midnight-fjord']}>
21+
<footer
22+
id="footer"
23+
class:list={[
24+
'footer bg-glacier-mist-700 relative text-white',
25+
!showBackground && 'bg-midnight-fjord',
26+
]}
27+
>
2228
{/* Hero Content - Conditionally rendered */}
2329
{
2430
showCTA && (
25-
<div class="footer-hero">
26-
<div class="footer-hero-content fade-in--pure" data-reveal="fade-in--pure--visible">
27-
<h3 class="h3-leading">Interested in shaping the internet for AI?</h3>
28-
<div class="footer-hero-actions">
31+
<div class="text-midnight-fjord relative z-10 mx-auto pt-14 md:pt-20 lg:pt-28">
32+
<div
33+
class="fade-in--pure flex flex-col gap-5.5 text-center md:gap-10"
34+
data-reveal="fade-in--pure--visible"
35+
>
36+
<h3 class="datum-text-7xl">Interested in shaping the internet for AI?</h3>
37+
<div class="flex items-center justify-center gap-7">
2938
<Button
3039
class="btn btn--alpha"
3140
text="View on GitHub"
@@ -50,7 +59,7 @@ const navData = navigation as NavData;
5059
src={ImageFooter}
5160
layout="constrained"
5261
alt="Footer illustration"
53-
class="footer-illustration-image"
62+
class="relative mr-auto size-auto w-full -translate-y-3 object-cover"
5463
/>
5564
</div>
5665
</div>

src/components/huddles/PreviousHuddle.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ const huddleContentId = `huddle-content-${huddle.id}`;
7979
</div>
8080

8181
<!-- Meta Section -->
82-
<div class="previous-huddle--meta">
82+
<div class="huddle--meta-wrapper">
8383
{
8484
huddle.data.time && (
8585
<div class="huddle--meta">

src/components/huddles/UpcomingHuddle.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ const { Content } = await render(huddle);
2222
<!-- Main Content Area -->
2323
<section class="grid gap-8 md:grid-cols-3">
2424
<!-- Agenda Section -->
25-
<div class="upcomming-huddle--content md:col-span-2">
25+
<div class="upcomming-huddle--content">
2626
<Content />
2727
</div>
2828

2929
<!-- Details Section -->
30-
<div class="flex flex-col space-y-6">
30+
<div class="huddle--meta-wrapper">
3131
{
3232
huddle.data.time && (
3333
<div class="huddle--meta">

src/components/roadmap/Card.astro

Lines changed: 69 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,18 @@ import { roadmaps, type RoadmapProps } from '@libs/datum';
88
const issues = await roadmaps();
99
---
1010

11-
<div class="roadmap-container">
12-
{
13-
issues &&
14-
Array.prototype.map.call(issues, (issue: RoadmapProps) => () => (
15-
<div class="roadmap-card">
16-
<div class="roadmap-card--content">
17-
<div class="roadmap-card--vote-section" />
18-
19-
<div class="roadmap-card--info-section">
20-
<div class="roadmap-card--text-content">
21-
<h3 class="roadmap-card--title">{issue.title}</h3>
22-
<div
23-
class="roadmap-card--description"
11+
{
12+
issues &&
13+
Array.prototype.map.call(issues, (issue: RoadmapProps) => () => (
14+
<div class="roadmap-card">
15+
<div class="roadmap-card--content">
16+
<div class="roadmap-card--vote-section" />
17+
18+
<div class="roadmap-card--info-section">
19+
<div class="roadmap-card--text-content">
20+
<h3 class="roadmap-card--title">{issue.title}</h3>
21+
<div class="roadmap-card--description">
22+
<p
2423
set:html={stripTags(removeHeaderTags(marked.parse(issue.body))).then((text) =>
2524
truncate(text, 200)
2625
)}
@@ -42,61 +41,61 @@ const issues = await roadmaps();
4241
</div>
4342
</div>
4443
</div>
45-
))
46-
}
47-
48-
<script>
49-
import { actions } from 'astro:actions';
50-
import { getCookie, setCookie } from '@libs/cookie';
51-
52-
const voteItems = document.querySelectorAll('.roadmap-card--content');
53-
let userId = getCookie('userId') as string;
54-
55-
voteItems.forEach((item) => {
56-
const btnVote = item.querySelector('.roadmap-card--vote-button');
57-
58-
btnVote?.addEventListener('click', async function (this: HTMLButtonElement) {
59-
if (!this.dataset.issueid) {
60-
throw new Error('ProjectID is missing');
61-
}
62-
63-
if (!userId) {
64-
actions.loginWithDatum().then((result: { data?: object }) => {
65-
if (!result.data) {
66-
return;
67-
}
68-
69-
const data = result.data as { authUrl: string; codeVerifier: string; nonce: string };
70-
const authUrl = new URL(data.authUrl);
71-
const codeVerifier = data.codeVerifier;
72-
const nonce = data.nonce;
73-
74-
if (!authUrl) {
75-
window.location.href = '/resources/roadmap';
76-
} else {
77-
setCookie('codeVerifier', codeVerifier ?? '', 60 * 24);
78-
setCookie('nonce', nonce ?? '', 60 * 24);
79-
setCookie('auth_redirect', window.location.href, 60 * 24);
80-
81-
window.location.href = authUrl.toString();
82-
}
83-
});
84-
}
85-
86-
const issueId = this.dataset.issueid;
87-
const issueHasVoted = this.dataset.hasVoted === 'true';
88-
let isSuccess;
89-
90-
if (issueHasVoted) {
91-
isSuccess = await actions.unvote({ userId, issueId });
92-
} else {
93-
isSuccess = await actions.vote({ userId, issueId });
94-
}
95-
96-
if (isSuccess) {
97-
window.location.reload();
98-
}
99-
});
44+
</div>
45+
))
46+
}
47+
48+
<script>
49+
import { actions } from 'astro:actions';
50+
import { getCookie, setCookie } from '@libs/cookie';
51+
52+
const voteItems = document.querySelectorAll('.roadmap-card--content');
53+
let userId = getCookie('userId') as string;
54+
55+
voteItems.forEach((item) => {
56+
const btnVote = item.querySelector('.roadmap-card--vote-button');
57+
58+
btnVote?.addEventListener('click', async function (this: HTMLButtonElement) {
59+
if (!this.dataset.issueid) {
60+
throw new Error('ProjectID is missing');
61+
}
62+
63+
if (!userId) {
64+
actions.loginWithDatum().then((result: { data?: object }) => {
65+
if (!result.data) {
66+
return;
67+
}
68+
69+
const data = result.data as { authUrl: string; codeVerifier: string; nonce: string };
70+
const authUrl = new URL(data.authUrl);
71+
const codeVerifier = data.codeVerifier;
72+
const nonce = data.nonce;
73+
74+
if (!authUrl) {
75+
window.location.href = '/resources/roadmap';
76+
} else {
77+
setCookie('codeVerifier', codeVerifier ?? '', 60 * 24);
78+
setCookie('nonce', nonce ?? '', 60 * 24);
79+
setCookie('auth_redirect', window.location.href, 60 * 24);
80+
81+
window.location.href = authUrl.toString();
82+
}
83+
});
84+
}
85+
86+
const issueId = this.dataset.issueid;
87+
const issueHasVoted = this.dataset.hasVoted === 'true';
88+
let isSuccess;
89+
90+
if (issueHasVoted) {
91+
isSuccess = await actions.unvote({ userId, issueId });
92+
} else {
93+
isSuccess = await actions.vote({ userId, issueId });
94+
}
95+
96+
if (isSuccess) {
97+
window.location.reload();
98+
}
10099
});
101-
</script>
102-
</div>
100+
});
101+
</script>

0 commit comments

Comments
 (0)