<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JealousGx</title>
    <description>The latest articles on DEV Community by JealousGx (@jealousgx).</description>
    <link>https://dev.to/jealousgx</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F634105%2F77afcdc9-854f-4233-888d-ce2d26ea8059.jpeg</url>
      <title>DEV Community: JealousGx</title>
      <link>https://dev.to/jealousgx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jealousgx"/>
    <language>en</language>
    <item>
      <title>Why Clients Don’t Hire the Most Skilled Freelancer</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Thu, 26 Mar 2026 05:02:19 +0000</pubDate>
      <link>https://dev.to/jealousgx/why-clients-dont-hire-the-most-skilled-freelancer-5eo3</link>
      <guid>https://dev.to/jealousgx/why-clients-dont-hire-the-most-skilled-freelancer-5eo3</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;A common assumption in freelancing is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“If I improve my skills, I’ll get more clients.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It sounds logical. But in practice, it’s often incomplete.&lt;/p&gt;

&lt;p&gt;Many highly skilled freelancers still struggle to get replies, while others with average technical ability consistently land projects.&lt;/p&gt;

&lt;p&gt;The difference is rarely skill alone.&lt;/p&gt;

&lt;p&gt;It’s clarity.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Reality of Client Behavior
&lt;/h3&gt;

&lt;p&gt;Clients don’t analyze profiles deeply.&lt;/p&gt;

&lt;p&gt;They don’t carefully compare every freelancer.&lt;/p&gt;

&lt;p&gt;They scan.&lt;/p&gt;

&lt;p&gt;In a few seconds, they try to answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does this person do?&lt;/li&gt;
&lt;li&gt;Can they solve my problem?&lt;/li&gt;
&lt;li&gt;Do I trust them enough to message them?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your profile doesn’t answer these questions quickly, the client moves on.&lt;/p&gt;

&lt;p&gt;No matter how skilled you are.&lt;/p&gt;




&lt;h3&gt;
  
  
  Why Skill Alone Isn’t Enough
&lt;/h3&gt;

&lt;p&gt;Most freelance profiles focus heavily on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;technologies (React, Node, Python)&lt;/li&gt;
&lt;li&gt;long descriptions&lt;/li&gt;
&lt;li&gt;generic claims&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But this creates a problem.&lt;/p&gt;

&lt;p&gt;From a client’s perspective, many profiles start to look identical.&lt;/p&gt;

&lt;p&gt;And when everything looks the same, nothing stands out.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Role of Clarity
&lt;/h3&gt;

&lt;p&gt;Clarity is what turns a profile into a conversion tool.&lt;/p&gt;

&lt;p&gt;A clear profile:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;communicates a specific service&lt;/li&gt;
&lt;li&gt;highlights outcomes instead of tools&lt;/li&gt;
&lt;li&gt;removes unnecessary complexity&lt;/li&gt;
&lt;li&gt;makes it easy for the client to understand value&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clarity reduces friction.&lt;/p&gt;

&lt;p&gt;And lower friction leads to more replies.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Clear Positioning Looks Like
&lt;/h3&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Full-stack developer with experience in multiple technologies”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A clearer version would be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I help SaaS startups build scalable web applications using modern full-stack architecture.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second version answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who you help&lt;/li&gt;
&lt;li&gt;what you do&lt;/li&gt;
&lt;li&gt;what kind of outcome to expect&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s what clients are looking for.&lt;/p&gt;




&lt;p&gt;Small Changes, Big Impact&lt;/p&gt;

&lt;p&gt;One of the most overlooked aspects of freelancing is how small improvements can significantly change results.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rewriting your headline&lt;/li&gt;
&lt;li&gt;improving the first 2–3 lines of your profile&lt;/li&gt;
&lt;li&gt;structuring your proposals better&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These changes don’t require new skills.&lt;/p&gt;

&lt;p&gt;But they can improve how clients perceive you.&lt;/p&gt;




&lt;p&gt;What I Noticed While Building a Tool&lt;/p&gt;

&lt;p&gt;While working on &lt;a href="https://gigscale.app" rel="noopener noreferrer"&gt;GigScale&lt;/a&gt;, I reviewed many freelancer profiles.&lt;/p&gt;

&lt;p&gt;A clear pattern emerged:&lt;/p&gt;

&lt;p&gt;Most freelancers were capable.&lt;/p&gt;

&lt;p&gt;But their profiles didn’t communicate their value effectively.&lt;/p&gt;

&lt;p&gt;Once clarity improved, their positioning improved — and so did their chances of getting replies.&lt;/p&gt;




&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;Freelancing is not just about being skilled.&lt;/p&gt;

&lt;p&gt;It’s about being understood.&lt;/p&gt;

&lt;p&gt;You don’t need to be the best freelancer in the world.&lt;/p&gt;

&lt;p&gt;You need to be the clearest one in front of the client.&lt;/p&gt;

&lt;p&gt;Because in most cases, the freelancer who gets hired is not the most skilled.&lt;/p&gt;

&lt;p&gt;It’s the one who makes the decision easiest.&lt;/p&gt;

</description>
      <category>freelance</category>
      <category>webdev</category>
      <category>sass</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Most SaaS Apps Fail After Launch</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Mon, 23 Feb 2026 14:58:22 +0000</pubDate>
      <link>https://dev.to/jealousgx/why-most-saas-apps-fail-after-launch-5808</link>
      <guid>https://dev.to/jealousgx/why-most-saas-apps-fail-after-launch-5808</guid>
      <description>&lt;p&gt;Most SaaS products don't fail because the idea is bad.&lt;br&gt;
They fail because they were never engineered to scale.&lt;br&gt;
In the early days, everything looks fine. The app works. Users sign up. Feedback is positive.&lt;br&gt;
Then growth happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  And the cracks start to show.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Built for Demo, Not for Production
&lt;/h3&gt;

&lt;p&gt;Many early-stage products are built to validate an idea quickly. That's good.&lt;br&gt;
But the problem starts when demo-level code becomes production code.&lt;br&gt;
Common issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardcoded logic&lt;/li&gt;
&lt;li&gt;Poor folder structure&lt;/li&gt;
&lt;li&gt;No proper error handling&lt;/li&gt;
&lt;li&gt;No logging or monitoring&lt;/li&gt;
&lt;li&gt;No clear separation of concerns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What worked for 20 users becomes unstable at 200.&lt;br&gt;
A production-ready system requires intentional architecture - not just functional code.&lt;/p&gt;




&lt;h3&gt;
  
  
  No Scalability Planning
&lt;/h3&gt;

&lt;p&gt;Scalability is rarely an afterthought. It's either designed in from the beginning or painfully retrofitted later.&lt;br&gt;
Typical mistakes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blocking operations in APIs&lt;/li&gt;
&lt;li&gt;No caching strategy&lt;/li&gt;
&lt;li&gt;No rate limiting&lt;/li&gt;
&lt;li&gt;No background job processing&lt;/li&gt;
&lt;li&gt;No thought about concurrent users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A system that works locally doesn't automatically work under load.&lt;br&gt;
Full-stack scalability means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Optimized frontend rendering&lt;/li&gt;
&lt;li&gt;Efficient API structure&lt;/li&gt;
&lt;li&gt;Proper database indexing&lt;/li&gt;
&lt;li&gt;Thoughtful cloud deployment&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Poor Database Design
&lt;/h3&gt;

