App Side Menu with Routes using Ant Design Menu and React Router DOM in ReactJS | Side Bar Tutorial

Поделиться
HTML-код
  • Опубликовано: 31 авг 2022
  • #reactjs #antd #sidebar
    In this video tutorial I have explained how to create App Side Menu with Routes using Ant Design Menu and React Router DOM in ReactJS.
    This video focuses on
    - How to create app side bar using antd menu and react-router-dom in ReactJS
    - How to add icon in app side bar or menu options
    - How to create Routes for different side menu options
    - How to route to different components or pages using react router dom routing
    - How to layout an application page that contains Header, footer, side menu or side bar and main page content
    - How to use antd menu key to navigate to a particular page using useNavigate hook
    - How to show menu item selected on page refresh or user directly moving to a direct link using current browser location path name
    - How to add application pages routes using react router dom v6
    - How to highlight a link or side bar item
    - How to define antd menu items
    - How to show sub menu using antd menu component in ReactJS
    - How to add an option like sign out in side menu without its routing
    - How to create ReactJS components to add in different page elements
    - How to add BrowserRouter around the main App component
    - How to add style to div to make it render children horizontally or vertically
    - How to move footer to stick at bottom of page
    If you are new to ant-design, I have already added an intro video on ant-design and overview of its components at • Ant Design UI library ... link, please go through that video to set up the ground for further components implementation.
    For details on how to use Menu component from Antd, please go through this video. • How to use Ant Design ...
    For details on how to use Ant Design Icons, please go through this video. • How to use Ant Design ...
    For more details on ant-design, please visit its documentation at ant.design/components/menu/
    Happy Coding!

