Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
6b035e7
Redesign codexbar.app landing page with updated hero and sections.
vyctorbrzezowski Jun 29, 2026
93979ab
feat(landing): add section container and improve hero title wrapping.
vyctorbrzezowski Jun 29, 2026
e0d5d5c
feat(landing): redesign features section as three-card grid.
vyctorbrzezowski Jun 29, 2026
6e68ec9
feat(landing): add CLI section with split terminal layout.
vyctorbrzezowski Jun 29, 2026
22fd66a
feat(landing): add widgets section with macOS gallery mock.
vyctorbrzezowski Jun 29, 2026
81e0ba6
chore(landing): add CodexBar widget preview PNG assets.
vyctorbrzezowski Jun 29, 2026
0c67e20
feat(landing): wire widget gallery with scroll and real previews.
vyctorbrzezowski Jun 29, 2026
b2c89e0
fix(landing): color CLI privacy footnote icon #0099ff.
vyctorbrzezowski Jun 29, 2026
8aff0d2
fix(landing): color CLI meter blocks #0099ff.
vyctorbrzezowski Jun 29, 2026
19d827b
fix(landing): align feature card visuals across the grid.
vyctorbrzezowski Jun 29, 2026
987eba8
fix(landing): use filled shield-check for CLI privacy footnote.
vyctorbrzezowski Jun 29, 2026
9f284fd
fix(landing): expand widget gallery to full sheet height with fade.
vyctorbrzezowski Jun 29, 2026
609606f
fix(landing): bottom-align feature card copy above visuals.
vyctorbrzezowski Jun 29, 2026
c3290e9
fix(landing): slightly enlarge CLI privacy footnote icon.
vyctorbrzezowski Jun 29, 2026
d6297da
fix(landing): cap widget sheet height and scroll gallery inside.
vyctorbrzezowski Jun 29, 2026
c781eed
fix(landing): tighten CLI privacy footnote icon spacing.
vyctorbrzezowski Jun 29, 2026
d7cf4fc
fix(landing): update widget gallery labels and row order.
vyctorbrzezowski Jun 29, 2026
86e3434
fix(landing): right-align widgets copy toward the gallery mock.
vyctorbrzezowski Jun 29, 2026
33a6a80
fix(landing): bleed widget gallery fade to main pane edges.
vyctorbrzezowski Jun 29, 2026
e3ac57a
fix(landing): standardize widget image-to-label spacing.
vyctorbrzezowski Jun 29, 2026
af49a9a
fix(landing): hide widget gallery fade at scroll bottom.
vyctorbrzezowski Jun 29, 2026
e1e1044
fix(landing): soften widget preview edge fringing in CSS.
vyctorbrzezowski Jun 29, 2026
2ff31d2
fix(landing): restore widget gallery family row order.
vyctorbrzezowski Jun 29, 2026
3a770ba
fix(landing): remove bottom padding from widget gallery pane.
vyctorbrzezowski Jun 29, 2026
feb43d3
fix(landing): keep widget gallery scrollbar above scroll fade.
vyctorbrzezowski Jun 29, 2026
633be65
fix(landing): balance widgets lead copy and avoid orphan line.
vyctorbrzezowski Jun 29, 2026
2d3bd71
chore(landing): add feature section preview PNG assets.
vyctorbrzezowski Jun 29, 2026
070fb2b
feat(landing): wire feature card visuals with preview images.
vyctorbrzezowski Jun 29, 2026
f42056e
fix(landing): keep features heading on one line.
vyctorbrzezowski Jun 29, 2026
7bcace8
fix(landing): correct feature card image order.
vyctorbrzezowski Jun 29, 2026
a9fdb49
fix(landing): update status feature image dimensions.
vyctorbrzezowski Jun 29, 2026
d802d6f
Refine landing feature mockups
vyctorbrzezowski Jun 29, 2026
dbd3c5b
Tune credit header spacing
vyctorbrzezowski Jun 29, 2026
8c95e81
Update ElevenLabs CLI plan label
vyctorbrzezowski Jun 29, 2026
66934fb
Checkpoint desktop landing mockups
vyctorbrzezowski Jun 29, 2026
fa28120
Polish mobile landing layout
vyctorbrzezowski Jun 29, 2026
267ecd0
Localize landing mockup copy
vyctorbrzezowski Jun 29, 2026
2e85c9a
Tighten localized landing responsiveness
vyctorbrzezowski Jun 29, 2026
4199074
Balance localized hero headline
vyctorbrzezowski Jun 29, 2026
16d111b
Fix mobile provider grid
vyctorbrzezowski Jun 29, 2026
e1c70d5
fix(landing): tune hero mockup layout and hide dev tuner.
vyctorbrzezowski Jun 29, 2026
2d51aa7
feat(landing): refactor hero HUD and finalize mobile mockup layout.
vyctorbrzezowski Jun 29, 2026
602233e
docs(landing): vendor hero HUD image assets locally.
vyctorbrzezowski Jun 29, 2026
f954514
fix(landing): extend mobile hero to 768px and align tuner.
vyctorbrzezowski Jun 29, 2026
6aaf740
fix(i18n): restore {break} tokens in ar/fa/th provider titles.
vyctorbrzezowski Jun 29, 2026
f6a2ce3
feat(landing): add hero-mockup.svg MacBook artboard asset.
vyctorbrzezowski Jun 29, 2026
a044578
feat(landing): SVG hero, section-inner copy, and tuner audit v2.
vyctorbrzezowski Jun 29, 2026
72f8942
fix(landing): widen tuner ranges for panel and HUD sliders.
vyctorbrzezowski Jun 29, 2026
ff43b9f
feat(landing): bake desktop hero tune and add responsive layout appli…
vyctorbrzezowski Jun 29, 2026
bd0fdcf
feat(landing): swap menubar GitHub icon for OpenClaw favicon.
vyctorbrzezowski Jun 29, 2026
3b0c9fc
fix(landing): preserve OpenClaw eyes in menubar icon.
vyctorbrzezowski Jun 29, 2026
e22d13c
fix(landing): restore menubar gap unit and scale compensation.
vyctorbrzezowski Jun 29, 2026
69e63f2
feat(landing): pin mockup right edge 50px from viewport on resize.
vyctorbrzezowski Jun 29, 2026
91422ec
fix(landing): stop aplicator from overriding the 1920 desktop tune.
vyctorbrzezowski Jun 29, 2026
4a109c1
refactor(landing): anchor HUD to mockup SVG top-right with panel belo…
vyctorbrzezowski Jun 29, 2026
5ff221e
fix(landing): correct HUD margin defaults and scale menubar to artboard.
vyctorbrzezowski Jun 29, 2026
bcc135a
Polish landing hero layouts, mobile tuner, and feature compositions.
vyctorbrzezowski Jun 29, 2026
5e31414
fix(landing): trim desktop hero height and balance hero description c…
vyctorbrzezowski Jun 29, 2026
44f5232
refactor(landing): remove dev tuner and drop unused hero raster assets.
vyctorbrzezowski Jun 29, 2026
ae968d6
Remove unused openclaw.svg menubar asset.
vyctorbrzezowski Jun 29, 2026
761df3c
Compress feature images to WebP for faster home page loads.
vyctorbrzezowski Jun 29, 2026
a192e81
fix(landing): ship extracted redesign CSS and JS with slim index.html.
vyctorbrzezowski Jun 29, 2026
336b8a9
fix(landing): restore module-level root after tuner removal.
vyctorbrzezowski Jun 29, 2026
761804c
chore(landing): swap hero mockup SVG for notchless MacBook Air art.
vyctorbrzezowski Jun 29, 2026
46bf36c
docs: regenerate llms.txt after landing title update.
vyctorbrzezowski Jun 29, 2026
350c35f
feat: harden landing page redesign
steipete Jul 1, 2026
7825ce6
docs: anonymize landing page examples
steipete Jul 1, 2026
4c41840
docs: restore provider navigation
steipete Jul 1, 2026
6692ab9
Fix landing preview load polish
vyctorbrzezowski Jul 2, 2026
ec558a0
Merge main into landing redesign
vyctorbrzezowski Jul 2, 2026
df01933
chore: merge current main into landing redesign
steipete Jul 3, 2026
c6566a5
docs: regenerate website index
steipete Jul 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ __pycache__/

