feat: Add otp url link to qa screen (#1098)

Adegoke David committed Sep 23, 2023 at 01:30 UTC 04f5391be1990fb9f4073b8d8d3b7d2e88455f39
26 files changed +133 -57
lib/src/screens/setup_2fa/setup_2fa_qr_page.dart
+58 -7
@@ -14,7 +14,6 @@ import 'package:flutter/material.dart';
14 import 'package:flutter/services.dart';
15 import 'package:qr_flutter/qr_flutter.dart' as qr;
16
17 -
17 class Setup2FAQRPage extends BasePage {
18 Setup2FAQRPage({required this.setup2FAViewModel});
19
@@ -25,7 +24,6 @@ class Setup2FAQRPage extends BasePage {
24
25 @override
26 Widget body(BuildContext context) {
28 -
27 final copyImage = Image.asset(
28 'assets/images/copy_content.png',
29 height: 12,
@@ -126,16 +124,69 @@ class Setup2FAQRPage extends BasePage {
124 ),
125 SizedBox(height: 8),
126 StandardListSeparator(),
127 + SizedBox(height: 13),
128 + Row(
129 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
130 + crossAxisAlignment: CrossAxisAlignment.center,
131 + children: [
132 + Expanded(
133 + flex: 2,
134 + child: Column(
135 + crossAxisAlignment: CrossAxisAlignment.start,
136 + children: [
137 + Text(
138 + S.current.totp_auth_url,
139 + style: TextStyle(
140 + fontSize: 12,
141 + fontWeight: FontWeight.w500,
142 + color: Palette.darkGray,
143 + height: 1.8333,
144 + ),
145 + ),
146 + SizedBox(height: 8),
147 + Text(
148 + '${setup2FAViewModel.totpVersionOneLink}',
149 + style: TextStyle(
150 + fontSize: 16,
151 + fontWeight: FontWeight.w700,
152 + height: 1.375,
153 + ),
154 + maxLines: 1,
155 + overflow: TextOverflow.ellipsis,
156 + ),
157 + ],
158 + ),
159 + ),
160 + SizedBox(width: 8),
161 + Container(
162 + width: 32,
163 + height: 32,
164 + child: InkWell(
165 + onTap: () {
166 + ClipboardUtil.setSensitiveDataToClipboard(
167 + ClipboardData(text: '${setup2FAViewModel.totpVersionOneLink}'));
168 + showBar<void>(context, S.of(context).copied_to_clipboard);
169 + },
170 + child: Container(
171 + decoration: BoxDecoration(
172 + borderRadius: BorderRadius.circular(6),
173 + color: Color(0xFFF2F0FA),
174 + ),
175 + child: copyImage,
176 + ),
177 + ),
178 + )
179 + ],
180 + ),
181 + SizedBox(height: 8),
182 + StandardListSeparator(),
183 Spacer(),
184 PrimaryButton(
185 onPressed: () {
132 - Navigator.of(context).pushReplacementNamed(
133 - Routes.totpAuthCodePage,
186 + Navigator.of(context).pushReplacementNamed(Routes.totpAuthCodePage,
187 arguments: TotpAuthArgumentsModel(
188 isForSetup: true,
136 - )
137 -
138 - );
189 + ));
190 },
191 text: S.current.continue_text,
192 color: Theme.of(context).primaryColor,
res/values/strings_ar.arb
+3 -2
@@ -688,5 +688,6 @@
688 "onramper_option_description": "شراء بسرعة التشفير مع العديد من طرق الدفع. متوفر في معظم البلدان. ينتشر وتختلف الرسوم.",
689 "default_buy_provider": "مزود شراء الافتراضي",
690 "ask_each_time": "اسأل في كل مرة",
691 - "buy_provider_unavailable": "مزود حاليا غير متوفر."
692 -}
\ No newline at end of file
691 + "buy_provider_unavailable": "مزود حاليا غير متوفر.",
692 + "totp_auth_url": " TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ"
693 +}
res/values/strings_bg.arb
+3 -2
@@ -684,5 +684,6 @@
684 "onramper_option_description": "Бързо купувайте криптовалута с много методи за плащане. Предлага се в повечето страни. Разпространенията и таксите варират.",
685 "default_buy_provider": "Доставчик по подразбиране купува",
686 "ask_each_time": "Питайте всеки път",
687 - "buy_provider_unavailable": "Понастоящем доставчик не е наличен."
688 -}
\ No newline at end of file
687 + "buy_provider_unavailable": "Понастоящем доставчик не е наличен.",
688 + "totp_auth_url": "TOTP AUTH URL"
689 +}
res/values/strings_cs.arb
+3 -2
@@ -684,5 +684,6 @@
684 "onramper_option_description": "Rychle si koupte krypto s mnoha metodami plateb. K dispozici ve většině zemí. Rozpětí a poplatky se liší.",
685 "default_buy_provider": "Výchozí poskytovatel nákupu",
686 "ask_each_time": "Zeptejte se pokaždé",
687 - "buy_provider_unavailable": "Poskytovatel aktuálně nedostupný."
688 -}
\ No newline at end of file
687 + "buy_provider_unavailable": "Poskytovatel aktuálně nedostupný.",
688 + "totp_auth_url": "URL AUTH TOTP"
689 +}
res/values/strings_de.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Kaufen Sie schnell Krypto mit vielen Zahlungsmethoden. In den meisten Ländern erhältlich. Spreads und Gebühren variieren.",
693 "default_buy_provider": "Standard-Kaufanbieter",
694 "ask_each_time": "Jedes Mal fragen",
695 - "buy_provider_unavailable": "Anbieter derzeit nicht verfügbar."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Anbieter derzeit nicht verfügbar.",
696 + "totp_auth_url": "TOTP-Auth-URL"
697 +}
res/values/strings_en.arb
+3 -2
@@ -693,5 +693,6 @@
693 "default_buy_provider": "Default Buy Provider",
694 "ask_each_time": "Ask each time",
695 "robinhood_option_description": "Buy and transfer instantly using your debit card, bank account, or Robinhood balance. USA only.",
696 - "buy_provider_unavailable": "Provider currently unavailable."
697 -}
\ No newline at end of file
696 + "buy_provider_unavailable": "Provider currently unavailable.",
697 + "totp_auth_url": "TOTP AUTH URL"
698 +}
res/values/strings_es.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Compre rápidamente cripto con muchos métodos de pago. Disponible en la mayoría de los países. Los diferenciales y las tarifas varían.",
693 "default_buy_provider": "Proveedor de compra predeterminado",
694 "ask_each_time": "Pregunta cada vez",
695 - "buy_provider_unavailable": "Proveedor actualmente no disponible."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Proveedor actualmente no disponible.",
696 + "totp_auth_url": "URL de autenticación TOTP"
697 +}
res/values/strings_fr.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Achetez rapidement la crypto avec de nombreux méthodes de paiement. Disponible dans la plupart des pays. Les écarts et les frais varient.",
693 "default_buy_provider": "Fournisseur d'achat par défaut",
694 "ask_each_time": "Demandez à chaque fois",
695 - "buy_provider_unavailable": "Fournisseur actuellement indisponible."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Fournisseur actuellement indisponible.",
696 + "totp_auth_url": "URL D'AUTORISATION TOTP"
697 +}
res/values/strings_ha.arb
+3 -2
@@ -670,5 +670,6 @@
670 "onramper_option_description": "Da sauri sayi Crypto tare da hanyoyin biyan kuɗi da yawa. Akwai a yawancin ƙasashe. Yaduwa da kudade sun bambanta.",
671 "default_buy_provider": "Tsohuwar Siyarwa",
672 "ask_each_time": "Tambaya kowane lokaci",
673 - "buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu."
674 -}
\ No newline at end of file
673 + "buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu.",
674 + "totp_auth_url": "TOTP AUTH URL"
675 +}
res/values/strings_hi.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "जल्दी से कई भुगतान विधियों के साथ क्रिप्टो खरीदें। अधिकांश देशों में उपलब्ध है। फैलता है और फीस अलग -अलग होती है।",
693 "default_buy_provider": "डिफ़ॉल्ट खरीद प्रदाता",
694 "ask_each_time": "हर बार पूछें",
695 - "buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।"
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।",
696 + "totp_auth_url": "TOTP प्रामाणिक यूआरएल"
697 +}
res/values/strings_hr.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Brzo kupite kriptovalute s mnogim načinima plaćanja. Dostupno u većini zemalja. Širenja i naknade variraju.",
693 "default_buy_provider": "Zadani davatelj kupnje",
694 "ask_each_time": "Pitajte svaki put",
695 - "buy_provider_unavailable": "Davatelj trenutno nije dostupan."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Davatelj trenutno nije dostupan.",
696 + "totp_auth_url": "TOTP AUTH URL"
697 +}
res/values/strings_id.arb
+3 -2
@@ -680,5 +680,6 @@
680 "onramper_option_description": "Beli crypto dengan cepat dengan banyak metode pembayaran. Tersedia di sebagian besar negara. Spread dan biaya bervariasi.",
681 "default_buy_provider": "Penyedia beli default",
682 "ask_each_time": "Tanyakan setiap kali",
683 - "buy_provider_unavailable": "Penyedia saat ini tidak tersedia."
684 -}
\ No newline at end of file
683 + "buy_provider_unavailable": "Penyedia saat ini tidak tersedia.",
684 + "totp_auth_url": "URL Otentikasi TOTP"
685 +}
res/values/strings_it.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Acquista rapidamente la criptovaluta con molti metodi di pagamento. Disponibile nella maggior parte dei paesi. Gli spread e le commissioni variano.",
693 "default_buy_provider": "Provider di acquisto predefinito",
694 "ask_each_time": "Chiedi ogni volta",
695 - "buy_provider_unavailable": "Provider attualmente non disponibile."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Provider attualmente non disponibile.",
696 + "totp_auth_url": "URL DI AUT. TOTP"
697 +}
res/values/strings_ja.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "多くの支払い方法で暗号をすばやく購入してください。ほとんどの国で利用可能です。スプレッドと料金は異なります。",
693 "default_buy_provider": "デフォルトの購入プロバイダー",
694 "ask_each_time": "毎回尋ねてください",
695 - "buy_provider_unavailable": "現在、プロバイダーは利用できません。"
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "現在、プロバイダーは利用できません。",
696 + "totp_auth_url": "TOTP認証URL"
697 +}
res/values/strings_ko.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "많은 결제 방법으로 암호화를 신속하게 구입하십시오. 대부분의 국가에서 사용할 수 있습니다. 스프레드와 수수료는 다양합니다.",
693 "default_buy_provider": "기본 구매 제공자",
694 "ask_each_time": "매번 물어보십시오",
695 - "buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다.",
696 + "totp_auth_url": "TOTP 인증 URL"
697 +}
res/values/strings_my.arb
+3 -2
@@ -690,5 +690,6 @@
690 "onramper_option_description": "ငွေပေးချေမှုနည်းလမ်းများစွာဖြင့် Crypto ကိုလျင်မြန်စွာ 0 ယ်ပါ။ နိုင်ငံအများစုတွင်ရရှိနိုင်ပါသည်။ ဖြန့်ဖြူးနှင့်အခကြေးငွေကွဲပြားခြားနားသည်။",
691 "default_buy_provider": "Default Provider ကိုဝယ်ပါ",
692 "ask_each_time": "တစ်ခုချင်းစီကိုအချိန်မေးပါ",
693 - "buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။"
694 -}
\ No newline at end of file
693 + "buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။",
694 + "totp_auth_url": "TOTP AUTH URL"
695 +}
res/values/strings_nl.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Koop snel crypto met veel betaalmethoden. Beschikbaar in de meeste landen. Spreads en vergoedingen variëren.",
693 "default_buy_provider": "Standaard Koopprovider",
694 "ask_each_time": "Vraag het elke keer",
695 - "buy_provider_unavailable": "Provider momenteel niet beschikbaar."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Provider momenteel niet beschikbaar.",
696 + "totp_auth_url": "TOTP AUTH-URL"
697 +}
res/values/strings_pl.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Szybko kup kryptowaluty z wieloma metodami płatności. Dostępne w większości krajów. Spready i opłaty różnią się.",
693 "default_buy_provider": "Domyślny dostawca zakupu",
694 "ask_each_time": "Zapytaj za każdym razem",
695 - "buy_provider_unavailable": "Dostawca obecnie niedostępny."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Dostawca obecnie niedostępny.",
696 + "totp_auth_url": "Adres URL TOTP AUTH"
697 +}
res/values/strings_pt.arb
+3 -2
@@ -691,5 +691,6 @@
691 "onramper_option_description": "Compre rapidamente criptografia com muitos métodos de pagamento. Disponível na maioria dos países. Os spreads e taxas variam.",
692 "default_buy_provider": "Provedor de compra padrão",
693 "ask_each_time": "Pergunte cada vez",
694 - "buy_provider_unavailable": "Provedor atualmente indisponível."
695 -}
\ No newline at end of file
694 + "buy_provider_unavailable": "Provedor atualmente indisponível.",
695 + "totp_auth_url": "URL de autenticação TOTP"
696 +}
res/values/strings_ru.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Быстро купите крипто со многими способами оплаты. Доступно в большинстве стран. Спреды и сборы различаются.",
693 "default_buy_provider": "По умолчанию поставщик покупки",
694 "ask_each_time": "Спросите каждый раз",
695 - "buy_provider_unavailable": "Поставщик в настоящее время недоступен."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "Поставщик в настоящее время недоступен.",
696 + "totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ"
697 +}
res/values/strings_th.arb
+3 -2
@@ -690,5 +690,6 @@
690 "onramper_option_description": "ซื้อ crypto อย่างรวดเร็วด้วยวิธีการชำระเงินจำนวนมาก มีให้บริการในประเทศส่วนใหญ่ สเปรดและค่าธรรมเนียมแตกต่างกันไป",
691 "default_buy_provider": "ผู้ให้บริการซื้อเริ่มต้น",
692 "ask_each_time": "ถามทุกครั้ง",
693 - "buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน"
694 -}
\ No newline at end of file
693 + "buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน",
694 + "totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP"
695 +}
res/values/strings_tr.arb
+3 -2
@@ -690,5 +690,6 @@
690 "onramper_option_description": "Birçok ödeme yöntemi ile hızlı bir şekilde kripto satın alın. Çoğu ülkede mevcuttur. Forma ve ücretler değişir.",
691 "default_buy_provider": "Varsayılan Satın Alma Sağlayıcısı",
692 "ask_each_time": "Her seferinde sor",
693 - "buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor."
694 -}
\ No newline at end of file
693 + "buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor.",
694 + "totp_auth_url": "TOTP YETKİ URL'si"
695 +}
res/values/strings_uk.arb
+3 -2
@@ -692,5 +692,6 @@
692 "onramper_option_description": "Швидко купуйте криптовалюту з багатьма методами оплати. Доступний у більшості країн. Поширення та збори різняться.",
693 "default_buy_provider": "Постачальник покупки за замовчуванням",
694 "ask_each_time": "Запитайте кожен раз",
695 - "buy_provider_unavailable": "В даний час постачальник недоступний."
696 -}
\ No newline at end of file
695 + "buy_provider_unavailable": "В даний час постачальник недоступний.",
696 + "totp_auth_url": "TOTP AUTH URL"
697 +}
res/values/strings_ur.arb
+3 -2
@@ -684,5 +684,6 @@
684 "onramper_option_description": "ادائیگی کے بہت سے طریقوں سے جلدی سے کرپٹو خریدیں۔ زیادہ تر ممالک میں دستیاب ہے۔ پھیلاؤ اور فیس مختلف ہوتی ہے۔",
685 "default_buy_provider": "پہلے سے طے شدہ خریدنے والا",
686 "ask_each_time": "ہر بار پوچھیں",
687 - "buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔"
688 -}
\ No newline at end of file
687 + "buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔",
688 + "totp_auth_url": "TOTP AUTH URL"
689 +}
res/values/strings_yo.arb
+3 -2
@@ -686,5 +686,6 @@
686 "onramper_option_description": "Ni kiakia Ra Crypto pẹlu ọpọlọpọ awọn ọna isanwo. Wa ni ọpọlọpọ awọn orilẹ-ede. Itankale ati awọn idiyele yatọ.",
687 "default_buy_provider": "Aiyipada Ra Olupese",
688 "ask_each_time": "Beere lọwọ kọọkan",
689 - "buy_provider_unavailable": "Olupese lọwọlọwọ ko si."
690 -}
\ No newline at end of file
689 + "buy_provider_unavailable": "Olupese lọwọlọwọ ko si.",
690 + "totp_auth_url": "TOTP AUTH URL"
691 +}
res/values/strings_zh.arb
+3 -2
@@ -691,5 +691,6 @@
691 "onramper_option_description": "快速使用许多付款方式购买加密货币。在大多数国家 /地区可用。利差和费用各不相同。",
692 "default_buy_provider": "默认购买提供商",
693 "ask_each_time": "每次问",
694 - "buy_provider_unavailable": "提供者目前不可用。"
695 -}
\ No newline at end of file
694 + "buy_provider_unavailable": "提供者目前不可用。",
695 + "totp_auth_url": "TOTP 授权 URL"
696 +}