Conversation
|
@machida さん |
|
@hirokiej デザイン入れましたー これはコードレビューでやりとりをしていただきたい部分なのですが、 例えば、エラーが出た場合、 |
|
@machida さん
|
47321b1 to
2140a89
Compare
0f1f77c to
c0fa4d8
Compare
|
@machida さん 大変お手数をおかけしてしまい申し訳ないのですが、再度デザイン付けをしていただいても良いでしょうか…? |
レビューの際に上記を検討したいので、先日と同様のデザイン付をしていただけると幸いです🙇 |
29e6ab1 to
0a2a569
Compare
## Walkthrough
ユーザーアイコンの表示とAPIレスポンスに「joining_status(新規ユーザー状態)」を統一的に追加し、CSSクラスの決定ロジックを各所で共通化しました。新規ユーザーには特定の装飾が適用され、関連するテストやJSON出力もこの属性を反映するよう更新されています。
## Changes
| ファイル群・パス | 変更概要 |
|--------------------------------------------------|-----------------------------------------------------------------------------------------------|
| app/decorators/user_decorator.rb<br>test/decorators/user_decorator_test.rb | joining_status判定・user_icon_frame_classメソッド追加、テスト追加 |
| app/components/products/product_component.html.slim<br>app/components/products/product_component.rb | ユーザーアイコンのCSSクラス決定ロジックを共通化、joining_status_classメソッド追加 |
| app/views/**/_user.html.slim<br>app/views/**/_icon.html.slim<br>app/views/**/_profile.html.slim<br>app/views/**/_footprint.html.slim<br>app/views/**/_answer.html.slim<br>app/views/**/_new_answer.html.slim<br>app/views/**/_table.html.slim<br>app/views/**/show.html.slim<br>app/views/**/index.html.slim<br>app/views/**/_regular_event.html.slim<br>app/views/**/_regular_event_meta.html.slim<br>app/views/**/_event.html.slim<br>app/views/**/_practice_user_icon.html.slim<br>app/views/**/_user_icons.json.jbuilder<br>app/views/**/_searchable.json.jbuilder<br>app/views/**/_list_user.json.jbuilder<br>app/views/**/_user.json.jbuilder<br>app/views/**/_product.json.jbuilder<br>app/views/**/_comment.html.slim<br>app/views/application/_current_user.html.erb<br>app/views/companies/products/_product.html.slim<br>app/views/companies/users/_user.html.slim<br>app/views/courses/practices/_practice_user_icon.html.slim<br>app/views/generations/index.html.slim<br>app/views/questions/_answer.html.slim<br>app/views/questions/_new_answer.html.slim<br>app/views/regular_events/_regular_event.html.slim<br>app/views/regular_events/_regular_event_meta.html.slim<br>app/views/tags/_user.html.slim<br>app/views/users/areas/index.html.slim | ユーザーアイコン枠のCSSクラスをuser_icon_frame_classで一元化、joining_statusを反映 |
| app/javascript/components/UserIconFrameClass.jsx | UserIconFrameClass関数新規追加、ユーザーの状態に応じたクラス名を返す |
| app/javascript/components/User.jsx<br>app/javascript/components/ListComment.jsx<br>app/javascript/components/NotificationsBell/Notifications.jsx<br>app/javascript/components/Report.jsx<br>app/javascript/components/question.vue | UserIconFrameClassを利用し、ユーザーアイコンのクラス名生成を共通化、joining_status_classを反映 |
| app/javascript/user-icon.js | userIcon関数でjoining_statusに応じてis-new-userクラスを追加 |
| app/javascript/stylesheets/config/mixins/_user-role.sass | is-new-user向けの装飾(メンターモード時の枠線・影)を追加 |
| app/javascript/components/CommentUserIcon.jsx | 旧コンポーネント削除(役割をUserIconFrameClassに統一) |
| test/integration/api/users_test.rb | APIレスポンスにjoining_statusの存在を検証するテストに修正 |
| test/system/practice/pages_test.rb | テストのCSSセレクタをクラス指定方式に変更 |
## Sequence Diagram(s)
```mermaid
sequenceDiagram
participant Frontend
participant API
participant UserDecorator
Frontend->>API: ユーザー情報をリクエスト
API->>UserDecorator: joining_status, user_icon_frame_classを呼び出し
UserDecorator-->>API: joining_status, user_icon_frame_classを返却
API-->>Frontend: joining_status入りのユーザー情報JSONを返却
Frontend->>Frontend: UserIconFrameClassでクラス名決定
Frontend-->>UserIcon表示: 適切なCSSクラスで描画Suggested reviewers
Poem
|
e6f2c5b to
e48bb86
Compare
37d4016 to
625d78a
Compare
|
@komagata さん |
|
@komagata さん |
Issue
#8269
概要
メンターがログインしている状態で、メンターモードをONにした場合、入会して1週間のユーザーのアイコンに
is-new-userが付与され、新規ユーザーのマークが表示されるようにしました。通常ユーザーには is-standard-user クラスを付与されます。joining_statusで動的にクラスを付与されるようになっています。Slim、React、Vueファイルのそれぞれで共通化をしました。
変更確認方法
feature/add-mark-to-new-user-only-mentorをローカルに取り込む。2.データを初期化
otameshi、パスワードtesttestでログインする。komagata、パスワードtesttestでログインする。6.
otameshiにマークがついているかを確認するotameshiをクリックしユーザーページでマークを確認する(Slimファイル)変更前
変更後
Summary by CodeRabbit
新機能
スタイル
バグ修正
テスト