&lt;p&gt;Your database is the foundation of your SaaS.&lt;br&gt;
If your schema is messy, everything on top of it becomes fragile.&lt;br&gt;
Common problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing indexes&lt;/li&gt;
&lt;li&gt;Unoptimized queries&lt;/li&gt;
&lt;li&gt;Over-fetching data&lt;/li&gt;
&lt;li&gt;Incorrect relationships&lt;/li&gt;
&lt;li&gt;No normalization strategy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the database struggles, users feel it instantly:&lt;br&gt;
 Slow dashboards.&lt;br&gt;
 Delayed responses.&lt;br&gt;
 Random timeouts.&lt;br&gt;
And users don't wait.&lt;/p&gt;




&lt;h3&gt;
  
  
  Ignoring Infrastructure
&lt;/h3&gt;

&lt;p&gt;Many products focus only on frontend and backend logic, ignoring infrastructure entirely.&lt;br&gt;
Questions most teams don't ask early enough:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How will we monitor errors?&lt;/li&gt;
&lt;li&gt;What happens if the server crashes?&lt;/li&gt;
&lt;li&gt;How do we handle traffic spikes?&lt;/li&gt;
&lt;li&gt;Do we have automated deployments?&lt;/li&gt;
&lt;li&gt;Is there a rollback strategy?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Infrastructure isn't optional. It's part of the product.&lt;br&gt;
Deployment, monitoring, CI/CD, logging, these are not "later problems."&lt;br&gt;
They are core system components.&lt;/p&gt;




&lt;h3&gt;
  
  
  No Clear Ownership of the Entire System
&lt;/h3&gt;

&lt;p&gt;This is where full-stack thinking matters.&lt;br&gt;
A real full-stack approach isn't just:&lt;br&gt;
 "I can write React and Node."&lt;br&gt;
It's:&lt;br&gt;
 "I understand how frontend performance, API structure, database design, and cloud infrastructure all connect."&lt;br&gt;
When someone owns the system end-to-end, the product becomes coherent.&lt;br&gt;
When responsibility is fragmented, cracks appear quickly.&lt;/p&gt;




&lt;h3&gt;
  
  
  Building SaaS the Right Way
&lt;/h3&gt;

&lt;p&gt;A scalable SaaS product requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean architecture&lt;/li&gt;
&lt;li&gt;Structured backend APIs&lt;/li&gt;
&lt;li&gt;Thoughtful database design&lt;/li&gt;
&lt;li&gt;Optimized frontend performance&lt;/li&gt;
&lt;li&gt;Production-ready infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It doesn't need to be over-engineered.&lt;br&gt;
But it must be intentionally engineered.&lt;/p&gt;




&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;Ideas are important.&lt;br&gt;
Execution is critical.&lt;br&gt;
Architecture is what determines whether your SaaS survives growth, or collapses under it.&lt;br&gt;
If you're building something meant to last, build it like a product, not like a demo.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>The Backend Finally Makes Sense, Why I'm Loving Motia</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Thu, 28 Aug 2025 09:59:43 +0000</pubDate>
      <link>https://dev.to/jealousgx/the-backend-finally-makes-sense-why-im-loving-motia-59kb</link>
      <guid>https://dev.to/jealousgx/the-backend-finally-makes-sense-why-im-loving-motia-59kb</guid>
      <description>&lt;p&gt;If you’ve ever pieced together a backend with Express routes, cron jobs, background workers, and a few AI agents duct taped together, you’ll know it works… but it’s not exactly pretty.&lt;/p&gt;

&lt;p&gt;You end up with code scattered across files and folders, logs in three different places, and brittle workflows that are hard to debug or extend.&lt;/p&gt;

&lt;p&gt;Recently, I came across &lt;a href="https://www.motia.dev/" rel="noopener noreferrer"&gt;Motia&lt;/a&gt;, and it kind of blew my mind.&lt;/p&gt;

&lt;p&gt;It’s an open source backend framework that actually feels modern, and dare I say, &lt;strong&gt;fun&lt;/strong&gt; to use.&lt;/p&gt;




&lt;h3&gt;
  
  
  What is Motia?
&lt;/h3&gt;

&lt;p&gt;Motia is a &lt;strong&gt;code first framework&lt;/strong&gt; that helps you build APIs, background jobs, scheduled tasks, and AI agents, all in a single project, with a shared runtime and clean visual feedback.&lt;/p&gt;

&lt;p&gt;It’s built with developers in mind and aims to make backend development feel as intuitive as frontend frameworks like NextJS.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Makes Motia So Good?
&lt;/h3&gt;

&lt;p&gt;🧱 Everything is a “Step”&lt;/p&gt;

&lt;p&gt;In Motia, the basic unit is a &lt;strong&gt;Step&lt;/strong&gt;. It can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An HTTP API endpoint&lt;/li&gt;
&lt;li&gt;A cron job&lt;/li&gt;
&lt;li&gt;A background task&lt;/li&gt;
&lt;li&gt;An AI agent&lt;/li&gt;
&lt;li&gt;An event handler&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each step is just a function, but Motia stitches them together into &lt;strong&gt;workflows&lt;/strong&gt; that you can visualize, monitor, and interact with in real time.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧑‍💻 Polyglot Support (Yes, for Real)
&lt;/h3&gt;

&lt;p&gt;One of the coolest things about Motia: you’re not locked into one language. You can write steps in &lt;strong&gt;TypeScript&lt;/strong&gt;, and &lt;strong&gt;Python&lt;/strong&gt; (more coming soon), all in the same project.&lt;/p&gt;

&lt;p&gt;That means you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Python for AI or data stuff&lt;/li&gt;
&lt;li&gt;Stick with JS/TS for APIs&lt;/li&gt;
&lt;li&gt;Experiment with Ruby if that’s your thing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for teams or anyone who’s not monolingual.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡️ The Workbench = Your Dev Superpower
&lt;/h3&gt;

&lt;p&gt;Motia comes with a builtin dev UI called the &lt;strong&gt;Workbench&lt;/strong&gt;. It’s your local dashboard where you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trigger steps manually&lt;/li&gt;
&lt;li&gt;Inspect inputs, outputs, and logs&lt;/li&gt;
&lt;li&gt;See how everything connects&lt;/li&gt;
&lt;li&gt;View live executions and errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s like DevTools, but for your backend.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 Built-In State and Logs
&lt;/h3&gt;

&lt;p&gt;You don’t need to spin up a Redis instance or wire up logging just to track state or debug a flow.&lt;/p&gt;

&lt;p&gt;Motia gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple key-value state with TTL support&lt;/li&gt;
&lt;li&gt;Execution tracing&lt;/li&gt;
&lt;li&gt;Builtin observability&lt;/li&gt;
&lt;li&gt;A real-time view of what’s happening&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All out of the box. No config overload.&lt;/p&gt;




&lt;p&gt;What Can You Build with Motia?&lt;/p&gt;

&lt;p&gt;Honestly? A lot.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;REST APIs and microservices&lt;/li&gt;
&lt;li&gt;Background workers&lt;/li&gt;
&lt;li&gt;Internal tools&lt;/li&gt;
&lt;li&gt;AI bots and agents&lt;/li&gt;
&lt;li&gt;Data pipelines&lt;/li&gt;
&lt;li&gt;Scheduled jobs (goodbye, messy crons)&lt;/li&gt;
&lt;li&gt;Prototypes that actually scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the best part? All of it lives in the &lt;strong&gt;same repo&lt;/strong&gt;, with a consistent model.&lt;/p&gt;




&lt;h3&gt;
  
  
  Getting Started Is Super Simple
&lt;/h3&gt;

