This document provides an overview of all the icons used in the app. Icons in this project come from two sources:
-
Expo Vector Icons – Open-source icons from the
@expo/vector-iconslibrary. These icons are imported directly from the library and support various icon sets like Ionicons, MaterialIcons, Feather, etc. Those icons can refer through icons expo website. -
Local SVG Icons – Custom icons saved as SVG files in the project (
~/src/icons/<icon-name>.svg) and imported as React components.
This documentation serves as a single reference for all icons, their sources, usage examples, and notes for developers and designers.
// Icon: <IconName>
// Library: @expo/vector-icons
// Icon Set: <IconSetName> (e.g., Ionicons, MaterialIcons)
// Type: Vector Icon
import { <IconName> } from '@expo/vector-icons'
export const <IconName>Example = () => {
return (
<<IconName> name="<icon-name>" size={24} color="#000" />
)
}Notes:
- Replace
IconNameandicon-namecorresponding to the icons you want to use. Refer table or icons expo website - Changing colors and size by simply use color and size props
// Icon: <IconName>
// File: ~/icons/<file-name>.svg
// Type: Local SVG
import <IconName> from '~/icons/<file-name>.svg'
export const <IconName>Example = () => {
return (
<<IconName> width={24} height={24} fill="#000" />
)
}Notes:
- Replace
IconNameandfile-namecorresponding to the icons you want to use. Refer table or~/src/icons/folder to review available icons. - Changing colors and size by using width, height and fill props
You can add your own icons by
Here are overview icons that already used in the app
| Icon Name | IconName |
icon-name |
Library | Usage Example | Notes |
|---|---|---|---|---|---|
| Chevron | Entypo | chevron-left | import { Entypo } from '@expo/vector-icons' |
<Entypo name="chevron-left" size={24} color="black" /> |
Back Button |
| Chevron | Entypo | chevron-right | import { Entypo } from '@expo/vector-icons' |
<Entypo name="chevron-right" size={24} color="black" /> |
Forward Button |
| Light Bulb | FontAwesome6 | lightbulb | import { FontAwesome6 } from '@expo/vector-icons' |
<FontAwesome6 name="lightbulb" size={24} color="black" /> |
Light Toggle |
| Temperature | FontAwesome6 | temperature-half | import { FontAwesome6 } from '@expo/vector-icons' |
<FontAwesome6 name="temperature-half" size={24} color='black' /> |
Temperature Normal |
| Community | Ionicons | people-outline | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="people-outline" size={24} color='black' /> |
Community Tab |
| Globe | Ionicons | globe-sharp | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="globe-sharp" size={24} color="black" /> |
Translation Icon |
| Home | Ionicons | home-outline | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="home-outline" size={24} color='black' /> |
Home Tab |
| Music | Ionicons | musical-note | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="musical-note" size={24} color="black" /> |
Music Toggle |
| Notification | Ionicons | notifications | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="notifications" size={24} color="black" /> |
Notification Button |
| Privacy | Ionicons | shield | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="shield" size={24} color="black" /> |
Privacy Icon |
| Profile | Ionicons | person-outline | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="person-outline" size={24} color='black' /> |
Profile Tab |
| Profile | Ionicons | person | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="person" size={24} color='black' /> |
Profile Icon |
| AI | MaterialCommunityIcons | human-child | import { MaterialCommunityIcons } from '@expo/vector-icons' |
<MaterialCommunityIcons name="human-child" size={24} color='black' /> |
Ai Tab |
| Menu | MaterialCommunityIcons | menu-open | import { MaterialCommunityIcons } from '@expo/vector-icons' |
<MaterialCommunityIcons name="menu-open" size={24} color="black" /> |
Open Menu |
| Monitoring | MaterialCommunityIcons | human-child | import { MaterialCommunityIcons } from '@expo/vector-icons' |
<MaterialCommunityIcons name="human-child" size={24} color='black' /> |
Monitoring Tab |
| Motion | MaterialCommunityIcons | motion-sensor | import { MaterialCommunityIcons } from '@expo/vector-icons' |
<MaterialCommunityIcons name="motion-sensor" size={24} color="black" /> |
Motion Sensor Icon |
| Payments | MaterialIcons | payments | import { MaterialIcons } from '@expo/vector-icons' |
<MaterialIcons name="payments" size={24} color="black" /> |
Payment Icon, Cash icon |
| Swap | MaterialIcons | swap-horiz | import { MaterialIcons } from '@expo/vector-icons' |
<MaterialIcons name="swap-horiz" size={24} color="black" /> |
Swap Button |
| Icon Name | Type | Source | Import Path / Library | Usage Example | Notes |
|---|---|---|---|---|---|
| LeftChevron | SVG | Local | ~/icons/left-chevron-icn.svg |
<LeftChevron width={24} height={24} /> |
Navigation back button |
| Home | Vector | Expo | import { Ionicons } from '@expo/vector-icons' |
<Ionicons name="home-outline" size={24} color="black" /> |
Main tab icon |
| ... | ... | ... | ... | ... | ... |
-
Keep this document updated whenever a new icon is added or removed.
-
Group icons by feature, screen, or component for easier reference.
-
Include any active/inactive states or conditional variations if applicable.
-
This serves as a single source of truth for developers and designers when working with icons in the app.