<?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: Sajith P J</title>
    <description>The latest articles on DEV Community by Sajith P J (@sajithpj).</description>
    <link>https://dev.to/sajithpj</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%2F795171%2F13d7d3e9-578d-4db3-812c-142a10d96f1a.jpg</url>
      <title>DEV Community: Sajith P J</title>
      <link>https://dev.to/sajithpj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sajithpj"/>
    <language>en</language>
    <item>
      <title>I Stopped Building Features, All at Once</title>
      <dc:creator>Sajith P J</dc:creator>
      <pubDate>Fri, 23 Jan 2026 21:17:04 +0000</pubDate>
      <link>https://dev.to/sajithpj/i-stopped-building-features-all-at-once-333l</link>
      <guid>https://dev.to/sajithpj/i-stopped-building-features-all-at-once-333l</guid>
      <description>&lt;p&gt;Hi Folks,&lt;br&gt;
I STOPPED BUILDING FEATURES, ALL AT ONCE&lt;/p&gt;

&lt;h2&gt;
  
  
  Wondering Why ?!
&lt;/h2&gt;

&lt;p&gt;I am developing a restaurant management software(RMS) to make the restaurant owners life better. I was trying to fix the features that I want to include in my RMS, I have gone through the features of, most of the RMS in the current market, and I did a mistake❗.&lt;/p&gt;

&lt;h2&gt;
  
  
  MISTAKE I HAVE DONE
&lt;/h2&gt;

&lt;p&gt;I took a list of features from other applications and tried to include them in my RMS. Seems like a common mistake from a beginner right 😅. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ofcourse, I am.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I WAS IN COMPETITIVE MINDSET 🏇🏻&lt;/strong&gt;&lt;br&gt;
I was thinking like, if we have more feature than others, I will get more customers. That mindset itself is wrong. Nowadays, when you plan to build some products, you will find, other companies are already there in the market with same concept/product. This will put a pressure on you. &lt;/p&gt;

&lt;p&gt;To compete with others, beginners like me would jump into overload the product with more features, but you have to realize that you cant take you r product to market, if you keep researching and overload your product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At Some Point You Have to Stop Thinking About More Features🛑&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are on this stage, its time to fix your mindset.&lt;/p&gt;

&lt;h2&gt;
  
  
  YOU SHOULD HAVE MVP MINDSET
&lt;/h2&gt;

