An animated brain mascot with multiple expressions and customization options
Click on the brain to trigger random expressions!
Position
Bubble Color
Bubble Type
neutral
happy
sad
excited
confused
thinking
surprised
angry
sleepy
winking
focused
worried
love
dizzy
crying
laughing
skeptical
proud
shy
mischievous
thumbsUp
thumbsDown
applause
disapproval
amazed
satisfied
bored
celebration
import { BrainMascot } from '@/components/BrainMascot';
// Basic usage
<BrainMascot expression="happy" />
// With hand gestures and glasses
<BrainMascot
expression="excited"
handGesture="thumbsUp"
handDisplay="both"
glasses={true}
/>
// With graduation hat
<BrainMascot
expression="proud"
handGesture="thumbsUp"
handDisplay="right"
hat={true}
speechText="I graduated!"
speechBubblePosition="top"
speechBubbleColor="blue"
/>
// Full customization
<BrainMascot
expression="celebration"
handGesture="applause"
handDisplay="right"
size="large"
color="blue"
animate={true}
glasses={true}
coffeeMug={true}
hat={true}
speechText="Amazing work!"
speechBubblePosition="right"
speechBubbleColor="blue"
onExpressionChange={(newExpression) => {
console.log('Expression changed to:', newExpression);
}}
onHandGestureChange={(newGesture) => {
console.log('Hand gesture changed to:', newGesture);
}}
onHandDisplayChange={(newDisplay) => {
console.log('Hand display changed to:', newDisplay);
}}
/>
// Available expressions:
// Basic: 'neutral', 'happy', 'sad', 'excited', 'confused', 'thinking'
// Emotions: 'surprised', 'angry', 'sleepy', 'winking', 'focused', 'worried'
// Advanced: 'love', 'dizzy', 'crying', 'laughing', 'skeptical', 'proud'
// Personality: 'shy', 'mischievous', 'fighter'
// Reactions: 'thumbsUp', 'thumbsDown', 'applause', 'disapproval'
// Special: 'amazed', 'satisfied', 'bored', 'celebration'
// Reaction helper:
import { getReactionExpression } from '@/components/BrainMascot';
const randomPositive = getReactionExpression('positive');
// Available hand gestures:
// 'none', 'thumbsUp', 'thumbsDown', 'wave', 'applause',
// 'pointUp', 'pointDown', 'openHands'
// Available hand display options:
// 'both', 'left', 'right', 'none'
// Available colors: 'purple', 'blue', 'green', 'amber', 'red'
// Available sizes: 'small', 'medium', 'large'
// Speech positions: 'top', 'bottom', 'left', 'right'
// Speech bubble colors: 'white', 'purple', 'blue', 'green', 'amber', 'red'