Комментарии • 126

  • @luq2337
    @luq2337 4 месяца назад +3

    one thing people may miss,
    if you have parent route, like you have many sub routes under home page
    do not forget to set it with a start

    instead of

  • @keithgoddard4192
    @keithgoddard4192 Год назад +4

    I'm just starting to explore Ant Design, although I've got years of experience with React... and this was super helpful! Thank you so much for taking the time to put this together, I really appreciate it.

  • @unanimedestino98
    @unanimedestino98 Год назад +2

    Your are the best, please don't stop to make ANT DESIGN VIDEOS

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      This means a lot to me, thank you @Rodrigo García Real for the encouragement!

  • @anmolarora5630
    @anmolarora5630 Год назад +2

    Thank you brother, you are such a saviour

  • @arhamfarman6364
    @arhamfarman6364 Год назад +1

    Thanks Alot, good man!

  • @darknighgt
    @darknighgt Год назад +5

    Thanks you so muchhhhh You're THE BESTTTTT

    • @CodeWithAamir
      @CodeWithAamir  Год назад +2

      Really nice to hear that. Thank you @darknighgt

  • @itsahmedbasha
    @itsahmedbasha Год назад

    Thanks for the tutorial, it really helped me to creata a fixed sidebar for my POC, Thanks once again 🙂
    Keep creating videos like this, Good Luck!

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Glad it helped!
      Surely I will create more videos like this. Really appreciate for the encouraging feedback 😊
      Thank you Ahmed

    • @computeraidedyami
      @computeraidedyami Год назад

      Person Of Color?

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @computeraidedyami
      Did not get your questions, can you please elaborate a little more?
      Thanks

    • @itsahmedbasha
      @itsahmedbasha Год назад

      @@computeraidedyami POC, Proof of Concept

  • @uboxtech
    @uboxtech Год назад +1

    thanks for these wonderful tutorials brother

  • @Pein94rap
    @Pein94rap 26 дней назад

    Helpful. Thanks!

  • @rents1111
    @rents1111 Год назад +1

    You helped me a lot. Thanks.

  • @zhuofeng1089
    @zhuofeng1089 Год назад +1

    You must be the indian superman ! ! ! Thank you ! ! !

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Thanks Zhuo, by the way I am from Pakistan neighbourhood of India.

  • @azizbekkomilov3589
    @azizbekkomilov3589 Год назад +1

    Thanks Super Video! Best the best!!!!

  • @maribee1273
    @maribee1273 9 месяцев назад

    hi, Do you know why I get an error when I use AntD's Menu in Next.js?
    I have created a user sidebar in UserRoute. But I get an error.
    Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application
    It is a simple code, but I can't figure out why the error occurs.
    import { useState, useEffect } from "react";
    import Link from "next/link";
    import { Menu } from "antd";
    import { useRouter } from "next/router";
    import {
    UserOutlined,
    DollarOutlined,
    ProfileOutlined,
    StarOutlined,
    } from "@ant-design/icons";
    import { useWindowWidth } from "@react-hook/window-size";
    const UserNav = () => {
    const [current, setCurrent] = useState("");
    const router = useRouter();
    const currentPath = router.pathname;
    const onlyWidth = useWindowWidth();
    useEffect(() => {
    process.browser && setCurrent(window.location.pathname);
    }, [process.browser && window.location.pathname]);
    const items = [
    {
    key: "/user/dashboard",
    label: "user/dashboard"",
    icon: ,
    link: "/user/dashboard",
    },
    {
    key: "/user/payment-information",
    label: "user/payment-information"",
    icon: ,
    link: "/user/payment-information",
    },
    {
    key: "/user/portfolio",
    label: "/user/portfolio",
    icon: ,
    link: "/user/portfolio",
    },
    {
    key: "/user/content-list",
    label: "/user/content-list",
    icon: ,
    link: "/user/content-list",
    },
    ];
    return (
    ({
    key: item.key,
    icon: item.icon,
    label: (
    {item.label}
    ),
    }))}
    />
    );
    };
    export default UserNav;

  • @regoresconde3302
    @regoresconde3302 Год назад +2

    Hi Aamir! Great vid as always! Was wondering how would you add a collapsible feature? or a responsive one? :D

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Thanks @Regor,
      I have a video on responsive ant design menu at below link which show full menu on larger resolution and converts to collapsed menu icon and show drawer menu on smaller screens, please let me know if that helps.
      ruclips.net/video/1bJ_LkCJVP8/видео.html
      Thank you

  • @albertodelvillar2996
    @albertodelvillar2996 Год назад

    Aamir thank you !! great video

  • @mohammadmostafa794
    @mohammadmostafa794 Год назад +1

    thanks

  • @mostafafartaj7270
    @mostafafartaj7270 29 дней назад

    Thanks for the tutorial, How I can create login with custom layout and route

  • @iamthewalrus73
    @iamthewalrus73 Год назад +1

    Awesome!!

  • @BachelorsEntertainer
    @BachelorsEntertainer Год назад +1

    Nice Work

  • @uboxtech
    @uboxtech Год назад

    btw i have a question, how to handle the default selected key if we have nested route like /account/settings OR /account/dashboard like that

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @UBOX TECH
      In the case of nested routes the window -> location -> pathname will contain the whole path like /account/settings so you can split it based on / and put only the relevant path string inside the default selected keys array. I hope you got the idea , please let me know if you need any more information on that . Thanks.

  • @anilanaparthi6985
    @anilanaparthi6985 5 месяцев назад

    How I can render login component without that layout header and sider

  • @mehakgupta7178
    @mehakgupta7178 2 месяца назад

    how to make this side bar responsive? so that it collapses for mobile mode?

  • @user-yk4fh1fs1k
    @user-yk4fh1fs1k Год назад +1

    Great tutorial, would be super helpful if you uploaded the code too!

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Thank you @Miles
      I can share the code file via email, send me email aamircodewith@gmail.com. Code is Not uploaded to git as of yet.
      Best!

  • @BachelorsEntertainer
    @BachelorsEntertainer Год назад

    ❤❤❤❤You a good 👍👍👍

  • @ameralkhodary8076
    @ameralkhodary8076 Год назад

    thank u so much

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Amer Alkhodary
      To move sidebar to right side just swap the Content and SideMenu like below

      It will move the side menu to right side of content but if you want the rest of the space to be fully occupied by content and sideMenu to be at very right side of screen then you can give a flex:1 to parent div of content component like below
      function Content() {
      return (
      //Other children components like routes etc. will be same as in video
      );
      }
      Hope it helps. Please let me know if you need any more help on that.
      Thanks

  • @umakuwar8093
    @umakuwar8093 Год назад +1

    I facing some issue like
    useNavigate()may be used only in the context of a component

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi
      You can get rid of this error by wrapping your main App component inside the BrowserRouter. It will look something like below
      import { BrowserRouter } from "react-router-dom";

      Please let me know if you still face any issues.
      Thanks

  • @mutebiugofficial8827
    @mutebiugofficial8827 Год назад +2

    How did you do with with react Router v6 to change components basing on menu items selected

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @mutebi ug official,
      If I understood your question correctly, you mean how to do this in v6. Actually the tutorial uses v6 already to change components based on selected menu item.
      If you need more details on react router dom v6, please go through following video if not watched already.
      ruclips.net/video/Qls47-8zOg0/видео.html
      Please let me know if I misunderstood your question or you need any more help on that.
      Thanks

  • @SoulisYT
    @SoulisYT Год назад

    Hi there and thnx for the video. If I add a button/link.navlink in the content of the Dashboard and use navigate to go to Home the menu doesn't get active. Is this a bug with antd ?
    Do I have to use hooks to fix this ?

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @Soulis HCR2,
      Its not a bug in antd, actually and menu does not keep track of where you are in the browser link/path. So we can achieve that using the useEffect hook and as soon as the window location path changes we can highlight that particular menu item accordingly. It will look something like below. I have explained this code in following video near 1hr:16min timestamp at that video, you can look that for more details
      ruclips.net/video/xvBUgdKUz5g/видео.html
      import {
      AppstoreOutlined,
      ShopOutlined,
      ShoppingCartOutlined,
      UserOutlined,
      } from "@ant-design/icons";
      import { Menu } from "antd";
      import { useEffect, useState } from "react";
      import { useLocation, useNavigate } from "react-router-dom";
      function SideMenu() {
      const location = useLocation();
      const [selectedKeys, setSelectedKeys] = useState("/");
      useEffect(() => {
      const pathName = location.pathname;
      setSelectedKeys(pathName);
      }, [location.pathname]);
      const navigate = useNavigate();
      return (
      {
      //item.key
      navigate(item.key);
      }}
      selectedKeys={[selectedKeys]}
      items={[
      {
      label: "Dashbaord",
      icon: ,
      key: "/",
      },
      {
      label: "Inventory",
      key: "/inventory",
      icon: ,
      },
      {
      label: "Orders",
      key: "/orders",
      icon: ,
      },
      {
      label: "Customers",
      key: "/customers",
      icon: ,
      },
      ]}
      >
      );
      }
      export default SideMenu;
      Please let me know if you need any more help on that.
      Thanks

    • @SoulisYT
      @SoulisYT Год назад

      ​@@CodeWithAamir Thank you very much for the quick reply. Actually I looked at your code and realised that I was using the `defaultSelectedKeys` property.
      When I switched to `selectedKeys` it worked even without the useState and useEffect hook ;)
      Also in the `onClick={(item) => {` the item is deprecated and I use just key.
      thank you very much again !!!!

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Thats great! @Soulis HCR2

  • @mutebiugofficial8827
    @mutebiugofficial8827 Год назад

    I have a problem maybe it could be the absence of "./app.css". When I click a menu item ,i.e profile , it routes to a new layout. I want something like that one . When I click dashboard it displays dashboard component etc any help brother

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @mutebi ug official,
      To be sure, may be you can create a App.css file and add following content inside that file to see whether it works.
      //App.css content starts here
      @import 'antd/dist/antd.css';
      .App {
      text-align: center;
      min-height: 100vh;
      width: 100vw;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: calc(10px + 2vmin);
      color: black;
      }
      //App.css content ends here
      Also import App.css file in your .js file.
      Please let me know if that works now or have issues.
      Thanks

  • @manjunath-sde
    @manjunath-sde 2 месяца назад

    is there any way to make the sidebar alone unscrollable whilst the content being scrollable if there's any?

  • @mutebiugofficial8827
    @mutebiugofficial8827 Год назад +1

    If I make the header fixed , it goes beyond the view, how possible can I make it to fit my page!!!. The same with side bar!...

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @Mutebi,
      Can you please share your code snippet which is causing this issue. I will check and suggest the solution accordingly. You can share code via comment here or on codesandbox or via email at aamircodewith@gmail.com
      Thanks

  • @BachelorsEntertainer
    @BachelorsEntertainer Год назад

    How can me make them responsive like when width is 768 or 800 side menu auto close and also button to close and open side menu

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Tufail Mashwani
      I have a video on how to make the menu responsive at ruclips.net/video/1bJ_LkCJVP8/видео.html
      May be try that if that helps or let me know if you still need any more information on that thing.
      Thanks

  • @SandeepSharma-lm1ye
    @SandeepSharma-lm1ye 8 месяцев назад

    maine eske jaisa hi bana raakha ha lekin sab koe component render karna chahta hu to use fade-in effect chahiye bus ye nahi kar pa raha hu. Please help

    • @CodeWithAamir
      @CodeWithAamir  6 месяцев назад

      Hi,
      Aap antd Motion use kar sktey hen is case mai, jese iss link pa explained ha
      motion.ant.design/components/animate#components-animate-demo-simple
      still koi help chaye to let me know.
      Thanks

  • @deadmaxmax8632
    @deadmaxmax8632 Год назад

    Hii amir how I can make sidebar menu items active based on the url typed by user for example if user type localhost/user/id then my users menuitem should be active. Please help!!!!

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @Deadmax,
      If the url is same as the menu item key then you can use the defaultSelectedKeys to get it hightighted
      and if the url is not the exactly same as the menu item key then you can create a simple function to get the key which need to be highlighted like
      const getHighlightedKeys=()=>{
      const path = window.location.pathname
      if(path==='/users'){
      return ['/users']
      }else if(String(path).startsWith('/users/'){//OR you can use any regex here to match
      return ['/users']
      }
      //and it continues for other matches
      }
      I hope you got the idea. Please let me know if you need any more information on that. Thanks

    • @deadmaxmax8632
      @deadmaxmax8632 Год назад +1

      @@CodeWithAamir thx ill try this

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Sure, All the best!

  • @LearnOnTime1
    @LearnOnTime1 Год назад

    sir ap na app.js k andr content k function k andr jo routes bnay hain wo ma same as it is ak new .jsx file ma bnana chahta hn or app.js ma main srf login call krwana chahta hn lkn routes jb ma new file ma call krwata hn to wo work ni krta lkn app.js k andr likhu to proper work krta hain kindly mja help kr dain ya kasa ho ga .

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @Raja Fahad,
      It should work in same file as well as in a separate file. Can you please share your code snippet so I can check that code and see what could be the issue with that.
      Thanks

  • @anhtutran1566
    @anhtutran1566 Год назад

    i use ant layout and it has get item, i put key on that but it not works, how do i solve, manny thanks

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Anh Tu Tran,
      I am not able to get it what could be the issue in code, can you please share the code snippet so I can take a look and find the issue/solution on that.
      Thanks

  • @user-ot7em3ie3z
    @user-ot7em3ie3z Год назад

    If we click to goBack button on browser defaultSelectedKeys didn't work, why?

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Анастасия Понамарева ,
      You are right that defaultSelectedKeys will not work after the Menu is created and you press the back button so for that purpose you can use the selectedKeys props instead which is gets applied always instead of the default value. The other params/keys are the same for selectedKeys prop as well.
      If needed you can listen to the location change using the useEffect and then update the selectedKeys on each location change which will be called as soon as you press the back button.
      Please let me know if this makes sense or you need any more information on that. Thanks

  • @sayeedabu7150
    @sayeedabu7150 10 месяцев назад +1

    Excellent tutorial.
    Bro could you send me the code please ?

    • @CodeWithAamir
      @CodeWithAamir  10 месяцев назад +1

      Code has been shared via your email reply.
      Thanks.

    • @sayeedabu7150
      @sayeedabu7150 10 месяцев назад

      @@CodeWithAamir thank you 🙏

  • @muneebali4271
    @muneebali4271 9 месяцев назад +1

    I need your help with adding 404 to these routers

    • @CodeWithAamir
      @CodeWithAamir  7 месяцев назад

      Yes please let me know with your details on aamircodewith@gmail.com

  • @user-tg3bj1vu9i
    @user-tg3bj1vu9i 6 месяцев назад

    как сделать переключатель "темную / светлая тема" для компонентов в Ant Design без использования своих CSS, а использования стилей или библиотек Ant Design

    • @CodeWithAamir
      @CodeWithAamir  6 месяцев назад

      Hi,
      For the menu component you can use the theme prop like
      or you can make it based on variable like
      Please let me know if you need any more information on that.
      Thank you !

  • @shanmugamm4023
    @shanmugamm4023 Год назад

    Which version of react router dom are you using

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Shanmugam M,
      It's version is 6.3.0 "react-router-dom": "^6.3.0"
      Please let me know if you need any more help on that.
      Thanks

  • @tie.garcia
    @tie.garcia 9 дней назад

    why i find this so late

  • @dnic171
    @dnic171 10 месяцев назад

    Hi, this is a good tutorial. Could you please share the code?

    • @CodeWithAamir
      @CodeWithAamir  10 месяцев назад

      Thank you,
      Please send me an email at aamircodewith@gmail.com I will reply back with the code file.
      Thanks

    • @dnic171
      @dnic171 10 месяцев назад

      @@CodeWithAamir I sent the email... thank you for the video again...

  • @mateusfilipe9723
    @mateusfilipe9723 10 месяцев назад +1

    Nice Video. Could you please share the code, thank you very much

    • @CodeWithAamir
      @CodeWithAamir  10 месяцев назад +1

      Thanks and code has been sent via email reply.

  • @khanhedo02
    @khanhedo02 Год назад +1

    How to log out, exit the menu and move to a completely new login page

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi,
      To logout and move to a completely new page you need to create a Route for the login page and on click of logout button you can navigate to that login route.
      So for that you can create two main routes Home and Login and consider all of these menu routes as child of Home route so on login you move to Home routes and on logout you move to login route. I have explained how to create child routes in following video that might help
      ruclips.net/video/Qls47-8zOg0/видео.html
      Please let me know if you need any more information on that. Thank you!

  • @veervirk1825
    @veervirk1825 Год назад +1

    Hey Amir
    I am facing issue while doing this.. routing is ok but menu selection is not happing when I click on menu's. please help regarding this.

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Veer Virk,
      Please share your current menu code so I can look into it and suggest the solution accordingly.
      Thanks

    • @veervirk1825
      @veervirk1825 Год назад +1

      @@CodeWithAamir how I can share

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      You can share via codesandbox etc. or email me at aamircodewith@gmail.com

    • @veervirk1825
      @veervirk1825 Год назад

      Can we connect over Skype??

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      We can zoom if needed, but for now I got the code snippet via email and checked it. To me it is working fine. Actually you are using menu mode="horizontal" so in that case it only highlight the text color and ads a bottom border which I can see its doing, if it is not the case at your end we can see it further over zoom or so. If you chose mode inline then you will see it is adding selection background color as seen in video tutorial.
      Hope it make sense. Please let me know if you need any more information on that.
      Thanks

  • @krishnamalik5563
    @krishnamalik5563 7 месяцев назад

    Hi amir i need help I routing

    • @CodeWithAamir
      @CodeWithAamir  6 месяцев назад

      Yes, please let me know what help you need, you can comment here or send me details on aamircodewith@gmail.com

  • @user-sy8jf5go4v
    @user-sy8jf5go4v Год назад +1

    Could you please share the code thank you

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Yes please send me an email at aamircodewith@gmail.com I will reply back with the tutorial code file attached.
      Thanks

  • @santoshsambangi-bu2zb
    @santoshsambangi-bu2zb 28 дней назад

    bro please send source code

  • @user-wi1lm4ct5q
    @user-wi1lm4ct5q 12 дней назад

    Send me the code please ?

  • @saikiran4422
    @saikiran4422 7 месяцев назад

    Please show app.css code also it will help

    • @CodeWithAamir
      @CodeWithAamir  6 месяцев назад

      Hi,
      The app.css does not contain anything special because in the tutorial we used the style props to style the components, the app.css is there because I reused the app.js file for multiple tutorials. I have sent you email by the way.
      Thanks

  • @zhuofeng1089
    @zhuofeng1089 Год назад +1

    hi man can you share the source code plz?

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Sure @Zhuo,
      Please send me an email at aamircodewith@gmail.com I will reply back with tutorial code.
      Thanks

  • @satyasai8605
    @satyasai8605 Год назад +1

    please add the resource code

    • @CodeWithAamir
      @CodeWithAamir  Год назад +1

      Hi @satya sai,
      Please send me an email at aamircodewith@gmail.com, I will reply back with the code file developed in this tutorial.
      Thanks

  • @veervirk1825
    @veervirk1825 Год назад

    code shared with you Aamir via mail. please check

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      I got the code snippet and checked it. To me it is working fine. Actually you are using menu mode="horizontal" so in that case it only highlight the text color and ads a bottom border which I can see its doing, if it is not the case at your end we can see it further over zoom or so. If you chose mode inline then you will see it is adding selection background color as seen in video tutorial.
      Hope it make sense. Please let me know if you need any more information on that.
      Thanks

  • @vietdungnguyen5357
    @vietdungnguyen5357 Год назад

    Can you share code of this video?

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Yes @Việt Dũng Nguyễn, I have replied back to your email with the code file. Please let me know if you face any issues.
      Thanks

  • @deeksha5626
    @deeksha5626 Год назад

    Could you please share the code

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Deeksha,
      Please send me an email at aamircodewith@gmail.com I will reply with code file attached there.
      Thanks

    • @deeksha5626
      @deeksha5626 Год назад

      @@CodeWithAamiremail has sent

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Deeksha Alva,
      Code file has been shared with you, please check your email. Please let me know if you need any more help on that.
      Thanks

    • @deeksha5626
      @deeksha5626 Год назад +1

      @@CodeWithAamir Thank you 😊

  • @ainguyenoffical
    @ainguyenoffical Год назад

    Could you please share the code. I sent you an email

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Ái Nguyễn,
      I have shared the code via email reply. Please check your email. Please let me know if you need any more help on that.
      Thanks

  • @hyphamne
    @hyphamne Год назад +1

    window.location.pathname

  • @romiean7527
    @romiean7527 Год назад +1

    i amir may you share ur code with me ? im already sent email to you thankyou :)

    • @CodeWithAamir
      @CodeWithAamir  Год назад

      Hi @Romie AN ,
      I have shared code via email. Please let me know if you need any more help on that.
      Thanks

  • @sabirsayyad6459
    @sabirsayyad6459 Год назад

    Could you plz send me thr code, I have sent you email