Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
30
Comments
1
P
David Pokrajac
@DavidPokrajac

All solutions

  • Pomodoro App with Next, Zustand, TypeScript, GSAP, BEM naming

    #bem#gsap#next#typescript#zustand

    P
    David Pokrajac•600
    Submitted 6 days ago

    0 comments
  • Responsive Dictionary App with Zustand, TypeScript, Tailwind, NextJS

    #next#tailwind-css#typescript#zustand#react

    P
    David Pokrajac•600
    Submitted 20 days ago

    I would like to get some tips about accessibility. In my case of creating custom select box, I did not know what aria role to give it to it, so I just left it as-is. Any other advice is gladly accepted.


    0 comments
  • Responsive FE Quiz with GSAP animations (NextJS, TypeScript, Tailwind)

    #gsap#next#tailwind-css#typescript#react

    P
    David Pokrajac•600
    Submitted about 1 month ago

    I am having difficulties with right answers counting. I often get wrong score count so ideally I would like to get any additional advice about that, and what I could have done better that. Also, would like to know some general tips about how I could further improve and refactor my code.


    0 comments
  • Animatable Time Tracking dashboard (with dark and light modes)

    #gsap#tailwind-css#accessibility

    P
    David Pokrajac•600
    Submitted 5 months ago

    I would like to seek help in three things in particular.

    1.) When turning the dark mode on by checking the input checkbox, the dark mode will appear on screen, and it will persist on page refresh, as I set localStorage for it. However, input checkbox will go back to its unchecked state on page refresh, and the result is dark mode appearing although input checkbox is not checked (on page refresh). I tried to use localStorage so that on page refresh input checkbox stays toggled on based on the the value of the checked attribute but I still have not found any solution for that.

    2.) Second major problem I had is with gsap animation. I wanted to animate on each button click, that card component hides its content inside and then shrinks down to height of zero, and then wait 0.75 seconds to rise to its normal height, and then display its content again by making it visible. However, it seems that contentVisibility is not animatable (or atleast that is what i think). How could I successfully animate content inside parent to hide and reappear?

    3.) I used ref.current.clientHeight to calculate height of a card, when making gsap animation explained in second problem, but as I shrink the window the height is a bit different for mobile and laptop devices and it gets a little distorted. Is there a way that height would readjust dynamically when resizing? Is this something resize event listener would help?


    2 comments
  • GSAP Animated and Responsive Space Tourism Website

    #accessibility#gsap#react#typescript#next

    P
    David Pokrajac•600
    Submitted 6 months ago

    I had a problem of making the image in the technology page to be in the exact or atleast similar size as that shown in snapshots. The image is still too strecthed. Would like to get some tips about that. Also, my useGSAP hooks are a bit too clogged with code. I used switch statement to position a pseudo-like active checkmark based on the position of buttons on page. Would love to know how I could reduce the code inside as it quickly got too messy for one to read.


    1 comment
  • Responsive 3-themed calculator

    #bem

    P
    David Pokrajac•600
    Submitted 8 months ago

    Would like to get feedback for my scriptTwo javascript file. Would like to know a better way to change theme styles other than manually changing class names on elements.


    1 comment
  • Interactive rating component (Next, TypeScript, CUBE CSS)

    #cube-css#typescript#next

    P
    David Pokrajac•600
    Submitted 8 months ago

    0 comments
  • Responsive testimonials section created with CSS grid and CUBE CSS

    #cube-css

    P
    David Pokrajac•600
    Submitted 9 months ago

    I would like to know what I could have done better in terms of organizing the code with grid. I had plenty of lines just for the grid (re-organizing each article inside section individually). Would also like to know regarding CUBE CSS, if I should move grid rulesets defined in globals.css, to composition folder.


    0 comments
  • Responsive and accessible Grid Layout made with CUBE CSS methodology

    #accessibility#cube-css#next#typescript

    P
    David Pokrajac•600
    Submitted 9 months ago

    2 comments
  • Base apparel coming soon component (vanilla JS, CSS)


    P
    David Pokrajac•600
    Submitted over 1 year ago

    0 comments
  • Stats Preview Card Component with some Aria accessibility


    P
    David Pokrajac•600
    Submitted over 1 year ago

    0 comments
  • Article preview component (Vanilla JS + SCSS)


    P
    David Pokrajac•600
    Submitted over 1 year ago

    0 comments
  • Intro component with signup form (used SCSS and Vanilla JS) Newbie

    #sass/scss

    P
    David Pokrajac•600
    Submitted over 1 year ago

    2 comments
  • Single Price Grid Component using SCSS


    P
    David Pokrajac•600
    Submitted almost 2 years ago

    0 comments
  • Responsive 3 column preview card component using SCSS


    P
    David Pokrajac•600
    Submitted almost 2 years ago

    0 comments
  • Social Proof Section


    P
    David Pokrajac•600
    Submitted almost 2 years ago

    0 comments
  • Order Summary Component


    P
    David Pokrajac•600
    Submitted almost 2 years ago

    0 comments
  • QR Code component


    P
    David Pokrajac•600
    Submitted almost 2 years ago

    0 comments
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub