Skip to content

Commit 26238c3

Browse files
committed
refactor: update testimonial data with new testimonials and correct author/source info
1 parent 3bb8188 commit 26238c3

File tree

3 files changed

+249
-158
lines changed

3 files changed

+249
-158
lines changed
Lines changed: 148 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,184 +1,226 @@
11
---
2+
const heroTestimonial = {
3+
author: 'cpursley',
4+
source: 'Discord',
5+
message:
6+
'Got a flow up and running, this is bad ass. I love that everything just goes into Postgres.',
7+
};
8+
29
const testimonials = [
310
{
4-
author: 'Revolutionary-Fact28',
5-
source: 'Reddit',
11+
author: 'nel',
12+
source: 'Discord',
613
message:
7-
'This looks amazing! I built a system on edge functions but it was very complicated and took so much time. I will probably switch to this.',
14+
'EdgeWorker is clearly a building block missing from supabase. I toyed with it locally for several days and it worked great.',
815
},
916
{
10-
author: 'CjHuber',
11-
source: 'Hacker News',
17+
author: 'Alipio Pereira',
18+
source: 'Discord',
1219
message:
13-
'Exactly what I was looking for without even knowing it. Thank you for saving me tons of time in my project.',
20+
"I'm really enjoying PQFlow — this is incredibly powerful! I'm implementing it in a flow with RAG.",
1421
},
1522
{
16-
author: 'bctreehugger',
17-
source: 'Reddit',
23+
author: 'Jie',
24+
source: 'Discord',
1825
message:
19-
'Amazing work on taking the initiative to build this out. Watching closely and looking forward to using it once my project has a need for it.',
26+
"I've been through hell and back with Airflow, Windmill, Inngest, etc and to be honest i haven't find anything I really love yet.",
2027
},
2128
{
22-
author: 'bota01',
29+
author: '_perhaps',
30+
source: 'Discord',
31+
message:
32+
'I was for a while now feeling like there had to be a better way of handling workflows on a supabase project without needing to add something like inngest or n8n to my tech stack. It clicked really hard when I found out about your project',
33+
},
34+
{
35+
author: 'TapTap2121',
2336
source: 'Reddit',
2437
message:
25-
"This is very needed and the product looks nice. Can't wait for it to be production ready.",
38+
"I was searching through the docs for something like this and I'm quite surprised it's not part of Supabase already. A queue feels kinda useless with serverless runners if I need to trigger them manually",
2639
},
2740
{
28-
author: 'Danish',
29-
source: 'Discord',
30-
message: 'Waiting for your amazing work to be production ready!',
41+
author: 'Revolutionary-Fact28',
42+
source: 'Reddit',
43+
message:
44+
'I built a system to this on edge functions but it was very complicated and took so much time this will be amazing! I will be probably switch to this.',
3145
},
3246
{
33-
author: 'tomaspozo_',
34-
source: 'Discord',
35-
message: 'This sounds awesome! Looking forward to see it.',
47+
author: 'CjHuber',
48+
source: 'Hacker News',
49+
message:
50+
'Exactly what I was looking for without even knowing it :) well I knew I need smt like this, but I thought I\'d had to build a very rudimentary version myself. Thank you for saving me tons of time',
3651
},
3752
{
38-
author: 'homj',
53+
author: 'enciso',
3954
source: 'Discord',
40-
message: "Sounds good, I'm looking forward to it!",
55+
message:
56+
'I was trying to build my own after having a couple of pgmq queues... you found a problem and you are giving a very good solution',
4157
},
4258
];
43-
44-
// Duplicate testimonials for seamless infinite scroll
45-
const duplicatedTestimonials = [...testimonials, ...testimonials];
4659
---
4760