&lt;p&gt;Just run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx motia@latest create &lt;span class="nt"&gt;-i&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;your-project
npx motia dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then head to &lt;code&gt;http://localhost:3000&lt;/code&gt; to start building in the Workbench.&lt;/p&gt;

&lt;p&gt;From there, you can create your first step (like a simple API or a scheduled task) and actually see it run live, without waiting for a deploy.&lt;/p&gt;




&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;I’ve built a lot of backend projects over the years. Most of them were glued together with frameworks and tools that weren’t really meant to work together.&lt;/p&gt;

&lt;p&gt;Motia changes that. It’s one of the first tools I’ve seen that really &lt;strong&gt;treats the backend as one cohesive system&lt;/strong&gt;, not a bunch of disconnected services.&lt;/p&gt;

&lt;p&gt;If you’re into clean architecture, rapid iteration, and building with joy, I think you’ll love it too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.motia.dev/" rel="noopener noreferrer"&gt;Check it out here&lt;/a&gt; &lt;br&gt;
&lt;a href="https://github.com/MotiaDev/motia" rel="noopener noreferrer"&gt;Star the repo on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you build,  I’m genuinely curious.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>backend</category>
      <category>devex</category>
    </item>
    <item>
      <title>How to Market Your First SaaS(When You Know Zero About Marketing)</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Sat, 02 Aug 2025 04:00:57 +0000</pubDate>
      <link>https://dev.to/jealousgx/how-to-market-your-first-saaswhen-you-know-zero-about-marketing-334</link>
      <guid>https://dev.to/jealousgx/how-to-market-your-first-saaswhen-you-know-zero-about-marketing-334</guid>
      <description>&lt;p&gt;After publishing my last article on &lt;a href="https://www.indiehackers.com/post/how-to-launch-your-first-saas-as-a-software-engineer-with-zero-marketing-experience-8d79ad8799" rel="noopener noreferrer"&gt;how to launch your first SaaS as a software engineer&lt;/a&gt;, I got good number of questions: “But how do you market a product when you know nothing about it, and with all the restrictions on different platforms?” Instead of replying to each comment, here’s my honest take based on my journey with &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  “I Have a Landing Page… Now What?”
&lt;/h2&gt;

&lt;p&gt;You’ve built a clear landing page. Congrats! But just sharing that page on Reddit, X, Indie Hackers, or Slack won’t suddenly bring waves of users, many platforms have strict rules about promotion, and people are wary of cold pitches.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Actually Works: Give, Then (Much Later) Ask
&lt;/h3&gt;

&lt;p&gt;I learned the hard way: dumping your product link everywhere just gets ignored (or worse, flagged as spam). The only thing that brings results is &lt;strong&gt;providing value before you promote&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Concrete Example: Reddit Done Right
&lt;/h3&gt;

&lt;p&gt;Suppose someone posts:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What’s the best way to validate a SaaS idea if I’m not sure people will pay or even use?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Wrong way:&lt;br&gt;
“Check out my site, &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, it helps you do that!” (Likely removed by mods, gets zero engagement)&lt;/p&gt;

&lt;p&gt;Right way (short, valuable, subtle):&lt;br&gt;
“I’d start by talking to real potential users first, ask what they’d pay for, not just what’s ‘nice to have.’ For what it’s worth, I built something to help with this but learned a ton just by DMing people and asking direct questions.”&lt;/p&gt;

&lt;p&gt;Notice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The comment helps others whether or not they click anything.&lt;/li&gt;
&lt;li&gt;Your product gets mentioned naturally.&lt;/li&gt;
&lt;li&gt;You’re not demanding attention, you’re being useful in the conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;**Tips for New Users on Reddit (and Everywhere Else)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Observe First:&lt;/strong&gt; Lurk in relevant subs for a week or more. Note what gets upvoted and what gets removed or downvoted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comment Before Sharing:&lt;/strong&gt; Make at least 10+ genuinely helpful comments with no mention of your product.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DMs for Details:&lt;/strong&gt; If people ask for more info, then send your link or explain how your product works.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Promotion Rule:&lt;/strong&gt; Read and honor each sub’s self-promotion policy, many care far more about how you participate than what you say.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask Honest Questions:&lt;/strong&gt; Sometimes “How would you solve X?” gets more engagement than “Here’s my product.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt;&lt;br&gt;
This “give before you take” approach earns trust everywhere: Indie Hackers, Product Hunt, and even LinkedIn. When I first posted about &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; on indiehackers, producthunt, and similar platforms, zero feedback! Only after I spent real time helping others did people start replying, engaging, and eventually asking about my product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Building in Public is Crazy Necessary
&lt;/h3&gt;

&lt;p&gt;If you’re building your first SaaS, don’t just build in silence, build in public. This means sharing your journey, wins, roadblocks, and even your unfinished work openly on platforms like X, LinkedIn, Reddit, or Indie Hackers. Don’t worry about “What if others steal my idea”. You’re gonna be left behind with this mindset.&lt;/p&gt;

&lt;p&gt;Here’s what building in public does for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Builds Trust:&lt;/strong&gt; People see you as a genuine creator, not just a seller.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attracts Early Users and Collaborators:&lt;/strong&gt; Followers who watch your progress tend to become your first customers and biggest advocates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gets Faster Feedback:&lt;/strong&gt; Your audience can offer suggestions, point out bugs, or share encouragement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Makes You Memorable:&lt;/strong&gt; Transparency makes your startup stand out from quiet launches.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my experience launching &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, being open about my process made it easier to gain valuable feedback and support, way more than cold promotion ever did.&lt;/p&gt;

&lt;h3&gt;
  
  
  Another Powerful Approach: Write for Large Publications
&lt;/h3&gt;

&lt;p&gt;Beyond social channels and forums, another high-impact way to market your SaaS is by writing for large publications that already have a substantial reader base.&lt;/p&gt;

&lt;p&gt;Publishing a blog post in a well known outlet allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reach tens of thousands of readers instantly&lt;/li&gt;
&lt;li&gt;Establish credibility by appearing alongside other respected voices&lt;/li&gt;
&lt;li&gt;Naturally share your product and link while providing genuine value through tips, stories, or how-tos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, in this very article, I’m showing you helpful strategies and including my FounderSignal, demonstrating how you can give actionable advice, share your journey, and spotlight your SaaS without being spammy. If your story solves a real problem, it’s welcome!&lt;/p&gt;

&lt;p&gt;Quick tips for large publication posts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always lead with value: Share a unique lesson or actionable tip before mentioning your product.&lt;/li&gt;
&lt;li&gt;Seamlessly weave in your product as “what worked for me” rather than the focal point.&lt;/li&gt;
&lt;li&gt;Follow the publication’s guidelines and engage with commenters after publication to build relationships.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Biggest Lesson
&lt;/h2&gt;

&lt;p&gt;Since launching &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, this mindset shift has made all the difference:&lt;br&gt;
&lt;strong&gt;Your primary “marketing” as an engineer isn’t plugging a product. It’s showing up, helping (without strings), and being patient.&lt;/strong&gt;&lt;br&gt;
Only after people trust you as a real contributor do they care what you’ve built.&lt;/p&gt;

