Ridd 🤿 Profile picture
Jun 24, 2021 8 tweets 4 min read Read on X
Building complex nested components is one of my favorite parts of working in @figmadesign

I love seeing how people think about the building blocks!

So this is me peeling back the curtain and showing you exactly how I built this menu component below 👇
First, let's visualize where we are going.

There's a lot happening here... 😳 Specifically, there are many different levels that future changes can be made within this component.

So let's start building with our smallest possible legos 👇 Image
01 // `IconType` component

We know that we'll have an icon for each question type and we know that we'll be wrapping them into an `IconType`to display in our rows.

So let's start here.

Pro tip: use the same layer names inside to preserve overrides when switching color 💪 Image
02 // `QuestionType`component

Next we want to build out an individual row within our questions menu

Notice how I'm using a .base component to power my variants? (thread below if you want to learn more!)

Also this is where I add my hover interaction 👍

Image
03 // `QuestionTypeMenu` component

Now we're ready to build the menu that is revealed onClick. We already have all of the pieces so it's as simple as assembling our legos into an auto layout and overriding the text/icons.

We can easily adjust the spacing as we add more types 💪 Image
04 // `QuestionsHeader` component

This is the final component that I'll use in the designs.

There are two states: 1) Default 2) Expanded (and I'm using interactive components to switch between them).

Note the fixed width of the component even in the expanded state! Image
If you like getting into the nitty gritty of building in Figma make sure you're on the list for @figmaacademy 😇

figma.academy
Benefits to using a "legos" approach like this 👇

1. I'm can nest interactions like hover states
2. I can make a single change at any level of the hierarchy and it populates everywhere
3. My end component is really simple! Only an open and closed state (which will match a code)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ridd 🤿

Ridd 🤿 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ridd_design

Jun 25
So I've been vibe coding a side project 😅

And I figured out a flow that's been working really well for me so I wanted to share

Here's my new playbook 👇
My current project is a proximity-based scheduling tool for my dad's insurance adjusting business

And the first thing I do is treat ChatGPT as my CTO and dump as much context as I can possibly think of for what I'm trying to build

But here's the important part...
Before hopping into Cursor I prompt ChatGPT to ask me questions to clarify its own understanding

It’ll generate a list of questions and then I’ll ramble about the answers using voice mode

We’ll run that loop 5 or 10 times until ChatGPT says it has a perfect understanding Image
Read 7 tweets
Sep 16, 2024
Why is it cool to hate on design systems? 🤔

I'm starting to think the pendulum has swung too far and we're missing the point...

Some thoughts 👇
I’ll admit… I never use the phrase “design system” anymore.

Somehow the term has become synonymous with scale

And one reason is b/c we're constantly referencing the biggest systems (Polaris, Spectrum, Material, etc.)

But our tools are also to blame 👇 Image
Many of Figma’s new features cater to enterprise customers (and it makes sense why 🤷‍♂️)

But what about YOUR product?

Do you reeeeally need to define typography primitives as variables?

So let's take a step back... b/c design systems don't have to be so "enterprise-y" 👇 Image
Read 12 tweets
Sep 6, 2024
The @outerbase website is an interesting case study in design trends right now

some (slightly nerdy) thoughts 👇
Idk when it happened exactly but dev tools have had a huge impact on web design trends over the last few years

But we reached a point where they all used glows, gradients, transparency, blurring, etc.

So it's interesting to see brands like Outerbase take a hard left 👇
Image
Image
They lean all the way in on this generative image style 👀

Some use cases I've seen before like using custom images to frame mockups

But they're also doing some things I've never seen before...
Image
Image
Read 10 tweets
Apr 18, 2024
I've been thinking too much about what it looks like to design with "soul" 💭

It's a tough concept to pin point.

But I think I've narrowed it down to 4 signals 👇
1 // Unreasonable quality

Designing with soul means at least one thing you ship will be unreasonably good... like WAY more than you're required to do.

The example that comes to mind is the Figjam unfurling interaction 👇

Talk about going beyond the brief...
There is no chance this was a requirement in a PRD.

Quality like this only comes from an "intrinsic place of motivation"

I can feel the care put into this interaction every time I drag a new sticky onto the canvas. That's what makes it memorable.
Read 9 tweets
Feb 26, 2024
It's taken me over 4 years...

But I think I finally have the perfect method for nailing ☀️/🌙 modes in @figma

Here's my step-by-step process 👇 Image
To create a themeable system like this I like to start with Tailwind's 50 → 950 scale

Then we update it in three phases:

1) Nail the hue (easy)
2) Pick your saturation level (easy)
3) Use UI to derive brightness values (this is where the magic happens)

Let's dive in 👇
1// Nail the hue

The best way to ensure your grays work well with your brand palette is to use the hue from your primary color

This is part of why it's so important to use HSB or HSL instead of hex codes (I'll use HSB in this walkthrough)

That sets us up for step 2 👇 Image
Read 17 tweets
Jan 25, 2024
What are we doing in Figma today that we’ll regret 6 months from now? 🤔

There's been some BIG regrets over the years...

And I think it's starting to happen again 👇 Image
Let's begin by looking at two of the biggest Figma regrets over the past few years

Then we can identify trends 🔍

Sound good? ✌️

The story starts in 2020 shortly after the release of variants...
Variants made it 10x easier to make components and swap between them.

So we made all the variants—literally every single possible combination 🤯

The larger the variant sets, the more painful they were to update, which led us to regret #1 👇 Image
Read 15 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(