traPtitech / traPortfolio-Dashboard

3 stars 0 forks source link

アカウントのidを入れるとURLを自動で設定 #333

Open mehm8128 opened 4 months ago

mehm8128 commented 4 months ago

https://q.trap.jp/messages/3f76978f-2505-4e2d-911d-03574400c9ef

Pugma commented 4 months ago

一旦実装の方針としては、/src/consts/services.tsService型に新しくurlPrefixとかの項目を追加して、そこにstringでhttps://x.com/までの部分を登録するようにすればいいと思います

あとは、/src/pages/UserAccountEdit.vueとか/src/pages/UserAccountNew.vueのscript内でプレースホルダー (入力欄の初期値) と、入力後の文字列に対してcomputedを用いてリアクティブにURLのプレフィックス (接頭辞) をつけるようにすればいいと思います

特にデザイン面での変更はすぐにする必要はないと思うので、一旦はこれをやってもらえれば良さそう

mehm8128 commented 4 months ago

初期値に入れるだけだと自由に書き換えられてしまうので、テキストボックスにはIDだけ入力するようにして、テキストボックスの前にprefixを表示するようにするとよさそうです

mehm8128 commented 4 months ago

そしてprefixはサーバーに送信するタイミングでつけることになりそうです

Pugma commented 4 months ago

URL部分自体を入力欄じゃなくって欄外に 「このURLが自動で設定されます」 みたいな感じで表示するだけで大丈夫ですかね?

mehm8128 commented 4 months ago

あんまりうまい例じゃないけど、traQだとXのアカウント登録だとprefixとして欄外に@があったり、スタンプ登録で:がprefixとsuffixについてたりするので、そういうイメージです

https://x.com/ [ここが入力欄]

みたいな感じ

Pugma commented 4 months ago

その場合だと、URLの入力欄を制限付きで残してIDの入力欄も残りません…? とりあえずIDのあるアカウントはIDだけ入力してもらって、URLはプレビューだけで大丈夫だと思いました

さっきのXの場合だと {{@ [入力スペース] }} URL: https://x.com/{{ [入力スペースの内容] }}

って表示するのが編集もできないですしいいのかなって思いました

で、この欄外の表示内容をそのまま乗っければ:yosasou:?という想定です

mehm8128 commented 4 months ago

あ、結局ホームページのときに何を送信して、ホームページ以外のときに何を送信するようにするのかが分かってないかも ホームページのとき: URLだけ入力してURLだけ送信? ホームページ以外のとき: IDを入力するとURLは自動で生成されて、IDとURLを両方送信 で合ってる?

Pugma commented 4 months ago

今回は補完を聞かせるようにするだけで、送信する内容に変化は生じないと思います 現時点でもホームページの設定・更新時には表示名のフィールド値を埋めた状態で送信するように実装がされていますし、あくまでも入力の手間を省くための改善だと思っています

mehm8128 commented 4 months ago

なるほどです であれば、 https://github.com/traPtitech/traPortfolio-Dashboard/issues/333#issuecomment-2211702356 みたいにすればIDを入力するだけでIDも入力できるし、そのままURLにもなるからよさそうな気がします サーバーには入力されたIDと、prefixと入力されたIDを合体させたものを両方送ればよさそうです

mehm8128 commented 4 months ago

https://github.com/traPtitech/traPortfolio-Dashboard/issues/333#issuecomment-2211703325 もちろんこれみたいに、URLを別で表示するのでもいいと思うのでおまかせします(他のサービスとか見てみるといいかも)