a2019aceec
* Add WIP UIs for trending topics and suggested starterpacks
* Disable SPs for now
* Improve explore treatment a bit, add some polish to cards
* Add tiny option in RightNav
* Add persisted option to hide trending from sidebar
* Add to settings, abstract state, not updating in tab
* Fix up hide/show toggle state, WITH broadcast hacK
* Clean up persisted code, add new setting
* Add new interstitial to Discover
* Exploration
* First hack at mute words
* Wire up interstitial and Explore page
* Align components
* Some skeleton UI
* Handle service config, enablement, load states, update lex contract
* Centralize mute word handling
* Stale time to 30m
* Cache enabled value for reloads, use real data for service config
* Remove broadcast hack
* Remove titleChild
* Gate settings too
* Update package, rm langs
* Add feature gate
* Only english during beta period
* Hook up real data
* Tweak config
* Straight passthrough links
* Hook up prod agent
* Fix no-show logic
* Up config query to 5 min
* Remove old file
* Remove comment
* Remove stray flex_1
* Make trending setting global
* Quick placeholder state
* Limit # in sidebar, tweak spacing
* Tweak gaps
* Handle hide/show of sidebar
* Simplify messages
* Remove interstitial
* Revert "Remove interstitial"
This reverts commit 1358ad47fd.
* Only show interstitial on mobile
* Fix gap
* Add explore page recommendations
* [topics] add topic screen (#7149)
* add topic screen
* decode
* fix search query
* decode
* add server route
* Fix potential bad destructure (undefined)
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Hailey <me@haileyok.com>
35 lines
917 B
TypeScript
35 lines
917 B
TypeScript
import {LinearGradient} from 'expo-linear-gradient'
|
|
|
|
import {atoms as a, tokens, ViewStyleProp} from '#/alf'
|
|
|
|
export function GradientFill({
|
|
gradient,
|
|
style,
|
|
}: ViewStyleProp & {
|
|
gradient:
|
|
| typeof tokens.gradients.primary
|
|
| typeof tokens.gradients.sky
|
|
| typeof tokens.gradients.midnight
|
|
| typeof tokens.gradients.sunrise
|
|
| typeof tokens.gradients.sunset
|
|
| typeof tokens.gradients.bonfire
|
|
| typeof tokens.gradients.summer
|
|
| typeof tokens.gradients.nordic
|
|
}) {
|
|
if (gradient.values.length < 2) {
|
|
throw new Error('Gradient must have at least 2 colors')
|
|
}
|
|
|
|
return (
|
|
<LinearGradient
|
|
colors={gradient.values.map(c => c[1]) as [string, string, ...string[]]}
|
|
locations={
|
|
gradient.values.map(c => c[0]) as [number, number, ...number[]]
|
|
}
|
|
start={{x: 0, y: 0}}
|
|
end={{x: 1, y: 1}}
|
|
style={[a.absolute, a.inset_0, style]}
|
|
/>
|
|
)
|
|
}
|