about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-12-30 12:49:07 -0600
committerPaul Frazee <pfrazee@gmail.com>2022-12-30 12:49:07 -0600
commit5e07b5bbc3b3d72383812951718776c390e8b4de (patch)
tree6a914747abe130abbc530836dea7e15b82f8492b /src
parentefaf8a54b838c410848e6a3073834aa9d0458370 (diff)
downloadvoidsky-5e07b5bbc3b3d72383812951718776c390e8b4de.tar.zst
Integrate the shell into the design system
Diffstat (limited to 'src')
-rw-r--r--src/view/shell/mobile/index.tsx65
1 files changed, 16 insertions, 49 deletions
diff --git a/src/view/shell/mobile/index.tsx b/src/view/shell/mobile/index.tsx
index 673c0fbe9..8d589997c 100644
--- a/src/view/shell/mobile/index.tsx
+++ b/src/view/shell/mobile/index.tsx
@@ -43,6 +43,8 @@ import {
   BellIconSolid,
 } from '../../lib/icons'
 import {useAnimatedValue} from '../../lib/hooks/useAnimatedValue'
+import {useTheme} from '../../lib/ThemeContext'
+import {usePalette} from '../../lib/hooks/usePalette'
 
 const Btn = ({
   icon,
@@ -64,6 +66,7 @@ const Btn = ({
   onPress?: (event: GestureResponderEvent) => void
   onLongPress?: (event: GestureResponderEvent) => void
 }) => {
+  const pal = usePalette('default')
   let size = 24
   let addedStyles
   let IconEl
@@ -105,12 +108,18 @@ const Btn = ({
           <Text style={styles.tabCountLabel}>{tabCount}</Text>
         </View>
       ) : undefined}
-      <IconEl size={size} style={[styles.ctrlIcon, addedStyles]} icon={icon} />
+      <IconEl
+        size={size}
+        style={[styles.ctrlIcon, pal.text, addedStyles]}
+        icon={icon}
+      />
     </TouchableOpacity>
   )
 }
 
 export const MobileShell: React.FC = observer(() => {
+  const theme = useTheme()
+  const pal = usePalette('default')
   const store = useStores()
   const [isTabsSelectorActive, setTabsSelectorActive] = useState(false)
   const scrollElRef = useRef<FlatList | undefined>()
@@ -336,6 +345,9 @@ export const MobileShell: React.FC = observer(() => {
   const isAtHome = store.nav.tab.current.url === '/'
   const isAtNotifications = store.nav.tab.current.url === '/notifications'
 
+  const screenBg = {
+    backgroundColor: theme.colorScheme === 'dark' ? colors.black : colors.gray1,
+  }
   return (
     <View style={styles.outerContainer}>
       <View style={[styles.innerContainer, {paddingTop: safeAreaInsets.top}]}>
@@ -373,7 +385,7 @@ export const MobileShell: React.FC = observer(() => {
                     <Animated.View
                       style={[
                         s.flex1,
-                        styles.screen,
+                        screenBg,
                         current
                           ? [
                               swipeTransform,
@@ -425,6 +437,8 @@ export const MobileShell: React.FC = observer(() => {
       <Animated.View
         style={[
           styles.bottomBar,
+          pal.view,
+          pal.border,
           {paddingBottom: clamp(safeAreaInsets.bottom, 15, 30)},
           footerMinimalShellTransform,
         ]}>
@@ -520,9 +534,6 @@ const styles = StyleSheet.create({
   screenContainer: {
     flex: 1,
   },
-  screen: {
-    backgroundColor: colors.gray1,
-  },
   screenMask: {
     position: 'absolute',
     top: 0,
@@ -550,56 +561,13 @@ const styles = StyleSheet.create({
   topBarProtectorDark: {
     backgroundColor: colors.black,
   },
-  avi: {
-    width: 34,
-    height: 34,
-    marginRight: 8,
-    borderRadius: 17,
-  },
-  location: {
-    flex: 1,
-    flexDirection: 'row',
-    borderRadius: 6,
-    paddingLeft: 12,
-    paddingRight: 6,
-    paddingTop: 9,
-    paddingBottom: 9,
-    backgroundColor: colors.gray1,
-  },
-  locationIcon: {
-    color: colors.gray5,
-    marginTop: 3,
-    marginRight: 6,
-  },
-  locationIconNudgeUp: {
-    marginTop: 2,
-  },
-  locationIconLight: {
-    color: colors.gray5,
-    marginTop: 2,
-    marginRight: 8,
-  },
-  locationText: {
-    color: colors.black,
-  },
-  locationTextLight: {
-    color: colors.gray4,
-  },
-  topBarBtn: {
-    marginLeft: 8,
-    justifyContent: 'center',
-    borderRadius: 6,
-    paddingHorizontal: 6,
-  },
   bottomBar: {
     position: 'absolute',
     bottom: 0,
     left: 0,
     right: 0,
     flexDirection: 'row',
-    backgroundColor: colors.white,
     borderTopWidth: 1,
-    borderTopColor: colors.gray2,
     paddingLeft: 5,
     paddingRight: 15,
   },
@@ -633,7 +601,6 @@ const styles = StyleSheet.create({
     color: colors.black,
   },
   ctrlIcon: {
-    color: colors.black,
     marginLeft: 'auto',
     marginRight: 'auto',
   },