Skip to content

feat: overhaul plugin UI/UX and update JSON export schema#3

Merged
findyourexit merged 3 commits into
mainfrom
findyourexit/ui-overhaul-inc-dtcg-schema
Nov 7, 2025
Merged

feat: overhaul plugin UI/UX and update JSON export schema#3
findyourexit merged 3 commits into
mainfrom
findyourexit/ui-overhaul-inc-dtcg-schema

Conversation

@findyourexit

Copy link
Copy Markdown
Owner

UI/UX Overhaul Inc. JSON Schema Update (DTCG Spec. Compliance)

Description

Overview

This PR represents a major overhaul of FigGit, introducing a completely redesigned user interface with DTCG-compliant schema support, migration from React to Preact, and significant UX improvements. The changes span architectural improvements, bug fixes, and enhanced documentation.

What's Changed

Architecture & Dependencies

  • Migrated from React to Preact for improved performance and smaller bundle size
  • Integrated @create-figma-plugin/ui for native Figma Desktop styling and automatic theme support
  • Updated JSON schema to fully adhere to DTCG specification v2025.10

UI/UX Improvements

  • Complete UI restructure with new tab-based layout:
    • Settings Tab: One-time configuration (repository, token, advanced options)
    • Export Tab: Primary workflow with action buttons and status summary
    • Preview Tab: JSON viewer and diff viewer for reviewing changes
  • Auto-export on plugin open to reduce time-to-commit steps
  • Enhanced diff viewer with syntax highlighting and collapsible sections
  • JSON viewer with copy functionality for easy token inspection
  • Fixed upstream Banner component icon vertical alignment issue

Bug Fixes

  • Fixed stale "View Diff" state caused by remote data cache persisting after commits
  • Improved state management in PluginContext to properly clear cached data

Documentation

  • Added FigGit logo to README.md
  • Updated README.md with comprehensive feature list and installation instructions
  • Updated coverage badge (94.51%)
  • Enhanced documentation for DTCG compliance (namely the schema example)

Testing

  • Added comprehensive test coverage for new utilities
  • Removed obsolete component and hook tests
  • Improved test configuration with updated Vitest setup

New Components & Utilities

New Components:

  • ActionButtons.tsx - Export and commit action controls
  • StatusSummary.tsx - Export status visualization
  • DiffViewer.tsx - Token-level change visualization
  • JsonViewer.tsx - Formatted JSON display with copy
  • TabLayout.tsx - Consistent tab-based navigation
  • Disclosure components for settings organization

New Utilities:

  • colorUtils.ts - DTCG-compliant color format conversion
  • dtcgUtils.ts - DTCG schema validation and transformation
  • Enhanced buildDtcgJson.ts - Full DTCG export implementation

Notes

  • This PR sets the foundation for future enhancements
  • The modular component architecture makes it easier to add new features
  • DTCG compliance ensures compatibility with industry-standard design token tools

…tabs along with matured JSON schema

- Updated JSON schema to adhere to DTCG specification.
- Fixed upstream issue with `Banner` component icon vertical alignment issue.
- Migrated from `react` -> `preact`.
- Introduced `@create-figma-plugin/ui` for supporting plugin UI alignment with Figma Desktop styling and theme support.
- Added auto-export on plugin open, to reduce time-to-commit required steps.
- Completely restructured the UI to improve UX, tucking away set-and-forget settings in a tab, enabling the user to focus on the export/commit of variables/design tokens.
@findyourexit findyourexit self-assigned this Nov 7, 2025
@findyourexit findyourexit added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Nov 7, 2025
@findyourexit
findyourexit merged commit 57a516a into main Nov 7, 2025
5 checks passed
@findyourexit
findyourexit deleted the findyourexit/ui-overhaul-inc-dtcg-schema branch November 7, 2025 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant