![見出し画像](https://assets.st-note.com/production/uploads/images/56986934/rectangle_large_type_2_d63e1c1ca73bf89d71ae5a4a0184422e.jpg?width=1200)
TCGのマッチングサイトを作りたいよ~!#3 トップ、ログイン処理
こんにちは、フリーターです。
トップページ
![](https://assets.st-note.com/production/uploads/images/56987250/picture_pc_63e66de9a45cef8c7843fd22bfe5ad31.png?width=1200)
客観的に見れなくてもわかる。全体的に素人感が隠しきれてないと。
キャッチコピーも同じ趣味の仲間に出会えるってそりゃそうだろ感。
完全無料ですが課金のシステムは作れないし予定もないですけどお金はほしいので人が集まったら広告は貼りたいです。よろしくおねがいします。
ログイン処理
ここからやっとプログラミングっぽくなります。
![](https://assets.st-note.com/production/uploads/images/56987577/picture_pc_ab3635ef165e30e7a32a5aa4ad9b2168.png?width=1200)
![](https://assets.st-note.com/production/uploads/images/56987573/picture_pc_e01eccb03f5c784401c1ace66dfe0731.png?width=1200)
![](https://assets.st-note.com/production/uploads/images/56987561/picture_pc_6921404cd20024ef4d019504717d05b5.png?width=1200)
上記のトップページのログインボタンを押したときの処理です。
loginの引数でtwitterProviderを受け取ってサインイン処理を実行してます。
初登録時は基本プロフィール編集をすると思うのでfirebaseから受け取った登録の時間とログインの時間を比較して同じならば新規登録と判定してeditに遷移する仕様にしてます。ここはこだわりました。
ちなみに下のloginはテスト用のダミーのままです。ログイン後は一番使用しそうなmessageに遷移しようかと思ってます。
const useLoginの型がめちゃ気持ち悪いんですけどこのまま使っちゃってます。間違ってるのかも不明。
![](https://assets.st-note.com/production/uploads/images/56987740/picture_pc_788768df467e9de98b6115c8bbc9b036.png?width=1200)
登録時にfirebaseのcloud functionのauthトリガーでuserのデータをfirestoreに保存してます。すっごい便利。通知機能もcloud functionで作ります。
![](https://assets.st-note.com/production/uploads/images/56987781/picture_pc_e6ccf9d7abdcf030cafe250e0dfc951a.png?width=1200)
![](https://assets.st-note.com/production/uploads/images/56987793/picture_pc_308abe34e0b794d1e6113de02bf34b61.png?width=1200)
contextでログインidを格納する処理です。
ログイン状態じゃないときはトップ以外にアクセスするとトップにリダイレクトする仕様にしました。
新規登録時にeditに遷移する仕様がログインユーザー以外弾く仕様と喧嘩しちゃってうまくいかなかったのでcontextにidを格納するまでの時間はloadingでレンダリングを防いでいます。
そんなに時間もかからなかったので概ね満足です。本職の人から見たらどう言うのか気になります。恥ずかし怖い。
ちんたらしてるうちに7月もあと二週間もないのに進捗は30%にもとどまらない感じです。来月中旬ごろには完成したいという希望的観測で予定を更新させていただきたい。
この記事が気に入ったらサポートをしてみませんか?