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

regular-event.vue, regular-events.vueをreactに対応させる #5137

Closed
komagata opened this issue Jun 30, 2022 · 9 comments
Closed

regular-event.vue, regular-events.vueをreactに対応させる #5137

komagata opened this issue Jun 30, 2022 · 9 comments
Assignees

Comments

@komagata
Copy link
Member

komagata commented Jun 30, 2022

下記を参考にしてreactに変える。

@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Aug 30, 2022
@komagata komagata removed the stale label Aug 30, 2022
@komagata komagata changed the title regular-event.vue, regular-events.vueをVueMounterに対応させる regular-event.vue, regular-events.vueをreactに対応させる Sep 17, 2022
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Nov 17, 2022
@komagata komagata removed the stale label Nov 18, 2022
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Jan 18, 2023
@komagata komagata removed the stale label Jan 23, 2023
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Mar 25, 2023
@komagata komagata removed the stale label Mar 28, 2023
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label May 28, 2023
@komagata komagata removed the stale label May 29, 2023
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@Kassy0220
Copy link
Contributor

@komagata @machida
お疲れ様です!

こちらのIssueを実装している途中で次の不具合を発見しました。
この不具合を修正しようと思うのですが、このIssue内で修正しても大丈夫でしょうか、それとも別のIssueとして分けた方が良いでしょうか?
ご確認をお願いします🙏

不具合の内容

本来であれば図1のように、ユーザーのroleに応じてアイコンの縁取りが行われるはずが、特定の箇所で行われていません。

図1
_development__定期イベント___FBC_🔊

問題の箇所
_development__イベント___FBC_🔊

不具合が発生している箇所

UserIcon.jsxを利用している次の箇所で、アイコンの縁取りが行われていません。

  • ブックマーク一覧(/current_user/bookmarks)
  • 特別イベント一覧ページ(/events)

提出物一覧ページでは、次のようなコンポーネント構成でUserIcon.jsxを使っているのですが、ちゃんとアイコンの縁取りがなされています。
Products.jsxProduct.jsxUserIcon.jsx

「なぜこのページだけちゃんと表示されているのか」についての原因は特定できていません。

原因

問題が発生している箇所ではUserIcon.jsxコンポーネントを利用しています。
該当のコンポーネントは次のようなマークアップを返します。

export default function UserIcon({ user, blockClassSuffix }) {
  return (
    <a href={user.url} className={`${blockClassSuffix}__user-link`}>
      <img
        src={user.avatar_url}
        alt={user.icon_title}
        title={user.icon_title}
        className={`${blockClassSuffix}__user-icon a-user-icon is-${user.primary_role}`}
      />
    </a>
  )
}

ユーザアイコンの縁取りが行われている箇所と比較すると、マークアップの構造が異なっていることが分かりました。
<a>タグの直下にある<span>タグがUserIcon.jsxでは欠けています。

(app/javascript/user-icon.vue)

<template lang="pug">
a(:href='user.url', :class='`${blockClass}user-link`')
  span(:class='["a-user-role", roleClass]')
    img(
      :src='user.avatar_url',
      :alt='user.icon_title',
      :title='user.icon_title',
      :class='[`${blockClass}user-icon`, "a-user-icon"]')
</template>

該当のスタイルは次のようになっています。
(app/javascript/stylesheets/config/mixins/_user-role.sass)

=icon-role-style
  &.is-admin,
  &.is-mentor
    .a-user-icon
      border: solid 2px rgba($danger, .7)
  &.is-graduate
    .a-user-icon
      border: solid 2px rgba($success, .7)
  &.is-adviser
    .a-user-icon
      border: solid 2px rgba($warning, .7)
  &.is-trainee
    .a-user-icon
      border: solid 2px rgba($main, .7)
  body.is-mentor-mode &.is-retired
    background-color: black
    .a-user-icon
     opacity: .7

解決法

UserIcon.jsxで、<a>タグの直下に<span>タグを挿入すれば問題は解消します。

<a href={user.url} className={`${blockClassSuffix}__user-link`}>
  <span className={`a-user-role is-${user.primary_role}`}>
    <img
      src={user.avatar_url}
      alt={user.icon_title}
      title={user.icon_title}
      className={`${blockClassSuffix}__user-icon a-user-icon`}
    />
  </span>
</a>

@machida
Copy link
Member

machida commented Sep 21, 2023

@Kassy0220 不具合報告ありがとうございます!!対応お願いしたいです🙏

@Kassy0220
Copy link
Contributor

こちら本番環境で動作確認できましたのでCloseいたします〜!🙌

@komagata komagata moved this to 完成 in bootcamp Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants