How to Code Dribbble Inspired Micro Interactions using Framer Motion | Tutorial

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

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

  • @WalterKimaro
    @WalterKimaro 4 года назад +1

    Not sure how you came across this example but so glad you did, couldn't have picked a better way to explain this.

  • @isaiahmekenye424
    @isaiahmekenye424 4 года назад +5

    started using framer motion this year and i love it.more framer motion tutorials please!! ;-)

  • @markdesign1354
    @markdesign1354 4 года назад +3

    Finally, a tutorial on Framer Motion that make sense.
    Thank you !

  • @alimanzoor2359
    @alimanzoor2359 4 года назад +1

    dont know why this channel has only 2k subs, anyhow nice work bro - thanks

  • @murillomfs
    @murillomfs 4 года назад +5

    Really nice. I would like to see more page transitions, that’s really cool.
    Thanks for the video

  • @hasibulhossain1993
    @hasibulhossain1993 4 года назад +3

    thank you, good animation tutorial. you can use "state && something" instead of using "state ? something : null". so if the state is false null won't be rendered.

    • @WrongAkram
      @WrongAkram  4 года назад +1

      True! That’s a really great point :)

  • @HashtagObi
    @HashtagObi 3 года назад

    thanks so much , was reading the docs as I was watching. very cool stuffz

  • @TheDjTotzy
    @TheDjTotzy 4 года назад

    Great quality content bro, no need to say I instantly subscribed. Keep it up!

    • @WrongAkram
      @WrongAkram  4 года назад

      That awesome to hear! Glad you enjoyed it :)

  • @aliventurous
    @aliventurous 3 месяца назад

    I’m curious about your choice to place the AnimatePresence component inside the ternary expression, and why you opted for an empty AnimatePresence in the else condition, rather than embedding the ternary expression within a single AnimatePresence.

  • @kadekeqw23
    @kadekeqw23 4 года назад +1

    I was literally learning framer motion today thank you!

  • @Mohammad-wo7yi
    @Mohammad-wo7yi 4 года назад

    That's quality stuff. Thank you so much.
    I'm not sure, but I think a cleaner way to solve the issue at 27:35 is to code it like this:
    state && ....
    instead of using the ternary operator

    • @WrongAkram
      @WrongAkram  4 года назад

      mhmmm.... thats true will have to give it a shot. Thanks!

  • @panchcw
    @panchcw 4 года назад

    love your tutorial .we need more this kind of animation stuff

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

    I'll need to rewatch this,

  • @akromsprinter7067
    @akromsprinter7067 4 года назад

    high quality content as always. Looking forward for more framer motion videos.

    • @WrongAkram
      @WrongAkram  4 года назад

      Thanks! Framer Motion is awesome.

  • @ayaankh245
    @ayaankh245 4 года назад +2

    Hi Akram thanks for another jewel material 👍🏻

  • @ahmedmaher1482
    @ahmedmaher1482 4 года назад +1

    this is just straight up amazing

  • @ks-op8pe
    @ks-op8pe 4 года назад

    Amazing content! You deserve more views and subscribers

  • @MrUltimateX
    @MrUltimateX 4 года назад

    Great video, more FramerMotion + React videos please! Better yet, maybe a bootcamp style series where you go through all the basics + intermediary stuff? Would gladly pay for that bootcamp too.

    • @WrongAkram
      @WrongAkram  4 года назад +2

      Mhmmm.. maybe. I like sticking with the format of us learning by building cool things rather than following the docs.

  • @Francois3k
    @Francois3k 4 года назад +1

    Yeaaaaaa I been starving for your content. In glad ur back at it again in RUclips screne. #1 fan😁😁😁🤗🤗🤗

    • @WrongAkram
      @WrongAkram  4 года назад +1

      My guys 💪🏽

    • @_justnick
      @_justnick 4 года назад +2

      Damn you really are his #1 fan, that's some dedication lmao

  • @FlorianCProduction
    @FlorianCProduction 4 года назад

    I'm glad that I discovered your channel ! true inspiration right there ! keep it up !

    • @WrongAkram
      @WrongAkram  4 года назад +1

      Thanks man! Glad you enjoyed it.

  • @yuhanasyulianto3683
    @yuhanasyulianto3683 4 года назад +1

    Thank you, great tutorial dudes. Love it 👍🏻
    when you do this project, did you ask the designer for the assets?

    • @WrongAkram
      @WrongAkram  4 года назад +4

      Glad you loved it! I didn't, I was able to grab images from their website and everything else was css.

  • @karanmunjani3256
    @karanmunjani3256 3 года назад

    Woww!! Such an amazing work!

  • @learnityourself
    @learnityourself 4 года назад

    Hey man I hope you are doing well amidst this global pandemic just dropping in to say like always you make superb content. Stay safe.

    • @WrongAkram
      @WrongAkram  4 года назад

      Thanks for the kind words! Hope you and your loved ones stay safe also!

  • @powerup4016
    @powerup4016 4 года назад +1

    I haven't gone through the tutorial yet. First, thank you for making these types of vids. Second, what is your opinion on Framer Motion vs GSAP with React? Seems like Framer is awesome but not much of a community where as GSAP has a great community but not so much when it comes to using it with react hooks. Thanks again!

    • @WrongAkram
      @WrongAkram  4 года назад +1

      I agree with you, honestly I think the team at Framer is all about making animations easy with react and while GSAP is much more widely used it doesn't integrate with react all that well when compared with framer motion. I love both libraries but I would say that using framer motion with react is a lot smoother/easier.

  • @szy0syz
    @szy0syz 4 года назад +1

    This is a good tutorial for advanced framer-motion.
    I have n’t used the framerX I bought last year. 😂😂

    • @WrongAkram
      @WrongAkram  4 года назад +1

      lol I want to start using framer X a lot more also it looks really cool!

  • @berlino5563
    @berlino5563 4 года назад

    Framer and react working fine, cool videos ;)

  • @danieldante8341
    @danieldante8341 4 года назад

    Thanks mate, great tutorial!
    😁👏👏

  • @soulfly1102
    @soulfly1102 4 года назад

    Damn, the possibilities that Framer Motion gives. Very nice tutorial. I have one question though, can you put relative values like percentages or even a variable instead of pixels on the drag constraints?

    • @WrongAkram
      @WrongAkram  4 года назад +1

      That is a great question. I remember trying initial and having it not work correctly. I'll have to go back and try a work around. I'm going to set up a codesandbox for this and see if we can find a solution.

  • @rayfront7390
    @rayfront7390 4 года назад

    Thank you for making this type of content. You are the best!!!

  • @joshuaogunbo6454
    @joshuaogunbo6454 4 года назад +1

    0:10 into the video and I liked it already

  • @abisolamorohunfolu980
    @abisolamorohunfolu980 4 года назад

    Wow. The content you put out is so super helpful. Thank you!!!

  • @marufahmed7314
    @marufahmed7314 4 года назад

    Just what I looking for. Thank you

  • @Oygen_
    @Oygen_ 4 года назад

    Very Good tutorial. The only thing i can complain on is that you could have explained motionvalue and usespring a little bit more. Im hoping you can do more tutorials on framer-motion in the future with new cool animations to replicate

    • @WrongAkram
      @WrongAkram  4 года назад

      Thanks for the comment. I'm wanting to do a complete framer motion guide in the future. But framer has awesome documentation here. www.framer.com/api/motion/motionvalue/ that may explain it a bit better :)

  • @RizwanAhmed-pe2qq
    @RizwanAhmed-pe2qq 4 года назад

    Hi Akram great video like always, my only concern is that since background is positioned fixed, how would the user click button and stuff? Is there an alternative way to use that background?

    • @WrongAkram
      @WrongAkram  4 года назад

      Mhmm.. Not sure what you mean

    • @eduardolanda5340
      @eduardolanda5340 4 года назад

      I checked a couple options a I think the easiest solution would be adapting its style based on the state, and change the rendering state to a lower range, maybe -70 , -80 instead of -100, as it will allow to render the background before the animations starts.
      Also, remove the background css related to this new values.

  • @eonsberk
    @eonsberk 2 года назад

    Grate stuff! I think you could use setState(someting > x) instead of someting > x ? SetState(true) : setState(false)

  • @SahilKumar-on2qs
    @SahilKumar-on2qs 4 года назад

    I have seen all of your videos and they are really great, please do tutorials on react route transitions and scroll based revealing animation 🙇

    • @WrongAkram
      @WrongAkram  4 года назад

      Thanks for the idea! Really happy you are enjoying my videos :)

  • @varunbhatt35
    @varunbhatt35 3 года назад +1

    hey loved the tutorial but can you just increase the font next time you do a tutorial ! please !!

  • @michaelknight8965
    @michaelknight8965 4 года назад

    If you made a course about web design and animations similar to these videos. I would easily give you my whole bank account. This is exactly the type of web design work I want to do!!!!

    • @WrongAkram
      @WrongAkram  4 года назад +1

      hahahah, A course is expected to come soon. I can promise you it want be your whole bank account. I plan to release courses at a very affordable price.

    • @michaelknight8965
      @michaelknight8965 4 года назад

      @@WrongAkram Thank you! I already have a budget out aside. Absolutely love your work.

  • @aghileslounis
    @aghileslounis 2 года назад

    You are so good, amazing 1 more sub, and lot of likes, i think animations are what make modern applications excellent, just look at apple's products, the finesse in the animations is just crazy

  • @g.sebastiangarces2003
    @g.sebastiangarces2003 4 года назад

    Hi Akram, thanks for the amazing content. Idea: a form with interactive validation would be a great tutorial! NextJS with Framer Motion please :) Thank you!

    • @WrongAkram
      @WrongAkram  4 года назад

      That would be pretty cool, will keep it in mind :)

  • @mahmudsajib8648
    @mahmudsajib8648 3 года назад

    JS Animation king 👍

  • @GuitarCaendu
    @GuitarCaendu 11 месяцев назад

    Maybe a stupid question. But how can I now embedd this in my framer website?

  • @abdoubentegar5382
    @abdoubentegar5382 3 года назад

    You deserve more subs

  • @crissesoto1891
    @crissesoto1891 4 года назад

    Would you consider making introduction videos of certain technologies before diving into a project.

    • @WrongAkram
      @WrongAkram  4 года назад +1

      That is a great idea. Ill make sure to emphasize this in my next video!

  • @monstardev7189
    @monstardev7189 2 года назад

    I don't understand the difference between useMotionValue() and useSpring()
    Also what's the difference between
    *onChange(() => x.get() > -100*
    And
    *onChange(latest => latest > -100)*

  • @claudioseccia9380
    @claudioseccia9380 4 года назад

    Greatest tuts ever! Thank you :)

    • @WrongAkram
      @WrongAkram  4 года назад +1

      My man! Thank you so much :)

  • @_danisson
    @_danisson 4 года назад

    Hi, where can i find the original website or a live demo of this ?

    • @WrongAkram
      @WrongAkram  4 года назад +1

      Right here: www.sifive.com/boards/hifive1

  • @dxfirebase
    @dxfirebase 2 года назад

    wao Excellent

  • @SogMosee
    @SogMosee 3 года назад

    Dude this was legit

  • @serhanguney492
    @serhanguney492 3 года назад +3

    Thank you very much fo the video. I tried to produce this animation and run into a problem with useSpring. The code works fine with useMotionValue but when using useSpring the drag seem to get out of control... Also I couldn't add the easing in your code because it gives me an error of "the ease array must be of length input.length-1." Here is the code: codesandbox.io/s/framer-enlarge-mmkqe?file=/src/App.js
    I'd appreciate your help.

    • @Roden321
      @Roden321 3 года назад

      Try use useMotionValue instead of useSpring.

  • @gautamgahlawat
    @gautamgahlawat 4 года назад

    Has anyone been able to center the draggable 'product-image' ? If yes then how are you implementing it?

  • @ilyesshn3231
    @ilyesshn3231 4 года назад

    Amazing

  • @shahzayb
    @shahzayb 4 года назад

    You can use imageContainer.scrollIntoView({
    behavior: smooth | auto;
    block: start | center | end | nearest;
    inline: start | center | end | nearest;
    });
    top bring the selected html element into center of the viewport.

    • @WrongAkram
      @WrongAkram  4 года назад

      mhmm.... Ill have to look into this :)

    • @eduardolanda5340
      @eduardolanda5340 4 года назад

      @@WrongAkram Hey! :) Any updates on the solution to this bug, I'm trying to find a good way to handle it.

  • @mohammedg485
    @mohammedg485 4 года назад

    love it

  • @shadedj
    @shadedj 4 года назад

    Hi! Thanks for this tutorial! I'm trying to make the progress bar using percentage instead of absolute value, I have modified my width variable to "const width = useTransform(x, [-1060, 0], [90, 0]);" but I don't know how to input it in the style attribute of the "product-drag-progress" div, framer motion accept vh, vw and % values formatted in strings, so I need to pass something like "90%" to the width property, I've tried to do so with a template litteral -> style={{ width: `"${width}%"` }} I don't get any error but nothing happens, do you have any idea why? I'm surely doing something really dumb lol

    • @WrongAkram
      @WrongAkram  4 года назад +1

      I hear ya. I was facing the same issue early on. I'll have to go back and try a work around. I'm going to set up a codesandbox for this and see if we can find a solution.

    • @shadedj
      @shadedj 4 года назад +2

      @@WrongAkram I found the solution, there was an error in my template litteral, in order to get the value of my width variable I should have done :
      `"${Math.floor(width.current)}%"`
      After this my values were right but for some reason, the animation didn't worked either. The solution is actually a lot simpler :
      const width = useTransform(x, [0, -1060], ["0%", "90%"]);
      useTransform can convert a linear serie of numbers into numbers, colors, shadows, strings, etc Every value in the output range must be of the same type and in the same format, really convenient :)

  • @billelbahani
    @billelbahani 2 года назад

    dude, you are best :)

  • @colorofadog
    @colorofadog 4 года назад

    I love your content!

    • @WrongAkram
      @WrongAkram  4 года назад

      My guy! Thanks for the comment :)

  • @ZEESHANJUNAID2222
    @ZEESHANJUNAID2222 4 года назад +7

    ok this is nice but honestly i was expecting this project in GatsbyJS :D
    And please continue the awwards series...

    • @WrongAkram
      @WrongAkram  4 года назад +6

      Since this was a small project I figured that using cra would be better because it will be easily transmittable to next.js or gatsby.js.
      Seems like the next awwwards series should be in gatsby huh?

    • @ZEESHANJUNAID2222
      @ZEESHANJUNAID2222 4 года назад

      @@WrongAkram yes please..... :D When the new episode is coming?

    • @GraxS
      @GraxS 4 года назад +1

      @@WrongAkram Please next not gatsby

    • @ddrweb_
      @ddrweb_ 4 года назад

      @@WrongAkram Love the video , really appreciate the effort put in and your experience. If you are doing a GatsbyJS maybe introduce some good patterns on abstraction . Doing my first project in react/gatsbyjs and found so little on the www .Thanks to you i'm planning to introduce some framer motion. Thank you && stay safe

  • @joannes86
    @joannes86 4 года назад

    360p video quality? 🤔

    • @WrongAkram
      @WrongAkram  4 года назад +5

      RUclips takes few minutes to completely process the video so check back in a bit.

  • @shishir833
    @shishir833 4 года назад

    Awesome! :D

    • @WrongAkram
      @WrongAkram  4 года назад +1

      Appreciate you :)

    • @shishir833
      @shishir833 4 года назад

      @@WrongAkram brother, where can i be connected with you?

  • @olegkhalin8244
    @olegkhalin8244 4 года назад

    Thanks for your tutorials they are really cool
    Could you help please what about this apples web pages like www.apple.com/ipad-pro/
    They use some mask/flow images. It looks really cool but I can't understand the logic and technology

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

    "micro" hahahah

  • @kemekenneth
    @kemekenneth 3 года назад

    Code too tiny

  • @georgekalogeropoulos1813
    @georgekalogeropoulos1813 4 года назад

    Amazing

    • @WrongAkram
      @WrongAkram  4 года назад

      Thanks! Really appreciate you!