# Debug/analysis docs
docs/*-analysis.md
docs/.viewport-audit/
docs/.astro/

# Swift Package Manager metadata (leave sources tracked)
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## 0.38.1 — Unreleased

### Changed
- Website: redesign codexbar.app around faster download, provider discovery, feature, CLI, and widget paths with responsive dark/light and localized layouts. Thanks @vyctorbrzezowski!

## 0.38.0 — 2026-07-03

### Added
Expand Down
11 changes: 11 additions & 0 deletions Scripts/build-site-css.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"

npx --yes tailwindcss@3.4.19 \
--config Scripts/tailwind.site.config.cjs \
--input Scripts/site-tailwind.input.css \
--output docs/site-utilities.css \
--minify
24 changes: 15 additions & 9 deletions Scripts/check-site-locales.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ import { localeCatalog, localeMessages } from "../docs/site-locales.mjs";

const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
const indexHtml = fs.readFileSync(path.join(repoRoot, "docs/index.html"), "utf8");
assert(!indexHtml.includes("cdn.tailwindcss.com"), "site must not load Tailwind from a runtime CDN");
for (const match of indexHtml.matchAll(/<link rel="stylesheet" href="\.\/([^"?]+)(?:\?[^"']*)?"/g)) {
assert(fs.existsSync(path.join(repoRoot, "docs", match[1])), `missing local stylesheet ${match[1]}`);
}
const expectedCodes = [
"en", "zh-CN", "zh-TW", "ja-JP", "es", "pt-BR", "ko", "de", "fr", "ar", "it",
"vi", "nl", "tr", "uk", "id", "pl", "fa", "th", "ca", "sv",
Expand Down Expand Up @@ -48,20 +52,22 @@ for (const key of referencedKeys) {
assert(englishKeys.includes(key), `index.html references unknown locale key ${key}`);
}

const optionMatches = [...indexHtml.matchAll(/<option value="([^"]+)">([^<]+)<\/option>/g)];
assertEqual(optionMatches.map((match) => match[1]), catalogCodes, "language selector locales");
assertEqual(optionMatches.map((match) => match[2]), localeCatalog.map((locale) => locale.name), "language selector labels");
const siteJs = fs.readFileSync(path.join(repoRoot, 'docs/site.js'), 'utf8');
const hasLanguagePicker = indexHtml.includes('id="language-picker-list"')
&& (indexHtml.includes('localeCatalog') || siteJs.includes('localeCatalog'));
assert(hasLanguagePicker, 'site must include the language picker backed by localeCatalog');

for (const code of catalogCodes) {
assert(indexHtml.includes(`href="https://codexbar.app/?lang=${code}"`), `missing hreflang URL for ${code}`);
}

const providerCards = [...indexHtml.matchAll(/<a class="provider([^"]*)"[^>]*>([\s\S]*?)<\/a>/g)];
for (const [, classes, body] of providerCards) {
if (!classes.split(/\s+/).includes("add")) {
assert(body.includes('class="chip-logo'), "provider cards must use logo assets instead of text placeholders");
for (const match of body.matchAll(/(?:src|data-dark-src)="\.\/([^"]+)"/g)) {
assert(fs.existsSync(path.join(repoRoot, "docs", match[1])), `missing provider logo asset ${match[1]}`);
const providerCards = [...indexHtml.matchAll(/<li class="provider-card"([^>]*)>([\s\S]*?)<\/li>/g)];
for (const [, attrs, body] of providerCards) {
if (!attrs.includes('hidden')) {
assert(body.includes('class="provider-card-link"'), 'provider cards must link to provider documentation');
assert(body.includes('class="provider-logo'), 'provider cards must use logo assets');
for (const match of body.matchAll(/src="\.\/([^"]+)"/g)) {
assert(fs.existsSync(path.join(repoRoot, 'docs', match[1])), `missing provider logo asset ${match[1]}`);
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions Scripts/site-tailwind.input.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
14 changes: 14 additions & 0 deletions Scripts/tailwind.site.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
content: ["./docs/index.html", "./docs/site.js"],
theme: {
extend: {
screens: {
tablet: "769px",
},
fontFamily: {
sans: ["Inter", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
mono: ["SFMono-Regular", "SF Mono", "Menlo", "monospace"],
},
},
},
};
Binary file added docs/features/feature-credits.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/features/feature-resets.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/features/feature-status.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions docs/hero-mockup.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/images/apple.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/menubar/github-circle-fill.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/images/menubar/openclaw-menubar.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/menubar/person-circle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/menubar/personalhotspot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/menubar/wifi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading