This is a set of icons from FatCow (v3.9.2 - latest) made available as a web app.
The original home of these icons is at https://www.fatcow.com/free-icons.
I am allowed to host these icons here by the FatCow support.
The reason this exists is because downloading the archive from Fatcow and unpacking it just to grab a single icon every now and then is a major pain for me.
This web app makes it much more convenient.
To run locally, use npx serve .
so that fetch
works (disallowed in file://
).
I was elated to find new Response
can be used to decode the icons from the
ZIP slice instead of having to use the UZIP.js dependency but it seems with it
some icons are not decoding correctly.
Let's fix that or revert back to using UZIP.js.
These would be taken into an account in search. This would be helpful with synonyms etc. Storing it in the local storage should be sufficient.
How to tell? Google Analytics for when a user adds a custom alias?
For now probably placing another file in the repo with the aliases. Or just keeping it in the local storage.
Consider maybe packaging them together so I only have to download a single archive. This has the downside of necessary manual processing on new version release, but seeing as new version of FatCow icons hasn't been released in around forever, this should be a non-issue.
I don't personally use them, but someone might find that useful. I've removed their archives from the repository until this is done.
Document which come from where.
This is maybe another point for loading multiple archives and not merging them. Cloud load the PNG, the ICO and the custom archives and just add names and dimensions as I find them in the archives.
This is for when downloading ICOs works again. It will never be false with the stock icons, but maybe I will add my own icons which won't have all four combinations of type and dimension.
Keep these as separate ZIPs and show source by each icon's entry.
Provide an abstraction for accessing slices of the buffer which either provides if already downloaded as capture by the map (an array of ranges) or downloads, marks in the map and then provides. This way icons remain cached once downloaded.
Maybe pull this out to its own library.
It jumps in Firefox even though the icon div is always 40px, in hidden as well as visible state. The same thing doesn't happen in mobile Safari, nor does it happen in desktop Chrome.
Set img src
to a loader image file URL and then in the issued fire and forget
promise's resolution handler, reset it to the actual blob URL.
This will avoid flashing empty boxes / img titles in boxes as fallback values.