Documentation Index
Fetch the complete documentation index at: https://docs.expoship.dev/llms.txt
Use this file to discover all available pages before exploring further.
For styling ExpoShip uses Nativewind library which is wrapper for Tailwind CSS.
Theme
To change theme colors for both dark mode and light mode open /color-theme.js file and there you can change primary, secondary, tertiary, accent. etc. colors.
It looks like this:
import { vars } from 'nativewind';
export const themes = {
light: vars({
"--color-primary-default": "#2D3748",
"--color-primary-light": "#F7FAFC",
"--color-secondary-default": "#1B202D",
"--color-secondary-light": "#EDF2F7",
"--color-tertiary-default": "#3B485E",
"--color-tertiary-light": "#ffc2e6",
"--color-accent-default": "#6601FF",
"--color-accent-light": "#AAB2FF",
"--color-grey-default": "#979797",
"--color-slate-default": "#38383a",
"--color-dark-default": "#2D3748",
"--color-light-default": "#F7FAFC",
"--color-overlay": "rgba(0, 0, 0, .05)",
}),
dark: vars({
"--color-primary-default": "#2D3748",
"--color-primary-light": "#F7FAFC",
"--color-secondary-default": "#1B202D",
"--color-secondary-light": "#EDF2F7",
"--color-tertiary-default": "#3B485E",
"--color-tertiary-light": "#ffc2e6",
"--color-accent-default": "#6601FF",
"--color-accent-light": "#AAB2FF",
"--color-grey-default": "#979797",
"--color-slate-default": "#38383a",
"--color-dark-default": "#2D3748",
"--color-light-default": "#F7FAFC",
"--color-overlay": "rgba(255, 255, 255, .05)"
}),
}
Dark mode support
To support dark mode you need to add following lines to your screens:
import { ThemeContext } from '../../utility/ThemeContext';
const { theme } = useContext(ThemeContext)
const backgroundColor = theme === 'dark' ? 'bg-[--color-primary-default]' : 'bg-[--color-primary-light]';
const textColor = theme === 'dark' ? 'text-[--color-primary-light]' : 'text-[--color-primary-default]';
And then you can style your components by adding backgroundColor or textColor variables, like this:
// Usually used for main View component
className={`flex-1 justify-center items-center ${backgroundColor}`}
// Used for any text component
className={`font-bold text-center text-lg ${textColor}`}