Skip to content

Commit

Permalink
feat(mobile): add feedback screen (#256)
Browse files Browse the repository at this point in the history
  • Loading branch information
bkdev98 authored Sep 2, 2024
1 parent 50ae0ea commit e978d0d
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 44 deletions.
17 changes: 9 additions & 8 deletions apps/mobile/app/(app)/(tabs)/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -222,14 +222,15 @@ export default function SettingsScreen() {
}
/>
</Link>
<MenuItem
label={t(i18n)`Send feedback`}
icon={MessageSquareQuoteIcon}
rightSection={
<ChevronRightIcon className="h-5 w-5 text-primary" />
}
disabled
/>
<Link href="/feedback" asChild>
<MenuItem
label={t(i18n)`Send feedback`}
icon={MessageSquareQuoteIcon}
rightSection={
<ChevronRightIcon className="h-5 w-5 text-primary" />
}
/>
</Link>
<MenuItem
label={t(i18n)`Rate 6pm on App Store`}
icon={StarIcon}
Expand Down
7 changes: 7 additions & 0 deletions apps/mobile/app/(app)/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,13 @@ export default function AuthenticatedLayout() {
headerTitle: t(i18n)`Profile`,
}}
/>
<Stack.Screen
name="feedback"
options={{
presentation: 'modal',
headerTitle: t(i18n)`Feedback`,
}}
/>
<Stack.Screen
name="appearance"
options={{ headerTitle: t(i18n)`Appearance` }}
Expand Down
74 changes: 74 additions & 0 deletions apps/mobile/app/(app)/feedback.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import { toast } from '@/components/common/toast'
import { InputField } from '@/components/form-fields/input-field'
import { SubmitButton } from '@/components/form-fields/submit-button'
import { Text } from '@/components/ui/text'
import { useUser } from '@clerk/clerk-expo'
import { zodResolver } from '@hookform/resolvers/zod'
import { t } from '@lingui/macro'
import { useLingui } from '@lingui/react'
import * as Sentry from '@sentry/react-native'
import { useRouter } from 'expo-router'
import { FormProvider, useForm } from 'react-hook-form'
import { ScrollView } from 'react-native'
import { z } from 'zod'

const feedbackSchema = z.object({
comments: z.string().min(1, 'Comment are required'),
})

const sentryId = Sentry.captureMessage('User feedback')

export default function FeedbackScreen() {
const { user } = useUser()
const { i18n } = useLingui()
const router = useRouter()

const feedbackForm = useForm<z.infer<typeof feedbackSchema>>({
resolver: zodResolver(feedbackSchema),
defaultValues: {
comments: '',
},
})

async function handleSubmit(data: z.infer<typeof feedbackSchema>) {
Sentry.captureUserFeedback({
name: user?.fullName ?? 'Anonymous',
email: user?.primaryEmailAddress?.emailAddress ?? 'Anonymous',
comments: data.comments,
event_id: sentryId,
})
toast.success(t(i18n)`Thank you for your feedback!`)
router.back()
}

return (
<FormProvider {...feedbackForm}>
<ScrollView
className="bg-card"
contentContainerClassName="px-6 py-3"
automaticallyAdjustKeyboardInsets
keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"
>
<InputField
name="comments"
label={t(i18n)`Your message`}
placeholder={t(
i18n,
)`Report a bug, request a feature, or just say hi!`}
autoFocus
disabled={feedbackForm.formState.isLoading}
multiline
className="h-[120px]"
/>
<SubmitButton
onPress={feedbackForm.handleSubmit(handleSubmit)}
disabled={feedbackForm.formState.isLoading}
className="mt-4"
>
<Text>{t(i18n)`Send feedback`}</Text>
</SubmitButton>
</ScrollView>
</FormProvider>
)
}
51 changes: 34 additions & 17 deletions apps/mobile/locales/en/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ msgstr ""
msgid "App theme"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:104
#: apps/mobile/app/(app)/_layout.tsx:111
#: apps/mobile/app/(app)/(tabs)/settings.tsx:146
msgid "Appearance"
msgstr ""
Expand All @@ -122,7 +122,7 @@ msgstr ""
msgid "Are you sure you want to delete your account? This action cannot be undone."
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:260
#: apps/mobile/app/(app)/(tabs)/settings.tsx:261
msgid "Are you sure you want to sign out?"
msgstr ""

