Open mehm8128 opened 4 months ago
一旦実装の方針としては、/src/consts/services.ts
のService
型に新しくurlPrefix
とかの項目を追加して、そこにstringでhttps://x.com/
までの部分を登録するようにすればいいと思います
あとは、/src/pages/UserAccountEdit.vue
とか/src/pages/UserAccountNew.vue
のscript内でプレースホルダー (入力欄の初期値) と、入力後の文字列に対してcomputed
を用いてリアクティブにURLのプレフィックス (接頭辞) をつけるようにすればいいと思います
特にデザイン面での変更はすぐにする必要はないと思うので、一旦はこれをやってもらえれば良さそう
初期値に入れるだけだと自由に書き換えられてしまうので、テキストボックスにはIDだけ入力するようにして、テキストボックスの前にprefixを表示するようにするとよさそうです
そしてprefixはサーバーに送信するタイミングでつけることになりそうです
URL部分自体を入力欄じゃなくって欄外に 「このURLが自動で設定されます」 みたいな感じで表示するだけで大丈夫ですかね?
あんまりうまい例じゃないけど、traQだとXのアカウント登録だとprefixとして欄外に@
があったり、スタンプ登録で:
がprefixとsuffixについてたりするので、そういうイメージです
https://x.com/ [ここが入力欄]
みたいな感じ
その場合だと、URLの入力欄を制限付きで残してIDの入力欄も残りません…? とりあえずIDのあるアカウントはIDだけ入力してもらって、URLはプレビューだけで大丈夫だと思いました
さっきのXの場合だと
{{@ [入力スペース] }}
URL: https://x.com/{{ [入力スペースの内容] }}
って表示するのが編集もできないですしいいのかなって思いました
で、この欄外の表示内容をそのまま乗っければ:yosasou:?という想定です
あ、結局ホームページのときに何を送信して、ホームページ以外のときに何を送信するようにするのかが分かってないかも ホームページのとき: URLだけ入力してURLだけ送信? ホームページ以外のとき: IDを入力するとURLは自動で生成されて、IDとURLを両方送信 で合ってる?
今回は補完を聞かせるようにするだけで、送信する内容に変化は生じないと思います 現時点でもホームページの設定・更新時には表示名のフィールド値を埋めた状態で送信するように実装がされていますし、あくまでも入力の手間を省くための改善だと思っています
なるほどです であれば、 https://github.com/traPtitech/traPortfolio-Dashboard/issues/333#issuecomment-2211702356 みたいにすればIDを入力するだけでIDも入力できるし、そのままURLにもなるからよさそうな気がします サーバーには入力されたIDと、prefixと入力されたIDを合体させたものを両方送ればよさそうです
https://github.com/traPtitech/traPortfolio-Dashboard/issues/333#issuecomment-2211703325 もちろんこれみたいに、URLを別で表示するのでもいいと思うのでおまかせします(他のサービスとか見てみるといいかも)
https://q.trap.jp/messages/3f76978f-2505-4e2d-911d-03574400c9ef