# 月言錢包 消解DialogPage v1.3 [toc] ## ✅消解DialogPage 因原先專案內的路由方式,是用類似Dialog 的方式達成,但這樣的做法會讓Navigator 難以追蹤、全事件的彈窗顯示在Dialog 底下、路由結構不明確 故需要將使用Dialog Push 的頁面Route 邏輯重新爬梳,整理出Route 表後,再指派ParentNavigatorKey 使返回事件及NavBar 可以正常顯示和作動 ![image](https://hackmd.io/_uploads/BklWycVWR.png) ![image](https://hackmd.io/_uploads/B1__7qEbA.png) - 背景: 之前的路由方式是透過 `MyDialog` 下的 `showCustomDialogView` 方法達成,這個方法是 `PageRoute` 的wrapper,這個wrapper 嵌套了一層 `CustomView` 。 若前往的頁面需要二次驗證,則會在這方法上額外設定flag `shouldVerify` 和 `confirmType`,然後用遞迴的方式,再次呼叫`showCustomDialogView` 方法,顯示 SecondPassword 頁面。 - 問題: 這個路由方式有以下問題 1. 回傳值為dynamic: 因為原先的開發者並沒有指定return type,這樣的行為會造成技術債累積。而且查詢push return value 的錯誤非常困難 2. 傳入context 這個方法是`PageRoute` 的wrapper,context 不需要傳入 (無效傳入) 3. ui 遮擋 這是最嚴重的問題。 由於本專案有使用GoRouter 作為Route 控制,主要的畫面都是透過GoRouter 的`StatefulShellRoute` 來實作,但各個子頁面卻是用`NavigatorState` 實作,這會讓子頁面會顯示`StatefulShellRoute` 的`NavigationBar` - 實作改變: 因為專案已使用了GoRouter 作為Route 控制,所以將 1. 所有頁面重新使用GoRoute 控制。 2. 針對不顯示`NavigationBar` 的頁面(或是其`ShellRoute`)指定`parentNavigatorKey` 為 `rootNavigatorKey` 3. 刪除`showCustomDialogView`,不依賴`push` 的return value ## ui調整 ui 調整列表 ### ✅解鎖頁面 | 預期 | 現況 | |:-------------------------------------------------- |:-------------------------------------------------- | | ![image](https://hackmd.io/_uploads/rkLsPi4W0.png) | ![image](https://hackmd.io/_uploads/HyxG-nE-C.png) | | ![image](https://hackmd.io/_uploads/H10FvjVZR.png) | ![image](https://hackmd.io/_uploads/HyvXb24b0.png) | ### ✅設定pin 碼頁 `6de469a07a85f717bca489a0dc175ff43da7eba9` | 預期 | 現況 | |:-------------------------------------------------- |:-------------------------------------------------- | | ![image](https://hackmd.io/_uploads/BJw71nVW0.png) | ![image](https://hackmd.io/_uploads/Hkmwy3NZR.png) | | ![image](https://hackmd.io/_uploads/B1MZzbHZR.png) | ![image](https://hackmd.io/_uploads/Skwzg3E-C.png) | | ![image](https://hackmd.io/_uploads/rJCzMZrbA.png) | ![image](https://hackmd.io/_uploads/rynVg3NbR.png) | | ![image](https://hackmd.io/_uploads/B1NX_jN-R.png) | ![image](https://hackmd.io/_uploads/S16LenN-C.png) | ### ✅導入代幣頁 `dc47175eb68da0927377d93ec0d71a520005aac5` | 預期 | 現況 | |:-------------------------------------------------- |:-------------------------------------------------- | | ![image](https://hackmd.io/_uploads/Sk_o_oVWR.png) | ![image](https://hackmd.io/_uploads/Skc5ps4-0.png) | ### 接收QR頁 `c921fd1a916e081cbe4f7a3992b2903988894e5a` 於部分手機會出現跑版 | 預期 | 現況 | |:-------------------------------------------------- |:-------------------------------------------------- | | ![image](https://hackmd.io/_uploads/S1Pxl9dbA.png) | ![image](https://hackmd.io/_uploads/r1EEl5d-R.png) | ### ✅資產設定頁 Overflow `8ac198cb0e684adc916759a49923d7089822e80d` ![image](https://hackmd.io/_uploads/H1lMqjVbA.png) ### ✅回復錢包 輸入助記詞 Overflow 問題已無法復現 ![image](https://hackmd.io/_uploads/HJOjCj4-C.png) ### ✅日文介面的錢包重設Bottom Sheet Overflow `8a9ecb24a81a2e582e5947149af8e213c65dd352` ![image](https://hackmd.io/_uploads/Bkq3xqdZA.png) ### ✅日文介面的錢包歡迎頁 Overflow `c2f35f85e750946b7fdf609f57f41953c2c50c09` ![image](https://hackmd.io/_uploads/rJF1Dj_W0.png) ## buglist Bug列表 ### ✅導入代幣頁若輸入錯誤過,無法成功送出正確資料 `dc47175eb68da0927377d93ec0d71a520005aac5` 如題 **情境** 當發生過輸入錯誤,改正後 **現況** 無法成功送出資料 **預期** 需送出資料 ### ✅傳送資產頁的聯絡人列表異常 `775fdc54a7998044b984c5b7c01ede138f32242a` **情境** 當只有一個聯絡人時 **現況** 無法顯示 **預期** 顯示一位聯絡人 ### ✅生物驗證listTile 無互動反應 `3460051dc253433926152a8fa725a803c8b67553` **情境** 點擊ListTile 時 **現況** 沒有觸發改變生物驗證按鈕狀態 **預期** 觸發改變生物驗證按鈕狀態 ### 語言沒有反應到首頁 **情境** 更換語言後,將錢包重置後 **現況** 錢包重置後的第一個畫面為中文 **預期** 錢包重置後的第一個畫面為先前更換的語言