Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リアクションをホバーしたときに拡大して表示 #4434

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

UnABC
Copy link

@UnABC UnABC commented Jan 4, 2025

リアクションをホバーしたときに拡大して表示して欲しい #4433

Copy link

github-actions bot commented Jan 4, 2025

Copy link
Contributor

@Pugma Pugma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

僕も a11y に詳しいわけではないので、どのように対応するのがいいかについてはっきりということはできないんですが、とりあえずここで示した部分について改めて調べて取り組んでみてほしいです…!

@@ -4,6 +4,8 @@
:title="tooltip"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

今の状態だと、↑の画像みたいにマウスホバー時のポップアップが 2 つ同時に出てしまうので title 属性を消していいと思います
ただ、これをしてしまうと a11y (アクセシビリティ) の観点から困ったことになる可能性もあるので、 aria-label などの属性に切り替えるのを検討したほうがいいと思います

Suggested change
:title="tooltip"
<!-- :title="tooltip" ここを消す -->

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title属性を消去してaria-label属性に切り替えました
Discordを参考にしてaria-labelの内容を定めたのでa11yの観点からも問題はないと思われます

Copy link
Contributor

@Pugma Pugma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

実際に動作確認をしてみたところ、どうやらポップアップの大きさを超える文字列になると表示が壊れてそうです
ここの対応もお願いします…!

@UnABC
Copy link
Author

UnABC commented Jan 6, 2025

対応完了しました
確認のほどよろしくお願いします

@Pugma
Copy link
Contributor

Pugma commented Jan 7, 2025

確認したんですが、今の状態でも 2 列に収まらない場合はそれ以降のスタンプを押した人の名前が表示されなくなってそうです (本番環境で確認しました)
これまでの title 属性による tooltip は全部表示していたみたいだけど、今回みたいに表示が大きくなっているなら「ほか n 人」みたいな感じで圧縮した表示にしちゃってもいいと思います 👍
三角マークを押せば全数見ること自体はできるので

@UnABC
Copy link
Author

UnABC commented Jan 12, 2025

リアクションした人数が3人を超過した場合に「他n人」と圧縮表示するよう変更しました
また、リアクションした人の名前の表示形式はDiscordに合わせました
名前が長すぎたり、リアクションの位置が画面端だったときなどはスタンプを押した人の名前が消える場合がありますが仕様です

Copy link
Contributor

@Pugma Pugma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

色々対応してくれてありがとうございます!
もう少し改善できそうなところを挙げてみたので、もう少し対応してもらえればと思います :pray-nya:

.scaleReaction {
@include background-tertiary;
display: flex;
height: 3.5rem;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここで高さが指定されていると思うんですが、これをしなくてもいいのかなと思いました

現状だと親要素の message-element での overflowcontain: content; オプションが効いているので absolute で位置を指定した tooltip がメッセージの領域をはみ出したときに欠けてしまいます
多分 UN くんはこれを見てはみ出さないように高さを調整してくれたんだと思っているんですが、スタンプパレットのように teleport タグとかを使いながら、メッセージ要素の子要素ではなくすことでその制約を考えなくて済むようになるのかな、と

const hoverTimeout = ref<ReturnType<typeof setTimeout> | null>(null)
const isLongHovered = ref(false)

watch(isHovered, beginHover => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

スマホで無効化したので、ここは即時表示に戻してもいいのかなと思いました

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

即時表示に戻さず、Discordに合わせることにしました。

@include background-tertiary;
display: flex;
height: 3.5rem;
align-items: flex-start;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

高さを可変にすることを考えると、これは上下中央揃えにしたほうが見栄えが良さそうな気がします

Comment on lines 6 to 31
<div v-for="user in limitedUsers" :key="user.id" :class="$style.contents">
<stamp-detail-element-content
:user-id="user.id"
:count="user.count"
:class="$style.content"
/>
<span
v-if="
(!isLastUser(user) && !isSecondLastUser(user)) ||
isOverLimitSecondUser(user)
"
:class="$style.contents"
>
</span>
<span
v-if="isSecondLastUser(user) && !isOverLimitSecondUser(user)"
:class="$style.contents"
>と</span
>
<span v-if="isOverLimitUser(user)" :class="$style.contents"
>と他{{ props.stamp.users.length - 3 }}人</span
>
<span v-if="isLastUser(user)" :class="$style.contents">
にリアクションされました
</span>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この辺り、 v-for とかを使ってうまく表現してくれているんですが、 span 要素に表示する内容を直接 scripts 部分で生成してからここに持ってくるようにしてもいいのかなと思いました
詳細表示しているときならユーザー名でクリックできるようにするのもあって、クリック判定が別々になるように書かれていると思うんですけど、今回の場合はクリックされることを考えなくてよさそうですし

Copy link

codecov bot commented Jan 18, 2025

Codecov Report

Attention: Patch coverage is 0% with 111 lines in your changes missing coverage. Please review.

Project coverage is 9.23%. Comparing base (8541fd6) to head (5087384).
Report is 220 commits behind head on master.

Files with missing lines Patch % Lines
...inView/MessageElement/StampScaledDetailElement.vue 0.00% 43 Missing ⚠️
...ents/Main/MainView/MessageElement/StampElement.vue 0.00% 35 Missing ⚠️
...ain/MainView/MessageElement/StampScaledElement.vue 0.00% 32 Missing ⚠️
.../Main/MainView/MessageElement/MessageStampList.vue 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #4434       +/-   ##
==========================================
- Coverage   86.41%   9.23%   -77.18%     
==========================================
  Files          66     652      +586     
  Lines        4747   28105    +23358     
  Branches      503     521       +18     
==========================================
- Hits         4102    2595     -1507     
- Misses        639   25504    +24865     
  Partials        6       6               
Flag Coverage Δ
?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@UnABC UnABC changed the title Issue4299 リアクションをホバーしたときに拡大して表示 Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

リアクションをホバーしたときに拡大して表示して欲しい
2 participants