mirror of
https://github.com/status-im/status-react.git
synced 2025-02-23 08:08:33 +00:00
This commit solves the problem described in detail in issue #15606, but in essence, it fixes the clear icon by integrating rudimentary support for SVG icons. Fixes https://github.com/status-im/status-mobile/issues/15606 - Hopefully, if SVG icons prove to be a solid solution, we can easily and progressively migrate PNG icons to SVGs, but for the moment, it was aligned with @flexsurfer https://github.com/status-im/status-mobile/issues/15606#issuecomment-1514631270 that we'll only use SVG icons on demand. - Note that it's possible to import SVGs directly via js/require by installing the library react-native-svg-transformer, but this approach is only good when we don't want/need color customization, which is rarely the case with icons where we want to change the foreground and/or background colors. I opted for rendering the SVG icon as hiccup to support color customization. - Since icons are fully memoized, the app's performance is on the same ballpark as PNGs rendered with RN Image. - It's possible to trim down SVGs by using a tool such as https://github.com/svg/svgo, but this is obviously outside the scope of this PR.
13 lines
500 B
Clojure
13 lines
500 B
Clojure
(ns react-native.svg
|
|
(:require ["react-native-svg" :as Svg]
|
|
[reagent.core :as reagent]))
|
|
|
|
(def svg (reagent/adapt-react-class Svg/default))
|
|
(def path (reagent/adapt-react-class Svg/Path))
|
|
(def rect (reagent/adapt-react-class Svg/Rect))
|
|
(def clippath (reagent/adapt-react-class Svg/ClipPath))
|
|
(def defs (reagent/adapt-react-class Svg/Defs))
|
|
(def circle (reagent/adapt-react-class Svg/Circle))
|
|
(def svgxml (reagent/adapt-react-class Svg/SvgXml))
|
|
(def g (reagent/adapt-react-class Svg/G))
|