Commit Graph

167 Commits

Author SHA1 Message Date
rektdeckard
3a97005b72 App: make images unselectable and undraggable 2020-10-05 02:32:50 -04:00
rektdeckard
4a46bede07 Footer: back-to-top should float above toolbar 2020-10-05 02:15:01 -04:00
rektdeckard
4a857eb6fa DetailsPanel: rename InfoPanel -> DetailsPanel 2020-10-05 02:14:14 -04:00
rektdeckard
50b603b525 InfoPanel: massive overhaul to support mobile size and PNG download
This patch reworks the mobile breakpoint to allow whitespace wrapping of
code snippets and does away with horizontal scroll. Overall, the
usability and intuitiveness is much better, though readability of the
code itself takes a hit.

In addition, we added the ability to download an icon as a PNG thanks to
the svg2png-converter library. PNGs adopt the current preview weight and
color, and are sized at 256x256.
2020-10-04 23:15:51 -04:00
rektdeckard
bee9f1cbc0 Footer: update license copy 2020-10-04 18:49:30 -04:00
rektdeckard
bc8c00df3d IconGrid: stop icon preview from bounding on panel open 2020-10-04 16:13:00 -04:00
rektdeckard
2870f20ddf Header+Footer: further implement new spec 2020-10-04 01:30:15 -04:00
rektdeckard
fd70654312 Header: update breakpoints to new specs 2020-10-03 00:24:10 -04:00
rektdeckard
95d1f77320 SizeInput: fix thumb not reaching end of track 2020-09-29 23:36:01 -04:00
rektdeckard
acf53eb9a0 Header: revert to pure-CSS x-ray effect 2020-09-29 23:31:26 -04:00
rektdeckard
3046dca05d Footer:: fix license link 2020-09-29 23:30:53 -04:00
rektdeckard
57d82228a4 Header+Footer: revise copy and hover states 2020-09-28 15:08:20 -04:00
rektdeckard
9b30718db2 Footer: fix touch interaction over phone illustration 2020-09-28 04:13:49 -04:00
rektdeckard
6fe1083656 Header+Footer: add Helena's PayPal link 2020-09-28 03:42:21 -04:00
rektdeckard
fc685bae84 Warn: properly ellide error message text 2020-09-28 03:30:32 -04:00
rektdeckard
e42317f95d SizeInput: fix slider overflow on small breakpoint 2020-09-28 03:23:53 -04:00
rektdeckard
2939465431 SearchInput: bring back "X" at small breakpoints 2020-09-28 03:22:54 -04:00
rektdeckard
630d9f04c5 Footer: fix obscured links and remove Mikhael 2020-09-28 03:22:19 -04:00
rektdeckard
e3a2a4db45 Warn: switch from Warning icon to SmileyXEyes X_X 2020-09-28 01:19:04 -04:00
rektdeckard
54f18db921 IconGridItem: nix the redundant ErrorBoundary 2020-09-28 01:18:38 -04:00
rektdeckard
624454d36a Header+Footer: remove x-ray effect on mobile 2020-09-28 01:18:02 -04:00
rektdeckard
521e8db2d7 Header: point download link to asset kit 2020-09-27 22:28:44 -04:00
rektdeckard
9f3ec2d9d6 IconGrid: handle text overflow on empty search 2020-09-27 22:16:47 -04:00
rektdeckard
999fcd8df9 SearchInput: add text ellision to input element 2020-09-27 13:50:27 -04:00
rektdeckard
3fdc7bb87a InfoPanel: indicate lack of support for duotone weight in JS lib
While phosphor-icons uses an icon font implementation, we won't be able
to provide the duotone weight in that library. We now indicate lack of
support by disabling the code snippet and copy button.
2020-09-27 13:47:49 -04:00
rektdeckard
55bab04497 SearchInput+IconGrid: scroll to top of grid on search change
When the debounced search query changes, scroll to the top of the grid
if the query is not the empty string. This has the same smooth behavior
as the scroll buttons, which is not currently available on WebKit.
2020-09-26 00:41:48 -04:00
rektdeckard
55ddcfc9a7 SizeInput: fix slider bug that broke functionality on mobile
We were, for some reason, preventing the default behavior of touch
events onTouchStart and onTouchEnd. This made the slider unusable with
drag actions on mobile. I can't remember why we did this to begin with,
probably something important...