&lt;p&gt;You heared about MVP right ?  Minimum Viable Product. When you are in the inital stage of the business, You have to limit the features, In fact your product should have least and important working flow, and &lt;strong&gt;Everything you  have now is not important&lt;/strong&gt;. You can cut down the features for the first cut of your product. Once you are ready with your MVP, focus on entering into the market and try to find at least 5 customers. Let them use the MVP and you observe them, find more important things they and repeat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When Keep repeating this, you would get a nice and mature product that someone really need.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Relatable ?!
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pitch Your Product in the Comments🎯&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cool😎, I think &lt;del&gt;you&lt;/del&gt; we learned something new today.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;About Me&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am Sajith P J, Senior React JS Developer, A JavaScript developer with the entrepreneurial mindset. I combine my experience with the super powers of JavaScript to satisfy your requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  *&lt;em&gt;Reach Me Out *&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sajith-p-j/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/dev_.sajith/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sajith.in/" rel="noopener noreferrer"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:sajithpjofficialme@gmail.com"&gt;Email (sajithpjofficialme@gmail.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks !!!🙌&lt;/p&gt;

</description>
      <category>programming</category>
      <category>product</category>
      <category>startup</category>
    </item>
    <item>
      <title>How To Create Alert In React JS. Master Alerts In React JS.</title>
      <dc:creator>Sajith P J</dc:creator>
      <pubDate>Sat, 01 Jun 2024 09:03:00 +0000</pubDate>
      <link>https://dev.to/sajithpj/how-to-create-alert-in-react-js-master-alerts-in-react-js-46l3</link>
      <guid>https://dev.to/sajithpj/how-to-create-alert-in-react-js-master-alerts-in-react-js-46l3</guid>
      <description>&lt;p&gt;Heyy Developers🙋‍♂️.&lt;/p&gt;

&lt;p&gt;Did you know how to create an &lt;strong&gt;Alert&lt;/strong&gt; box in React JS. I know, you already know this. Maybe I can share a different method, which will help you ignore repeated state usage and other lines of code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Explore 🙌&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Before We Start&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Be ready with the react js project with you and install &lt;a href="https://www.npmjs.com/package/classnames"&gt;classnames&lt;/a&gt;. Run the following command to install &lt;code&gt;classnames&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i classnames
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are using some dynamic classNames to style our component.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Basic Method To Create An Alert&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Usually&lt;/strong&gt;, we create the &lt;code&gt;Alert&lt;/code&gt; component inside of our &lt;code&gt;components&lt;/code&gt; and we use &lt;code&gt;useState&lt;/code&gt; to conditionally render the alert.&lt;/p&gt;

&lt;p&gt;First, Let's see how it will be&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&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="nx"&gt;SuccessAlert&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;./component/SuccessAlert&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;WarningAlert&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;./component/WarningAlert&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;ErrorAlert&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;./component/ErrorAlert&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;App&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="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;alert&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setAlert&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="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;showAlert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&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;setAlert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* rest of the UI */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&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;showAlert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;warning&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Show Warning Alert
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&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;showAlert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;success&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Show Success Alert
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&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;showAlert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Show Error Alert
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;alert&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;success&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;SuccessAlert&lt;/span&gt; &lt;span class="p"&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="nx"&gt;alert&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;warning&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;WarningAlert&lt;/span&gt; &lt;span class="p"&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="nx"&gt;alert&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;error&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ErrorAlert&lt;/span&gt; &lt;span class="p"&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="dl"&gt;""&lt;/span&gt;
      &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Probably, this is how you will create alerts. Here, the alerts are loaded by using the alerts and they are not reusable, and these components will mount into the root div of React Js.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why Don't You Use This Method?❗❗❗&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Less Reusability.&lt;/li&gt;
&lt;li&gt;Repeated use of state.&lt;/li&gt;
&lt;li&gt;Mounting into the root div/inside parent elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Let's Create A Better Version Of Alert🙌&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create A Function, Which Creates Alerts Dynamically&lt;/strong&gt;&lt;br&gt;
Let's create a folder in &lt;code&gt;src&lt;/code&gt; directory called &lt;code&gt;components&lt;/code&gt;, &lt;br&gt;
Inside of &lt;code&gt;components&lt;/code&gt; create another folder called &lt;code&gt;alertist&lt;/code&gt;.&lt;br&gt;
Create a file called &lt;code&gt;index.js&lt;/code&gt; inside &lt;code&gt;alertist&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So the folder structure will be 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;my-vite-react-app/
├── node_modules/
├── public/
│   └── vite.svg
├── src/
│   ├── assets/
│   │   └── react.svg
│   ├── components/
│   │   └── alertist/
│   │       └── index.js
│   ├── App.css
│   ├── App.jsx
│   ├── index.css
│   ├── main.jsx
│   └── vite-env.d.ts
├── .gitignore
├── index.html
├── package.json
├── README.md
├── vite.config.js
└── package-lock.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We add the code first and I will explain about it.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/components/alertist/index.js&lt;/code&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createRoot&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-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;Alertist&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/Alertist&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;createPortal&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-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;alertRoots&lt;/span&gt; &lt;span class="o"&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;alertist&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="nx"&gt;alertCount&lt;/span&gt; &lt;span class="o"&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;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.alert&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;length&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;portalNode&lt;/span&gt; &lt;span class="o"&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;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#alert_1&lt;/span&gt;&lt;span class="dl"&gt;"&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="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;portalNode&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="nx"&gt;div&lt;/span&gt; &lt;span class="o"&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;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;div&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;div&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;alert_1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;div&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;alert&lt;/span&gt;&lt;span class="dl"&gt;"&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;querySelector&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="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&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="nx"&gt;div&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="o"&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;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;div&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;div&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="s2"&gt;`alert_&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;modalCount&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&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;div&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;alert&lt;/span&gt;&lt;span class="dl"&gt;"&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;querySelector&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="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&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="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;));&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;alertRoots&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&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;alertRoots&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;root&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;_internalRoot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;containerInfo&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="s2"&gt;`alert_&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;alertCount&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;addedPortalNode&lt;/span&gt; &lt;span class="o"&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;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`#alert_&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;alertCount&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&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;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;addedPortalNode&lt;/span&gt;&lt;span class="p"&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="nf"&gt;createPortal&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;Alertist&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="nx"&gt;addedPortalNode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;addedPortalNode&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&amp;gt;, addedPortalNode&lt;/span&gt;&lt;span class="se"&gt;))&lt;/span&gt;&lt;span class="err"&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="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;alertist&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The code defines a function called &lt;code&gt;alertist&lt;/code&gt; that dynamically creates an &lt;code&gt;alert&lt;/code&gt; in a React application. Each alert modal is created in a new div element and rendered using React's createPortal function. The Alertist component is responsible for the content of these alert modals.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Determine the Number of Existing Alerts:&lt;br&gt;
&lt;strong&gt;alertCount:&lt;/strong&gt; Counts the number of existing alert modals by querying &lt;br&gt;
elements with the class name "alert".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check for Existing Alert Node:&lt;br&gt;
&lt;strong&gt;portalNode:&lt;/strong&gt; Looks for an existing element with the ID #alert_1.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create New Alert Node:&lt;br&gt;
If no element with ID #alert_1 is found:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a new div with ID &lt;code&gt;alert_1&lt;/code&gt; and class name &lt;code&gt;"alert"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Appends this div to the #root element in the DOM.&lt;/li&gt;
&lt;li&gt;Creates a React root for this &lt;code&gt;div&lt;/code&gt; and adds it to &lt;code&gt;alertRoots&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If an element with ID #alert_1 is found: &lt;br&gt;
     - Creates a new div with a dynamically generated ID &lt;br&gt;
       &lt;code&gt;(alert_${alertCount + 1})&lt;/code&gt; and class name &lt;code&gt;"alert"&lt;/code&gt;.&lt;br&gt;
     - Appends this &lt;code&gt;div&lt;/code&gt; to the &lt;code&gt;#root&lt;/code&gt; element in the DOM.&lt;br&gt;
     - Creates a React root for this &lt;code&gt;div&lt;/code&gt; and adds it to &lt;code&gt;alertRoots&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Render the Alert Component:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If &lt;code&gt;alertRoots&lt;/code&gt; array is not empty: 

&lt;ul&gt;
&lt;li&gt;Finds the root in &lt;code&gt;alertRoots&lt;/code&gt; that corresponds to the newly 
created alert &lt;code&gt;div&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Uses &lt;code&gt;createPortal&lt;/code&gt; to render the Alertist component into the 
newly created div.&lt;/li&gt;
&lt;li&gt;Passes props, the newly created alert &lt;code&gt;div&lt;/code&gt; (as addedPortalNode), 
and the &lt;code&gt;alertRoots&lt;/code&gt; array to the Alertist component.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;createRoot:&lt;/strong&gt; A React function from react-dom/client used to create a root for rendering React components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;createPortal&lt;/strong&gt;: A React function from react-dom used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After this, you will notice that we are using a component called &lt;code&gt;Alertist&lt;/code&gt; in this &lt;code&gt;alertist&lt;/code&gt; function. It's time to create that function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create All The Components For Alert&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, Create the &lt;code&gt;&amp;lt;Alertist /&amp;gt;&lt;/code&gt;. &lt;br&gt;
So, create a folder called &lt;code&gt;components&lt;/code&gt; inside &lt;code&gt;src/components/Alert&lt;/code&gt;.&lt;br&gt;
Add a file named &lt;code&gt;Alertist.jsx&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And the following code to &lt;code&gt;Alertist.jsx&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;
&lt;span class="k"&gt;import&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="nx"&gt;Alert&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;./Alert&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;Alertist&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;show&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setShow&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="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Alert&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="p"&gt;/&amp;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;Alertist&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 just a simple component that renders the &lt;code&gt;&amp;lt;Alert/&amp;gt;&lt;/code&gt; according to the state &lt;code&gt;show&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here, You can see that I am importing and using a component called &lt;code&gt;&amp;lt;Alert /&amp;gt;&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Let's create &lt;code&gt;Alert.jsx&lt;/code&gt;.&lt;br&gt;
So, create a file called &lt;code&gt;Alert.jsx&lt;/code&gt;, inside &lt;code&gt;src/components/Alert/components&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;Add the below code inside &lt;code&gt;Alert.jsx&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&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="nx"&gt;AlertOverlay&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;./AlertOverlay&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;AlertLayout&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;./AlertLayout&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;AlertIcon&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;./AlertIcon&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;classNames&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;classnames&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;Alert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;subtitle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;subContent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;onClose&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;addedPortalNode&lt;/span&gt;&lt;span class="p"&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;closeAlert&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="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;onClose&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;onClose&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="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;overflow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;auto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;alertRoots&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nx"&gt;addedPortalNode&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nf"&gt;remove&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="nx"&gt;autoCloseAfterTimer&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="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;setTimeout&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;closeAlert&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nx"&gt;timer&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="nx"&gt;closingOnClick&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="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;closeAlert&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="nx"&gt;onCancelButtonClick&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="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;cancelButton&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      &lt;span class="nx"&gt;cancelButton&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="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      &lt;span class="nx"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nf"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nf"&gt;closeAlert&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="nx"&gt;onSuccessButtonClick&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="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;successButton&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      &lt;span class="nx"&gt;successButton&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="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
      &lt;span class="nx"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nf"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nf"&gt;closeAlert&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="nf"&gt;useEffect&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nf"&gt;autoCloseAfterTimer&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="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="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AlertOverlay&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;closingOnClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AlertLayout&lt;/span&gt; &lt;span class="na"&gt;onClose&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;closingOnClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AlertIcon&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex justify-center items-center flex-col"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full flex justify-center items-center flex-col"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-[24px] font-extrabold  tracking-wide"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-black tracking-wide text-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;subtitle&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;subContent&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;undefined&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;subContent&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex justify-center items-center my-[16px] gap-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
                &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;
                &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;classNames&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rounded-[10px]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                  &lt;span class="nx"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;className&lt;/span&gt;
                &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onCancelButtonClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;displayText&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
                &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;
                &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;classNames&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rounded-[10px]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                  &lt;span class="nx"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;className&lt;/span&gt;
                &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onSuccessButtonClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;displayText&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;AlertLayout&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&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;Alert&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Explanation&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Props&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;show&lt;/code&gt;: Boolean to control the visibility of the alert.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;setShow&lt;/code&gt;: Function to set the visibility of the alert.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt;: Type of the alert, used to determine the icon and style.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;title&lt;/code&gt;: Title text of the alert.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;subtitle&lt;/code&gt;: Subtitle text of the alert.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;subContent&lt;/code&gt;: Additional content to display in the alert.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;successButton&lt;/code&gt;: Object with properties to configure the success button.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cancelButton&lt;/code&gt;: Object with properties to configure the cancel button.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;timer&lt;/code&gt;: Time in milliseconds after which the alert will automatically close.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;onClose&lt;/code&gt;: Function to call when the alert is closed.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;alertRoots&lt;/code&gt;: Array of alert root elements.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;addedPortalNode&lt;/code&gt;: The DOM node where the alert is rendered.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Internal Functions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;closeAlert&lt;/code&gt;:

&lt;ul&gt;
&lt;li&gt;Calls the onClose function if provided.&lt;/li&gt;
&lt;li&gt;Restores the body overflow style to allow scrolling.&lt;/li&gt;
&lt;li&gt;Removes the last element from the alertRoots array.&lt;/li&gt;
&lt;li&gt;Removes the addedPortalNode from the DOM.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;autoCloseAfterTimer&lt;/code&gt;:

&lt;ul&gt;
&lt;li&gt;Calls &lt;code&gt;closeAlert&lt;/code&gt; after the specified timer duration using 
setTimeout.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;closingOnClick&lt;/code&gt;: Calls &lt;code&gt;closeAlert&lt;/code&gt; when the alert overlay is clicked.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;onCancelButtonClick&lt;/code&gt;: 

&lt;ul&gt;
&lt;li&gt;Calls the onClick handler of the &lt;code&gt;cancelButton&lt;/code&gt; if provided.&lt;/li&gt;
&lt;li&gt;Calls &lt;code&gt;closeAlert&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;onSuccessButtonClick&lt;/code&gt;: 

&lt;ul&gt;
&lt;li&gt;Calls the onClick handler of the &lt;code&gt;successButton&lt;/code&gt; if provided.&lt;/li&gt;
&lt;li&gt;Calls &lt;code&gt;closeAlert&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;useEffect Hook&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;**useEffect**&lt;/code&gt; hook is used to set up a timer to automatically close the alert if the timer prop is provided. This effect runs once when the component mounts because the dependency array is empty ([]).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Return Statement&lt;/strong&gt;&lt;br&gt;
The Alert component return a UI for a basic, styled with &lt;strong&gt;Tailwind CSS&lt;/strong&gt;, alert box containing &lt;code&gt;overlay&lt;/code&gt;, &lt;code&gt;buttons&lt;/code&gt;, &lt;code&gt;close button&lt;/code&gt;, etc.&lt;/p&gt;
&lt;h2&gt;
  
  
  Other Components Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;/strong&gt;:
AlertOverlay component to capture click events for closing the alert, and return a blurred overlay for the alert.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To create this component, create a file called &lt;code&gt;AlertOverlay.jsx&lt;/code&gt;, inside &lt;code&gt;src/components/Alert/components&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Add the below code to &lt;code&gt;AlertOverlay.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;AlertOverlay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;onClick&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="nf"&gt;useEffect&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="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;overflow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hidden&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="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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;
      &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"fixed top-0 left-0 w-full h-screen bg-gradient-to-r from-[#ffffff07] to-[#ffffff31] backdrop-blur-[5px] z-50 overflow-hidden"&lt;/span&gt;
      &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;AlertOverlay&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This component will receive &lt;code&gt;onClick&lt;/code&gt;.&lt;br&gt;
The &lt;code&gt;onClick&lt;/code&gt; function &lt;strong&gt;will used to close the alert when you click outside of the&lt;/strong&gt; &lt;code&gt;alert&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;**&amp;lt;AlertLayout /&amp;gt;**&lt;/code&gt;:
This is a component, that contains the alert's content, and it returns a basic UI for the alert.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To create this component, create a file called &lt;code&gt;AlertLayout.jsx&lt;/code&gt;, inside &lt;code&gt;src/components/Alert/components&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Add the following code to &lt;code&gt;AlertLayout.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&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;AnimatePresence&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;motion&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;framer-motion&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;CloseIcon&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;../../../assets/icons/Close&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;AlertLayout&lt;/span&gt; &lt;span class="o"&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="nx"&gt;onClose&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;`fixed max-w-[450px] w-full min-h-[300px] z-[51] bg-white top-1/2 left-1/2 transform translate-x-[-50%] translate-y-[-50%] rounded-[10px]  shadow-xl shadow-[#eeeeee]`&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full h-full relative p-5 min-h-[300px] flex justify-center items-center flex-col "&lt;/span&gt;
      &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"absolute top-[10px] left-[10px]"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onClose&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt; &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt; &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 384 512"&lt;/span&gt;  &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;AlertLayout&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;**&amp;lt;AlertIcon /&amp;gt;**&lt;/code&gt;: 
This is a component used to display an icon based on the alert type.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To create this component, create a file called &lt;code&gt;AlertIcon.jsx&lt;/code&gt;, inside &lt;code&gt;src/components/Alert/components&lt;/code&gt;.&lt;br&gt;
Add the following code to &lt;code&gt;AlertIcon.jsx&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ErrorIcon&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/Alertist/ErrorIcon&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;InfoIcon&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/Alertist/InfoIcon&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;OopsIcon&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/Alertist/OopsIcon&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;SuccessIcon&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/Alertist/SuccessIcon&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;WarningIcon&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/Alertist/WarningIcon&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;ICONS&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;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;oops&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;OopsIcon&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ErrorIcon&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;warning&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;WarningIcon&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;success&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;SuccessIcon&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;info&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;InfoIcon&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;AlertIcon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;height&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="nx"&gt;getIcon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;ICONS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;filter&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;gt;&lt;/span&gt; &lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;type&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="nx"&gt;src&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;iconComponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getIcon&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// iconComponent.props = Object.assign({}, iconComponent.props, { width, height });&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex justify-center items-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;iconComponent&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;AlertIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Add A folder for the icons, called icons, In the &lt;code&gt;src/components/Alert&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Add the SVG code for the icons in the specified directories.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/components/Alert/icons/ErrorIcon.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ErrorIcon&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"45"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"45"&lt;/span&gt;
      &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 45 45"&lt;/span&gt;
      &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
      &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M31.3403 14.7871L13.3403 30.7871"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#F31717"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.61702"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M13.3403 14.7871L31.3403 30.7871"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#F31717"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.61702"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;circle&lt;/span&gt;
        &lt;span class="na"&gt;cx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"22.5"&lt;/span&gt;
        &lt;span class="na"&gt;cy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"22.5"&lt;/span&gt;
        &lt;span class="na"&gt;r&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20.6915"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#F31717"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.61702"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&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;ErrorIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;src/components/Alert/icons/InfoIcon.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;InfoIcon&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
      &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt;
      &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 48 48"&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"48px"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"48px"&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;circle&lt;/span&gt; &lt;span class="na"&gt;cx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"28"&lt;/span&gt; &lt;span class="na"&gt;cy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"28"&lt;/span&gt; &lt;span class="na"&gt;r&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"18.5"&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#90caf9"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#18193f"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeMiterlimit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3"&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M31.4,41c-2.3,1-4.8,1.5-7.4,1.5C13.8,42.5,5.5,34.2,5.5,24c0-4.5,1.6-8.6,4.2-11.8"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#18193f"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeMiterlimit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3"&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M16.3,7.2c2.3-1.1,5-1.7,7.7-1.7c10.2,0,18.5,8.3,18.5,18.5c0,4-1.3,7.7-3.4,10.7"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;circle&lt;/span&gt; &lt;span class="na"&gt;cx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"24"&lt;/span&gt; &lt;span class="na"&gt;cy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"16"&lt;/span&gt; &lt;span class="na"&gt;r&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"2"&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#18193f"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;line&lt;/span&gt;
        &lt;span class="na"&gt;x1&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"24"&lt;/span&gt;
        &lt;span class="na"&gt;x2&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"24"&lt;/span&gt;
        &lt;span class="na"&gt;y1&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"22.5"&lt;/span&gt;
        &lt;span class="na"&gt;y2&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"33.5"&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#18193f"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeMiterlimit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&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;InfoIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;src/components/Alert/icons/OopsIcon.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;OopsIcon&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt;
      &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 153 153"&lt;/span&gt;
      &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
      &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;rect&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"url(#pattern0)"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;defs&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;pattern&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"pattern0"&lt;/span&gt;
          &lt;span class="na"&gt;patternContentUnits&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"objectBoundingBox"&lt;/span&gt;
          &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
          &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
        &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;use&lt;/span&gt; &lt;span class="na"&gt;xlinkHref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#image0_629_1106"&lt;/span&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"scale(0.00195312)"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"image0_629_1106"&lt;/span&gt;
          &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"512"&lt;/span&gt;
          &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"512"&lt;/span&gt;
          &lt;span class="na"&gt;xlinkHref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"data:image/png;base64,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"&lt;/span&gt;
        &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;defs&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&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;OopsIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I took this image and converted it as svg😁.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/components/Alert/icons/SuccessIcon.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SuccessIcon&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"60"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"60"&lt;/span&gt;
      &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 60 60"&lt;/span&gt;
      &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
      &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
        &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M44.6597 20.2129L27.7561 37.2129L21.6597 30.6962"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#209625"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.61702"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;circle&lt;/span&gt;
        &lt;span class="na"&gt;cx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"33.1597"&lt;/span&gt;
        &lt;span class="na"&gt;cy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"28.7129"&lt;/span&gt;
        &lt;span class="na"&gt;r&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20.6915"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#209625"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.61702"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&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;SuccessIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;src/components/Alert/icons/WarningIcon.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;WarningIcon&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt;
      &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 153 153"&lt;/span&gt;
      &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
      &lt;span class="na"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2000/svg"&lt;/span&gt;
      &lt;span class="na"&gt;xmlnsXlink&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/1999/xlink"&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;rect&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"153"&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"url(#pattern0)"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;defs&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;pattern&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"pattern0"&lt;/span&gt;
          &lt;span class="na"&gt;patternContentUnits&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"objectBoundingBox"&lt;/span&gt;
          &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
          &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
        &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;use&lt;/span&gt; &lt;span class="na"&gt;xlinkHref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#image0_629_1117"&lt;/span&gt; &lt;span class="na"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"scale(0.00195312)"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"image0_629_1117"&lt;/span&gt;
          &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"512"&lt;/span&gt;
          &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"512"&lt;/span&gt;
          &lt;span class="na"&gt;xlinkHref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"data:image/png;base64,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"&lt;/span&gt;
        &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;defs&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&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;WarningIcon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;FEEL FREE TO REPLACE THE ICONS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whoooohh, That a loooongg setup. Isnt it?&lt;/p&gt;

&lt;p&gt;That's all we need for the Alert.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How To Use In The Code ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Let's take the example of buttons, that we use as the example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&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;alertist&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="s1"&gt;./components/Alert&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;App&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;showAlert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&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;setAlert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;type&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;showWarningAlert&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="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;alertist&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;warning&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Warning&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;subtitle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The warning message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// close in 2s,&lt;/span&gt;
      &lt;span class="na"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;displayText&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Okay&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-primary text-white px-4 py-2 rounded-lg text-[14px]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&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;handleErrorAlertSuccessClick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;show&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="c1"&gt;// cancel button will be hidden&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;showSuccessAlert&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="p"&gt;{&lt;/span&gt;
   &lt;span class="c1"&gt;// timer is disabled&lt;/span&gt;
    &lt;span class="nf"&gt;alertist&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;success&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Success&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;subtitle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The success message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;successButton&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;displayText&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Okay&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-primary text-white px-4 py-2 rounded-lg text-[14px]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&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;handleErrorAlertSuccessClick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;cancelButton&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;show&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="c1"&gt;// cancel button will be hidden&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* rest of the UI */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;showWarningAlert&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Show Warning Alert
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;showSuccessAlert&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Show Success Alert
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Conclucion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;By creating this component, you dont need to manage the different states for different Alerts anymore, and you can modify this code for moree resuability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cool😎&lt;/strong&gt;, I think you learned something new today.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;About Me&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am Sajith P J, Senior React JS Developer, A JavaScript developer with the entrepreneurial mindset. I combine my experience with the super powers of JavaScript to satisfy your requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  *&lt;em&gt;Reach Me Out *&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sajith-p-j/"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/dev_.sajith/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sajith.in/"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//mailto:sajithpjofficialme@gmail.com"&gt;Email (sajithpjofficialme@gmail.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks !!!🙌&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Master The Layouts In React JS. Control Layout From Any Page - DEV Community.</title>
      <dc:creator>Sajith P J</dc:creator>
      <pubDate>Thu, 30 May 2024 14:21:36 +0000</pubDate>
      <link>https://dev.to/sajithpj/master-the-layouts-in-react-js-control-layout-from-any-page-dev-community-fea</link>
      <guid>https://dev.to/sajithpj/master-the-layouts-in-react-js-control-layout-from-any-page-dev-community-fea</guid>
      <description>&lt;p&gt;Hi Developers🙋‍♂️,&lt;/p&gt;

&lt;p&gt;We are going to talk about the &lt;strong&gt;Layouts&lt;/strong&gt; in &lt;strong&gt;React JS&lt;/strong&gt;. I will share with you an advanced version of creating layouts and the layout elements like the sidebar, header, etc. can be controlled from any page. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Explore🥳&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Before we start, what is the Layout?
&lt;/h2&gt;

&lt;p&gt;A layout component is a reusable component that defines the structure of your application's user interface. It typically includes common UI elements like headers, footers, sidebars, and navigation menus. By centralizing these elements in a layout component, you ensure consistency across different pages of your application​.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be ready&lt;/strong&gt; with your React JS project with a form and install &lt;a href="https://reactrouter.com/en/main/start/tutorial"&gt;React-Router-Dom&lt;/a&gt; to validate the form. Confused??, No worries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Installing React JS&lt;/strong&gt;&lt;br&gt;
I am going with Vite to install the React JS. Simply run the following command to install React JS.&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="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;create&lt;/span&gt; &lt;span class="nx"&gt;vite&lt;/span&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;latest&lt;/span&gt; &lt;span class="nx"&gt;my&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;app&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt; &lt;span class="nx"&gt;react&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*replace the my-react-app with your project name.&lt;/p&gt;

&lt;p&gt;change the directory to the project folder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd my-react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the required dependencies by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Installing react-router-dom&lt;/strong&gt;&lt;br&gt;
Install the &lt;code&gt;react-router-dom&lt;/code&gt; using the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install react-router-dom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt;hat's all you need, We are &lt;strong&gt;Good to Go.🟢&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I will walk you through the basic and better methods to implement the layouts in React JS. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Method 1: Basic Method To Create Layouts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When you are learning React JS, it's okay to go with the basic method, But this method has less control over the layout component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Setup the Routes&lt;/strong&gt;&lt;br&gt;
After installing the &lt;code&gt;react-router-dom&lt;/code&gt;, you need to set up the routes to create multiple pages in a React JS application. So create a &lt;code&gt;jsx&lt;/code&gt; file called &lt;code&gt;routes.jsx&lt;/code&gt; in the &lt;code&gt;src&lt;/code&gt; directory. As well as create &lt;code&gt;pages&lt;/code&gt; folder inside &lt;code&gt;src&lt;/code&gt; directory, and create two file &lt;code&gt;Dashboard.jsx&lt;/code&gt; and &lt;code&gt;ChangePassword.jsx&lt;/code&gt; (took some random pages as example).&lt;/p&gt;

&lt;p&gt;Then the folder structure will be 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;my-vite-react-app/
├── node_modules/
├── public/
│   └── vite.svg
├── src/
│   ├── App.css
│   ├── App.jsx
│   ├── index.css
│   ├── main.jsx
│   ├── routes.jsx
│   └── pages/
│       ├── Dashboard.jsx
│       └── ChangePassword.jsx
├── .gitignore
├── index.html
├── package.json
├── README.md
└── vite.config.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;You can set up your folder structure according to your project, I am using a random structure for this example.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, add the routes for &lt;code&gt;Dashboard&lt;/code&gt; and &lt;code&gt;ChangePassword&lt;/code&gt; in &lt;code&gt;routes.jsx&lt;/code&gt;. Then you will be able to navigate and render those pages without layout.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createBrowserRouter&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;Dashboard&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Dashboard&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;ChangePassword&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/ChangePassword&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;routers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createBrowserRouter&lt;/span&gt;&lt;span class="p"&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;/dashboard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Dashboard&lt;/span&gt;&lt;span class="p"&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="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;/change-password&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChangePassword&lt;/span&gt; &lt;span class="p"&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;In &lt;code&gt;App.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;RouterProvider&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;routers&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./routes&lt;/span&gt;&lt;span class="dl"&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;RouterProvider&lt;/span&gt; &lt;span class="na"&gt;router&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&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;Okay, Now you are good with routes. Let's create &lt;code&gt;&amp;lt;Layout /&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create Layout Component&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;Layout&lt;/code&gt; can change according to the design. I will demonstrate with two layout components &lt;code&gt;SideBar&lt;/code&gt; and &lt;code&gt;Header&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So, create a folder in &lt;code&gt;src&lt;/code&gt; called &lt;code&gt;components&lt;/code&gt; and add &lt;code&gt;index.jsx&lt;/code&gt;, &lt;code&gt;Sidebar.jsx&lt;/code&gt;, and &lt;code&gt;Header.jsx&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And, you will have a folder structure as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my-vite-react-app/
├── node_modules/
├── public/
│   └── vite.svg
├── src/
│   ├── App.css
│   ├── App.jsx
│   ├── index.css
│   ├── main.jsx
│   ├── routes.jsx
│   ├── pages/
│   │   ├── Dashboard.jsx
│   │   └── ChangePassword.jsx
│   └── components/
│       ├── index.jsx
│       ├── Sidebar.jsx
│       └── Header.jsx
├── .gitignore
├── index.html
├── package.json
├── README.md
└── vite.config.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a sidebar component in &lt;code&gt;src/components/Sidebar.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useNavigate&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;Dashboard&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;../../../assets/icons/Dashboard&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;Settings&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;../../../assets/icons/Settings&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;Pages&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;../../../assets/icons/Pages&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;DummyLogo&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;../../../assets/icons/DummyLogo&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;Sidebar&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;navigate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useNavigate&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;menuItems&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;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Dashboard&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;,&lt;/span&gt;
      &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Dashboard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;link&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/dashboard&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="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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChangePassword&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;,&lt;/span&gt;
      &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Change Password&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;link&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/change-password&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="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;navigateToHref&lt;/span&gt; &lt;span class="o"&gt;=&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;navigate&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="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="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"hidden lg:block relative w-full max-w-[300px] bg-white-500  h-full border-r-[1px] border-primary border-opacity-30 shadow-sm"&lt;/span&gt;
        &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;backgroundColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* &amp;lt;img src="/sigi.png" alt="LOGO" className="w-[130px]" /&amp;gt; */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex gap-3 justify-center items-center h-[65px] "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;DummyLogo&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"font-bold "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
           BRAND NAME
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-5 py-9"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;menuItems&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;data&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"mb-4 flex justify-center"&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
                  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;
                  &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&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;navigateToHref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&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="si"&gt;}&lt;/span&gt;
                  &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;` w-full flex justify-start items-center px-6 py-2 rounded-[7px] hover:shadow-sm text-sub_text &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;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathname&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nx"&gt;data&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-primary text-white shadow-sm fill-white&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;hover:bg-primary hover:bg-opacity-10 fill-border_color&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="si"&gt;}&lt;/span&gt;
                &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ml-4 text-[14px] font-semibold tracking-wider "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&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="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  )
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tailwind CSS is used for the basic styling.&lt;/p&gt;

&lt;p&gt;Let me add a basic &lt;code&gt;Header&lt;/code&gt; component in &lt;code&gt;src/components/Header.js&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Replace this with image&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ProfileImage&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../assets/profileImage.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Topbar&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="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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"shadow-sm border-b-[1px] border-primary  border-opacity-10"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full  flex justify-between items-center gap-4 p-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cycleOpen&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MenuIcon&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"25"&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"fill-primary stroke-primary"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;" flex justify-center items-center gap-x-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;" px-4 py-3 rounded-md bg-[#FFFAF1] relative"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Notification&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"15"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"rounded-[50%] w-[8px] h-[8px] bg-red-500 absolute top-1 right-1"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt;
              &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ProfileImage&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; 
              &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"profile image"&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-[30px] h-[40px] rounded-[10px]"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex justify-between items-center gap-6"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex flex-col items-start"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-text_color text-[14px]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                John Doe
              &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-border_color text-[13px]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Admin&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;blockquote&gt;
&lt;p&gt;THE SIDEBAR AND HEADER THAT I HAVE USED IS A RANDOM CODE THAT I HAVE. FEEL FREE TO REPLACE THE CODE WITH YOU SIDEBAR AND HEADER.&lt;/p&gt;

&lt;p&gt;!!!! Important thing is next is next component.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Inside the &lt;code&gt;src/components/Layout/index.js&lt;/code&gt;, This will be used as &lt;code&gt;&amp;lt;Layout /&amp;gt;&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Topbar&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;./Topbar&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;Sidebar&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Layout&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="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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;" flex overflow-hidden h-screen "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Sidebar&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full h-full overflow-hidden"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Topbar&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-8 pt-8 pb-[150px] w-full h-[91%] overflow-auto bg-secondary_bg"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Outlet&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;Layout&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What is Outlet ?&lt;/strong&gt;&lt;br&gt;
In &lt;code&gt;react-router-dom&lt;/code&gt;, an Outlet is a component used to render child routes within a parent route. It's part of the React Router v6 API, introduced as a replacement for the  component used in React Router v5 and earlier versions.&lt;/p&gt;

&lt;p&gt;When you define routes in your application, you typically nest them within parent routes. The parent route acts as a container for its child routes. The Outlet component serves as a placeholder where child routes will be rendered.&lt;/p&gt;

&lt;p&gt;After creating the &lt;code&gt;outlet&lt;/code&gt;, you need to modify the routes as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/routes.jsx&lt;/span&gt;

&lt;span class="c1"&gt;// ....&lt;/span&gt;
&lt;span class="c1"&gt;// ...&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Layout&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./comonents/Layout&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;router&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createBrowserRouter&lt;/span&gt;&lt;span class="p"&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;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Layout&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;,&lt;/span&gt;
      &lt;span class="na"&gt;children&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;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;/dashboard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Dashboard&lt;/span&gt; &lt;span class="p"&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="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;/change-password &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChangePassword&lt;/span&gt; &lt;span class="p"&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="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wooohh, We are created a &lt;code&gt;&amp;lt;Layout/&amp;gt;&lt;/code&gt; component with a basic method.&lt;/p&gt;

&lt;p&gt;This is the method used by a lot of developer. I this is the method that you are also using, I have a question for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Suppose, If you don't want the &lt;code&gt;&amp;lt;Header /&amp;gt;&lt;/code&gt; rendered in the &lt;code&gt;/change-password&lt;/code&gt; route how do you implement with this &lt;code&gt;&amp;lt;Layout /&amp;gt;&lt;/code&gt;?&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Thinking about a context🤔? &lt;br&gt;
Stay Tuned, I have something different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method 2: Advanced Version of Layout&lt;/strong&gt;&lt;br&gt;
We will keep the folder structure from the Method 1.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Modify the routes file&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/routes.jsx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createBrowserRouter&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;Dashboard&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Dashboard&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;ChangePassword&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/ChangePassword&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;Layout&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/Layout&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// THIS WILL GENERATE A COMBINED VERSION OF LAYOUT AND PAGE COMPONENTS FOR ROUTES&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;generateRoutesWithLayout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;routeArray&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;routeArray&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;route&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="k"&gt;if &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="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&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="na"&gt;path&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="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;children&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;generateRoutesWithLayout&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="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="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;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;getLayout&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="na"&gt;path&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="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;element&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="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nf"&gt;getLayout&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="nx"&gt;element&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="na"&gt;path&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="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;element&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="nx"&gt;element&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="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;router&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;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;/dashboard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
           &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Dashboard&lt;/span&gt;&lt;span class="p"&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="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;/change-password&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
           &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChangePassword&lt;/span&gt; &lt;span class="p"&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;routers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createBrowserRouter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;generateRoutesWithLayout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;**generateRoutesWithLayout**&lt;/code&gt; is an important function to note. This function will invoke the getLayout function by passing the page component as a parameter. The &lt;code&gt;getLayout&lt;/code&gt; function will return the page with Layout and render in the UI according to the props, passed into the &lt;code&gt;&amp;lt;Layout /&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: After This, Modify The &lt;code&gt;&amp;lt;Layout/&amp;gt;&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Sidebar&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;import&lt;/span&gt; &lt;span class="nx"&gt;Header&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;./Header&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;Layout&lt;/span&gt; &lt;span class="o"&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="nx"&gt;sidebar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&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="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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;" flex overflow-hidden h-screen "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&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;show&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Sidebar&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="si"&gt;}&lt;/span&gt; 
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full  h-full overflow-hidden relative"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Header&lt;/span&gt;  &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-4 pt-4 pb-24 w-full h-[calc(100vh-152px)] overflow-auto "&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;&lt;strong&gt;That's it&lt;/strong&gt;🙌😁, the small update will bring the ability to control the &lt;code&gt;Layout&lt;/code&gt; component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Let's Learn How To Use This &lt;/strong&gt;&lt;br&gt;
To use this layout inside your pages like &lt;code&gt;Dashboard&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You need to add a function in your page component called &lt;code&gt;getLayout&lt;/code&gt; before you export your page component.&lt;/p&gt;

&lt;p&gt;Let's see in the code &lt;code&gt;&amp;lt;Dashboard /&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Layout&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../components/Layout&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;Dashboard&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="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="c1"&gt;// you dashboard UI&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;Dashboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getLayout&lt;/span&gt; &lt;span class="o"&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;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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Layout&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Layout&lt;/span&gt;&lt;span class="p"&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;Dashboard&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it you have the dashboard with the layout.&lt;/p&gt;

&lt;p&gt;Suppose you don't want to render the &lt;code&gt;&amp;lt;Header/&amp;gt;&lt;/code&gt; in &lt;code&gt;/change-password&lt;/code&gt; screen.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Layout&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../components/Layout&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;ChangePassword&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="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="c1"&gt;// you Change Password UI&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;ChangePassword&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getLayout&lt;/span&gt; &lt;span class="o"&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;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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Layout&lt;/span&gt; &lt;span class="na"&gt;header&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;show&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="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Layout&lt;/span&gt;&lt;span class="p"&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;ChangePassword&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you have control over &lt;code&gt;&amp;lt;Header/&amp;gt;&lt;/code&gt; in the change password page.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Things You Can Do With This Setup&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You can conditionally render the &lt;code&gt;Header&lt;/code&gt; or &lt;code&gt;Sidebar&lt;/code&gt; or any other 
layout elements.&lt;/li&gt;
&lt;li&gt;You can set up breadcrumbs dynamically by using props (Rendering of 
different breadcrumbs on each page is simple with this method).&lt;/li&gt;
&lt;li&gt; Dynamically render the menu items in &lt;code&gt;sidebar&lt;/code&gt;. Just need to receive 
an array of menu items and extra props in &lt;code&gt;Layout&lt;/code&gt; and pass it to &lt;code&gt;Sidebar&lt;/code&gt;, 
then it's simple to loop over the props and render it in UI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anddd, There are a lot of things you can do with this Layout setup.&lt;/p&gt;

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

&lt;p&gt;We saw the difference between the basic Layout component and the better Layout component. Method 2 is the recommended way of approach to create the Layout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cool😎&lt;/strong&gt;, I think you learned something new today.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;About Me&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am Sajith P J, Senior React JS Developer, A JavaScript developer with the entrepreneurial mindset. I combine my experience with the super powers of JavaScript to satisfy your requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  *&lt;em&gt;Reach Me Out *&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sajith-p-j/"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/dev_.sajith/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sajith.in/"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//mailto:sajithpjofficialme@gmail.com"&gt;Email (sajithpjofficialme@gmail.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks !!!🙌&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>react</category>
    </item>
    <item>
      <title>The Best Way To Integrate APIs In React JS</title>
      <dc:creator>Sajith P J</dc:creator>
      <pubDate>Tue, 28 May 2024 20:32:02 +0000</pubDate>
      <link>https://dev.to/sajithpj/integrate-apis-using-a-common-function-in-react-js-the-best-way-to-integrate-apis-in-react-js-53he</link>
      <guid>https://dev.to/sajithpj/integrate-apis-using-a-common-function-in-react-js-the-best-way-to-integrate-apis-in-react-js-53he</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hii Developers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;How do you integrate the &lt;strong&gt;APIs&lt;/strong&gt; in &lt;strong&gt;React JS&lt;/strong&gt;? Is there any best way to integrate the APIs, which will reduce the line of code, and provide an easy method to handle errors?&lt;/p&gt;

&lt;p&gt;Let me share an improved way to integrate the APIs in React JS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Explore🙌&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Before We Start&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Be ready with your React JS project with a form and install Yup to validate the form. Confused??, No worries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Installing React JS&lt;/strong&gt;&lt;br&gt;
I am going with vite to install the React JS. Simply run the following command to install React JS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm create vite@latest my-react-app --template react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*replace the my-react-app with your project name.&lt;/p&gt;

&lt;p&gt;change the directory to the project folder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd my-react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the required dependencies by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Install Axios&lt;/strong&gt;&lt;br&gt;
Install the Axios by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i axios 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Install react-toastify&lt;/strong&gt;&lt;br&gt;
We are going to use react-toastify to handle the errors from backend.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i react-toastify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can ignore this step if you have your own way to display the error.&lt;br&gt;
That's all about installations. Let's create a form.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Setup a form with validation&lt;/strong&gt;&lt;br&gt;
I am creating the form inside &lt;code&gt;App.jsx&lt;/code&gt;. You follow your folder structure.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&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;removeError&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;validate&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;./utils/validation&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;object&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;string&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;yup&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;httpRequest&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;../../../config&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;App&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="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;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setEmployeeDetails&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="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="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;email&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="na"&gt;phoneNumber&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="na"&gt;password&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="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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="nf"&gt;setEmployeeDetails&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="nf"&gt;removeError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="p"&gt;};&lt;/span&gt;

  &lt;span class="c1"&gt;// A yup validation schema to validate the form.&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;validationSchema&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;object&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;shape&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="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please enter you name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Email is required&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="nf"&gt;email&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please enter a valid email address&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;phoneNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/^&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]{10}&lt;/span&gt;&lt;span class="sr"&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;Phone number must be exactly 10 digits&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="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Phone number is required&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;password&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Password is required&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="nf"&gt;min&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Password must be at least 8 characters long&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;a-z&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one lowercase letter&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;A-Z&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one uppercase letter&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one number&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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;event&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="c1"&gt;// validate is a function which will validate the value against the &lt;/span&gt;
    &lt;span class="c1"&gt;// validationSchema and generates the error in UI &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;errors&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isValid&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="nx"&gt;validationSchema&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&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="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isValid&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="c1"&gt;// apiCall()&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center justify-center min-h-screen bg-gray-100"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full max-w-md p-8 space-y-6 bg-white rounded shadow-lg"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-2xl font-bold text-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Add Employee&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt; &lt;span class="na"&gt;onSubmit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"space-y-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Phone Number&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"phoneNumber"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"phoneNumber"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;phoneNumber&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Password&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
            &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
            &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-4 py-2 text-white bg-blue-500 rounded-lg hover:bg-blue-700 focus:outline-none focus:ring focus:ring-blue-300"&lt;/span&gt;
          &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            Submit
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;&lt;strong&gt;Cool&lt;/strong&gt;😎, Now we have the form ready with us 🥳.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;IF YOU ARE USING THE ABOVE FORM AND ITS VALIDATION. PLEASE READ ABOUT THE &lt;a href="https://dev.to/sajithpj/validation-with-yup-did-you-know-this-method--5h8"&gt;VALIDATE&lt;/a&gt; METHOD USED TO VALIDATE THE FORM&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;All Set!! Let's Start&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;First, you need to create the reusable function to make API calls, for that, you need to set up the Axios.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a folder called &lt;code&gt;config&lt;/code&gt; inside &lt;code&gt;src&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create a file called &lt;code&gt;index.js&lt;/code&gt; inside the folder called &lt;code&gt;config&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create a file called &lt;code&gt;axios.js&lt;/code&gt; inside the folder called &lt;code&gt;config&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, the project's folder structure will be 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;my-react-app/
├── src/
│   ├── config/
│   │   ├── axios.js
│   │   └── index.js
│   ├── App.jsx
│   ├── main.jsx
│   ├── assets/
│   ├── components/
│   ├── pages/
│   ├── styles/
├── public/
├── index.html
├── package.json
├── vite.config.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In &lt;code&gt;axios.js&lt;/code&gt;, we will create axios instance and a interceptors to request and response.&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="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&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;axios&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;axiosInstance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// Request Interceptor&lt;/span&gt;
&lt;span class="nx"&gt;axiosInstance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;interceptors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;config&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="c1"&gt;// setting the base URL from env, example: https://api.example.com/api&lt;/span&gt;
  &lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;baseURL&lt;/span&gt; &lt;span class="o"&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;meta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;VITE_API_BASE_URL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="c1"&gt;// config.headers = Object.assign(&lt;/span&gt;
  &lt;span class="c1"&gt;//  {&lt;/span&gt;
  &lt;span class="c1"&gt;//    Authorization: `Bearer ${localStorage.getItem("token")}`,&lt;/span&gt;
  &lt;span class="c1"&gt;//  },&lt;/span&gt;
  &lt;span class="c1"&gt;//  config.headers&lt;/span&gt;
  &lt;span class="c1"&gt;// );&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;//Example of Response Interceptor&lt;/span&gt;
&lt;span class="nx"&gt;axiosInstance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;interceptors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;response&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="nx"&gt;err&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="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&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;axiosInstance&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 created a axios instance and stored in axiosInstance.&lt;br&gt;
&lt;strong&gt;Request Interceptor:&lt;/strong&gt; The request interceptor modifies the request configuration before the request is sent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Base URL:&lt;/strong&gt; config.baseURL is set from an environment variable (VITE_API_BASE_URL). This sets the base URL for all requests made with this Axios instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authorization Header (Commented):&lt;/strong&gt; There is a commented-out section that would add an Authorization header with a token from local storage. Uncommenting this code would attach the header to every request made by this Axios instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Response Interceptor:&lt;/strong&gt; The response interceptor allows you to handle responses and errors globally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Success Handler: The first function passed to &lt;br&gt;
 axiosInstance.interceptors.response.use is the success handler. It &lt;br&gt;
 receives the response object and returns it directly, meaning &lt;br&gt;
 successful responses are passed through without modification.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Error Handler:&lt;/strong&gt; The second function is the error handler. It &lt;br&gt;
 receives the error object and returns a rejected Promise. This &lt;br&gt;
 allows you to handle errors in a centralized place. You can add &lt;br&gt;
 custom error handling logic here if needed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, we are exporting axiosInstance from this file.&lt;/p&gt;

&lt;p&gt;Inside &lt;code&gt;src/config/index.js&lt;/code&gt; we will add functions to make the API call and handle the response.&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getMessages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;message&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;!==&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="nx"&gt;message&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Something Went Wrong&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&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="c1"&gt;// set the message according to your API response.&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
    &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;
      &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;successStatusCode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;errorStatusCode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;404&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;403&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;status&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;errorStatusCode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;toast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;getMessages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;top-right&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;autoClose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;hideProgressBar&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="na"&gt;closeOnClick&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;pauseOnHover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;draggable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;light&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="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&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;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;401&lt;/span&gt;&lt;span class="p"&gt;)&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;location&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/signin&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="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;httpRequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;method&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;get&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
  &lt;span class="nx"&gt;config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
  &lt;span class="nx"&gt;catchError&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;httpMethod&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toLocaleLowerCase&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&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;axiosInstance&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;httpMethod&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;response&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="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&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;catch&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;error&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;catchError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;handleResponse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&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="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Explanation&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In the &lt;code&gt;config/index.js&lt;/code&gt;, I created tree functions httpRequest, handleResponse, and getMessages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;httpRequest:&lt;/strong&gt; This function makes an HTTP request using the Axios instance and handles the response and errors. This function will accept some parameters like, &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;api&lt;/code&gt;: The API endpoint.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;method&lt;/code&gt;: The HTTP method (default is "get").&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;data&lt;/code&gt;: The request payload (default is an empty object).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;config&lt;/code&gt;: Additional Axios configuration (default is an empty object).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;catchError&lt;/code&gt;: A boolean indicating whether to handle errors internally or reject the promise (default is true).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This function returns a new Promise. The function calls the appropriate Axios method (get, post, put, etc.) based on the lowercase HTTP method. If the request is successful, it resolves the promise with the response. If the request fails, it either handles the error using the &lt;code&gt;handleResponse&lt;/code&gt; function or rejects the promise with the error, depending on the value of the &lt;code&gt;catchError&lt;/code&gt; flag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;handleResponse:&lt;/strong&gt;This function handles the API response errors. This function receives a parameter called &lt;code&gt;error&lt;/code&gt;, its will be axios error object from catch.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieves the message from the error response if it exists.&lt;/li&gt;
&lt;li&gt;Defines successStatusCode and errorStatusCode arrays for reference.&lt;/li&gt;
&lt;li&gt;Checks the status code of the response:

&lt;ul&gt;
&lt;li&gt;If the status code is in &lt;code&gt;errorStatusCode&lt;/code&gt;, it displays a 
       toast notification with the error message.

&lt;ul&gt;
&lt;li&gt;If the status code is 401, it redirects the user to the &lt;code&gt;/signin&lt;/code&gt;
page. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Good🙌&lt;/strong&gt;, You just created a function that can be used for any project to integrate API.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How To Use With Form&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;So, the Form will look like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&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;removeError&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;validate&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;./utils/validation&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;object&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;string&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;yup&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;httpRequest&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;./config&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;App&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="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;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setEmployeeDetails&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="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="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;email&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="na"&gt;phoneNumber&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="na"&gt;password&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="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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="nf"&gt;setEmployeeDetails&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="nf"&gt;removeError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="p"&gt;};&lt;/span&gt;

  &lt;span class="c1"&gt;// A yup validation schema to validate the form.&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;validationSchema&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;object&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;shape&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="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please enter you name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Email is required&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="nf"&gt;email&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Please enter a valid email address&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;phoneNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/^&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]{10}&lt;/span&gt;&lt;span class="sr"&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;Phone number must be exactly 10 digits&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="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Phone number is required&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;password&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Password is required&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="nf"&gt;min&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Password must be at least 8 characters long&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;a-z&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one lowercase letter&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;A-Z&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one uppercase letter&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="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&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;Password must contain at least one number&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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;event&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="c1"&gt;// validate is a function which will validate the value against the &lt;/span&gt;
    &lt;span class="c1"&gt;// validationSchema and generates the error in UI &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;errors&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isValid&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="nx"&gt;validationSchema&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&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="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isValid&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="nf"&gt;httpRequest&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;api&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/auth/signin&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;post&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;response&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;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;API, Success &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="c1"&gt;// Dont need to add catch as we catch error in a common function.&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center justify-center min-h-screen bg-gray-100"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full max-w-md p-8 space-y-6 bg-white rounded shadow-lg"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-2xl font-bold text-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Add Employee&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h2&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt; &lt;span class="na"&gt;onSubmit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"space-y-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Phone Number&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"phoneNumber"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"phoneNumber"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;phoneNumber&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;data-input-parent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"block text-sm font-medium"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Password&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;
              &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;employeeDetails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;data-input&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
              &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring focus:border-blue-300"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
            &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
            &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-4 py-2 text-white bg-blue-500 rounded-lg hover:bg-blue-700 focus:outline-none focus:ring focus:ring-blue-300"&lt;/span&gt;
          &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            Submit
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&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;&lt;strong&gt;Wooohh😃&lt;/strong&gt;, You just learned the best method for API integration.&lt;/p&gt;

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

&lt;p&gt;In the traditional method, you need to duplicate API call like &lt;code&gt;axios.get()&lt;/code&gt; or &lt;code&gt;axios.post()&lt;/code&gt; a lot of times. if you are dealing with 100 APIs in a project, there will be a lot of duplicated code. By the above method, we can ignore duplication and it will help you to catch errors globally.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;About Me&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am Sajith P J, Senior React JS Developer, A JavaScript developer with the entrepreneurial mindset. I combine my experience with the super powers of JavaScript to satisfy your requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;_Reach Me Out _&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sajith-p-j/"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/dev_.sajith/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sajith.in/"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//mailto:sajithpjofficialme@gmail.com"&gt;Email(sajithpjofficialme@gmail.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>learning</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Validation With Yup!. Did You Know This Method ?</title>
      <dc:creator>Sajith P J</dc:creator>
      <pubDate>Mon, 27 May 2024 20:24:21 +0000</pubDate>
      <link>https://dev.to/sajithpj/validation-with-yup-did-you-know-this-method--5h8</link>
      <guid>https://dev.to/sajithpj/validation-with-yup-did-you-know-this-method--5h8</guid>
      <description>&lt;p&gt;Hi Devs...&lt;/p&gt;

&lt;p&gt;Are you following the basic method to validate the forms in React JS. Did you know this method to validate the forms?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Explore🙌&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Before We Start
&lt;/h2&gt;

&lt;p&gt;Be ready with your React JS project with a form and install &lt;a href="https://www.npmjs.com/package/yup"&gt;Yup&lt;/a&gt; to validate the form. Confused??, No worries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Installing React JS&lt;/strong&gt;&lt;br&gt;
I am going with vite to install the React JS. Simply run the following command to install React JS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm create vite@latest my-react-app --template react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*replace the my-react-app with your project name.&lt;/p&gt;

&lt;p&gt;change the directory to the project folder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd my-react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the required dependencies by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Installing Yup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yup is a JavaScript schema builder for value parsing and validation. It is often used to validate data structures such as objects and arrays, ensuring that they conform to specified formats and constraints. Yup is particularly popular in conjunction with form libraries like Formik for handling form validation in React applications.&lt;/p&gt;

&lt;p&gt;Install the Yup using the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install yup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As we are only learning the validation method here, I am not going for a detailed explanation of Yup. if you are new to the Yup, here is &lt;a href="https://www.npmjs.com/package/yup"&gt;docs for Yup&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Set up a form&lt;/strong&gt;&lt;br&gt;
I am creating my form inside App.jsx and Here it is.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useState } from "react";
const App = () =&amp;gt; {
  const [isPasswordHide, setIsPasswordHide] = useState(true);
  const [loginDetails, setLoginDetails] = useState({
    email: "",
    password: "",
  });



  const toggleType = () =&amp;gt; setIsPasswordHide(!isPasswordHide);

  const handleChange = (event) =&amp;gt; {
    setLoginDetails({
      ...loginDetails,
      [event.target.name]: event.target.value,
    });
  };

  const handleLogin = (event) =&amp;gt; {
    event.preventDefault()
    // Submit the form
  };

  return (
    &amp;lt;div className="w-full h-screen flex justify-center items-center "&amp;gt;
      &amp;lt;div className="w-[500px] h-[555px] px-[80px] py-[60px] rounded-[10px] border shadow-black/[12%] shadow-[1px_1px_5px_1px]"&amp;gt;
        &amp;lt;form onSubmit={handleLogin}&amp;gt;
          &amp;lt;div className=""&amp;gt;
            &amp;lt;h1 className="text-[40px] text-text-secondary font-semibold"&amp;gt;
              Login
            &amp;lt;/h1&amp;gt;
            &amp;lt;p className="  text-text-secondary/70 tracking-[1.5px] font-medium"&amp;gt;
              Please Login to your account
            &amp;lt;/p&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;div className="mt-[40px]"&amp;gt;
            &amp;lt;div className="input-container mb-4"&amp;gt;
              &amp;lt;label htmlFor="" className="label"&amp;gt;
                Email Address
              &amp;lt;/label&amp;gt;
              &amp;lt;input
                type="text"
                className="input"
                placeholder="Enter your email"
                name="email"
                id="email"
                onChange={handleChange}
                value={loginDetails.email}
              /&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="input-container"&amp;gt;
              &amp;lt;label htmlFor="" className="label"&amp;gt;
                Password
              &amp;lt;/label&amp;gt;
              &amp;lt;div
                className="input "
                style={{
                  display: "flex",
                  justifyContent: "space-between",
                  alignItems: "center",
                }}&amp;gt;
                &amp;lt;input
                  type={isPasswordHide ? "password" : "text"}
                  placeholder="Enter password"
                  className="outline-none"
                  name="password"
                  id="password"
                  onChange={handleChange}
                  value={loginDetails.password}
                /&amp;gt;
                &amp;lt;button type="button" onClick={toggleType}&amp;gt;
                  {isPasswordHide ?  "SHOW" : "HIDE"}
                &amp;lt;/button&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;button
              type="submit"
              className="w-full mt-[60px] py-[12px] px-[12px] bg-[#F76279] text-white rounded-[8px]"&amp;gt;
              Login
            &amp;lt;/button&amp;gt;
          &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Never mind the lengthyyy className, Using Tailwind CSS to style. Style your form, make it beautiful as per your creativity🌈.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cool&lt;/strong&gt;😎, We are Good To Go!!!.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Validation Starts Here&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am going to create two reusable/common functions, one is for validating the form another is for resetting the errors.&lt;/p&gt;

&lt;p&gt;Create a folder called &lt;code&gt;utils&lt;/code&gt; in the &lt;code&gt;src&lt;/code&gt; directory and create a file &lt;code&gt;validator.js&lt;/code&gt; inside the &lt;code&gt;utils&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So, the folder structure will be 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;my-react-app/
├── node_modules/
├── public/
│   └── index.html
├── src/
│   ├── utils/
│   │   └── validator.js
│   ├── App.jsx
│   ├── main.jsx
│   └── index.css
├── .gitignore
├── index.html
├── package.json
├── vite.config.js
└── README.md

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;validator.js&lt;/code&gt; will have the following functions&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const createError = (id, message) =&amp;gt; {
  const errorElementExist = document.querySelector(`#${id}_error`);
  if (!errorElementExist) {
    const errorElement = document.createElement("span");
    errorElement.id = `${id}_error`;
    errorElement.className = `error-msg`;
    errorElement.innerText = message;

    let inputElment = document.querySelector(`#${id}`);
    let inputParentElment = document.querySelector(`#${id}`).parentElement;
    if (!inputParentElment.getAttribute("data-input-parent")) {
      while (
        !inputParentElment.getAttribute("data-input-parent") &amp;amp;&amp;amp;
        inputParentElment !== null &amp;amp;&amp;amp;
        inputParentElment.nodeType === 1
      ) {
        inputParentElment = inputParentElment.parentNode;
      }
    }
    console.log(inputElment);
    if (inputElment.getAttribute("data-input") === false) {
      while (
        inputElment.getAttribute("data-input") === false &amp;amp;&amp;amp;
        inputElment !== null &amp;amp;&amp;amp;
        inputElment.nodeType === 1
      ) {
        inputElment = inputElment.parentNode;
      }
    }
    inputElment.style.border = "1px solid red"
    inputParentElment.appendChild(errorElement);
  }
};

