From 77ba34a12bfee78de45068b7eea568a98ae00e61 Mon Sep 17 00:00:00 2001 From: Maksym Bilan Date: Wed, 11 Sep 2024 12:55:43 +0300 Subject: [PATCH] UX Improvements for Onboarding (#30) * typo * new welcome message * fixing tests * clean up * fixing tests --------- Co-authored-by: Maksym Bilan <> --- internal/bot/start.go | 3 ++- internal/bot/user.go | 6 ------ internal/firestore/user.go | 5 +---- internal/translator/translations.go | 2 ++ 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/internal/bot/start.go b/internal/bot/start.go index 23a2339..bbc34c7 100644 --- a/internal/bot/start.go +++ b/internal/bot/start.go @@ -2,8 +2,9 @@ package bot // handleStart is the entry point for the bot. It checks if the user has a locale and timezone set and sends a welcome message func handleStart(session *Session) { - if session.User.Locale == nil { + if !session.User.IsOnboarded { // Go onboarding + sendMessage("welcome_onboarding", session) handleLanguage(session) } else if session.User.SecondsFromUTC == nil { // Go onboarding diff --git a/internal/bot/user.go b/internal/bot/user.go index 65e58f5..c0b583e 100644 --- a/internal/bot/user.go +++ b/internal/bot/user.go @@ -69,12 +69,6 @@ func updateUser(user *firestore.User) *firestore.User { fetchedUser.FirstName = user.FirstName fetchedUser.LastName = user.LastName - // Temporary fix - if fetchedUser.IsWriting { - fetchedUser.IsTyping = true - fetchedUser.IsWriting = false - } - // Update the user's locale from Telegram if it's valid if fetchedUser.Locale == nil && user.Locale != nil { userLocale := *user.Locale diff --git a/internal/firestore/user.go b/internal/firestore/user.go index d8ff8c9..6806c67 100644 --- a/internal/firestore/user.go +++ b/internal/firestore/user.go @@ -8,15 +8,12 @@ import ( type User struct { ID string `firestore:"id"` - ChatID int64 `firestore:"chatID"` - Name *string `firestore:"name"` // Deprecated + ChatID int64 `firestore:"chatId"` UserName *string `json:"username"` FirstName *string `json:"firstName"` LastName *string `json:"lastName"` Locale *string `firestore:"locale"` - LastChatID *int64 `firestore:"lastChatId"` // Deprecated SecondsFromUTC *int `firestore:"secondsFromUTC"` - IsWriting bool `firestore:"isWriting"` // Deprecated LastCommand string `firestore:"lastCommand"` IsTyping bool `firestore:"isTyping"` IsOnboarded bool `firestore:"isOnboarded"` diff --git a/internal/translator/translations.go b/internal/translator/translations.go index c011f5c..cfaa580 100644 --- a/internal/translator/translations.go +++ b/internal/translator/translations.go @@ -3,6 +3,7 @@ package translator const translationsJSON = `{ "en": { "welcome": "Welcome to CapyMind 👋 Your personal journal for mental health notes is here to help you on your journey. Reflect on your thoughts and emotions, use reminders to stay on track, and explore therapy insights to deepen your self-awareness.", + "welcome_onboarding": "Welcome to CapyMind 👋 Before we begin, let’s adjust your settings for a personalized experience 🙂", "start_note" : "Share your thoughts and feelings by entering them in the text field and sending them my way. Your personal reflections will be securely saved in your journal 👇", "finish_note" : "Your thoughts have been successfully saved. Thank you for trusting CapyMind. Remember, each note is a step forward on your journey to better mental well-being 🙂", "your_last_note": "Here’s your most recent note 👇\n\n", @@ -24,6 +25,7 @@ const translationsJSON = `{ }, "uk": { "welcome": "Ласкаво просимо до CapyMind 👋 Ваш особистий журнал для записів про психічне здоров'я тут, щоб допомогти вам на вашому шляху. Рефлексуйте над своїми думками та емоціями, використовуйте нагадування, щоб залишатися на шляху, та досліджуйте інсайти терапії, щоб поглибити свою самосвідомість.", + "welcome_onboarding": "Ласкаво просимо до CapyMind 👋 Перед початком давайте налаштуємо ваші параметри 🙂", "start_note": "Поділіться своїми думками та почуттями, введіть їх у текстове поле та надішліть. Ваші особисті роздуми будуть безпечно збережені у вашому журналі 👇", "finish_note": "Ваші думки успішно збережені. Дякуємо вам за довіру CapyMind. Пам'ятайте, кожен запис - це крок вперед на вашому шляху до кращого психічного самопочуття 🙂", "your_last_note": "Ось ваш останній запис 👇\n\n",