Android and IOS have different ways of managing shadows that I tried to mash together in the CSS. For some reason custom colors didn't work, and I couldn't get it to look right in general. I also don't have any way of testing IOS so would be good to have someone else look at that.
Found a package react-native-drop-shadow although it makes images and says it's harder on resources so I didn't decide to use it yet.
Dismissal logic
I couldn't figure out how to get the search-bar to lose focus while tapping outside the search-bar without making a view cover the rest of the screen which I read is a bad idea, although it works if you're tapping on some other element.
I don't know exactly what actions should dismiss the focus so I just added in the obvious ones that worked easily for now
Keyboard back button
Keyboard submit button
Tapping something in the dropdown
Other
There were some colors I couldn't find in the theme so I left them hardcoded
unfocused search-bar border: #bc808c
shadow color: #ffe9b9
Search results are hard coded template data right now rather than props. Also seems like it might be better to handle it all within the component rather than passing anything around.
Shadows
Android and IOS have different ways of managing shadows that I tried to mash together in the CSS. For some reason custom colors didn't work, and I couldn't get it to look right in general. I also don't have any way of testing IOS so would be good to have someone else look at that.
Found a package
react-native-drop-shadow
although it makes images and says it's harder on resources so I didn't decide to use it yet.Dismissal logic
I couldn't figure out how to get the search-bar to lose focus while tapping outside the search-bar without making a view cover the rest of the screen which I read is a bad idea, although it works if you're tapping on some other element.
I don't know exactly what actions should dismiss the focus so I just added in the obvious ones that worked easily for now
Other
There were some colors I couldn't find in the theme so I left them hardcoded
Search results are hard coded template data right now rather than props. Also seems like it might be better to handle it all within the component rather than passing anything around.