export const validate = async ({ validationSchema, value }) =&amp;gt; {
  let errors = {};
  try {
    const result = await validationSchema.validate(value, {
      abortEarly: false,
    });
  } catch (error) {
    if (error.name === "ValidationError") {
      error.inner.forEach((err) =&amp;gt; {
        errors[err.path] = err.message;
        createError(err.path, err.message);
      });
    }
  }
  return { errors, isValid: Object.keys(errors).length === 0 };
};

export const removeError = (id) =&amp;gt; {
  const errorElement = document.querySelector(`#${id}_error`);
  let inputElment = document.querySelector(`#${id}`);
  if (inputElment.getAttribute("data-input") === false) {
    while (
      inputElment.getAttribute("data-input") === false &amp;amp;&amp;amp;
      inputElment !== null &amp;amp;&amp;amp;
      inputElment.nodeType === 1
    ) {
      inputElment = inputElment.parentNode;
    }
  }
  // set the border according to your UI
  inputElment.style.border = "1px solid grey" 
  // remove the span tag with error from the dom
  if (errorElement) errorElement.remove();
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Explanation&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;validate&lt;/strong&gt;: This function will receive one object as parameters, which will have two keys, validationSchema, and value. This function validates the given values against a Yup validation schema and handles the display of error messages.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;validationSchema: Yup validation schema object.&lt;/li&gt;
&lt;li&gt;value: It is the value to be validated.&lt;/li&gt;
&lt;li&gt;It initializes an empty errors object.&lt;/li&gt;
&lt;li&gt;It tries to validate the provided values (value) against the 
validationSchema with abortEarly set to false, meaning it will validate 
all fields before stopping.&lt;/li&gt;
&lt;li&gt;If validation errors occur, it catches the ValidationError and iterates 
over the errors.&lt;/li&gt;
&lt;li&gt;For each error, it adds the error message to the errors object and 
calls createError to display the error message.&lt;/li&gt;
&lt;li&gt;It returns an object containing the errors and a boolean isValid 
indicating if the validation passed without errors.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;createError&lt;/strong&gt;: This function displays an error message next to a form field when a validation error occurs.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;It first checks if an error message element already exists for the 
given field ID. If it doesn't, it creates a new &lt;span&gt; element.&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;It sets the id and className of the new error element, and its inner 
text to the provided error message.&lt;/li&gt;
&lt;li&gt;It then finds the input element and its parent element. If the parent 
element does not have the attribute data-input-parent, it traverses up 
the DOM tree until it finds an element with this attribute.&lt;/li&gt;
&lt;li&gt;If the input element does not have the attribute data-input set to 
false, it also traverses up the DOM tree until it finds an appropriate 
element.&lt;/li&gt;
&lt;li&gt;Finally, it appends the error message element to the parent element of 
the input field.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.&lt;strong&gt;removeError&lt;/strong&gt;: This function removes the error message associated with a specific form field.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It selects the error message element for the given field ID.&lt;/li&gt;
&lt;li&gt;It finds the input element and traverses up the DOM tree if necessary 
to find an element with the class input.&lt;/li&gt;
&lt;li&gt;It sets the data-invalid attribute of the input element to false, 
marking it as valid.&lt;/li&gt;
&lt;li&gt;It removes the error message element if it exists.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, These three functions will help you to validate the values.&lt;/p&gt;

&lt;p&gt;Now, the question is...&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to use it with form&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We need to import and call the valid validate method inside the onSubmit and call the removeError, inside the handleChange.&lt;/p&gt;

&lt;p&gt;And the component will look 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;import { useState } from "react";
import { validate, removeError } from "./utils/validation";
import { object, string } from "yup";

const App = () =&amp;gt; {
  const [isPasswordHide, setIsPasswordHide] = useState(true);
  const [loginDetails, setLoginDetails] = useState({
    email: "",
    password: "",
  });

  const toggleType = () =&amp;gt; setIsPasswordHide(!isPasswordHide);

  const handleChange = (event) =&amp;gt; {
    setLoginDetails({
      ...loginDetails,
      [event.target.name]: event.target.value,
    });
   removeError(event.target.id)
  };
  let loginValidationSchema = object().shape({
    email: string()
      .required("User ID is required")
      .email("Please enter a valid email address"),
    password: string().required("Required"),
  });

  // onSudmit
  const handleLogin = async (event) =&amp;gt; {
    event.preventDefault();
    // Submit the form
    const { errors, isValid } = await validate({
      validationSchema: loginValidationSchema,
      value: loginDetails,
    });
    // errors, isValid can be used to control the submission of form
    console.log(errors);
   if(!isValid) return;
   // api call or any logic
  };

  return (
    &amp;lt;div className="w-full h-screen flex justify-center items-center "&amp;gt;
      &amp;lt;div className="w-[500px] h-[555px] px-[80px] py-[60px] rounded-[10px] border shadow-black/[12%] shadow-[1px_1px_5px_1px]"&amp;gt;
        &amp;lt;form onSubmit={handleLogin}&amp;gt;
          &amp;lt;div className=""&amp;gt;
            &amp;lt;h1 className="text-[40px] text-text-secondary font-semibold"&amp;gt;
              Login
            &amp;lt;/h1&amp;gt;
            &amp;lt;p className="  text-text-secondary/70 tracking-[1.5px] font-medium"&amp;gt;
              Please Login to your account
            &amp;lt;/p&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;div className="mt-[40px]"&amp;gt;
            &amp;lt;div className="input-container mb-4" data-input-parent="true"&amp;gt;
              &amp;lt;label htmlFor="" className="label"&amp;gt;
                Email Address
              &amp;lt;/label&amp;gt;
              &amp;lt;input
                type="text"
                className="input"
                placeholder="Enter your email"
                name="email"
                id="email"
                onChange={handleChange}
                value={loginDetails.email}
              /&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="input-container" data-input-parent="true"&amp;gt;
              &amp;lt;label htmlFor="" className="label"&amp;gt;
                Password
              &amp;lt;/label&amp;gt;
              &amp;lt;div
                className="input "
                style={{
                  display: "flex",
                  justifyContent: "space-between",
                  alignItems: "center",
                }}
                data-input="true"
              &amp;gt;
                &amp;lt;input
                  type={isPasswordHide ? "password" : "text"}
                  placeholder="Enter password"
                  className="outline-none"
                  name="password"
                  id="password"
                  onChange={handleChange}
                  value={loginDetails.password}
                /&amp;gt;
                &amp;lt;button type="button" onClick={toggleType}&amp;gt;
                  {isPasswordHide ? "SHOW" : "HIDE"}
                &amp;lt;/button&amp;gt;
              &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;button
              type="submit"
              className="w-full mt-[60px] py-[12px] px-[12px] bg-[#F76279] text-white rounded-[8px]"
            &amp;gt;
              Login
            &amp;lt;/button&amp;gt;
          &amp;lt;/div&amp;gt;
        &amp;lt;/form&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default App;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;This will be one of the best methods, to handle the validations of the forms in React JS. You can avoid the copy-pasting &amp;amp; duplication of the code for validation and this method will allow you to reuse the code.&lt;/p&gt;

&lt;p&gt;And, That is how I used to validate the forms. What about you?&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;About Me&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am Sajith P J, Senior React JS Developer, A JavaScript developer with the entrepreneurial mindset. I combine my experience with the super powers of JavaScript to satisfy your requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  *&lt;em&gt;Reach Me Out *&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sajith-p-j/"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/dev_.sajith/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sajith.in/"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//mailto:sajithpjofficialme@gmail.com"&gt;Email (sajithpjofficialme@gmail.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks !!!🙌&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>learning</category>
      <category>reactjsdevelopment</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