The slider thumb size was also increased for better tap target size.
2020-09-26 00:19:00 -04:00
rektdeckard
5151800925 ErrorBoundary: consistent void syntax 2020-09-25 14:25:26 -04:00
rektdeckard
22f066c6a9 components+hooks: refactor window measurement
We relocated window measurment logic into a hook, useGridSpans(), which
tells us the appropriate number of columns for the IconGrid. This is
useful for rendering an InfoPanel in the right place! In future we
should look into a custom implementation using ResizeObserver and
polyfills, and that may be extensible for other use-cases.
2020-09-24 19:24:00 -04:00
rektdeckard
628667c719 App: add <React.StrictMode> at root for some added assurances 2020-09-24 19:22:11 -04:00
rektdeckard
e9874568a9 SearchInput: add descriptive title on hover 2020-09-24 11:46:54 -04:00
rektdeckard
80d4502207 App: update to phosphor-react@0.3.0 and replace renamed icons in-situ 2020-09-23 16:05:41 -04:00
rektdeckard
b01dd7b7e2 selectors: rename iconStyleAtom -> iconWeightAtom 2020-09-15 01:35:08 -04:00
rektdeckard
7483c85518 App: add ErrorBoundary around IconGrid
The IconGrid can now fallback to an ErrorBoundary, which renders a
generic Warn component with a "Search error" message.
2020-09-14 17:48:08 -04:00
rektdeckard
78a69c9f3b IconGrid: extract empty state into Warn component
The empty state now renders a Warn component, which can be used to show
empty queries, or to show an arbitrary error message.
2020-09-14 17:48:00 -04:00
rektdeckard
b4db1df589 components: memoize and streamline callbacks 2020-09-14 01:05:55 -04:00
rektdeckard
ce453c5dd6 StyleInput: remove unused CSS classes 2020-09-13 19:39:05 -04:00
rektdeckard
2c679f668f SizeInput: add 'name' attr to associate <label> with <input> 2020-09-13 19:38:31 -04:00
rektdeckard
9060b6d5bc SizeInput: better handle input focus effect for mouse and touch
The input slider handle now animates in response to
mousedown/touchstart, and returns to its initial state on
mouseup/touchend. This does not break existing behaviour when navigating
via keyboard.
2020-09-13 18:34:32 -04:00
rektdeckard
3c0ab1a051 IconGrid: improve empty-state rendering and animation
When search returns no results, the empty-list state now adopts the
current color theme and animates in. The IconGrid also takes up a
minimum of 80vh vertical space, whether the list is populated or empty.
2020-09-13 15:45:14 -04:00
rektdeckard
251b59c53c InfoPanel: add code snippet for Vue library
We now generate snippets for the phosphor-vue in addition to HTML and
React libraries. The panel interface may be getting a bit too cluttered,
and we should consider a redesign in the future.
2020-09-12 17:01:27 -04:00
rektdeckard
2b84e5026e Header: remove initial animation as it was causing visual stutter 2020-09-09 21:39:48 -04:00
rektdeckard
361cacdabd state+components: reimplement 'isDark' as a selector
We now have a consolidated source of truth for whether the UI should us
dark mode to accomodate a light icon color. This is a recoil selector
that derives from iconColorAtom.

In addition, we renamed styleQueryAtom -> iconStyleAtom for consistency.
2020-09-09 20:00:58 -04:00
rektdeckard
3cfbb34713 Add formatter script 2020-08-28 13:37:12 -04:00
rektdeckard
80fb113934 Header+Footer: apply x-ray while Tapping on mobile devices 2020-08-24 01:55:29 -04:00
rektdeckard
7254038e90 Toolbar: translate -1px to make seamless with top 2020-08-24 01:54:59 -04:00
rektdeckard
727ae2d08e App: add sensible fallback fonts 2020-08-24 01:06:12 -04:00
rektdeckard
c939508484 Footer: fix minor positioning issue with phone spec 2020-08-24 01:05:23 -04:00
rektdeckard
24a9662041 SearchInput: blur on Enter pressed 2020-08-22 14:59:15 -04:00
rektdeckard
f854d8e165 Toolbar: improve mobile breakpoint 2020-08-22 14:58:53 -04:00