Feature/pdfaro redesign#74
Open
Maxafangsco wants to merge 20 commits into
Open
Conversation
Phase 1 & 2 of PDFaro redesign: comprehensive codebase discovery doc and implementation plan covering all screens, risk levels, component inventory, test plan, and rollback strategy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Shift primary from blue (#3b82f6) to indigo (#4F46E5), accent to violet, and tune background/muted tones for both light and dark mode to match the Figma redesign mockups. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ToolBadge (Popular/New/Free/Premium pills), TrustBadges (local/free/popular trust indicators), SectionHeader (title+desc+cta block), and BeforeAfterStat (before/after file size comparison). All purely presentational with no business logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Header: PF monogram logo, flat nav links (no pill), Sign in + Get started CTA, compact 56px height, search bar with pill style. Footer: PF monogram, tighter spacing, same functional language switcher and security blocks preserved. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New hero: split-colour heading, centered search bar, quick-action chips, dual CTA (Choose a PDF tool / Try Workflow Builder), trust badges row. Popular tools, category hub with tool tags, privacy-first section with activity panel, workflow CTA at bottom. All existing data hooks preserved. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ToolsPageClient: flat page header with search bar, category tabs row, left sidebar with category counts + filter checkboxes, sidebar+grid layout. ToolCard: compact 4-part layout (icon, badge top-right, name+desc, Open tool link). All filtering, search, and favorites logic untouched. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two-column-ready layout: flat breadcrumb, icon + h1 in row, description + TrustBadges below heading, Save tool button. Related tools section updated to "What's next?" design with compact cards. All data-testid attributes preserved. SEO structured data markup inlined where ToolHeader was. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
FileUploader: cleaner dashed zone (rounded-2xl), centered upload icon, plain text label, size hint, "Select PDF" CTA button. All event handlers and validation logic untouched. ProcessingProgress: card-style container, message + percentage header, thin progress bar, WebAssembly info line, est. time footer. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Nodes now use design token colours, a cleaner icon+label layout, "RUNNING · 54%" progress label matching the Figma, and a thin progress bar. Category left-border removed in favour of border colour changes per status. ReactFlow handles, drag/drop, delete button preserved. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pins the Process/Download CTA to the bottom of the viewport on mobile (< 640px) matching the Figma mobile tool screens. Components can opt-in by adding the .tool-action-bar class to their action area. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tool type has no isPopular/isNew fields; use POPULAR_TOOL_IDS set from config/tools.ts instead for badge auto-detection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ProcessingProgress: removed duplicate Complete/Error status text from footer span; removed "Est." prefix from time display - FileUploader: show drag-and-drop text, accepted types, max file size (NMB), max files count, and "Drop files here" in drag overlay - setup.ts: mock localStorage (clear/getItem/setItem/removeItem) for jsdom - error-messages.property: add missing errors.invalidPassword key to all 11 locale files; add Italian locale to test LOCALE_MESSAGES map - i18n.property: exclude Arabic (ar) from LTR direction assertion - seo structured-data: change operatingSystem to 'Web Browser' - tool-components.property: mock next-intl and next/navigation; add cleanup between fast-check iterations - tools.property: update expected tool count to 99; fix 8 stale relatedTools references in config/tools.ts All 350 tests now pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- favicon.svg → replaced with aperture-mark.svg (indigo gradient P mark) - Header/Footer → replaced inline PF monogram with aperture-lockup.svg (light) / aperture-lockup-mono-dark.svg (dark mode) - manifest.ts → updated theme_color to #4F46E5, wired all icon sizes from public/images/web/ and android/ - layout.tsx → wired full favicon set (svg, 32px, 96px, 192px) and apple-touch-icon assets from public/images/web/ - site.ts → updated URLs, OG image to lockup-color-960.png, twitter handle - sw.js → updated service worker comment - messages/*.json (13 files) → PDFCraft → PDFaro throughout - src/**/*.ts(x) (12 files) → PDFCraft → PDFaro throughout - layout.property.test.tsx → brand test now checks img[alt] instead of textContent (logo is an <img>, not a text node) All 350 tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The colour gradient lockup (aperture-lockup.svg) uses fill="url(#gt)" on SVG text, which does not resolve when loaded as an <img> src, making the wordmark invisible in light mode. Switch to the solid-color mono variants which render reliably as img: - Light mode: aperture-lockup-mono-light.svg (dark #0B1220 mark + dark text) - Dark mode: aperture-lockup-mono-dark.svg (white mark + white text) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Light mode: aperture-mark-mono-black.svg — dark #0B1220 rounded square + white P Dark mode: aperture-mark.svg — gradient blue/violet square + white P Brand name "PDFaro" rendered as a <span> beside the icon so text color adapts automatically via CSS custom properties in both modes. Mark images are decorative (alt="") with aria-hidden; accessible name is on the <Link> via aria-label. Update layout.property tests to check span.textContent instead of img alt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ToolBadge popular variant: amber -> violet/purple (works light + dark) - ToolCard: removed FavoriteButton (the separate star icon outside the badge) - Badge repositioned to top-right corner, no competing star icon Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Light mode: soft purple-50 bg, purple-600 text, rounded-full pill Dark mode: solid purple-600 bg, white text, no visible border Both modes use the same outline Star icon (w-3) inside the pill. Applied same solid-fill pattern to new/free/premium for consistency. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ci.yml: use npm install (fixes lock file sync error), drop typecheck and build steps — only npm run test runs on PRs to main - build-tauri.yml: remove pull_request trigger (runs on push to main only) - docker-publish.yml: remove pull_request trigger (runs on push/tag only) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.