48-
<div class="testimonial-carousel-wrapper">
49-
<div class="testimonial-track">
50-
{duplicatedTestimonials.map((testimonial, i) => (
61+
<div class="testimonials-section">
62+
<!-- Hero Testimonial -->
63+
<div class="testimonial-card hero">
64+
<blockquote class="testimonial-message">
65+
{heroTestimonial.message}
66+
</blockquote>
67+
<div class="testimonial-header">
68+
<div class="testimonial-author">@{heroTestimonial.author}</div>
69+
<div class="testimonial-source">{heroTestimonial.source}</div>
70+
</div>
71+
</div>
72+
73+
<!-- Grid of Remaining Testimonials -->
74+
<div class="testimonials-grid">
75+
{testimonials.map((testimonial) => (
5176
<div class="testimonial-card">
52-
<div class="testimonial-header">
53-
<div class="testimonial-author">@{testimonial.author}</div>
54-
<div class="testimonial-source">({testimonial.source})</div>
55-
</div>
5677
<blockquote class="testimonial-message">
5778
{testimonial.message}
5879
</blockquote>
80+
<div class="testimonial-header">
81+
<div class="testimonial-author">@{testimonial.author}</div>
82+
<div class="testimonial-source">{testimonial.source}</div>
83+
</div>
5984
</div>
6085
))}
6186
</div>
6287
</div>
6388

6489
<style>
65-
.testimonial-carousel-wrapper {
66-
width: 100vw;
67-
max-width: 100vw;
68-
position: relative;
69-
left: 50%;
70-
transform: translateX(-50%);
71-
overflow: hidden;
72-
padding: 2rem 0;
73-
margin-left: 0;
74-
margin-right: 0;
75-
mask-image: linear-gradient(
76-
to right,
77-
transparent,
78-
black 5%,
79-
black 95%,
80-
transparent
81-
);
82-
-webkit-mask-image: linear-gradient(
83-
to right,
84-
transparent,
85-
black 5%,
86-
black 95%,
87-
transparent
88-
);
90+
.testimonials-section {
91+
width: 100%;
92+
max-width: 1200px;
93+
margin: 0 auto;
94+
padding: 2rem 1rem;
8995
}
9096

91-
.testimonial-track {
92-
display: flex;
93-
align-items: stretch;
94-
gap: 2rem;
95-
animation: scroll-left 120s linear infinite;
96-
width: fit-content;
97+
/* Hero Testimonial */
98+
.testimonial-card.hero {
99+
margin: 0 auto 3rem auto;
100+
max-width: 700px;
101+
padding: 2rem 2.5rem;
102+
}
103+
104+
/* Grid Layout */
105+
.testimonials-grid {
106+
display: grid;
107+
grid-template-columns: repeat(3, 1fr);
108+
gap: 1.25rem;
109+
align-items: start;
110+
}
111+
112+
.testimonials-grid > .testimonial-card {
113+
height: 100%;
114+
align-self: stretch;
97115
}
98116

99-
@keyframes scroll-left {
100-
0% {
101-
transform: translateX(0);
117+
@media (max-width: 968px) {
118+
.testimonials-grid {
119+
grid-template-columns: repeat(2, 1fr);
102120
}
103-
100% {
104-
transform: translateX(-50%);
121+
}
122+
123+
@media (max-width: 640px) {
124+
.testimonials-grid {
125+
grid-template-columns: 1fr;
126+
gap: 1rem;
105127
}
106128
}
107129

130+
/* Base Card Styles - Starlight Aside inspired */
108131
.testimonial-card {
109-
min-width: 400px;
110-
max-width: 400px;
111-
padding: 1.5rem;
112132
background: linear-gradient(
113133
135deg,
114134
color-mix(in srgb, var(--sl-color-accent-high) 4%, transparent) 0%,
115135
color-mix(in srgb, var(--sl-color-accent-high) 1%, transparent) 100%
116136
);
117-
border: 1px solid color-mix(in srgb, var(--sl-color-accent-high) 16%, transparent);
118-
border-radius: 8px;
119-
box-shadow: 0 4px 12px color-mix(in srgb, var(--sl-color-accent-high) 3%, transparent);
120-
flex-shrink: 0;
137+
border-left: 3px solid color-mix(in srgb, var(--sl-color-accent-high) 50%, transparent);
138+
padding: 1.5rem 1.75rem;
121139
display: flex;
122140
flex-direction: column;
123-
justify-content: flex-start;
124-
align-items: flex-start;
141+
transition: border-left-color 0.2s ease;
142+
margin: 0;
143+
}
144+
145+
.testimonial-card:hover {
146+
border-left-color: var(--sl-color-accent-high);
125147
}
126148

149+
/* Hero card with less prominent border */
150+
.testimonial-card.hero {
151+
border-left-width: 4px;
152+
border-left-color: color-mix(in srgb, var(--sl-color-accent-high) 50%, transparent);
153+
}
154+
155+
/* Message Styles - Quote first */
156+
.testimonial-message {
157+
margin: 0;
158+
padding: 0 0 0.5rem 0;
159+
font-size: 1.1rem;
160+
line-height: 1.7;
161+
color: var(--sl-color-gray-2);
162+
font-style: italic;
163+
flex: 1;
164+
border: none;
165+
border-left: none;
166+
}
167+
168+
.testimonial-card.hero .testimonial-message {
169+
font-size: 1.45rem;
170+
line-height: 1.7;
171+
font-weight: 500;
172+
}
173+
174+
/* Header Styles - Author bottom right */
127175
.testimonial-header {
128176
display: flex;
129-
align-items: center;
130-
margin-bottom: 0.75rem;
177+
align-items: baseline;
178+
gap: 0.5rem;
179+
flex-wrap: wrap;
180+
justify-content: flex-end;
181+
flex-shrink: 0;
131182
}
132183

133184
.testimonial-author {
134-
font-weight: bold;
135-
font-size: 0.95rem;
185+
font-weight: 600;
186+
font-size: 1rem;
187+
color: var(--sl-color-white);
136188
}
137189

138190
.testimonial-source {
139-
font-size: 0.85rem;
191+
font-size: 0.9rem;
140192
color: var(--sl-color-gray-3);
141-
margin-left: 0.5rem;
142193
}
143194

144-
.testimonial-message {
145-
font-size: 1.05rem;
146-
font-style: italic;
147-
margin: 0;
148-
line-height: 1.6;
149-
color: var(--sl-color-gray-2);
195+
.testimonial-source::before {
196+
content: "·";
197+
margin-right: 0.5rem;
198+
color: var(--sl-color-gray-4);
150199
}
151200

152-
/* Pause animation on hover */
153-
.testimonial-carousel-wrapper:hover .testimonial-track {
154-
animation-play-state: paused;
201+
.testimonial-card.hero .testimonial-author {
202+
font-size: 1.1rem;
155203
}
156204

157-
@media (max-width: 768px) {
158-
.testimonial-card {
159-
min-width: 300px;
160-
max-width: 300px;
161-
padding: 1.25rem;
162-
}
163-
164-
.testimonial-message {
165-
font-size: 0.95rem;
166-
}
167-
168-
.testimonial-track {
169-
animation-duration: 80s;
170-
}
205+
.testimonial-card.hero .testimonial-source {
206+
font-size: 1rem;
171207
}
172208

173-
@media (max-width: 480px) {
209+
@media (max-width: 640px) {
174210
.testimonial-card {
175-
min-width: 260px;
176-
max-width: 260px;
177-
padding: 1rem;
211+
padding: 1rem 1.25rem;
212+
}
213+
214+
.testimonial-card.hero {
215+
padding: 1.25rem 1.5rem;
178216
}
179217

180218
.testimonial-message {
181219
font-size: 0.9rem;
182220
}
221+
222+
.testimonial-card.hero .testimonial-message {
223+
font-size: 1rem;
224+
}
183225
}
184226
</style>

pkgs/website/src/content/docs/index.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,7 @@ npx pgflow@latest install
384384
</Card>
385385
</CardGrid>
386386

387-
## What Developers Are Saying
388-
389-
*Real comments after seeing early demos*
387+
## What Developers Say
390388

391389
<TestimonialCarousel />
392390

0 commit comments

Comments
 (0)