AlessandroAmodioNGI Claude Sonnet 4.6 commited on
Commit
c8a5a29
·
1 Parent(s): 00c3c3d

feat(web): expand profile bubbles to 28 individual fields

Browse files

- Split grouped bubbles (family, work, sport, music, cinema, books,
nature) into one bubble per field for richer context collection
- Add date_of_birth bubble; remove language bubble (captured on lang screen)
- Add date_of_birth to TRACKED_FIELDS and FIELD_DESCRIPTIONS
- Update greeting to explain click-to-fill, chat link, come-back flow
- Update all 5 language translations (it/es/fr/de/pt) for 28 bubbles

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Files changed (2) hide show
  1. classify_parameters.py +2 -1
  2. static/index.html +228 -117
classify_parameters.py CHANGED
@@ -7,7 +7,7 @@ ALLOWED_STORY_TOPICS = [
7
  ]
8
 
9
  TRACKED_FIELDS = [
10
- "name", "living_country", "origin_country","living_place",
11
  "origin_place","number_of_brothers_and_sisters","kids",
12
  "hobbies","sports_played", "sports_watched",
13
  "profession", "favorite_food",
@@ -22,6 +22,7 @@ TRACKED_FIELDS = [
22
 
23
  FIELD_DESCRIPTIONS = {
24
  "name": "the user’s first name",
 
25
  "living_place": "the place, city or area where the user currently lives",
26
  "origin_place": "the place, city or area where the user was originally from",
27
  "living_country": "the country where the user currently lives",
 
7
  ]
8
 
9
  TRACKED_FIELDS = [
10
+ "name", "date_of_birth", "living_country", "origin_country","living_place",
11
  "origin_place","number_of_brothers_and_sisters","kids",
12
  "hobbies","sports_played", "sports_watched",
13
  "profession", "favorite_food",
 
22
 
23
  FIELD_DESCRIPTIONS = {
24
  "name": "the user’s first name",
25
+ "date_of_birth": "the user’s date of birth in YYYY-MM-DD format if possible, otherwise as stated",
26
  "living_place": "the place, city or area where the user currently lives",
27
  "origin_place": "the place, city or area where the user was originally from",
28
  "living_country": "the country where the user currently lives",
static/index.html CHANGED
@@ -684,7 +684,7 @@
684
  <div id="profile-screen">
685
  <div id="profile-header">
686
  <img src="/avatars/moon_stars.png" id="profile-cielo-av" alt="Cielo">
687
- <div id="profile-greeting">Each bubble holds a piece of you — tap the ones you'd like to share.</div>
688
  <button id="profile-chat-btn" title="Go to chat">💬</button>
689
  </div>
690
  <div id="bubble-canvas"></div>
@@ -1516,101 +1516,166 @@ document.getElementById('panel-overlay').addEventListener('click', closePanel);
1516
  // ── PROFILE SCREEN ─────────────────────────────────────────
1517
 
1518
  const UI_STRINGS = {
1519
- en: { greeting:'Each bubble holds a piece of you — tap to share.', done:'Go to chat' },
1520
- it: { greeting:'Ogni bolla racconta qualcosa di te — tocca per condividere.', done:'Vai alla chat' },
1521
- es: { greeting:'Cada burbuja dice algo de ti — toca para compartir.', done:'Ir al chat' },
1522
- fr: { greeting:'Chaque bulle révèle quelque chose de toi — touche pour partager.', done:'Aller au chat' },
1523
- de: { greeting:'Jede Blase erzählt etwas über dich — tippe zum Teilen.', done:'Zum Chat' },
1524
- pt: { greeting:'Cada bolha conta algo sobre você — toque para compartilhar.', done:'Ir para o chat' },
1525
  };
1526
 
1527
  // Per-language bubble labels and hints (order matches PROFILE_BUBBLES)
1528
  const BUBBLE_TRANSLATIONS = {
1529
  en: null, // uses PROFILE_BUBBLES defaults
1530
  it: [
1531
- {label:'Nome', hint:'Come vuoi che ti chiami?'},
1532
- {label:'Casa', hint:'Dove vivi adesso? Città e paese.'},
1533
- {label:'Radici', hint:'Da dove vieni originariamente?'},
1534
- {label:'Lingue', hint:'Quali lingue parli?'},
1535
- {label:'Famiglia', hint:'Partner, figli, fratelli — chi conta di più.'},
1536
- {label:'Lavoro', hint:'Che lavoro fai? Cosa hai studiato?'},
1537
- {label:'Sport', hint:'Sport che pratichi o segui? Squadra preferita?'},
1538
- {label:'Hobby', hint:'Cosa ami fare nel tempo libero?'},
1539
- {label:'Interessi', hint:'Argomenti che ti appassionano — idee, campi, passioni.'},
1540
- {label:'Cibo', hint:'Qual è il tuo cibo preferito?'},
1541
- {label:'Musica', hint:'Artista, band o genere musicale preferito?'},
1542
- {label:'Cinema', hint:'Film, attore o regista preferito?'},
1543
- {label:'Libri', hint:'Libro o scrittore preferito?'},
1544
- {label:'Natura', hint:'Colore, animale o stagione preferiti?'},
1545
- {label:'Animali', hint:'Hai animali domestici?'},
 
 
 
 
 
 
 
 
 
 
 
 
 
1546
  ],
1547
  es: [
1548
- {label:'Nombre', hint:'¿Cómo quieres que te llame?'},
1549
- {label:'Hogar', hint:'¿Dónde vives ahora? Ciudad y país.'},
1550
- {label:'Raíces', hint:'¿De dónde eres originalmente?'},
1551
- {label:'Idiomas', hint:'¿Qué idiomas hablas?'},
1552
- {label:'Familia', hint:'Pareja, hijos, hermanos — quienes importan más.'},
1553
- {label:'Trabajo', hint:'¿A qué te dedicas? ¿Qué estudiaste?'},
1554
- {label:'Deporte', hint:'¿Deportes que practicas o sigues? ¿Equipo favorito?'},
1555
- {label:'Aficiones', hint:'¿Qué te gusta hacer en tu tiempo libre?'},
1556
- {label:'Intereses', hint:'Temas que te fascinan — ideas, campos, pasiones.'},
1557
- {label:'Comida', hint:'¿Cuál es tu comida favorita?'},
1558
- {label:'Música', hint:'¿Artista, banda o género musical favorito?'},
1559
- {label:'Cine', hint:'¿Película, actor o director favorito?'},
1560
- {label:'Libros', hint:'¿Libro o escritor favorito?'},
1561
- {label:'Naturaleza', hint:'¿Color, animal o estación favoritos?'},
1562
- {label:'Mascotas', hint:'¿Tienes mascotas?'},
 
 
 
 
 
 
 
 
 
 
 
 
 
1563
  ],
1564
  fr: [
1565
- {label:'Prénom', hint:"Comment dois-je t'appeler?"},
1566
- {label:'Chez moi', hint:"Où vis-tu maintenant? Ville et pays."},
1567
- {label:'Origines', hint:"D'où viens-tu à l'origine?"},
1568
- {label:'Langues', hint:'Quelles langues parles-tu?'},
1569
- {label:'Famille', hint:'Partenaire, enfants, frères et sœurs — qui compte le plus.'},
1570
- {label:'Travail', hint:"Que fais-tu dans la vie? Qu'as-tu étudié?"},
1571
- {label:'Sport', hint:'Sports que tu pratiques ou suis? Équipe favorite?'},
1572
- {label:'Loisirs', hint:'Qu\'aimes-tu faire pendant ton temps libre?'},
1573
- {label:'Intérêts', hint:'Sujets qui te fascinent — idées, domaines, passions.'},
1574
- {label:'Nourriture', hint:'Quel est ton plat préféré?'},
1575
- {label:'Musique', hint:'Artiste, groupe ou genre musical préféré?'},
1576
- {label:'Cinéma', hint:'Film, acteur ou réalisateur préféré?'},
1577
- {label:'Livres', hint:'Livre ou écrivain préféré?'},
1578
- {label:'Nature', hint:'Couleur, animal ou saison préférés?'},
1579
- {label:'Animaux', hint:'As-tu des animaux de compagnie?'},
 
 
 
 
 
 
 
 
 
 
 
 
 
1580
  ],
1581
  de: [
1582
- {label:'Name', hint:'Wie soll ich dich nennen?'},
1583
- {label:'Zuhause', hint:'Wo lebst du jetzt? Stadt und Land.'},
1584
- {label:'Herkunft', hint:'Woher kommst du ursprünglich?'},
1585
- {label:'Sprachen', hint:'Welche Sprachen sprichst du?'},
1586
- {label:'Familie', hint:'Partner, Kinder, Geschwister — wer zählt am meisten.'},
1587
- {label:'Beruf', hint:'Was machst du beruflich? Was hast du studiert?'},
1588
- {label:'Sport', hint:'Sport den du treibst oder verfolgst? Lieblingsmannschaft?'},
1589
- {label:'Hobbys', hint:'Was machst du gerne in deiner Freizeit?'},
1590
- {label:'Interessen', hint:'Themen die dich faszinieren — Ideen, Bereiche, Leidenschaften.'},
1591
- {label:'Essen', hint:'Was ist dein Lieblingsessen?'},
1592
- {label:'Musik', hint:'Lieblingskünstler, Band oder Musikrichtung?'},
1593
- {label:'Kino', hint:'Lieblingsfilm, Schauspieler oder Regisseur?'},
1594
- {label:'Bücher', hint:'Lieblingsbuch oder Lieblingsautor?'},
1595
- {label:'Natur', hint:'Lieblingsfarbe, Tier oder Jahreszeit?'},
1596
- {label:'Haustiere', hint:'Hast du Haustiere?'},
 
 
 
 
 
 
 
 
 
 
 
 
 
1597
  ],
1598
  pt: [
1599
- {label:'Nome', hint:'Como devo te chamar?'},
1600
- {label:'Lar', hint:'Onde você mora agora? Cidade e país.'},
1601
- {label:'Raízes', hint:'De onde você é originalmente?'},
1602
- {label:'Idiomas', hint:'Quais idiomas você fala?'},
1603
- {label:'Família', hint:'Parceiro, filhos, irmãos — quem importa mais.'},
1604
- {label:'Trabalho', hint:'O que você faz? O que estudou?'},
1605
- {label:'Esporte', hint:'Esportes que pratica ou acompanha? Time favorito?'},
1606
- {label:'Hobbies', hint:'O que você ama fazer no tempo livre?'},
1607
- {label:'Interesses', hint:'Assuntos que te fascinam — ideias, áreas, paixões.'},
1608
- {label:'Comida', hint:'Qual é sua comida favorita?'},
1609
- {label:'Música', hint:'Artista, banda ou gênero musical favorito?'},
1610
- {label:'Cinema', hint:'Filme, ator ou diretor favorito?'},
1611
- {label:'Livros', hint:'Livro ou escritor favorito?'},
1612
- {label:'Natureza', hint:'Cor, animal ou estação favoritos?'},
1613
- {label:'Animais', hint:'Você tem animais de estimação?'},
 
 
 
 
 
 
 
 
 
 
 
 
 
1614
  ],
1615
  };
1616
 
@@ -1643,59 +1708,105 @@ const DECO_BUBBLES = [
1643
  ];
1644
 
1645
  const PROFILE_BUBBLES = [
1646
- { id:'name', label:'Name', icon:'✍️', color:'#1bfdc5',
1647
  hint:'What should I call you?',
1648
  fields:['name'] },
1649
- { id:'home', label:'Home', icon:'🏠', color:'#4fc3f7',
 
 
 
1650
  hint:'Where do you live now? City and country.',
1651
  fields:['living_country','living_place'] },
1652
- { id:'roots', label:'Roots', icon:'🌱', color:'#aed581',
1653
  hint:'Where are you originally from?',
1654
  fields:['origin_country','origin_place'] },
1655
- { id:'language', label:'Language', icon:'🗣️', color:'#fff176',
1656
- hint:'Which languages do you speak?',
1657
- fields:['language_spoken'] },
1658
- { id:'family', label:'Family', icon:'👨‍👩‍👧', color:'#f48fb1',
1659
- hint:'Partner, kids, siblings — whoever matters most.',
1660
- fields:['kids','partner_name','number_of_brothers_and_sisters','best_friend_name'] },
1661
- { id:'work', label:'Work', icon:'💼', color:'#ffb74d',
1662
- hint:'What do you do for work? What did you study?',
1663
- fields:['profession','education'] },
1664
- { id:'sport', label:'Sport', icon:'⚽', color:'#ef9a9a',
1665
- hint:'Sports you play or watch? Favourite team?',
1666
- fields:['sports_played','sports_watched','favorite_team'] },
1667
- { id:'hobbies', label:'Hobbies', icon:'🎨', color:'#ce93d8',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1668
  hint:'What do you love doing in your free time?',
1669
  fields:['hobbies'] },
1670
- { id:'interests', label:'Interests', icon:'💡', color:'#80cbc4',
1671
  hint:'Topics that fascinate you — ideas, fields, passions.',
1672
  fields:['interests'] },
1673
- { id:'food', label:'Food', icon:'🍝', color:'#ffab91',
1674
  hint:"What's your favourite food?",
1675
  fields:['favorite_food'] },
1676
- { id:'music', label:'Music', icon:'🎵', color:'#b39ddb',
1677
- hint:'Favourite music, band or singer?',
1678
- fields:['favorite_music','favorite_band','favorite_singer'] },
1679
- { id:'cinema', label:'Cinema', icon:'🎬', color:'#ff8a65',
1680
- hint:'Favourite film, actor, director?',
1681
- fields:['favorite_movie','favorite_actor','favorite_movie_maker'] },
1682
- { id:'books', label:'Books', icon:'📚', color:'#90caf9',
1683
- hint:'Favourite book or writer?',
1684
- fields:['favorite_book','favorite_writer'] },
1685
- { id:'nature', label:'Nature', icon:'🌿', color:'#80deea',
1686
- hint:'Favourite colour, animal, season?',
1687
- fields:['favorite_animal','favorite_color','favorite_season'] },
1688
- { id:'pets', label:'Pets', icon:'🐾', color:'#f8bbd0',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1689
  hint:'Do you have any pets?',
1690
  fields:['pets'] },
1691
  ];
1692
 
1693
  // Size per bubble — intentional variety, not changed at runtime
1694
  const BUBBLE_SIZE_KEYS = [
1695
- 'md','md','sm','sm', // name, home, roots, language
1696
- 'lg','md','md','sm', // family, work, sport, hobbies
1697
- 'md','sm','sm','sm', // interests, food, music, cinema
1698
- 'sm','sm','sm', // books, nature, pets
 
 
 
 
 
 
 
1699
  ];
1700
  const BUBBLE_SIZES = { xs:{w:80,h:65}, sm:{w:155,h:115}, md:{w:195,h:145}, lg:{w:235,h:170} };
1701
  const PRIORITY_SIZE = { w:270, h:200 };
 
684
  <div id="profile-screen">
685
  <div id="profile-header">
686
  <img src="/avatars/moon_stars.png" id="profile-cielo-av" alt="Cielo">
687
+ <div id="profile-greeting">Tap a bubble to tell me about yourself. When you're ready to chat, press 💬. You can always come back to fill in more.</div>
688
  <button id="profile-chat-btn" title="Go to chat">💬</button>
689
  </div>
690
  <div id="bubble-canvas"></div>
 
1516
  // ── PROFILE SCREEN ─────────────────────────────────────────
1517
 
1518
  const UI_STRINGS = {
1519
+ en: { greeting:"Tap a bubble to tell me about yourself. When you're ready to chat, press 💬 — you can always come back to fill in more.", done:'Go to chat' },
1520
+ it: { greeting:"Tocca una bolla per raccontarmi di te. Quando sei pronto a chattare, premi 💬 — puoi sempre tornare per aggiungere altro.", done:'Vai alla chat' },
1521
+ es: { greeting:"Toca una burbuja para contarme sobre ti. Cuando estés listo para chatear, pulsa 💬 — siempre puedes volver para añadir más.", done:'Ir al chat' },
1522
+ fr: { greeting:"Touche une bulle pour me parler de toi. Quand tu es prêt à chatter, appuie sur 💬 — tu peux toujours revenir pour en ajouter plus.", done:'Aller au chat' },
1523
+ de: { greeting:"Tippe auf eine Blase, um mir von dir zu erzählen. Wenn du bereit bist zu chatten, drücke 💬 — du kannst jederzeit zurückkommen.", done:'Zum Chat' },
1524
+ pt: { greeting:"Toque em uma bolha para me contar sobre você. Quando estiver pronto para conversar, pressione 💬 — você pode sempre voltar para adicionar mais.", done:'Ir para o chat' },
1525
  };
1526
 
1527
  // Per-language bubble labels and hints (order matches PROFILE_BUBBLES)
1528
  const BUBBLE_TRANSLATIONS = {
1529
  en: null, // uses PROFILE_BUBBLES defaults
1530
  it: [
1531
+ {label:'Nome', hint:'Come vuoi che ti chiami?'},
1532
+ {label:'Compleanno', hint:'Quando sei nato/a? Giorno, mese, anno.'},
1533
+ {label:'Casa', hint:'Dove vivi adesso? Città e paese.'},
1534
+ {label:'Radici', hint:'Da dove vieni originariamente?'},
1535
+ {label:'Partner', hint:'Come si chiama il tuo partner?'},
1536
+ {label:'Figli', hint:'Hai figli? Nomi ed età.'},
1537
+ {label:'Fratelli', hint:'Quanti fratelli e/o sorelle hai?'},
1538
+ {label:'Migliore amico', hint:'Come si chiama il tuo migliore amico/a?'},
1539
+ {label:'Lavoro', hint:'Che lavoro fai?'},
1540
+ {label:'Studi', hint:'Cosa hai studiato?'},
1541
+ {label:'Sport pratico', hint:'Che sport pratichi?'},
1542
+ {label:'Sport seguo', hint:'Che sport segui?'},
1543
+ {label:'La mia squadra', hint:'Qual è la tua squadra preferita?'},
1544
+ {label:'Hobby', hint:'Cosa ami fare nel tempo libero?'},
1545
+ {label:'Interessi', hint:'Argomenti che ti appassionano.'},
1546
+ {label:'Cibo', hint:'Qual è il tuo cibo preferito?'},
1547
+ {label:'Musica', hint:'Che genere musicale preferisci?'},
1548
+ {label:'Band', hint:'Qual è la tua band preferita?'},
1549
+ {label:'Cantante', hint:'Qual è il tuo cantante preferito?'},
1550
+ {label:'Film', hint:'Qual è il tuo film preferito?'},
1551
+ {label:'Attore', hint:'Chi è il tuo attore preferito?'},
1552
+ {label:'Regista', hint:'Chi è il tuo regista preferito?'},
1553
+ {label:'Libro', hint:'Qual è il tuo libro preferito?'},
1554
+ {label:'Scrittore', hint:'Chi è il tuo scrittore preferito?'},
1555
+ {label:'Colore', hint:'Qual è il tuo colore preferito?'},
1556
+ {label:'Animale', hint:'Qual è il tuo animale preferito?'},
1557
+ {label:'Stagione', hint:'Qual è la tua stagione preferita?'},
1558
+ {label:'Animali dom.', hint:'Hai animali domestici?'},
1559
  ],
1560
  es: [
1561
+ {label:'Nombre', hint:'¿Cómo quieres que te llame?'},
1562
+ {label:'Cumpleaños', hint:'¿Cuándo naciste? Día, mes, año.'},
1563
+ {label:'Hogar', hint:'¿Dónde vives ahora? Ciudad y país.'},
1564
+ {label:'Raíces', hint:'¿De dónde eres originalmente?'},
1565
+ {label:'Pareja', hint:'¿Cómo se llama tu pareja?'},
1566
+ {label:'Hijos', hint:'¿Tienes hijos? Nombres y edades.'},
1567
+ {label:'Hermanos', hint:'¿Cuántos hermanos tienes?'},
1568
+ {label:'Mejor amigo', hint:'¿Cómo se llama tu mejor amigo/a?'},
1569
+ {label:'Profesión', hint:'¿A qué te dedicas?'},
1570
+ {label:'Estudios', hint:'¿Qué estudiaste?'},
1571
+ {label:'Deporte (juego)',hint:'¿Qué deportes practicas?'},
1572
+ {label:'Deporte (veo)', hint:'¿Qué deportes sigues?'},
1573
+ {label:'Mi equipo', hint:'¿Cuál es tu equipo favorito?'},
1574
+ {label:'Aficiones', hint:'¿Qué te gusta hacer en tu tiempo libre?'},
1575
+ {label:'Intereses', hint:'Temas que te fascinan.'},
1576
+ {label:'Comida', hint:'¿Cuál es tu comida favorita?'},
1577
+ {label:'Música', hint:'¿Qué género musical prefieres?'},
1578
+ {label:'Banda', hint:'¿Cuál es tu banda favorita?'},
1579
+ {label:'Cantante', hint:'¿Cuál es tu cantante favorito?'},
1580
+ {label:'Película', hint:'¿Cuál es tu película favorita?'},
1581
+ {label:'Actor', hint:'¿Quién es tu actor favorito?'},
1582
+ {label:'Director', hint:'¿Quién es tu director favorito?'},
1583
+ {label:'Libro', hint:'¿Cuál es tu libro favorito?'},
1584
+ {label:'Escritor', hint:'¿Quién es tu escritor favorito?'},
1585
+ {label:'Color', hint:'¿Cuál es tu color favorito?'},
1586
+ {label:'Animal', hint:'¿Cuál es tu animal favorito?'},
1587
+ {label:'Estación', hint:'¿Cuál es tu estación favorita?'},
1588
+ {label:'Mascotas', hint:'¿Tienes mascotas?'},
1589
  ],
1590
  fr: [
1591
+ {label:'Prénom', hint:"Comment dois-je t'appeler?"},
1592
+ {label:'Anniversaire', hint:"Quand es-tu né/e? Jour, mois, année."},
1593
+ {label:'Chez moi', hint:"Où vis-tu? Ville et pays."},
1594
+ {label:'Origines', hint:"D'où viens-tu à l'origine?"},
1595
+ {label:'Partenaire', hint:"Comment s'appelle ton partenaire?"},
1596
+ {label:'Enfants', hint:"As-tu des enfants? Prénoms et âges."},
1597
+ {label:'Frères/sœurs', hint:"Combien de frères et sœurs as-tu?"},
1598
+ {label:'Meilleur ami', hint:"Comment s'appelle ton meilleur ami/e?"},
1599
+ {label:'Métier', hint:"Que fais-tu dans la vie?"},
1600
+ {label:'Études', hint:"Qu'as-tu étudié?"},
1601
+ {label:'Sport (pratique)',hint:"Quels sports pratiques-tu?"},
1602
+ {label:'Sport (suivi)', hint:"Quels sports suis-tu?"},
1603
+ {label:'Mon équipe', hint:"Quelle est ton équipe favorite?"},
1604
+ {label:'Loisirs', hint:"Qu'aimes-tu faire pendant ton temps libre?"},
1605
+ {label:'Intérêts', hint:"Sujets qui te fascinent."},
1606
+ {label:'Nourriture', hint:"Quel est ton plat préféré?"},
1607
+ {label:'Musique', hint:"Quel genre musical préfères-tu?"},
1608
+ {label:'Groupe', hint:"Quel est ton groupe préféré?"},
1609
+ {label:'Chanteur', hint:"Qui est ton chanteur/chanteuse préféré/e?"},
1610
+ {label:'Film', hint:"Quel est ton film préféré?"},
1611
+ {label:'Acteur', hint:"Qui est ton acteur préféré?"},
1612
+ {label:'Réalisateur', hint:"Qui est ton réalisateur préféré?"},
1613
+ {label:'Livre', hint:"Quel est ton livre préféré?"},
1614
+ {label:'Auteur', hint:"Qui est ton auteur préféré?"},
1615
+ {label:'Couleur', hint:"Quelle est ta couleur préférée?"},
1616
+ {label:'Animal', hint:"Quel est ton animal préféré?"},
1617
+ {label:'Saison', hint:"Quelle est ta saison préférée?"},
1618
+ {label:'Animaux', hint:"As-tu des animaux de compagnie?"},
1619
  ],
1620
  de: [
1621
+ {label:'Name', hint:'Wie soll ich dich nennen?'},
1622
+ {label:'Geburtstag', hint:'Wann bist du geboren? Tag, Monat, Jahr.'},
1623
+ {label:'Zuhause', hint:'Wo lebst du? Stadt und Land.'},
1624
+ {label:'Herkunft', hint:'Woher kommst du ursprünglich?'},
1625
+ {label:'Partner', hint:'Wie heißt dein Partner?'},
1626
+ {label:'Kinder', hint:'Hast du Kinder? Namen und Alter.'},
1627
+ {label:'Geschwister', hint:'Wie viele Geschwister hast du?'},
1628
+ {label:'Bester Freund', hint:'Wie heißt dein bester Freund/deine beste Freundin?'},
1629
+ {label:'Beruf', hint:'Was machst du beruflich?'},
1630
+ {label:'Ausbildung', hint:'Was hast du studiert oder gelernt?'},
1631
+ {label:'Sport (aktiv)', hint:'Welchen Sport treibst du?'},
1632
+ {label:'Sport (Zuschauer)',hint:'Welchen Sport verfolgst du?'},
1633
+ {label:'Mein Team', hint:'Was ist deine Lieblingsmannschaft?'},
1634
+ {label:'Hobbys', hint:'Was machst du gerne in deiner Freizeit?'},
1635
+ {label:'Interessen', hint:'Themen die dich faszinieren.'},
1636
+ {label:'Essen', hint:'Was ist dein Lieblingsessen?'},
1637
+ {label:'Musik', hint:'Welche Musikrichtung magst du?'},
1638
+ {label:'Band', hint:'Was ist deine Lieblingsband?'},
1639
+ {label:'Sänger', hint:'Wer ist dein Lieblingssänger?'},
1640
+ {label:'Film', hint:'Was ist dein Lieblingsfilm?'},
1641
+ {label:'Schauspieler', hint:'Wer ist dein Lieblingsschauspieler?'},
1642
+ {label:'Regisseur', hint:'Wer ist dein Lieblingsregisseur?'},
1643
+ {label:'Buch', hint:'Was ist dein Lieblingsbuch?'},
1644
+ {label:'Autor', hint:'Wer ist dein Lieblingsautor?'},
1645
+ {label:'Farbe', hint:'Was ist deine Lieblingsfarbe?'},
1646
+ {label:'Tier', hint:'Was ist dein Lieblingstier?'},
1647
+ {label:'Jahreszeit', hint:'Was ist deine Lieblingsjahreszeit?'},
1648
+ {label:'Haustiere', hint:'Hast du Haustiere?'},
1649
  ],
1650
  pt: [
1651
+ {label:'Nome', hint:'Como devo te chamar?'},
1652
+ {label:'Aniversário', hint:'Quando você nasceu? Dia, mês, ano.'},
1653
+ {label:'Lar', hint:'Onde você mora? Cidade e país.'},
1654
+ {label:'Raízes', hint:'De onde você é originalmente?'},
1655
+ {label:'Parceiro', hint:'Como se chama seu parceiro/a?'},
1656
+ {label:'Filhos', hint:'Você tem filhos? Nomes e idades.'},
1657
+ {label:'Irmãos', hint:'Quantos irmãos você tem?'},
1658
+ {label:'Melhor amigo', hint:'Como se chama seu melhor amigo/a?'},
1659
+ {label:'Profissão', hint:'O que você faz?'},
1660
+ {label:'Educação', hint:'O que você estudou?'},
1661
+ {label:'Esporte (pratico)',hint:'Que esportes você pratica?'},
1662
+ {label:'Esporte (assisto)',hint:'Que esportes você acompanha?'},
1663
+ {label:'Meu time', hint:'Qual é o seu time favorito?'},
1664
+ {label:'Hobbies', hint:'O que você ama fazer no tempo livre?'},
1665
+ {label:'Interesses', hint:'Assuntos que te fascinam.'},
1666
+ {label:'Comida', hint:'Qual é a sua comida favorita?'},
1667
+ {label:'Música', hint:'Qual gênero musical você prefere?'},
1668
+ {label:'Banda', hint:'Qual é a sua banda favorita?'},
1669
+ {label:'Cantor', hint:'Qual é o seu cantor/cantora favorito?'},
1670
+ {label:'Filme', hint:'Qual é o seu filme favorito?'},
1671
+ {label:'Ator', hint:'Quem é o seu ator favorito?'},
1672
+ {label:'Diretor', hint:'Quem é o seu diretor favorito?'},
1673
+ {label:'Livro', hint:'Qual é o seu livro favorito?'},
1674
+ {label:'Escritor', hint:'Quem é o seu escritor favorito?'},
1675
+ {label:'Cor', hint:'Qual é a sua cor favorita?'},
1676
+ {label:'Animal', hint:'Qual é o seu animal favorito?'},
1677
+ {label:'Estação', hint:'Qual é a sua estação favorita?'},
1678
+ {label:'Animais', hint:'Você tem animais de estimação?'},
1679
  ],
1680
  };
1681
 
 
1708
  ];
1709
 
1710
  const PROFILE_BUBBLES = [
1711
+ { id:'name', label:'Name', icon:'✍️', color:'#1bfdc5',
1712
  hint:'What should I call you?',
1713
  fields:['name'] },
1714
+ { id:'birthday', label:'Birthday', icon:'🎂', color:'#ffd54f',
1715
+ hint:'When were you born? Day, month, year.',
1716
+ fields:['date_of_birth'] },
1717
+ { id:'home', label:'Home', icon:'🏠', color:'#4fc3f7',
1718
  hint:'Where do you live now? City and country.',
1719
  fields:['living_country','living_place'] },
1720
+ { id:'roots', label:'Roots', icon:'🌱', color:'#aed581',
1721
  hint:'Where are you originally from?',
1722
  fields:['origin_country','origin_place'] },
1723
+ { id:'partner', label:'Partner', icon:'💑', color:'#f48fb1',
1724
+ hint:"What's your partner's name?",
1725
+ fields:['partner_name'] },
1726
+ { id:'kids', label:'Children', icon:'👶', color:'#ce93d8',
1727
+ hint:'Do you have children? Names and ages.',
1728
+ fields:['kids'] },
1729
+ { id:'siblings', label:'Siblings', icon:'👫', color:'#80cbc4',
1730
+ hint:'How many brothers or sisters do you have?',
1731
+ fields:['number_of_brothers_and_sisters'] },
1732
+ { id:'best_friend', label:'Best Friend', icon:'🤝', color:'#ffab91',
1733
+ hint:"What's your best friend's name?",
1734
+ fields:['best_friend_name'] },
1735
+ { id:'profession', label:'Profession', icon:'💼', color:'#ffb74d',
1736
+ hint:'What do you do for work?',
1737
+ fields:['profession'] },
1738
+ { id:'education', label:'Education', icon:'🎓', color:'#ff8a65',
1739
+ hint:'What did you study?',
1740
+ fields:['education'] },
1741
+ { id:'sport_play', label:'Sport I play',icon:'🏃', color:'#ef9a9a',
1742
+ hint:'What sports do you play?',
1743
+ fields:['sports_played'] },
1744
+ { id:'sport_watch', label:'Sport I watch',icon:'🏟️', color:'#90caf9',
1745
+ hint:'What sports do you follow?',
1746
+ fields:['sports_watched'] },
1747
+ { id:'team', label:'My Team', icon:'🏆', color:'#a5d6a7',
1748
+ hint:"What's your favourite team?",
1749
+ fields:['favorite_team'] },
1750
+ { id:'hobbies', label:'Hobbies', icon:'🎨', color:'#ce93d8',
1751
  hint:'What do you love doing in your free time?',
1752
  fields:['hobbies'] },
1753
+ { id:'interests', label:'Interests', icon:'💡', color:'#80cbc4',
1754
  hint:'Topics that fascinate you — ideas, fields, passions.',
1755
  fields:['interests'] },
1756
+ { id:'food', label:'Food', icon:'🍝', color:'#ffab91',
1757
  hint:"What's your favourite food?",
1758
  fields:['favorite_food'] },
1759
+ { id:'music', label:'Music', icon:'🎵', color:'#b39ddb',
1760
+ hint:'Favourite music genre?',
1761
+ fields:['favorite_music'] },
1762
+ { id:'band', label:'Band', icon:'🎸', color:'#9fa8da',
1763
+ hint:'Favourite band?',
1764
+ fields:['favorite_band'] },
1765
+ { id:'singer', label:'Singer', icon:'🎤', color:'#f06292',
1766
+ hint:'Favourite singer?',
1767
+ fields:['favorite_singer'] },
1768
+ { id:'movie', label:'Movie', icon:'🎬', color:'#ff8a65',
1769
+ hint:'Favourite film?',
1770
+ fields:['favorite_movie'] },
1771
+ { id:'actor', label:'Actor', icon:'⭐', color:'#ffd54f',
1772
+ hint:'Favourite actor?',
1773
+ fields:['favorite_actor'] },
1774
+ { id:'director', label:'Director', icon:'🎥', color:'#ef9a9a',
1775
+ hint:'Favourite film director?',
1776
+ fields:['favorite_movie_maker'] },
1777
+ { id:'book', label:'Book', icon:'📖', color:'#90caf9',
1778
+ hint:'Favourite book?',
1779
+ fields:['favorite_book'] },
1780
+ { id:'writer', label:'Writer', icon:'✒️', color:'#a5d6a7',
1781
+ hint:'Favourite writer?',
1782
+ fields:['favorite_writer'] },
1783
+ { id:'color', label:'Colour', icon:'🌈', color:'#e8eaf6',
1784
+ hint:'Favourite colour?',
1785
+ fields:['favorite_color'] },
1786
+ { id:'animal', label:'Animal', icon:'🦁', color:'#c5e1a5',
1787
+ hint:'Favourite animal?',
1788
+ fields:['favorite_animal'] },
1789
+ { id:'season', label:'Season', icon:'🍂', color:'#ffe0b2',
1790
+ hint:'Favourite season?',
1791
+ fields:['favorite_season'] },
1792
+ { id:'pets', label:'Pets', icon:'🐾', color:'#f8bbd0',
1793
  hint:'Do you have any pets?',
1794
  fields:['pets'] },
1795
  ];
1796
 
1797
  // Size per bubble — intentional variety, not changed at runtime
1798
  const BUBBLE_SIZE_KEYS = [
1799
+ 'md','sm','md','sm', // name, birthday, home, roots
1800
+ 'sm','sm','sm','sm', // partner, kids, siblings, best_friend
1801
+ 'md','sm', // profession, education
1802
+ 'sm','sm','sm', // sport_play, sport_watch, team
1803
+ 'md','lg', // hobbies, interests
1804
+ 'sm', // food
1805
+ 'sm','sm','sm', // music, band, singer
1806
+ 'sm','sm','xs', // movie, actor, director
1807
+ 'sm','sm', // book, writer
1808
+ 'xs','xs','xs', // color, animal, season
1809
+ 'xs', // pets
1810
  ];
1811
  const BUBBLE_SIZES = { xs:{w:80,h:65}, sm:{w:155,h:115}, md:{w:195,h:145}, lg:{w:235,h:170} };
1812
  const PRIORITY_SIZE = { w:270, h:200 };