@@ -9,11 +9,9 @@ interface AvatarData {
99 // Personal information
1010 name : string ;
1111
12- // Style questions
13- primaryColor : string ;
14- secondaryColor : string ;
15- philosophy : string ;
16- workingStyle : string ;
12+ // Buzzvil Values & Principles
13+ buzzvilValue : string ; // What drives your working style
14+ buzzvilPrinciple : string ; // Your favorite design principle
1715
1816 // Role information
1917 role : string ;
@@ -25,81 +23,63 @@ interface AvatarData {
2523
2624const STEPS = [
2725 { id : 'name' , title : 'Personal Info' , icon : Palette } ,
28- { id : 'style' , title : 'Design Style' , icon : Palette } ,
29- { id : 'role' , title : 'Role & Organization' , icon : Zap } ,
26+ { id : 'values' , title : 'Buzzvil Values' , icon : Zap } ,
27+ { id : 'principles' , title : 'Design Principles' , icon : Sparkles } ,
28+ { id : 'role' , title : 'Role & Organization' , icon : Palette } ,
3029 { id : 'keywords' , title : 'Expertise' , icon : Sparkles } ,
3130 { id : 'preview' , title : 'Preview & Download' , icon : Download } ,
3231] ;
3332
34- const DESIGN_PHILOSOPHY_OPTIONS = [
33+ // Buzzvil Values - Question 1: What drives your working style?
34+ const BUZZVIL_VALUES = [
3535 {
36- name : 'Rewarded' ,
37- description : 'Creating experiences that feel valuable and meaningful' ,
38- colors : [ '#FF6B6B' , '#FFE66D' , '#4ECDC4' ] ,
39- philosophy : 'rewarded'
40- } ,
41- {
42- name : 'Playful' ,
43- description : 'Bringing joy and delight to every interaction' ,
44- colors : [ '#667EEA' , '#764BA2' , '#F093FB' ] ,
45- philosophy : 'playful'
46- } ,
47- {
48- name : 'Scalable' ,
49- description : 'Building systems that grow with our users' ,
50- colors : [ '#56AB2F' , '#A8E6CF' , '#FFD93D' ] ,
51- philosophy : 'scalable'
52- } ,
53- {
54- name : 'One-Team' ,
55- description : 'Designing as a unified force across all touchpoints' ,
56- colors : [ '#FF416C' , '#FF4B2B' , '#FF6B6B' ] ,
57- philosophy : 'one-team'
36+ name : 'Iterate Fast' ,
37+ description : 'Moving quickly with rapid prototyping and continuous improvement' ,
38+ value : 'iterate-fast'
5839 } ,
5940 {
6041 name : 'Clarity' ,
6142 description : 'Making complex things simple and understandable' ,
62- colors : [ '#2C3E50' , '#34495E' , '#ECF0F1' ] ,
63- philosophy : 'clarity'
43+ value : 'clarity'
6444 } ,
6545 {
6646 name : 'Grit' ,
6747 description : 'Pushing boundaries and challenging the status quo' ,
68- colors : [ '#FF9A9E' , '#FECFEF' , '#FECFEF' ] ,
69- philosophy : 'grit'
48+ value : 'grit'
7049 } ,
71- ] ;
72-
73- const WORKING_STYLE_OPTIONS = [
7450 {
75- name : 'Iterative ' ,
76- description : 'Building and refining through continuous cycles ' ,
77- style : 'iterative '
51+ name : 'Bold ' ,
52+ description : 'Taking risks and making courageous design decisions ' ,
53+ value : 'bold '
7854 } ,
7955 {
80- name : 'Detail-Oriented ' ,
81- description : 'Focusing on precision and attention to every element ' ,
82- style : 'detail-oriented '
56+ name : 'One-Team ' ,
57+ description : 'Designing as a unified force across all touchpoints ' ,
58+ value : 'one-team '
8359 } ,
8460 {
85- name : 'Big Picture ' ,
86- description : 'Thinking strategically about overall user experience ' ,
87- style : 'big-picture '
61+ name : 'Delight ' ,
62+ description : 'Bringing joy and delight to every interaction ' ,
63+ value : 'delight '
8864 } ,
65+ ] ;
66+
67+ // Buzzvil Design Principles - Question 2: What's your favorite design principle?
68+ const BUZZVIL_PRINCIPLES = [
8969 {
90- name : 'Collaborative ' ,
91- description : 'Working closely with cross-functional teams ' ,
92- style : 'collaborative '
70+ name : 'Reward = Time ' ,
71+ description : 'Creating experiences that feel valuable and meaningful ' ,
72+ principle : 'reward-time '
9373 } ,
9474 {
95- name : 'Experimental ' ,
96- description : 'Testing new approaches and pushing boundaries ' ,
97- style : 'experimental '
75+ name : 'Playful ' ,
76+ description : 'Bringing joy and delight to every interaction ' ,
77+ principle : 'playful '
9878 } ,
9979 {
100- name : 'Systematic ' ,
101- description : 'Following structured processes and methodologies ' ,
102- style : 'systematic '
80+ name : 'Scalable ' ,
81+ description : 'Building systems that grow with our users ' ,
82+ principle : 'scalable '
10383 } ,
10484] ;
10585
@@ -109,10 +89,8 @@ export default function MyAvatarPage() {
10989 const [ showPreview , setShowPreview ] = useState ( false ) ;
11090 const [ avatarData , setAvatarData ] = useState < AvatarData > ( {
11191 name : '' ,
112- primaryColor : '' ,
113- secondaryColor : '' ,
114- philosophy : '' ,
115- workingStyle : '' ,
92+ buzzvilValue : '' ,
93+ buzzvilPrinciple : '' ,
11694 role : 'Product Designer' ,
11795 organizationDescription : '' ,
11896 keywords : [ '' , '' , '' ] ,
@@ -126,19 +104,19 @@ export default function MyAvatarPage() {
126104 switch ( step ) {
127105 case 0 : // Name input
128106 return avatarData . name . trim ( ) ;
129- case 1 : // Philosophy selection
130- return avatarData . philosophy ;
131- case 2 : // Working style selection
132- return avatarData . workingStyle ;
107+ case 1 : // Buzzvil Values selection
108+ return avatarData . buzzvilValue ;
109+ case 2 : // Buzzvil Principles selection
110+ return avatarData . buzzvilPrinciple ;
133111 case 3 : // Role and organization
134112 return avatarData . role && avatarData . organizationDescription ;
135113 case 4 : // Keywords
136114 return avatarData . keywords [ 0 ] ?. trim ( ) ;
137115 case 5 : // Final step - check all required fields
138116 return (
139117 avatarData . name . trim ( ) &&
140- avatarData . philosophy &&
141- avatarData . workingStyle &&
118+ avatarData . buzzvilValue &&
119+ avatarData . buzzvilPrinciple &&
142120 avatarData . role &&
143121 avatarData . organizationDescription &&
144122 avatarData . keywords [ 0 ] ?. trim ( )
@@ -170,12 +148,10 @@ export default function MyAvatarPage() {
170148 <personal>
171149 <name>${ avatarData . name } </name>
172150 </personal>
173- <style>
174- <primaryColor>${ avatarData . primaryColor } </primaryColor>
175- <secondaryColor>${ avatarData . secondaryColor } </secondaryColor>
176- <philosophy>${ avatarData . philosophy } </philosophy>
177- <workingStyle>${ avatarData . workingStyle } </workingStyle>
178- </style>
151+ <buzzvil>
152+ <value>${ avatarData . buzzvilValue } </value>
153+ <principle>${ avatarData . buzzvilPrinciple } </principle>
154+ </buzzvil>
179155 <role>
180156 <title>${ avatarData . role } </title>
181157 <organizationDescription>${ avatarData . organizationDescription } </organizationDescription>
@@ -229,23 +205,19 @@ export default function MyAvatarPage() {
229205 return (
230206 < div className = "space-y-8" >
231207 < div className = "text-center" >
232- < h2 className = "text-3xl font-bold text-foreground mb-4" > What drives your design philosophy ?</ h2 >
233- < p className = "text-muted-foreground text-lg" > Choose the principle that resonates most with your approach</ p >
208+ < h2 className = "text-3xl font-bold text-foreground mb-4" > What drives your working style ?</ h2 >
209+ < p className = "text-muted-foreground text-lg" > Choose the Buzzvil value that resonates most with your approach</ p >
234210 </ div >
235211
236212 < div className = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" >
237- { DESIGN_PHILOSOPHY_OPTIONS . map ( ( option , index ) => (
213+ { BUZZVIL_VALUES . map ( ( option , index ) => (
238214 < motion . button
239215 key = { index }
240216 whileHover = { { scale : 1.02 } }
241217 whileTap = { { scale : 0.98 } }
242- onClick = { ( ) => {
243- updateAvatarData ( 'primaryColor' , option . colors [ 0 ] ) ;
244- updateAvatarData ( 'secondaryColor' , option . colors [ 1 ] ) ;
245- updateAvatarData ( 'philosophy' , option . philosophy ) ;
246- } }
218+ onClick = { ( ) => updateAvatarData ( 'buzzvilValue' , option . value ) }
247219 className = { `p-6 rounded-2xl border-2 transition-all text-left ${
248- avatarData . philosophy === option . philosophy
220+ avatarData . buzzvilValue === option . value
249221 ? 'border-accent bg-accent/10'
250222 : 'border-border hover:border-accent/50'
251223 } `}
@@ -262,24 +234,24 @@ export default function MyAvatarPage() {
262234 return (
263235 < div className = "space-y-8" >
264236 < div className = "text-center" >
265- < h2 className = "text-3xl font-bold text-foreground mb-4" > How do you approach your work ?</ h2 >
266- < p className = "text-muted-foreground text-lg" > Select the working style that best describes your process </ p >
237+ < h2 className = "text-3xl font-bold text-foreground mb-4" > What's your favorite Buzzvil design principle ?</ h2 >
238+ < p className = "text-muted-foreground text-lg" > Choose the principle that guides your design decisions </ p >
267239 </ div >
268240
269- < div className = "grid grid-cols-1 md:grid-cols-2 gap-6" >
270- { WORKING_STYLE_OPTIONS . map ( ( option , index ) => (
241+ < div className = "grid grid-cols-1 md:grid-cols-3 gap-6" >
242+ { BUZZVIL_PRINCIPLES . map ( ( option , index ) => (
271243 < motion . button
272244 key = { index }
273245 whileHover = { { scale : 1.02 } }
274246 whileTap = { { scale : 0.98 } }
275- onClick = { ( ) => updateAvatarData ( 'workingStyle ' , option . style ) }
247+ onClick = { ( ) => updateAvatarData ( 'buzzvilPrinciple ' , option . principle ) }
276248 className = { `p-6 rounded-2xl border-2 transition-all text-left ${
277- avatarData . workingStyle === option . style
249+ avatarData . buzzvilPrinciple === option . principle
278250 ? 'border-accent bg-accent/10'
279251 : 'border-border hover:border-accent/50'
280252 } `}
281253 >
282- < h3 className = "font-semibold text-foreground mb-2 " > { option . name } </ h3 >
254+ < h3 className = "font-semibold text-foreground mb-3 " > { option . name } </ h3 >
283255 < p className = "text-muted-foreground text-sm" > { option . description } </ p >
284256 </ motion . button >
285257 ) ) }
@@ -375,13 +347,13 @@ export default function MyAvatarPage() {
375347 </ div >
376348
377349 < div >
378- < h4 className = "font-medium text-foreground mb-2" > Design Philosophy </ h4 >
379- < p className = "text-accent capitalize" > { avatarData . philosophy } </ p >
350+ < h4 className = "font-medium text-foreground mb-2" > Buzzvil Value </ h4 >
351+ < p className = "text-accent capitalize" > { avatarData . buzzvilValue . replace ( '-' , ' ' ) } </ p >
380352 </ div >
381353
382354 < div >
383- < h4 className = "font-medium text-foreground mb-2" > Working Style </ h4 >
384- < p className = "text-muted-foreground capitalize" > { avatarData . workingStyle . replace ( '-' , ' ' ) } </ p >
355+ < h4 className = "font-medium text-foreground mb-2" > Design Principle </ h4 >
356+ < p className = "text-muted-foreground capitalize" > { avatarData . buzzvilPrinciple . replace ( '-' , ' ' ) } </ p >
385357 </ div >
386358
387359 < div >
@@ -446,8 +418,8 @@ export default function MyAvatarPage() {
446418 < Avatar
447419 name = { avatarData . name }
448420 size = { 80 }
449- philosophy = { avatarData . philosophy }
450- workingStyle = { avatarData . workingStyle }
421+ philosophy = { avatarData . buzzvilValue }
422+ workingStyle = { avatarData . buzzvilPrinciple }
451423 />
452424 </ div >
453425 < div className = "flex-1" >
0 commit comments