一行説明
おすそわけ新規登録の Google Form へ遷移する際、「支払先」欄にログイン中のアカウント名が自動入力されるようにする。
詳細
現在 /osusowake/new(packages/frontend/app/routes/osusowake.new.tsx)では、https://forms.gle/BWy74cG4KemRi4DZ7 へ遷移して商品を登録する。
Google Form には「支払先」欄があり、ユーザーが自分のアカウント名(ENS ラベル)またはウォレットアドレスを手入力する必要がある。
この値はスプレッドシート経由で loadOsusowakeItems() の recipient として読み込まれ、resolveRecipientAddress() がアドレス or ENS ラベルとして解決する(packages/frontend/app/lib/osusowake.server.ts)。
手入力のため誤記のリスクがあり、解決に失敗すると支払いが fundWallet にフォールバックしてしまう。
そこで、Google Form の事前入力(prefilled link)機能を使い、遷移時に「支払先」欄へログイン中のアカウント名を埋め込む。
- 入力する値:
useProfileByAddress(address) で取得した profile.name(ENS ラベル)を第一候補とし、未設定の場合はウォレットアドレス(useActiveWallet() の address)を使う
resolveRecipientAddress() がラベル・アドレスどちらも解決できるため、どちらでも整合する
- URL 形式:
https://docs.google.com/forms/d/e/<FORM_ID>/viewform?usp=pp_url&entry.<ENTRY_ID>=<値>
- 「支払先」欄の
entry.<ENTRY_ID> はフォームの「事前入力したURLを取得」から確認する必要がある
要件
補足
- 対象ファイル:
packages/frontend/app/routes/osusowake.new.tsx
- 参考:
packages/frontend/app/routes/mypage.tsx の displayName 算出、packages/frontend/app/hooks/useProfileByAddress.ts
- 注意: Google Form の事前入力値はユーザーが編集可能なため、正しさを保証するものではない(入力補助という位置づけ)
一行説明
おすそわけ新規登録の Google Form へ遷移する際、「支払先」欄にログイン中のアカウント名が自動入力されるようにする。
詳細
現在
/osusowake/new(packages/frontend/app/routes/osusowake.new.tsx)では、https://forms.gle/BWy74cG4KemRi4DZ7へ遷移して商品を登録する。Google Form には「支払先」欄があり、ユーザーが自分のアカウント名(ENS ラベル)またはウォレットアドレスを手入力する必要がある。
この値はスプレッドシート経由で
loadOsusowakeItems()のrecipientとして読み込まれ、resolveRecipientAddress()がアドレス or ENS ラベルとして解決する(packages/frontend/app/lib/osusowake.server.ts)。手入力のため誤記のリスクがあり、解決に失敗すると支払いが fundWallet にフォールバックしてしまう。
そこで、Google Form の事前入力(prefilled link)機能を使い、遷移時に「支払先」欄へログイン中のアカウント名を埋め込む。
useProfileByAddress(address)で取得したprofile.name(ENS ラベル)を第一候補とし、未設定の場合はウォレットアドレス(useActiveWallet()のaddress)を使うresolveRecipientAddress()がラベル・アドレスどちらも解決できるため、どちらでも整合するhttps://docs.google.com/forms/d/e/<FORM_ID>/viewform?usp=pp_url&entry.<ENTRY_ID>=<値>entry.<ENTRY_ID>はフォームの「事前入力したURLを取得」から確認する必要がある要件
docs.google.com/forms/d/e/.../viewform形式に置き換える/osusowake/newで、ログイン中ユーザーの ENS ラベル(なければウォレットアドレス)を「支払先」欄に事前入力した URL を生成して遷移する補足
packages/frontend/app/routes/osusowake.new.tsxpackages/frontend/app/routes/mypage.tsxのdisplayName算出、packages/frontend/app/hooks/useProfileByAddress.ts