--- tags: v3, design, pattern library --- # Summon App UX Spec Review and Pattern Library Update (3/16/2022) ## Summon App UX Spec - Overview: - Summoning flow for Baal in v3 - Will need to iterate/refine tooltips and messaging - Began extracting form elements - Components included to pull to library: - WalletConnect - SwitchChain - Form elements: - - UX User Flows: - Connect/disconnect - Knowing when to switch chains - Development Notes: - Functional implementation notes, such as character limit on name when interacting with Baal - Form validation included - If we reuse validation, can move into a util library ### Questions - Voting/Non-voting Stake Names - What do we want to call these? `vSTK` & `nVSTK` - Also considering `units` and `loot` - Loot is derivative of initial name (ie Voting Stake and Non-voting Stake) - This means that `votingStake` `votingStake-loot` in contract - Can display however needed on frontend ## Pattern Library Update - Extracing components from the other UI specs, focusing on global components used across apps - Pattern library design tokens and variants: - Font sizes - Body typography - Workflow: - Page in work that is "Near Complete" - Includes specs and notes - New components will be in the "Component Library" section in each spec, and then move into the *Pattern Library* Figma - Noting variants as they go. For example: - Input - Default - WithAddress - WithErrors - WithValidation - Pattern Library changes -> publish to all Figma instances - Foundation theme tokens: - Light/dark support in all apps - Moving away from every DAO customing their pages -- instead aligning around a light/dark mode ## utils package notes - Mental model: As soon as we copy/paste we abstract and add to a package - when do we want to split out from a `commons` package into more specific ones? - May eed seperate repo for data, legos, constants: not dynamic. Give ability to pull from same spot. Should this be in SDK? - Libary input just data piece? - Seperate imports per macro - Robust component library should be able to break down into meanigful pieces - add directories inside `src` - legos build form, add validation and handle contract transactions - keep it modular for both simple and complex. Some people may want to just it themselves - Dream: GUI to put it together. Get the machine to type out the data - Component library uses form builder library - reliability and convenience