Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted about 6 years ago

Shortly Rel.ink API with NuxtJS, Vuelidate, and Vuetensils

P
Joshua Briley•415
@somecallmejosh
A solution to the URL shortening API landing page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


I am continuing to use these projects to get more reps in with NuxtJS. We are using this framework at work, and it is helpful to work through these projects to get more experience with Nuxt.

My biggest challenge on this project was applying meaningful "loading state animations" of the dynamically generated content. I'm not finding much information in the Nuxt community regarding the transition element that is available in regular Vue apps. It doesn't appear to be working in Nuxt. I've accounted for this in a non-visual way by applying the aria-live="polite" attribute to the container that is created after the short url is requested.

Since animation isn't a requirement for this project, I am ok submitting it. But, I feel a a less jarring introduction of components would be a win for UX.

Regarding validation errors: There is no src attribute on the image icons in the dark blue circles because they are being lazy loaded.

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on Joshua Briley's solution.

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord

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

Frontend Mentor

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

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