Expand Down Expand Up @@ -162,7 +162,7 @@ msgstr ""
msgid "Camera permissions are not granted"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:262
#: apps/mobile/app/(app)/(tabs)/settings.tsx:263
#: apps/mobile/app/(app)/budget/[budgetId]/edit.tsx:45
#: apps/mobile/app/(app)/category/[categoryId].tsx:42
#: apps/mobile/app/(app)/profile.tsx:120
Expand All @@ -186,7 +186,7 @@ msgstr ""
msgid "Cannot process image"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:136
#: apps/mobile/app/(app)/_layout.tsx:143
#: apps/mobile/app/(app)/(tabs)/settings.tsx:107
msgid "Categories"
msgstr ""
Expand Down Expand Up @@ -273,11 +273,11 @@ msgstr ""
msgid "Display name"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:130
#: apps/mobile/app/(app)/_layout.tsx:137
msgid "Edit account"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:157
#: apps/mobile/app/(app)/_layout.tsx:164
msgid "Edit category"
msgstr ""

Expand Down Expand Up @@ -322,6 +322,10 @@ msgstr ""
msgid "Family budget"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:106
msgid "Feedback"
msgstr ""

#: apps/mobile/components/common/date-range-picker.tsx:94
msgid "From date"
msgstr ""
Expand Down Expand Up @@ -414,17 +418,17 @@ msgstr ""
msgid "New {0}"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:123
#: apps/mobile/app/(app)/_layout.tsx:130
#: apps/mobile/app/(app)/wallet/accounts.tsx:26
msgid "New account"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:164
#: apps/mobile/app/(app)/_layout.tsx:171
#: apps/mobile/app/(app)/(tabs)/_layout.tsx:80
msgid "New budget"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:150
#: apps/mobile/app/(app)/_layout.tsx:157
msgid "New category"
msgstr ""

Expand Down Expand Up @@ -488,7 +492,7 @@ msgstr ""
msgid "Profile updated successfully"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:250
#: apps/mobile/app/(app)/(tabs)/settings.tsx:251
msgid "Proudly open source"
msgstr ""

Expand All @@ -512,10 +516,14 @@ msgstr ""
msgid "Quarterly"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:234
#: apps/mobile/app/(app)/(tabs)/settings.tsx:235
msgid "Rate 6pm on App Store"
msgstr ""

#: apps/mobile/app/(app)/feedback.tsx:56
msgid "Report a bug, request a feature, or just say hi!"
msgstr ""

#: apps/mobile/components/transaction/draft-transaction-item.tsx:57
msgid "Retry"
msgstr ""
Expand Down Expand Up @@ -579,7 +587,8 @@ msgstr ""
msgid "Select period type"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:226
#: apps/mobile/app/(app)/(tabs)/settings.tsx:227
#: apps/mobile/app/(app)/feedback.tsx:69
msgid "Send feedback"
msgstr ""

Expand All @@ -603,7 +612,7 @@ msgstr ""
msgid "Settings"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:242
#: apps/mobile/app/(app)/(tabs)/settings.tsx:243
msgid "Share with friends"
msgstr ""

Expand All @@ -619,8 +628,8 @@ msgstr ""
msgid "# with Google"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:266
#: apps/mobile/app/(app)/(tabs)/settings.tsx:279
#: apps/mobile/app/(app)/(tabs)/settings.tsx:267
#: apps/mobile/app/(app)/(tabs)/settings.tsx:280
msgid "Sign out"
msgstr ""

Expand Down Expand Up @@ -681,6 +690,10 @@ msgstr ""
#~ msgid "Terms of use"
#~ msgstr ""

#: apps/mobile/app/(app)/feedback.tsx:40
msgid "Thank you for your feedback!"
msgstr ""

