Skip to content

Add logo and i18n, refresh UI design#6

Merged
Tiryoh merged 13 commits intomainfrom
add-logo
Mar 24, 2026
Merged

Add logo and i18n, refresh UI design#6
Tiryoh merged 13 commits intomainfrom
add-logo

Conversation

@Tiryoh
Copy link
Copy Markdown
Owner

@Tiryoh Tiryoh commented Mar 17, 2026

Summary

  • refresh the app UI with a new header, spacing, color palette, and responsive table/filter layouts
  • add Japanese/English i18n with a language toggle and persisted locale selection
  • improve upload and diagnostics interactions while keeping the logo/favicon/README branding updates

What Changed

  • redesigned src/App.tsx around the new visual system, including the upload area, tabs, filters, stats, export actions, empty states, and mobile-friendly table controls
  • added src/i18n.ts and wired translated strings throughout the UI
  • updated src/index.css, tailwind.config.js, and src/types.ts to support the new theme tokens and component styling
  • stabilized Playwright coverage with locale pinning and updated selectors/assertions in e2e/app.spec.ts
  • consolidated logo usage so the app serves /logo.png from public/logo.png, while README.md continues to reference public/logo.png
  • merged the latest origin/main into this branch to prepare for review/merge

Verification

  • npm run build
  • npm run lint
  • npm run test
  • npm run test:e2e

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 17, 2026

Test Results

42 tests  ±0   42 ✅ ±0   0s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit f01907a. ± Comparison against base commit 2baaea3.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 17, 2026

Tiryoh and others added 5 commits March 20, 2026 22:29
- Replace Vite favicon with custom logo.png
- Display logo image next to title in the app header
- Add centered logo at the top of README.md

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Stack logo and title vertically on mobile, horizontal on sm+
- Larger logo on mobile (w-20), smaller text (text-3xl)
- Center-align on mobile, left-align on desktop

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Show logo as standalone centered image preserving aspect ratio
- Remove redundant h1 title (already in logo image)
- Fix squished logo caused by forced square dimensions

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Update from web_rosbag_analyzer to rosbag-analyzer-web to match
the renamed repository.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
The logo image contains the title text visually, but a hidden h1
is needed for screen readers and e2e test compatibility.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Tiryoh and others added 5 commits March 20, 2026 22:30
- Redesign with custom color palette (brand/surface), Outfit + IBM Plex Mono fonts, grid background, animations, and improved dark mode
- Add i18n with JA/EN toggle, auto-detection from browser locale, and localStorage persistence
- Pin Playwright locale to en-US for consistent e2e tests

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Drop external Outfit and IBM Plex Mono font loading from
Google Fonts for faster page loads and improved privacy.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@Tiryoh Tiryoh changed the title Add logo to site header, favicon, and README Refresh UI, add JA/EN i18n, and improve upload/diagnostics interactions Mar 24, 2026
Tiryoh added 2 commits March 24, 2026 23:03
Add an ESLint config for the merged TypeScript workspace and replace sqlite-related any usage so the branch stays build, test, and lint ready after merging origin/main.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes the React/Tailwind UI, introduces JA/EN i18n with a persisted language toggle, and updates upload/diagnostics interactions and Playwright selectors to match the new UI.

Changes:

  • Add a lightweight i18n hook (useI18n) with EN/JA dictionaries and wire translated strings through the UI.
  • Redesign App.tsx layout/styles (header, upload area, tabs, filters, tables, empty states) and update theme tokens via Tailwind + CSS.
  • Stabilize Playwright E2E by pinning locale and updating selectors/assertions to match the redesigned UI.

Reviewed changes

Copilot reviewed 11 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tailwind.config.js Adds brand/surface color scales, font stacks, and enables dark mode via media.
src/types.ts Updates severity/diagnostic color class mappings to use new theme tokens + dark variants.
src/rosbagUtils.ts Adds more explicit TypeScript payload/result types and improves topic listing when none found.
src/index.css Reworks base styles and adds grid background + small UI animations.
src/i18n.ts Introduces EN/JA dictionaries and useI18n() hook (lang detection + formatting).
src/App.tsx Major UI redesign; adds language toggle, new upload UI, refreshed filters/tables/exports, better diagnostics expand controls.
playwright.config.ts Pins Playwright locale to en-US for stable i18n-dependent tests.
index.html Switches favicon to /logo.png.
e2e/app.spec.ts Updates selectors/assertions for the redesigned UI and adds a couple of new checks.
README.md Adds centered logo at top of README.
CLAUDE.md Adds repo guidance/documentation for Claude Code.
.eslintrc.cjs Adds ESLint configuration aligned to TS + react-hooks + react-refresh.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread e2e/app.spec.ts
@@ -26,8 +26,13 @@ test.describe('Initial page', () => {
await expect(page.getByText('ROSbag Analyzer')).toBeVisible();
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This assertion expects the “ROSbag Analyzer” text to be visible, but in the updated UI the only occurrence is the sr-only heading (not visually visible). This test will likely fail; assert the page title (toHaveTitle) or assert the visible logo/image (or use getByRole('heading', ...) with includeHidden: true if you want to keep the sr-only heading check).

Suggested change
await expect(page.getByText('ROSbag Analyzer')).toBeVisible();
await expect(page).toHaveTitle(/ROSbag Analyzer/);

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test passes as-is. Tailwind's sr-only does not use display: none — it renders a 1x1px element that remains in the DOM, so Playwright's toBeVisible() succeeds. No change needed.

Comment thread src/i18n.ts
Comment thread src/App.tsx Outdated
- Wrap localStorage access in try/catch for sandboxed environments
- Fix onDrop handler to preventDefault and process dropped files

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@Tiryoh Tiryoh changed the title Refresh UI, add JA/EN i18n, and improve upload/diagnostics interactions Add logo and i18n, refresh UI design Mar 24, 2026
@Tiryoh Tiryoh merged commit 884ed9a into main Mar 24, 2026
8 checks passed
@Tiryoh Tiryoh deleted the add-logo branch March 24, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants