Onepage - Tagline Element Editor
Tous les projets

Onepage · 2025

Onepage - Tagline Element Editor

Publié
Onepage - Tagline Element Editor logo
ReactTypeScriptMobXViteCSS Modulesdnd-kitnanoid

Aperçu

Onepage is a no-code website and landing page builder used by 14,000+ customers. The test task required building an interactive editor for the Tagline element, following a Figma design and implementing all unspecified states through independent UI judgment. The result is a split-view editor: a canvas preview renders tag chips in a flex-wrap layout with live style updates, while a floating panel (absolutely positioned next to the element) provides three sub-panels - a tag list with drag-and-drop reordering, a create/edit item form, and a full styles panel (4 variants, 5 sizes, 5 border-radius options, 3 alignment modes). Every mutation simulates a POST to a mock API endpoint. Architecture was designed for extensibility: adding new element types, controls, or style parameters requires no structural changes.

Le défi

The task explicitly evaluated scalable architecture - the code had to be structured so that new element types, panel controls, and style parameters could be added without refactoring. UI decisions for states not covered in the Figma (hover, empty states, edge cases) were left to developer judgment.

La solution

Built with React 19 + TypeScript + MobX (stack required by the task). Domain stores (TaglineStore, UIStore) keep state clean and reactive. @dnd-kit handles drag-and-drop in both the sidebar list and the preview. CSS Modules provide scoped styling. The panel system is component-driven - each sub-panel is an independent slice, making the architecture straightforward to extend.

Mon rôle

Sole developer - designed and built the entire application as a technical test assignment for the Front-end Engineer position at Onepage.

Résultats

  • Panneau de paramètres flottant avec 3 sous-panneaux navigables (liste, créer/modifier, styles)
  • Aperçu en direct avec synchronisation de style en temps réel sur tous les 4 variantes, 5 tailles, 5 rayons
  • Réorganisation par glisser-déposer des balises dans la liste de la barre latérale et l'aperçu du canevas
  • Persistance API simulée - POST déclenché à chaque mutation
  • Architecture extensible - les nouveaux types d'éléments et les contrôles s'ajoutent sans refactorisation

Stack technique

Projet similaire ?

Discutons de vos besoins et construisons quelque chose de remarquable.

Démarrer un projet