#: apps/mobile/app/(app)/transaction/[transactionId].tsx:72
msgid "This will delete the transaction. Are you sure you want to continue?"
msgstr ""
Expand Down Expand Up @@ -754,7 +767,7 @@ msgstr ""
msgid "Upload new photo"
msgstr ""

#: apps/mobile/app/(app)/(tabs)/settings.tsx:292
#: apps/mobile/app/(app)/(tabs)/settings.tsx:293
msgid "ver."
msgstr ""

Expand All @@ -774,7 +787,7 @@ msgstr ""
msgid "Wallet account name"
msgstr ""

#: apps/mobile/app/(app)/_layout.tsx:109
#: apps/mobile/app/(app)/_layout.tsx:116
#: apps/mobile/app/(app)/(tabs)/settings.tsx:98
msgid "Wallet accounts"
msgstr ""
Expand Down Expand Up @@ -803,6 +816,10 @@ msgstr ""
msgid "Your display name"
msgstr ""

#: apps/mobile/app/(app)/feedback.tsx:55
msgid "Your message"
msgstr ""

#: apps/mobile/app/(app)/review-transactions.tsx:22
msgid "Your pending AI transactions will show up here"
msgstr ""
2 changes: 1 addition & 1 deletion apps/mobile/locales/en/messages.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*eslint-disable*/ import type { Messages } from '@lingui/core'
export const messages = JSON.parse(
'{"J/hVSQ":[["0"]],"6MIiOI":[["0"]," left"],"FEZKSz":[["language"]],"4E30de":[["remainingDays"]," days left"],"GDr6hQ":"* you can always change this later.","VE5ikN":"<0><1>Manage your expense seamlessly</1><2>Let <3>6pm</3> a good time to spend</2></0>","ejSd6i":"<0>By continuing, you acknowledge that you understand and agree to our <1><2>Privacy Policy</2></1></0>","AYTmQ1":"<0>By continuing, you acknowledge that you understand and agree to the <1><2>Terms & Conditions</2></1> and <3><4>Privacy Policy</4></3></0>","LjsgKU":"0.00","y+OdTP":"Account deleted successfully","103Xyi":"Add your first transaction here","sxkWRg":"Advanced","Mxjwaz":"All accounts","pXc4dB":"All Accounts","HoJ+ka":"All entries","LcouyV":"All your data will be deleted","Vw8l6h":"An error occurred","bhrKSa":"An error occurred while deleting the transaction","rBd1BM":"An error occurred while updating the transaction","+FI+0t":"App is locked. Please authenticate to continue.","2Yw5Eq":"App settings","rg8lHb":"App theme","aAIQg2":"Appearance","rH4FJH":"Are you sure you want to delete this budget? This action cannot be undone.","B5mOB7":"Are you sure you want to delete this category? This action cannot be undone.","TE1tui":"Are you sure you want to delete your account? This action cannot be undone.","apLLSU":"Are you sure you want to sign out?","6foA8n":"Are you sure?","X2pgJW":"Ask AI anything...","kfcRb0":"Avatar","fsBGk0":"Balance","IGsZpB":"Budgets","HjGOT5":"By day","kYFORZ":"By month","OTL6lf":"By week","HjYcC9":"Camera permissions are not granted","dEgA5A":"Cancel","yoODAa":"Cannot extract transaction","dZYaqU":"Cannot extract transaction data","H9gjQg":"Cannot process image","NUrY9o":"Categories","/zI1zq":"Category deleted","i+de8A":"Category name","h4wXn9":"Choose a preferred theme for the 6pm","AUYALh":"Coming soon","xGVfLh":"Continue","RvVi9c":"Continue with Email","eGKI3t":"Copied version to clipboard","PxMcud":"Current balance","AJToWu":"Current state","7cFjHo":"Daily reminder","Zz6Cxn":"Danger zone","pvnfJD":"Dark","o5ooMr":"Debt","ovBPCi":"Default","WRwm0h":"Default currency","cnGeoo":"Delete","chkudi":"Delete 6pm account","VbtMs5":"Delete wallet account will also delete all related transactions!","pfa8F0":"Display name","rrOW2A":"Edit account","j1Jl7s":"Edit category","O3oNi5":"Email","QOINDn":"empty","ak+zF8":"Enable Push Notifications","/AHxlh":"Enable spending alerts","lYGfRP":"English","EmV+r3":"Enter the code sent to your email","xRPn3U":"Enter your email address","/o/2Tm":"Expense","aSBbnl":"Expenses","AL8ocL":"Family budget","xRJSOj":"From date","Weq9zb":"General","h52e9T":"Get 6pm Pro","EVORi1":"Get started by setting your monthly budget.","M1w7jC":"Grant camera permissions","Uq/imr":"If you\'re not sure, start with how much you usually spend per month.","xxsw3W":"Income","Z2b5qm":"Incomes","13aTWr":"Investing","AhuqH6":"Keeping up with your spending and budgets.","vXIe7J":"Language","brkKQW":"Left per day","PRzhQh":"Left this month","1njn7W":"Light","UC3YIm":"Login using FaceID","lkAlEG":"Magic inbox","+8Nek/":"Monthly","iBONBd":"Monthly budget","6YtxFj":"Name","xYG/fs":"Negative","XejmNR":"Negative if your content balance is under zero","6WSYbN":["New ",["0"]],"Kcr9Fr":"New account","5OdwzH":"New budget","tl5vsv":"New category","ApQ2nt":"No budget selected","xc4rPs":"No transactions","8bNIKG":"No transactions found","NuKR0h":"Others","198luN":"per day","NtQvjo":"Period","66fYpz":"Period end date","QTWhG5":"Period start date","FHx6kz":"Positive","ScJ9fj":"Privacy policy","LcET2C":"Privacy Policy","Z8pOEI":"Processing transaction...","k1ifdL":"Processing...","vERlcd":"Profile","kUlL8W":"Profile updated successfully","++8ZXz":"Proudly open source","SZJG6+":"Push notifications","r7QRqI":"Push notifications are disabled","LI1qx1":"Push notifications are enabled","3yhyIW":"Push notifications are not enabled","kCxe8K":"Quarterly","j75BA9":"Rate 6pm on App Store","6gRgw8":"Retry","GkHlI/":"Revenue this month","8lh/OF":"Revenue this week","K07F+u":"Review transactions","tfDRzk":"Save","y3aU20":"Save changes","uF9ruK":"Saving","WDgJiV":"Scanner","P9vd26":"Search currency...","UA6v4Z":"Seed transactions","+O3PfQ":"Select account","HfaFKV":"Select balance state","PtoMco":"Select budget type","5dfUzo":"Select period type","RoafuO":"Send feedback","PPcets":"Set as default","wCqgpu":"Set Budget","oyi6Xa":"Set Monthly Budget","dY304N":"Set your monthly spending goal","Tz0i8g":"Settings","RDprz0":"Share with friends","5lWFkC":"#","+EnZBU":"# with Apple","dbWo0h":"# with Google","fcWrnU":"Sign out","e+RpCP":"#","fWsBTs":"Something went wrong. Please try again.","TOm5Xo":"Specific dates","Q14cFX":"Spending","FlGoyI":"Spent this month","Ozoj7N":"Spent this week","ygCKqB":"Stop","w5QjWi":"Swift up to scan transaction","J8R0ve":"Swipe up to scan transaction","D+NlUC":"System","IL5Ibf":"Take a picture of your transaction","Yrrg+y":"Target","KWUgwY":"Terms & Conditions","Emv+V7":"Terms of use","OR1t9P":"This will delete the transaction. Are you sure you want to continue?","sH0pkc":"Time to enter your expenses!","w4eKlT":"To date","ecUA8p":"Today","BRMXj0":"Tomorrow","WuQ+zu":"Transaction added to processing queue","38Gho6":"Transaction created","+tIzfv":"Transaction is processing...","6D8usS":"transaction note","+zy2Nq":"Type","b2vAoQ":"Uncategorized","dblERr":"Understood","Ef7StM":"Unknown","29VNqC":"Unknown error","VAOn4r":"Unlock","QQX2/q":"Unlocks full AI power and more!","wPTug2":"Upload new photo","KALubG":"ver.","AdWhjZ":"Verification code","fROFIL":"Vietnamese","ZkY0ic":"Waiting for review","q19YJ1":"Wallet account name","rUcnTU":"Wallet accounts","mdad9N":"Wallet Accounts","4XSc4l":"Weekly","I+fC9+":"Welcome to 6pm!","zkWmBh":"Yearly","y/0uwd":"Yesterday","kDrMSv":"Your display name","3X5MYL":"Your pending AI transactions will show up here"}',
'{"J/hVSQ":[["0"]],"6MIiOI":[["0"]," left"],"FEZKSz":[["language"]],"4E30de":[["remainingDays"]," days left"],"GDr6hQ":"* you can always change this later.","VE5ikN":"<0><1>Manage your expense seamlessly</1><2>Let <3>6pm</3> a good time to spend</2></0>","ejSd6i":"<0>By continuing, you acknowledge that you understand and agree to our <1><2>Privacy Policy</2></1></0>","AYTmQ1":"<0>By continuing, you acknowledge that you understand and agree to the <1><2>Terms & Conditions</2></1> and <3><4>Privacy Policy</4></3></0>","LjsgKU":"0.00","y+OdTP":"Account deleted successfully","103Xyi":"Add your first transaction here","sxkWRg":"Advanced","Mxjwaz":"All accounts","pXc4dB":"All Accounts","HoJ+ka":"All entries","LcouyV":"All your data will be deleted","Vw8l6h":"An error occurred","bhrKSa":"An error occurred while deleting the transaction","rBd1BM":"An error occurred while updating the transaction","+FI+0t":"App is locked. Please authenticate to continue.","2Yw5Eq":"App settings","rg8lHb":"App theme","aAIQg2":"Appearance","rH4FJH":"Are you sure you want to delete this budget? This action cannot be undone.","B5mOB7":"Are you sure you want to delete this category? This action cannot be undone.","TE1tui":"Are you sure you want to delete your account? This action cannot be undone.","apLLSU":"Are you sure you want to sign out?","6foA8n":"Are you sure?","X2pgJW":"Ask AI anything...","kfcRb0":"Avatar","fsBGk0":"Balance","IGsZpB":"Budgets","HjGOT5":"By day","kYFORZ":"By month","OTL6lf":"By week","HjYcC9":"Camera permissions are not granted","dEgA5A":"Cancel","yoODAa":"Cannot extract transaction","dZYaqU":"Cannot extract transaction data","H9gjQg":"Cannot process image","NUrY9o":"Categories","/zI1zq":"Category deleted","i+de8A":"Category name","h4wXn9":"Choose a preferred theme for the 6pm","AUYALh":"Coming soon","xGVfLh":"Continue","RvVi9c":"Continue with Email","eGKI3t":"Copied version to clipboard","PxMcud":"Current balance","AJToWu":"Current state","7cFjHo":"Daily reminder","Zz6Cxn":"Danger zone","pvnfJD":"Dark","o5ooMr":"Debt","ovBPCi":"Default","WRwm0h":"Default currency","cnGeoo":"Delete","chkudi":"Delete 6pm account","VbtMs5":"Delete wallet account will also delete all related transactions!","pfa8F0":"Display name","rrOW2A":"Edit account","j1Jl7s":"Edit category","O3oNi5":"Email","QOINDn":"empty","ak+zF8":"Enable Push Notifications","/AHxlh":"Enable spending alerts","lYGfRP":"English","EmV+r3":"Enter the code sent to your email","xRPn3U":"Enter your email address","/o/2Tm":"Expense","aSBbnl":"Expenses","AL8ocL":"Family budget","YirHq7":"Feedback","xRJSOj":"From date","Weq9zb":"General","h52e9T":"Get 6pm Pro","EVORi1":"Get started by setting your monthly budget.","M1w7jC":"Grant camera permissions","Uq/imr":"If you\'re not sure, start with how much you usually spend per month.","xxsw3W":"Income","Z2b5qm":"Incomes","13aTWr":"Investing","AhuqH6":"Keeping up with your spending and budgets.","vXIe7J":"Language","brkKQW":"Left per day","PRzhQh":"Left this month","1njn7W":"Light","UC3YIm":"Login using FaceID","lkAlEG":"Magic inbox","+8Nek/":"Monthly","iBONBd":"Monthly budget","6YtxFj":"Name","xYG/fs":"Negative","XejmNR":"Negative if your content balance is under zero","6WSYbN":["New ",["0"]],"Kcr9Fr":"New account","5OdwzH":"New budget","tl5vsv":"New category","ApQ2nt":"No budget selected","xc4rPs":"No transactions","8bNIKG":"No transactions found","NuKR0h":"Others","198luN":"per day","NtQvjo":"Period","66fYpz":"Period end date","QTWhG5":"Period start date","FHx6kz":"Positive","ScJ9fj":"Privacy policy","LcET2C":"Privacy Policy","Z8pOEI":"Processing transaction...","k1ifdL":"Processing...","vERlcd":"Profile","kUlL8W":"Profile updated successfully","++8ZXz":"Proudly open source","SZJG6+":"Push notifications","r7QRqI":"Push notifications are disabled","LI1qx1":"Push notifications are enabled","3yhyIW":"Push notifications are not enabled","kCxe8K":"Quarterly","j75BA9":"Rate 6pm on App Store","95+j97":"Report a bug, request a feature, or just say hi!","6gRgw8":"Retry","GkHlI/":"Revenue this month","8lh/OF":"Revenue this week","K07F+u":"Review transactions","tfDRzk":"Save","y3aU20":"Save changes","uF9ruK":"Saving","WDgJiV":"Scanner","P9vd26":"Search currency...","UA6v4Z":"Seed transactions","+O3PfQ":"Select account","HfaFKV":"Select balance state","PtoMco":"Select budget type","5dfUzo":"Select period type","RoafuO":"Send feedback","PPcets":"Set as default","wCqgpu":"Set Budget","oyi6Xa":"Set Monthly Budget","dY304N":"Set your monthly spending goal","Tz0i8g":"Settings","RDprz0":"Share with friends","5lWFkC":"#","+EnZBU":"# with Apple","dbWo0h":"# with Google","fcWrnU":"Sign out","e+RpCP":"#","fWsBTs":"Something went wrong. Please try again.","TOm5Xo":"Specific dates","Q14cFX":"Spending","FlGoyI":"Spent this month","Ozoj7N":"Spent this week","ygCKqB":"Stop","w5QjWi":"Swift up to scan transaction","J8R0ve":"Swipe up to scan transaction","D+NlUC":"System","IL5Ibf":"Take a picture of your transaction","Yrrg+y":"Target","KWUgwY":"Terms & Conditions","Emv+V7":"Terms of use","nhMhRr":"Thank you for your feedback!","OR1t9P":"This will delete the transaction. Are you sure you want to continue?","sH0pkc":"Time to enter your expenses!","w4eKlT":"To date","ecUA8p":"Today","BRMXj0":"Tomorrow","WuQ+zu":"Transaction added to processing queue","38Gho6":"Transaction created","+tIzfv":"Transaction is processing...","6D8usS":"transaction note","+zy2Nq":"Type","b2vAoQ":"Uncategorized","dblERr":"Understood","Ef7StM":"Unknown","29VNqC":"Unknown error","VAOn4r":"Unlock","QQX2/q":"Unlocks full AI power and more!","wPTug2":"Upload new photo","KALubG":"ver.","AdWhjZ":"Verification code","fROFIL":"Vietnamese","ZkY0ic":"Waiting for review","q19YJ1":"Wallet account name","rUcnTU":"Wallet accounts","mdad9N":"Wallet Accounts","4XSc4l":"Weekly","I+fC9+":"Welcome to 6pm!","zkWmBh":"Yearly","y/0uwd":"Yesterday","kDrMSv":"Your display name","/4aXfy":"Your message","3X5MYL":"Your pending AI transactions will show up here"}',
) as Messages
Loading

0 comments on commit e978d0d

Please # to comment.