Index Of /

Andrey “Leechy” Lechev

Some frontender thoughts
Twitter, GitHub, LinkedIn

  1. How to keep `this` pointing to the Stencil component with a DOM event?

    Otober 18, 2020

    After more than a year using React function components, I completely forgot about the problems with this in JavaScript. And it was a surprise when I got in some troubles with the first onSubmit in Stencil. Here's the easiest way to solve this problem.

  2. Avoid render of the children in the Stencil.js components

    September 28, 2020

    Trying Stencil again, and this time building a component that is not showing its internals for the anonymous users. Something not working the same way as with React.

  3. Using AVIF as a background image

    September 11, 2020

    A reminder about the script imgsupport that lets you to know which file formats are supported by the browser. In the CSS.

  4. The importance of robots.txt

    June 20, 2020

    Since I've started this blog, it was not indexed by any of the big search engines. Ever. I was wondering why and even made a sitemap.xml, but no luck.

  5. Infinite Scroll for Ionic/React

    May 17, 2020

    On one of the Ionic/React applications, I'm working on, we needed an Infinite Scroll component. Currently, Ionic's ion-infinite-scroll it's not available as a React component, so we had to hack the solution by ourselves.

  6. Get Initials from Full Name

    April 9, 2020

    Small method extracting initials — first letters from the first and last words of a string with someone's names.

  7. 2019: Time to Play

    January 5, 2020

    It was a wonderful year. I've completed a bunch of projects using even more different technologies. I liked it. And going to follow that way this year.

  8. CSS: conic-gradient() for a round progress component

    Otober 28, 2019

    Build a beautiful round progress component with CSS only. No SVG, no canvas and even no JavaScript.

  9. Dart: calculate the dates difference in years, months and days

    Otober 20, 2019

    How to calculate the difference between the date in the past and today using Dart. That's my first attempt and it may be not the most performant solution but, at least it's working properly.

  10. CSSBattle patterns

    June 14, 2019

    I've tried to solve some of the CSSBattle targets and... failed to reach the tops despite the struggle. Anyway, I want to share my experience and what I was writing in my attempts to conquer the podium.

  11. Printing URLs to PDF

    June 5, 2019

    The client found a strange problem: when printing web pages as PDF some of the links are broken — they look right, but clicking on them are opening wrong pages.

  12. Firestore as a REST API

    June 4, 2019

    For a blog, I don't need a full Firestore integration. The updates are not happening often. It'll be enough just to fetch the articles once they are needed. And so I did.

  13. My First Vuexperience

    June 3, 2019

    For the last 6 weeks, I was working on a small corporate project written with Vue.js. Here's my first impressions of the framework.

  14. Firestore Rules

    June 1, 2019

    Some times ago I got tired of Firebase's letters about the lack of security for my databases and decided to spent some time and to build some set of rules I could use for more than one project.

  15. Sapper and Firebase

    May 30, 2019

    Adding firebase to the svelte+sapper project leads to a lot of errors during compilation. Here's how to easyly make everything to work together.

  16. Blog Redesign

    May 30, 2019

    Five months after I started this blog as a static site compiled with Gatsby.js I realised, that it's not going to continue like this. I need a way to create and update posts here much faster and easier.

  17. How to change Android's NavigationBar color in Ionic / Cordova?

    February 4, 2019

    A small plugin gives you ability to change the color of the Navigation Bar on Android — the bottom line with system buttons on it

  18. Authorization UX

    January 15, 2019

    Designed a new layout for the authorization dialog with all the functions (sign up, sign in and password reset) available to the user at once.

  19. Geolocation and PWA incompatibility

    January 9, 2019

    I’ve already started a new project and it's a hybrid mobile app where user geolocation tracking is required. And I want to build it as PWA.

  20. Gzip or not

    January 1, 2019

    I decided to start with the most trivial point: the full size of the app exceeded 18MB in the dev mode and about 14MB compiled for production. Turning on GZip slimmed it down to 2.5MB. That’s almost 6 times fewer data downloaded!