UI Style Change: Apply Gold Gradient to GPoint Icon
Last Updated: 16/07/2026
Type: UI Layout Fix — Icon Vector Styling
Screen: App Header Component (HeaderBar / HomeScreenHeader)
Severity: 🟢 Low — Visual polishing to ensure brand icon consistency
Feedback Screenshot:
1. Identified Styling Mismatch
In the header statistics panel containing the user's balances:
- The Voucher Icon is styled with a premium gold/amber gradient background fill.
- The GPoint Icon (with the letter "G" inside) is styled with a flat, plain orange background.
This creates a visual inconsistency. To match the premium aesthetics of the app, the GPoint icon must be updated to use the same Gold Gradient token as the Voucher icon.
2. Style Adjustments (React Native / SVG)
If icons are rendered via SVG components (using react-native-svg), we should apply a <LinearGradient> definition to the path fill of the GPoint icon wrapper.
2.1 Gradient Color Specification
We will use a 3-stop gold linear gradient for the GPoint icon vector:
| Stop | Offset | Hex Color Code |
|---|---|---|
| Stop 1 | 0% | #FFE082 (Light Gold) |
| Stop 2 | 50% | #FFB300 (Amber Gold) |
| Stop 3 | 100% | #FF8F00 (Dark Amber) |
3. Code Implementation Spec
3.1 Using react-native-svg (Recommended)
If the GPoint icon is a custom SVG component:
import React from 'react';
import Svg, { Path, Defs, LinearGradient, Stop, Text } from 'react-native-svg';
const GPointIcon = ({ size = 24 }) => (
<Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
<Defs>
{/* Define the standard Gold Gradient token */}
<LinearGradient id="goldGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<Stop offset="0%" stopColor="#FFE082" />
<Stop offset="50%" stopColor="#FFB300" />
<Stop offset="100%" stopColor="#FF8F00" />
</LinearGradient>
</Defs>
{/* GPoint clover/star outline filled with gold gradient */}
<Path
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"
fill="url(#goldGradient)" // ✅ Apply gradient
/>
{/* "G" Letter inside, styled in white */}
<Text
x="12"
y="16"
fontSize="12"
fontWeight="bold"
fill="#FFFFFF"
textAnchor="middle"
>
G
</Text>
</Svg>
);
export default GPointIcon;
3.2 If using react-native-linear-gradient (Wrapper Method)
If the GPoint icon is a flat PNG/vector asset inside a container, wrap it inside a linear gradient background:
import LinearGradient from 'react-native-linear-gradient';
const GPointIconWrapper = () => (
<LinearGradient
colors={['#FFE082', '#FFB300', '#FF8F00']}
start={{ x: 0, y: 0 }}
end={{ x: 1, y: 1 }}
style={styles.iconContainer}
>
{/* Inner "G" Text / Asset */}
<Text style={styles.iconText}>G</Text>
</LinearGradient>
);
const styles = StyleSheet.create({
iconContainer: {
width: 24,
height: 24,
borderRadius: 12,
alignItems: 'center',
justifyContent: 'center',
},
iconText: {
color: '#FFFFFF',
fontWeight: 'bold',
fontSize: 12,
}
});
Technical Checklist
- Locate the GPoint icon component inside the header file (typically
HomeScreenHeader.tsxorGPointIcon.tsx). - Implement a
<LinearGradient>element using the stops#FFE082,#FFB300, and#FF8F00. - Bind the GPoint path fill property to
url(#goldGradient). - Verify visually that both the GPoint icon and the Voucher icon share the same color styling and gradient coordinates.
- Run build tests on both iOS and Android to ensure SVG gradients render correctly without falling back to solid black.