&lt;p&gt;You don’t need to be a marketing genius, you just need to be a helpful, genuine part of your target community. That’s what gets you noticed, and that’s what leads to real feedback and early users.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>buildinpublic</category>
      <category>founder</category>
      <category>marketing</category>
    </item>
    <item>
      <title>How to Launch Your First SaaS as a Software Engineer (With Zero Marketing Experience)</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Mon, 28 Jul 2025 05:23:58 +0000</pubDate>
      <link>https://dev.to/jealousgx/how-to-launch-your-first-saas-as-a-software-engineer-with-zero-marketing-experience-3daf</link>
      <guid>https://dev.to/jealousgx/how-to-launch-your-first-saas-as-a-software-engineer-with-zero-marketing-experience-3daf</guid>
      <description>&lt;p&gt;When I built and launched my first SaaS, &lt;a href="https://founderSignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, I had zero background in marketing, or any of the “business” stuff you see in startup blogs. My biggest lesson? You don’t need to be a marketing pro to build a great product and grow a real community. Here’s my step-by-step playbook, crafted for other engineers just starting their SaaS journey.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Start With a Clear, Honest Landing Page
&lt;/h3&gt;

&lt;p&gt;Don’t just code , start by making your idea &lt;strong&gt;visible&lt;/strong&gt;.&lt;br&gt;
A simple, appealing landing page is your MVP’s first test. Focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explaining what pain point you’re solving, in &lt;strong&gt;plain language&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Outlining exactly how your solution is different or better.&lt;/li&gt;
&lt;li&gt;Sharing a relatable story or problem.
You don’t have to build this from scratch: Use &lt;strong&gt;no-code tools&lt;/strong&gt; (like &lt;a href="https://founderSignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, Carrd, Typedream, or Framer) to launch a fast, professional page. Many platforms now let you track user engagement, heatmaps, and even analyze traffic patterns with builtin AI. This helps you learn early, before writing a single line of app code, if there’s genuine interest.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Share It Where Your Audience Hangs Out
&lt;/h3&gt;

&lt;p&gt;Don’t wait for users to find you. Proactively:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Post your landing page on X, LinkedIn, Reddit, and any niche communities related to your problem space.&lt;/li&gt;
&lt;li&gt;Tell the story: What problem inspired this? How has it impacted you or others?&lt;/li&gt;
&lt;li&gt;Ask for thoughts, feedback, and signal of interest.
Track who’s clicking, what they say, and how people interact. Real-time reactions (even if it’s just “this is cool” or “I don’t get it”) are pure gold for steering your next steps.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Validate Signals, Then Build Your MVP
&lt;/h3&gt;

&lt;p&gt;Only move forward if you’re seeing “good signals”, enough signups, DMs, or demo requests showing people &lt;strong&gt;want&lt;/strong&gt; this.&lt;/p&gt;

&lt;p&gt;Then, build your MVP. Keep it lean, focus just on the core solution, even if it’s buggy or incomplete. While building, adopt a “build in public” mindset:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Share screenshots or progress on X, Reddit, LinkedIn, or YouTube.&lt;/li&gt;
&lt;li&gt;Talk about small wins, roadblocks, and &lt;strong&gt;why&lt;/strong&gt; you’re making certain choices.&lt;/li&gt;
&lt;li&gt;Invite others to follow your journey or even test things early.
Shipping fast matters way more than perfection.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Launch and Close the Feedback Loop
&lt;/h2&gt;

&lt;p&gt;As soon as your MVP is live:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Share it back with every group or person who showed interest.&lt;/li&gt;
&lt;li&gt;Broadcast the launch on all channels, don’t be shy!&lt;/li&gt;
&lt;li&gt;Most importantly, &lt;strong&gt;ask for feedback&lt;/strong&gt; the moment people try it out.
Iterate fast. Fix what matters most. Ship improvements. Repeat.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Main Point: Build With Your Community
&lt;/h2&gt;

&lt;p&gt;It took me building and launching &lt;a href="https://founderSignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; to truly get this: &lt;strong&gt;listen&lt;/strong&gt;, &lt;strong&gt;launch&lt;/strong&gt;, &lt;strong&gt;learn&lt;/strong&gt;, &lt;strong&gt;repeat&lt;/strong&gt;.&lt;br&gt;
You don’t need to be a marketer, just stay open, share often, and let your earliest users help you shape the product. That feedback loop builds both a better SaaS and a real community around it.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>saas</category>
      <category>founder</category>
      <category>productlaunch</category>
    </item>
    <item>
      <title>How to Stop Wasting Months on Startup Ideas Nobody Wants</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Wed, 23 Jul 2025 05:27:10 +0000</pubDate>
      <link>https://dev.to/jealousgx/how-to-stop-wasting-months-on-startup-ideas-nobody-wants-4god</link>
      <guid>https://dev.to/jealousgx/how-to-stop-wasting-months-on-startup-ideas-nobody-wants-4god</guid>
      <description>&lt;p&gt;Are you tired of pouring your heart and soul into a startup idea, only to launch and hear nothing but silence?&lt;/p&gt;

&lt;p&gt;You’re not alone. Most founders dream big, work hard, and invest months coding, tweaking, and hoping for success. But investing effort is no guarantee you’re building something people want.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Smarter, Faster Way to Validate Startup Ideas
&lt;/h2&gt;

&lt;p&gt;What if you could 'test drive' your idea, without any code, and know for sure if real people care before spending months or money? Imagine getting results in just days.&lt;/p&gt;

&lt;p&gt;That’s the problem we designed &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; to solve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Validation Trumps Guesswork
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Save Time and Money:&lt;/strong&gt; Instantly see if your idea gets genuine interest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build with Certainty:&lt;/strong&gt; Know you’re creating something customers actually want, not just hoping.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make Data-Driven Decisions:&lt;/strong&gt; Use real engagement signals and AI-powered insights, not just your gut.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How FounderSignal Helps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Set up a fake MVP landing page in minutes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Track real user engagement, see who visits, signs up, and how they interact.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get AI insights.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learn early, pivot fast, and avoid costly mistakes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Ready to Validate Your Idea?
&lt;/h2&gt;

&lt;p&gt;Don’t wait until launch day to find out if people care. Get real validation, not guesswork.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; today, and make sure your next idea has real demand before you build.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>founder</category>
      <category>nocode</category>
      <category>validation</category>
    </item>
    <item>
      <title>Why Most Startups Fail, And How I’m Trying to Help Founders Beat the Odds</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Sun, 20 Jul 2025 08:29:40 +0000</pubDate>
      <link>https://dev.to/jealousgx/why-most-startups-fail-and-how-im-trying-to-help-founders-beat-the-odds-1ggd</link>
      <guid>https://dev.to/jealousgx/why-most-startups-fail-and-how-im-trying-to-help-founders-beat-the-odds-1ggd</guid>
      <description>&lt;p&gt;So, I’ve launched my first SaaS (&lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;) and honestly it feels a bit wild, like standing on a brand new basketball court with nobody around to play.&lt;br&gt;
Everyone talks about validating your startup idea, but no one tells you how lonely it can be when you &lt;em&gt;really&lt;/em&gt; start.&lt;/p&gt;

&lt;p&gt;I spent weeks (okay, months) building stuff nobody actually wanted before. This time? I flipped the script. Instead of hoping for the best, I tried to get feedback &lt;em&gt;before&lt;/em&gt; writing a single line of code.&lt;/p&gt;

&lt;p&gt;A few things that surprised me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most founders (including me) are afraid to ask strangers if the idea stinks.&lt;/li&gt;
&lt;li&gt;When I finally did, the feedback wasn’t as harsh as I imagined, most people actually wanted to help.&lt;/li&gt;
&lt;li&gt;Early feedback saved me from chasing “nice to have” features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; is my way to help other builders who don’t want to gamble months for a “maybe.” The thing I wish I had last year: quick, real feedback from real humans.&lt;/p&gt;

&lt;p&gt;If you’re building anything (SaaS, side project, new app), skip the guesswork. Share your idea early, test it before you build, and talk to people who’d actually use it.&lt;/p&gt;

&lt;p&gt;I’d love to swap stories or hear your own “startup fails” (the real, embarrassing ones). Let’s help each other out so fewer ideas die quietly in someone’s downloads folder.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Any tips for getting your first real user? Drop ‘em below. I’m still learning, and I bet you’ve got tricks I haven’t tried.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>startup</category>
      <category>validation</category>
      <category>founder</category>
    </item>
    <item>
      <title>The Hidden Pitfall of Next.js Fetch Revalidation: A Real-World Debugging Story</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Wed, 16 Jul 2025 04:44:34 +0000</pubDate>
      <link>https://dev.to/jealousgx/the-hidden-pitfall-of-nextjs-fetch-revalidation-a-real-world-debugging-story-21d2</link>
      <guid>https://dev.to/jealousgx/the-hidden-pitfall-of-nextjs-fetch-revalidation-a-real-world-debugging-story-21d2</guid>
      <description>&lt;p&gt;When building &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt;, a platform for startup idea validation, I ran into a subtle but critical issue with Next.js’s fetch revalidation that every developer should know about. This post will walk you through the problem, the debugging journey, and the solution, with practical code snippets and lessons learned.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem: Stale Data, Strange Headers
&lt;/h2&gt;

&lt;p&gt;I wanted to cache API responses for a long time, ideally, a year, using Next.js’s fetch revalidation. My fetch looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const response = await fetch("https://api.jsonplaceholder.com/v1/users", {
  next: { revalidate: 31536000 }, // 1 year in seconds
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;It worked locally and on the first deploy.&lt;/strong&gt;&lt;br&gt;
But after refreshing the page on Vercel, I started seeing this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;content-type: text/xml&lt;/li&gt;
&lt;li&gt;content-length: 0&lt;/li&gt;
&lt;li&gt;No actual data, even though my API was returning the correct JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  The Debugging Journey
&lt;/h2&gt;

&lt;p&gt;At first, I suspected my API. I checked logs, tested endpoints, and confirmed the API was returning the right data and headers.&lt;/p&gt;

&lt;p&gt;But the deployed Next.js app was serving an empty response with the wrong content type. Why?&lt;/p&gt;
&lt;h3&gt;
  
  
  The Culprit: Extremely Long or Infinite Revalidation
&lt;/h3&gt;

&lt;p&gt;After hours of debugging, I discovered the issue:&lt;br&gt;
Setting &lt;code&gt;revalidate: 31536000&lt;/code&gt; (1 year) or &lt;code&gt;Infinity&lt;/code&gt; caused Vercel’s Next.js server to serve a broken cached response after the initial fetch.&lt;/p&gt;

&lt;p&gt;Even though &lt;a href="https://nextjs.org/docs/app/api-reference/functions/fetch#optionsnextrevalidate" rel="noopener noreferrer"&gt;Next.js docs&lt;/a&gt; mention &lt;code&gt;Infinity&lt;/code&gt; is supported, in practice, it led to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stale or empty cache entries&lt;/li&gt;
&lt;li&gt;Wrong content-type headers&lt;/li&gt;
&lt;li&gt;No data on subsequent requests&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  The Fix: Use a Reasonable Revalidation Interval
&lt;/h2&gt;

&lt;p&gt;Switching to a 1-day revalidation fixed everything:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const response = await fetch("https://api.jsonplaceholder.com/v1/users", {
  next: { revalidate: 86400 }, // 1 day in seconds
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, every page refresh returns the correct data, and the cache works as expected.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways for Next.js Developers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Don’t Use Extremely Long or Infinite Revalidation
&lt;/h3&gt;

&lt;p&gt;Even if the docs say &lt;code&gt;Infinity&lt;/code&gt; is supported, it may not work as expected on all platforms (especially Vercel). Stick to practical intervals like 1 day (&lt;code&gt;86400&lt;/code&gt; seconds) or less.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Always Check Response Headers
&lt;/h3&gt;

&lt;p&gt;If you see &lt;code&gt;content-type: text/xml&lt;/code&gt; or &lt;code&gt;content-length: 0&lt;/code&gt; from a Next.js route that should return JSON, suspect a caching or revalidation issue.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Debug Both API and Frontend
&lt;/h3&gt;

&lt;p&gt;Don’t assume the bug is in your API. Sometimes, the frontend framework’s caching layer is the culprit.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Use Tag-Based Revalidation for Manual Control
&lt;/h3&gt;

&lt;p&gt;If you want to serve stale data until a specific event (like a new user creation), use tag-based revalidation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Fetch with tag
const response = await fetch("https://api.jsonplaceholder.com/v1/users", {
  next: { tags: ["users"] },
});

// In your action or API route
import { revalidateTag } from "next/cache";
await revalidateTag("users");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Caching and revalidation are powerful features in Next.js, but they can introduce subtle bugs if not configured carefully. If you’re building a project like &lt;a href="https://foundersignal.app" rel="noopener noreferrer"&gt;FounderSignal&lt;/a&gt; or any data-driven app, &lt;strong&gt;test your caching strategy in production-like environments&lt;/strong&gt; and avoid extremely long revalidation intervals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have you faced similar issues? Share your story or questions below!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Happy coding, and may your caches always be fresh!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>vercel</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Build A Responsive Sidebar with React and Styled Components</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Wed, 24 Aug 2022 11:23:20 +0000</pubDate>
      <link>https://dev.to/jealousgx/build-a-responsive-sidebar-with-react-and-styled-components-4e9e</link>
      <guid>https://dev.to/jealousgx/build-a-responsive-sidebar-with-react-and-styled-components-4e9e</guid>
      <description>&lt;h2&gt;
  
  
  Why does Sidebar / Navbar exist?
&lt;/h2&gt;

&lt;p&gt;Navigation is the most easiest way to go through the website. The navigation links can be displayed either in Sidebar or Navbar. Both services are widely used by most of the websites. &lt;/p&gt;

&lt;h2&gt;
  
  
  What will we be building?
&lt;/h2&gt;

&lt;p&gt;In this article, we will be building a simple yet &lt;em&gt;responsive sidebar&lt;/em&gt;, step-by-step using &lt;a href="https://reactjs.org" rel="noopener noreferrer"&gt;ReactJS&lt;/a&gt;, &lt;a href="https://styled-components.com" rel="noopener noreferrer"&gt;styled-components&lt;/a&gt;, and &lt;a href="https://reactrouter.com" rel="noopener noreferrer"&gt;React Router DOM&lt;/a&gt; as our major dependencies. This sidebar will be fully responsive on all devices, a demo of which is &lt;a href="https://jealousgx-sidebar.vercel.app" rel="noopener noreferrer"&gt;present here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Pro: We will also be learning one of the folder structures in this react app.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before diving into coding this component, you need to make sure you have good knowledge of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML, CSS, JavaScript&lt;/li&gt;
&lt;li&gt;ReactJS&lt;/li&gt;
&lt;li&gt;Styled-components&lt;/li&gt;
&lt;li&gt;React Router DOM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Moreover, you also need have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NodeJS (Stable version) &lt;/li&gt;
&lt;li&gt;NPM and /  or Yarn&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building the component
&lt;/h2&gt;

&lt;p&gt;In &lt;em&gt;Command Prompt&lt;/em&gt;, navigate to the directory where you would like to create the project and type:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Install the React App
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# With npm
&lt;/span&gt;&lt;span class="n"&gt;npx&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sidebar&lt;/span&gt;

&lt;span class="c1"&gt;# With yarn
&lt;/span&gt;&lt;span class="n"&gt;yarn&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt; &lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sidebar&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;where &lt;strong&gt;&lt;em&gt;react-sidebar&lt;/em&gt;&lt;/strong&gt; is the project directory name. Now open this project directory in your favorite code editor. I will be using &lt;a href="https://code.visualstudio.com" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, keep &lt;code&gt;index.js&lt;/code&gt;, &lt;code&gt;App.js&lt;/code&gt; and &lt;code&gt;App.css&lt;/code&gt; and delete the other files / folders inside &lt;code&gt;src&lt;/code&gt; folder. This will clean up most of the react app.&lt;/p&gt;

&lt;p&gt;Inside &lt;code&gt;public&lt;/code&gt; folder, keep &lt;code&gt;index.html&lt;/code&gt; file and delete all other files / folders.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Add the packages to the react app
&lt;/h3&gt;

&lt;p&gt;Install Material UI Icons, React Router DOM, styled-components. Run the following command to get them installed on our react app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# With npm
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="nd"&gt;@mui&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;icons&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;material&lt;/span&gt; &lt;span class="nd"&gt;@mui&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;material&lt;/span&gt; &lt;span class="nd"&gt;@emotion&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;styled&lt;/span&gt; &lt;span class="nd"&gt;@emotion&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;react&lt;/span&gt; &lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;router&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dom&lt;/span&gt; &lt;span class="n"&gt;styled&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;components&lt;/span&gt;

&lt;span class="c1"&gt;# With yarn
&lt;/span&gt;&lt;span class="n"&gt;yarn&lt;/span&gt; &lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="nd"&gt;@mui&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;material&lt;/span&gt; &lt;span class="nd"&gt;@emotion&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;react&lt;/span&gt; &lt;span class="nd"&gt;@emotion&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;styled&lt;/span&gt; &lt;span class="n"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;router&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dom&lt;/span&gt; &lt;span class="n"&gt;styled&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;components&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's connect the whole app with &lt;code&gt;react-router-dom&lt;/code&gt; so that its functions / components can be used everywhere. Replace the code in &lt;code&gt;src/index.js&lt;/code&gt; with the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/index.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BrowserRouter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-dom/client&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./App&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;root&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="nx"&gt;root&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;StrictMode&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;BrowserRouter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/BrowserRouter&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/React.StrictMode&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First and foremost, we need to use &lt;code&gt;react-router-dom&lt;/code&gt; to create links to different pages within our app. So, we need to connect the whole app with its parent component which is &lt;code&gt;BrowserRouter&lt;/code&gt;. This will give us access to use almost all of the components, the said package has to offer.&lt;/p&gt;

&lt;p&gt;To do so, at first, we import the parent component and wrap the &lt;code&gt;App&lt;/code&gt; component inside the parent component. This &lt;code&gt;App&lt;/code&gt; component covers our whole app and we can use React Router anywhere within our app.&lt;/p&gt;

&lt;p&gt;Run the app in your browser using &lt;code&gt;npm start&lt;/code&gt; or &lt;code&gt;yarn start&lt;/code&gt; and head to &lt;strong&gt;localhost:3000&lt;/strong&gt; to view the changes.&lt;/p&gt;

&lt;p&gt;Now, let's create the routes / pages using &lt;code&gt;react-router-dom&lt;/code&gt;. Replace the code in &lt;code&gt;src/App.js&lt;/code&gt; with the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/App.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;DynamicItem&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Sidebar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;dummyData&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./components&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./App.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;main&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Sidebar&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;DynamicItem&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;homepage&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;dummyData&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
            &lt;span class="nx"&gt;dummyData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt;
                &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;DynamicItem&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;              &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;))}&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Routes&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Sidebar&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, we are importing &lt;code&gt;Routes, Route&lt;/code&gt; from &lt;code&gt;react-router-dom&lt;/code&gt; which will help us create pages within our app. We are also importing the &lt;code&gt;Sidebar&lt;/code&gt; component, which we will be creating after sometime, &lt;code&gt;dummyData&lt;/code&gt;, some random data which includes path to our pages, &lt;code&gt;DynamicItem&lt;/code&gt;, a dummy page which displays the page name as we navigate to it.&lt;/p&gt;

&lt;p&gt;Next thing, we need to do is use the &lt;code&gt;Sidebar&lt;/code&gt; component. This component will be such that it will accept children as props so that it is visible everywhere as we navigate between the pages. Right after that, we need to add &lt;code&gt;Routes&lt;/code&gt; component, a container which covers our pages / routes as we create them so that the app knows this is a routes container and it contains pages.&lt;/p&gt;

&lt;p&gt;Now, the only thing we need to do is add the routes we want. We know that &lt;code&gt;dummyData&lt;/code&gt; contains the paths to the pages, we can map through the data to get them, and use &lt;code&gt;Route&lt;/code&gt; component for each of the path. The &lt;code&gt;Route&lt;/code&gt; component accepts two properties, &lt;code&gt;path&lt;/code&gt;, where the route will be navigating to, and &lt;code&gt;element&lt;/code&gt;, which is a component that will be rendered in that page / route. &lt;/p&gt;

&lt;p&gt;Now, we need to add the basic styling to our app. These styles only define the layout of our app. Replace the code in &lt;code&gt;src/App.css&lt;/code&gt; with the following code:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: We can also create some of the styling using styled-components. You can do the styling however you like, but here, I have used css for basic styling.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* src/App.css */&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-webkit-box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;text-decoration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"IBM Plex Sans"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;-apple-system&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;BlinkMacSystemFont&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Segoe UI"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;"Oxygen"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Ubuntu"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Cantarell"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Fira Sans"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Droid Sans"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#main&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.25rem&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.25rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#808080&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-webkit-border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-moz-border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-ms-border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-o-border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;0.2s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-webkit-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;0.2s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-moz-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;0.2s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-ms-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;0.2s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-o-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;0.2s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.btn&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#e4e3e34&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#page&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;capitalize&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;overflow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;468px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;#page&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt; &lt;span class="m"&gt;0.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.app__brand__text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;700&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#5a8dee&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;/* Sidebar toggle button starts */&lt;/span&gt;
&lt;span class="nc"&gt;.outer__circle&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#5f97ef&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.outer__circle&lt;/span&gt;&lt;span class="nd"&gt;::after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.225rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.215rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.inner__circle&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#5f97ef&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.inner__circle&lt;/span&gt;&lt;span class="nd"&gt;::after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.125rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.15rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* Sidebar toggle button ends */&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, we are resetting every style in the react app using &lt;code&gt;*&lt;/code&gt; pseudo selector to configure the whole app the way we want it. Moreover, we are also defining the styles for parent &lt;code&gt;div&lt;/code&gt; container of app with the class name &lt;code&gt;main&lt;/code&gt;. We are also defining the styles for a button which will be used later in &lt;code&gt;DynamicItem&lt;/code&gt; component. &lt;/p&gt;

&lt;p&gt;In this global styles file, we are manually making &lt;strong&gt;two circles&lt;/strong&gt; button instead of using some library. This button toggles whether or not to display the sidebar as a whole. This could done in many ways, this is just one of them.&lt;/p&gt;

&lt;p&gt;Let's create a file which will store the icons which will be used in our react app. &lt;/p&gt;

&lt;p&gt;Head to &lt;code&gt;src&lt;/code&gt; folder and create a new folder inside it under &lt;code&gt;components&lt;/code&gt; name. Inside &lt;code&gt;components&lt;/code&gt; folder, create a new file with &lt;code&gt;Icons.js&lt;/code&gt; name and add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Icons.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;HomeOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/HomeOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;WebOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/WebOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;CalendarTodayOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/CalendarTodayOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;CalendarMonthOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/CalendarMonthOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;PersonOutlineOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/PersonOutlineOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;SubjectOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/SubjectOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;GppGoodOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/GppGoodOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;AdminPanelSettingsOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/AdminPanelSettingsOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ListAltOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/ListAltOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;InputOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/InputOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ArrowRightOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/ArrowRightOutlined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ArrowBackIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@mui/icons-material/ArrowBack&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;HomeOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;HomeIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;WebOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;LayoutIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CalendarMonthOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;CalendarIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;PersonOutlineOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SubjectOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;InvoiceIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;GppGoodOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;RolesIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CalendarTodayOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;PagesIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;AdminPanelSettingsOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;AuthIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ListAltOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;WizardIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;InputOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;ModalIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ArrowBackIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ArrowRightOutlinedIcon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;ArrowIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this file, we are importing every icon, that we will be using inside our app, and exporting it from a single file. This will help us to import our icons from a single file instead of using multiple lines to import our icons.&lt;/p&gt;

&lt;p&gt;Similarly, we will be creating a new file inside &lt;code&gt;src/components&lt;/code&gt; folder under the name &lt;code&gt;Data.js&lt;/code&gt;. This file will contain our dummy data that we will be using in our app. Open &lt;code&gt;Data.js&lt;/code&gt; file and add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Data.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;HomeIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;LayoutIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CalendarIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;InvoiceIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;RolesIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;PagesIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;AuthIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;WizardIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ModalIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./Icons&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SIDEBAR_DATA&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dashboards&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;dashboards&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;HomeIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;layouts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;layouts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LayoutIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;calendar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;calendar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CalendarIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;invoice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;invoice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;InvoiceIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;users&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;users&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;UserIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;roles &amp;amp; permissions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;roles&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;RolesIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;pages&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;pages&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;PagesIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;authentication&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;authentication&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;AuthIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wizard examples&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wizard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;WizardIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;modal examples&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;modal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ModalIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that we are importing the icons from a single file instead of using multiple lines to import. This way, we can also avoid redundancy. &lt;/p&gt;

&lt;p&gt;In this file, we are defining an array of objects each of which contains data for our pages, i.e. an id, name, path, icon. This is the whole data that will be used throughout our app. &lt;em&gt;Feel free to extend it as much as you want.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Another thing we need to do is create a centralized file which will export all our files, just like &lt;code&gt;Icons.js&lt;/code&gt; file. Create &lt;code&gt;index.js&lt;/code&gt; file inside &lt;code&gt;src/components&lt;/code&gt; folder and add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/index.js&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;Sidebar&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./Sidebar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;SidebarItems&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./Sidebar/SidebarItems&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;DynamicItem&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./Routes/[item]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;SIDEBAR_DATA&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;dummyData&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./Data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this file, we are following the similar procedure as that of &lt;code&gt;Icons.js&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Note that the files exported as default need to be imported as &lt;code&gt;default&lt;/code&gt; as well but the ones without &lt;code&gt;default&lt;/code&gt; need to be imported without it.&lt;/p&gt;

&lt;p&gt;Now let's create a file that will render the items of a page. You guessed it right! We will be creating &lt;code&gt;DynamicItem&lt;/code&gt; component. Create a folder inside &lt;code&gt;src&lt;/code&gt; under the name &lt;code&gt;Routes&lt;/code&gt; and inside that folder, create a file with &lt;code&gt;[item].jsx&lt;/code&gt; and add the following code to it:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have worked with NextJS, you know why we are using square brackets. For those who do not know, you can name it anything you want, even without the square brackets.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Routes/[item].jsx&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ArrowBackIcon&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../Icons&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Item&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;homepage&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;page&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;;
&lt;/span&gt;  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;page&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ArrowBackIcon&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Back&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;Home&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Link&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Item&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We know we have created the routes for the pages that we want. Now we need to make pages that will be rendered. &lt;/p&gt;

&lt;p&gt;Here we are importing &lt;code&gt;Link&lt;/code&gt; component from &lt;code&gt;react-router-dom&lt;/code&gt;, a back icon from &lt;code&gt;Icons.js&lt;/code&gt; file. We know there is no other page / route behind it but the homepage contains other pages / routes. So, if the route is &lt;code&gt;/&lt;/code&gt;, we just need to render the component, else, we also need to render a back button that will take us back to homepage. &lt;/p&gt;

&lt;p&gt;We are using &lt;code&gt;Link&lt;/code&gt; component to navigate back to &lt;code&gt;homepage&lt;/code&gt; as the page already exists. &lt;em&gt;Recall that we created routes inside &lt;code&gt;src/App.js&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now comes the main item, the sidebar component. Head to &lt;code&gt;src&lt;/code&gt; folder and create a new folder inside it under the name &lt;code&gt;Sidebar&lt;/code&gt; and create a new file inside it with &lt;code&gt;index.jsx&lt;/code&gt; name. This will be the main file that will consume almost all the files. Add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Sidebar/index.jsx&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;Children&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarContainer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarWrapper&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarLogoWrapper&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarLogo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarBrand&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;SidebarToggler&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./SidebarStyles&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;BrandLogo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./BrandLogo.svg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;SidebarItems&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;..&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MOBILE_VIEW&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerWidth&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;468&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Sidebar&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;children&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setDisplaySidebar&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;MOBILE_VIEW&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSidebarDisplay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerWidth&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;468&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nf"&gt;setDisplaySidebar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nf"&gt;setDisplaySidebar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Fragment&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarContainer&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarWrapper&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarLogoWrapper&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Logo wrapper starts */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarLogo&lt;/span&gt; &lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app-brand-logo demo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;BrandLogo&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Brand logo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarBrand&lt;/span&gt;
                &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app__brand__text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
              &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nx"&gt;Frest&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarBrand&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarLogo&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Logo wrapper ends */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Toggle button */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarToggler&lt;/span&gt;
              &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
              &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSidebarDisplay&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;outer__circle&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inner__circle&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarToggler&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarLogoWrapper&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Render the SidebarItems component */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SidebarItems&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarWrapper&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SidebarContainer&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Render the children */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Children&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Children&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/React.Fragment&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the file where we will be building &lt;code&gt;Sidebar&lt;/code&gt;. We are importing state manager &lt;code&gt;useState&lt;/code&gt; from React to control the view of the sidebar, styles from another file, it will be created within the same directory, a &lt;a href="https://github.com/JealousGx/snippets/blob/sidebar/src/components/Sidebar/BrandLogo.svg" rel="noopener noreferrer"&gt;Brand Logo&lt;/a&gt; &lt;em&gt;Feel free to use whatever logo you want&lt;/em&gt;, &lt;code&gt;SidebarItems&lt;/code&gt; file that will render our items from the data.&lt;/p&gt;

&lt;p&gt;Another thing we are doing here is creating a &lt;em&gt;global&lt;/em&gt; variable that will store whether the viewpoint is mobile or not. If the viewpoint is mobile, display a portion of the sidebar otherwise, make the sidebar togglable, using &lt;code&gt;useState&lt;/code&gt;. Then we are creating an arrow function that will handle whether or not to display the full sidebar.&lt;/p&gt;

&lt;p&gt;In the end, we are returning a &lt;a href="https://reactjs.org/docs/fragments.html" rel="noopener noreferrer"&gt;React Fragment&lt;/a&gt; and displaying the brand logo, toggle button, the sidebar items, and the children.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note that we are creating the styles using &lt;code&gt;styled-components&lt;/code&gt; that can accept parameters and will help us in displaying the sidebar.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now let's create a file that will apply all the necessary styling to the sidebar. Head to &lt;code&gt;src/components/Sidebar&lt;/code&gt; and create a new file under the name &lt;code&gt;SidebarStyles.js&lt;/code&gt; and add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Sidebar/SidebarStyles.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;styled-components&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Children Component&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Children&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="s2"&gt;`
  width: 100%;
  height: 100%;
  margin-left: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;15rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;5rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
  @media (max-width: 468px) {
    margin-left: 5rem;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarWrapper&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="s2"&gt;`
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarLogoWrapper&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="s2"&gt;`
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  display: flex;
  justify-content: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
    &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;space-between&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;center&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
  align-items: center;
  @media (max-width: 468px) {
    justify-content: center;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarLogo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="s2"&gt;`
  display: flex;
  align-items: center;
  justify-content: center;
  @media (max-width: 468px) {
    display: none;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarBrand&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt;&lt;span class="s2"&gt;`
  display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;none&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarToggler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt;&lt;span class="s2"&gt;`
  cursor: pointer;
  display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;none&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
  @media (max-width: 468px) {
    display: block;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// SidebarItem styles&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ItemsList&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ul&lt;/span&gt;&lt;span class="s2"&gt;`
  list-style: none;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ItemContainer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="s2"&gt;`
  margin-top: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.25rem;
  border-radius: 0.2rem;
  cursor: pointer;
  &amp;amp;:hover {
    background: #eaeced;
  }
  &amp;amp;.active {
    background-color: #dbe4f3;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ItemWrapper&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="s2"&gt;`
  display: flex;
  align-items: center;
  color: #7c7788;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ItemName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt;&lt;span class="s2"&gt;`
  margin-left: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0.5rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
  display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;none&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
  text-transform: capitalize;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Sidebar Container&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarContainer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;styled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="s2"&gt;`
  position: absolute;
  left: 0;
  width: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;15rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;5rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;;
  height: 100vh;
  padding: 0.75rem;
  background: #f3f4f4;
  transition: width 350ms ease;
  border-right: 1px solid #d4d8dd;
  overflow-x: hidden;
  &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
    &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;box-shadow: 8px 0px 12px 0px rgba(0,0,0,0.1)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
  &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;ItemWrapper&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
    justify-content: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;center&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
  }
  &amp;amp;:hover {
    &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;box-shadow: 8px 0px 12px 0px rgba(0,0,0,0.1)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
    @media (min-width: 468px) {
      width: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;15rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;SidebarLogoWrapper&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
        justify-content: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;space-between&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      }
      &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;SidebarBrand&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
        display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      }
      &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;SidebarToggler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
        display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      }
      &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;ItemWrapper&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
        justify-content: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex-start&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      }
      &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;ItemName&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; {
        display: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;block&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
        margin-left: &lt;/span&gt;&lt;span class="p"&gt;${({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0.5rem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;;
      }
    }
  }
  ::-webkit-scrollbar {
    width: 4px;
    height: 3px;
  }
  ::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: transparent;
  }
  ::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #eaeced;
    &amp;amp;:hover {
      background: #d5e0f3;
    }
  }
  @media (max-width: 468px) {
    width: 5rem;
  }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we are making the styles according to the state that we created inside &lt;code&gt;Sidebar.jsx&lt;/code&gt;. Recall that we passed the parameters to these components. We can use those params to display and hide whatever we want. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note the hierarchy. In order to control a child component from a parent component, the child component need to be declared before the parent component.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now then, let's create a file that will render all the items of Sidebar. Inside the same directory, create a new file under the name &lt;code&gt;SidebarItems.jsx&lt;/code&gt; and add the following code to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/components/Sidebar/SidebarItems.jsx&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;ItemsList&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ItemContainer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ItemWrapper&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;ItemName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./SidebarStyles&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;dummyData&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;..&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SidebarItems&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;activeItem&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setActiveItem&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ItemsList&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;dummyData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ItemContainer&lt;/span&gt;
          &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
          &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setActiveItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
          &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Adding active class when the user clicks */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
          &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;activeItem&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;active&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ItemWrapper&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ItemName&lt;/span&gt; &lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;displaySidebar&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;itemData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/ItemName&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/ItemWrapper&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Link&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/ItemContainer&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="p"&gt;))}&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/ItemsList&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;SidebarItems&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this file, we are using &lt;code&gt;useState&lt;/code&gt; to manage the active item of the sidebar, &lt;code&gt;Link&lt;/code&gt; from React Router to redirect the user to the page, the dummy data from &lt;code&gt;src/components/index.js&lt;/code&gt;, and the styles from &lt;code&gt;src/components/Sidebar/SidebarStyles.js&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Inside the main function, we are creating a list and inside the list, we are mapping through the dummy data and rendering it using the styled components that we have imported. Note that we also created an active pseudo-selector inside &lt;code&gt;SidebarStyles.js&lt;/code&gt;, that will style the item that is active. The active class is added to the item only if the user clicks it.&lt;/p&gt;

&lt;p&gt;Here, we are also using the &lt;code&gt;Link&lt;/code&gt; component of React Router, for each item, to navigate to the item that the user clicks.&lt;/p&gt;

&lt;p&gt;Finally, we have the following output. &lt;em&gt;Play with the code however you wish and see the changes.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vm4ahsl0ocipun5mav2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vm4ahsl0ocipun5mav2.png" alt="image.png" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a simple Sidebar component. You can, however, extend it and make it much more amazing however you demand it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://jealousgx-sidebar.vercel.app" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/JealousGx/snippets/tree/sidebar" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://styled-components.com" rel="noopener noreferrer"&gt;styled-components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reactrouter.com" rel="noopener noreferrer"&gt;React Router DOM&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stay tuned with more of my blogs on &lt;a href="https://blog.jealousdev.tech" rel="noopener noreferrer"&gt;my site&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is my first blog, so, there will be some mistakes in the script, however, the code works perfect. Kindly share tips that can help me make the articles more organized.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>tutorial</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Websites images</title>
      <dc:creator>JealousGx</dc:creator>
      <pubDate>Mon, 24 May 2021 15:51:38 +0000</pubDate>
      <link>https://dev.to/jealousgx/websites-images-c71</link>
      <guid>https://dev.to/jealousgx/websites-images-c71</guid>
      <description>&lt;p&gt;&lt;a href="https://react-projects.netlify.app" rel="noopener noreferrer"&gt;https://react-projects.netlify.app&lt;/a&gt;&lt;br&gt;
In the above website, the websites are collectively shared. I wanted to know if the shared websites' images were taken manually or there is something going on in the backend that automatically takes the images and posts them here. Like in the image below, netlify is actually taking pictures automatically from the published websites:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://user-images.githubusercontent.com/59867217/119329279-e66d1b80-bc39-11eb-8734-330ddd71f080.png" rel="noopener noreferrer"&gt;https://user-images.githubusercontent.com/59867217/119329279-e66d1b80-bc39-11eb-8734-330ddd71f080.png&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
