authorgravatar for saphid@gmail.comAlex Southwell <saphid@gmail.com> 2026-09-06 17:23:15+10:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-06 00:23:15-07:00
loge5d086c262daab13a8adbb253e281c07ab235533
treee86e0ae3bc4fd40da9477f2599b78fc04aae6a37
parent55333833ec260a5c9eefa05690086de768d6970c
signature Signed by PGP key B5690EEEBB952194

fix(marketing): present the Git workflow as an illustration (#10130)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

1 files changed, 16 insertions(+), 6 deletions(-)

apps/marketing/src/pages/index.astro+16-6
...@@ -205,7 +205,11 @@ const screenshot = await getImage({...@@ -205,7 +205,11 @@ const screenshot = await getImage({
205 <!-- ── Git ──────────────────────────────────────────────────── -->205 <!-- ── Git ──────────────────────────────────────────────────── -->
206 <section id="git" class="sec-git">206 <section id="git" class="sec-git">
207 <div class="container git-inner">207 <div class="container git-inner">
208 <div class="git-visual">208 <div
209 class="git-visual"
210 role="img"
211 aria-label="Illustration of the T3 Code Git workflow: review a diff, commit and push changes, and open a pull request."
212 >
209 <div class="pr-card tile">213 <div class="pr-card tile">
210 <div class="pr-head">214 <div class="pr-head">
211 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.2"/><circle cx="6" cy="18" r="2.2"/><circle cx="18" cy="6" r="2.2"/><path d="M6 8v8M18 8v5a3 3 0 01-3 3h-3M13 13l-2 3 2 3"/></svg>215 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.2"/><circle cx="6" cy="18" r="2.2"/><circle cx="18" cy="6" r="2.2"/><path d="M6 8v8M18 8v5a3 3 0 01-3 3h-3M13 13l-2 3 2 3"/></svg>
...@@ -223,11 +227,11 @@ const screenshot = await getImage({...@@ -223,11 +227,11 @@ const screenshot = await getImage({
223 <div><code>apps/marketing/public/hero.css</code> <span>+120 −36</span></div>227 <div><code>apps/marketing/public/hero.css</code> <span>+120 −36</span></div>
224 </div>228 </div>
225 <div class="pr-foot">229 <div class="pr-foot">
226 <button class="btn btn-ghost" style="font-size:12px;padding:6px 10px">View diff</button>230 <span class="btn btn-ghost" style="font-size:12px;padding:6px 10px">View diff</span>
227 <button class="btn btn-primary" style="font-size:12px;padding:6px 12px">231 <span class="btn btn-primary" style="font-size:12px;padding:6px 12px">
228 <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .5C5.65.5.5 5.65.5 12a11.5 11.5 0 007.86 10.93c.58.1.79-.25.79-.56v-2c-3.2.69-3.88-1.37-3.88-1.37-.52-1.33-1.27-1.69-1.27-1.69-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.68 1.25 3.33.96.1-.75.4-1.25.72-1.54-2.55-.29-5.24-1.27-5.24-5.67 0-1.25.45-2.28 1.18-3.08-.12-.29-.51-1.45.11-3.02 0 0 .96-.31 3.15 1.18a10.96 10.96 0 015.74 0c2.19-1.49 3.15-1.18 3.15-1.18.62 1.57.23 2.73.11 3.02.74.8 1.18 1.83 1.18 3.08 0 4.41-2.7 5.38-5.27 5.66.41.36.78 1.06.78 2.13v3.16c0 .31.21.67.8.56A11.5 11.5 0 0023.5 12C23.5 5.65 18.35.5 12 .5z"/></svg>232 <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .5C5.65.5.5 5.65.5 12a11.5 11.5 0 007.86 10.93c.58.1.79-.25.79-.56v-2c-3.2.69-3.88-1.37-3.88-1.37-.52-1.33-1.27-1.69-1.27-1.69-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.68 1.25 3.33.96.1-.75.4-1.25.72-1.54-2.55-.29-5.24-1.27-5.24-5.67 0-1.25.45-2.28 1.18-3.08-.12-.29-.51-1.45.11-3.02 0 0 .96-.31 3.15 1.18a10.96 10.96 0 015.74 0c2.19-1.49 3.15-1.18 3.15-1.18.62 1.57.23 2.73.11 3.02.74.8 1.18 1.83 1.18 3.08 0 4.41-2.7 5.38-5.27 5.66.41.36.78 1.06.78 2.13v3.16c0 .31.21.67.8.56A11.5 11.5 0 0023.5 12C23.5 5.65 18.35.5 12 .5z"/></svg>
229 Open pull request233 Open pull request
230 </button>234 </span>
231 </div>235 </div>
232 </div>236 </div>
233 <div class="pr-trail">237 <div class="pr-trail">
...@@ -236,11 +240,11 @@ const screenshot = await getImage({...@@ -236,11 +240,11 @@ const screenshot = await getImage({
236 <div class="pr-trail-dot"></div>240 <div class="pr-trail-dot"></div>
237 </div>241 </div>
238 <div class="pr-button-shell">242 <div class="pr-button-shell">
239 <button class="pr-button">243 <span class="pr-button">
240 <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.2"/><circle cx="6" cy="18" r="2.2"/><circle cx="18" cy="6" r="2.2"/><path d="M6 8v8M18 8v5a3 3 0 01-3 3h-3M13 13l-2 3 2 3"/></svg>244 <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.2"/><circle cx="6" cy="18" r="2.2"/><circle cx="18" cy="6" r="2.2"/><path d="M6 8v8M18 8v5a3 3 0 01-3 3h-3M13 13l-2 3 2 3"/></svg>
241 Commit &amp; push245 Commit &amp; push
242 <span id="pr-button-kbd" class="pr-button-kbd">⌘⏎</span>246 <span id="pr-button-kbd" class="pr-button-kbd">⌘⏎</span>
243 </button>247 </span>
244 </div>248 </div>
245 </div>249 </div>
246250
...@@ -902,6 +906,11 @@ const screenshot = await getImage({...@@ -902,6 +906,11 @@ const screenshot = await getImage({
902 align-items: stretch; gap: 20px;906 align-items: stretch; gap: 20px;
903 }907 }
904908
909 .git-visual .btn {
910 line-height: normal;
911 pointer-events: none;
912 }
913
905 .pr-card { padding: 20px; }914 .pr-card { padding: 20px; }
906 .pr-head {915 .pr-head {
907 display: flex; align-items: center; gap: 10px;916 display: flex; align-items: center; gap: 10px;
...@@ -955,6 +964,7 @@ const screenshot = await getImage({...@@ -955,6 +964,7 @@ const screenshot = await getImage({
955 padding: 12px 20px;964 padding: 12px 20px;
956 background: var(--fg); color: #09090b;965 background: var(--fg); color: #09090b;
957 font-weight: 600; font-size: 13px;966 font-weight: 600; font-size: 13px;
967 line-height: normal;
958 border-radius: 10px;968 border-radius: 10px;
959 box-shadow: 0 8px 24px -8px rgba(255, 255, 255, 0.2);969 box-shadow: 0 8px 24px -8px rgba(255, 255, 255, 0.2);
960 }970 }