{"version":"1.0","type":"rich","title":"Gist ded211d191b8c30e15169e310f084c40","description":"This example shows a login form for a web3 application that authenticates users with either a seed phrase and password or a MetaMask wallet. The form uses Angular’s `FormBuilder` and `FormControl` to manage validation, including a custom `forbiddenSeedsValidator` that checks seed validity through a `Web3Service`. When a user has previously stored encrypted seeds, the password field’s `valueChanges` observable, combined with `withLatestFrom` on status changes, decrypts the seeds and populates the seeds input. The code also toggles a logout state and calls `loginMetamask` for wallet-based entry.","provider_name":"VizHub AI Studio","provider_url":"https://next.vizhub.com","html":"<iframe src=\"https://next.vizhub.com/viz/gist-ded211d191b8c30e15169e310f084c40?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"1\"></iframe>","width":960,"height":500,"cache_age":3600}