Skip to content

Commit 368ba11

Browse files
committed
Fix fight image
1 parent 76dce8e commit 368ba11

File tree

3 files changed

+75
-25
lines changed

3 files changed

+75
-25
lines changed

services/app/apps/codebattle/assets/js/widgets/pages/lobby/GameRoomPreview.jsx

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useSelector } from 'react-redux';
55

66
import { selectDefaultAvatarUrl } from '@/selectors';
77

8+
import fightSvg from '../../../static/images/fight.svg';
89
import LanguageIcon from '../../components/LanguageIcon';
910

1011
const defaultPreviewAvatarUrl = 'https://avatars.githubusercontent.com/u/35539033?v=4';
@@ -39,27 +40,43 @@ const GameRoomPreview = ({ pageName }) => {
3940
<div className="preview container-fluid slideInLeft">
4041
<div className="preview__container w-100 d-flex align-items-center">
4142
<div className="player1">
42-
<img src={player1.avatar_url || defaultPreviewAvatarUrl} alt="avatar" className="player1__avatar" />
43+
<img
44+
src={player1.avatar_url || defaultPreviewAvatarUrl}
45+
alt="avatar"
46+
className="player1__avatar"
47+
/>
4348
<p className="player1__name">{player1.name}</p>
4449
<div className="player1__status">
4550
<LanguageIcon className="preview__icon" lang={player1.lang} />
4651
<span className="preview__info">{player1.lang}</span>
47-
<img className="preview__icon" src="/assets/images/rating.svg" alt="rating" />
52+
<img
53+
className="preview__icon"
54+
src="/assets/images/rating.svg"
55+
alt="rating"
56+
/>
4857
<span className="preview__info">{player1.rating}</span>
4958
</div>
5059
</div>
5160

5261
<div className="preview__middle">
53-
<img src="/assets/images/fight.svg" alt="fight" className="preview__fight" />
62+
<img src={fightSvg} alt="fight" className="preview__fight" />
5463
</div>
5564

5665
<div className="player2">
57-
<img src={player2.avatar_url || defaultPreviewAvatarUrl} alt="avatar" className="player2__avatar" />
66+
<img
67+
src={player2.avatar_url || defaultPreviewAvatarUrl}
68+
alt="avatar"
69+
className="player2__avatar"
70+
/>
5871
<p className="player2__name">{player2.name}</p>
5972
<div className="player2__status">
6073
<LanguageIcon className="preview__icon" lang={player2.lang} />
6174
<span className="preview__info">{player2.lang}</span>
62-
<img className="preview__icon" src="/assets/images/rating.svg" alt="rating" />
75+
<img
76+
className="preview__icon"
77+
src="/assets/images/rating.svg"
78+
alt="rating"
79+
/>
6380
<span className="preview__info">{player2.rating}</span>
6481
</div>
6582
</div>

services/app/apps/codebattle/assets/js/widgets/pages/lobby/LobbyChat.jsx

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import React, {
2-
memo,
3-
useEffect,
4-
useMemo,
5-
useCallback,
2+
memo, useEffect, useMemo, useCallback,
63
} from 'react';
74

85
import { faEnvelope } from '@fortawesome/free-solid-svg-icons';
@@ -11,6 +8,7 @@ import cn from 'classnames';
118
import groupBy from 'lodash/groupBy';
129
import { useDispatch, useSelector } from 'react-redux';
1310

11+
import fightSvg from '../../../../static/images/fight.svg';
1412
import ChatContextMenu from '../../components/ChatContextMenu';
1513
import ChatHeader from '../../components/ChatHeader';
1614
import ChatInput from '../../components/ChatInput';
@@ -24,7 +22,7 @@ import useChatContextMenu from '../../utils/useChatContextMenu';
2422
import useChatRooms from '../../utils/useChatRooms';
2523

2624
function UsersList({
27-
list, title, displayMenu, mode,
25+
list, title, displayMenu, mode,
2826
}) {
2927
return (
3028
<>
@@ -53,11 +51,36 @@ function ChatGroupedPlayersList({ players, displayMenu, mode }) {
5351

5452
return (
5553
<>
56-
<UsersList mode={mode} title="Watching" list={watchingList} displayMenu={displayMenu} />
57-
<UsersList mode={mode} title="Playing" list={playingList} displayMenu={displayMenu} />
58-
<UsersList mode={mode} title="Lobby" list={lobbyList} displayMenu={displayMenu} />
59-
<UsersList mode={mode} title="Online" list={onlineList} displayMenu={displayMenu} />
60-
<UsersList mode={mode} title="Edit task" list={builderList} displayMenu={displayMenu} />
54+
<UsersList
55+
mode={mode}
56+
title="Watching"
57+
list={watchingList}
58+
displayMenu={displayMenu}
59+
/>
60+
<UsersList
61+
mode={mode}
62+
title="Playing"
63+
list={playingList}
64+
displayMenu={displayMenu}
65+
/>
66+
<UsersList
67+
mode={mode}
68+
title="Lobby"
69+
list={lobbyList}
70+
displayMenu={displayMenu}
71+
/>
72+
<UsersList
73+
mode={mode}
74+
title="Online"
75+
list={onlineList}
76+
displayMenu={displayMenu}
77+
/>
78+
<UsersList
79+
mode={mode}
80+
title="Edit task"
81+
list={builderList}
82+
displayMenu={displayMenu}
83+
/>
6184
</>
6285
);
6386
}
@@ -120,19 +143,20 @@ function LobbyChat({
120143
return (
121144
<ChatContextMenu menuId={menuId} inputRef={inputRef} request={menuRequest}>
122145
<div className="d-flex flex-column flex-lg-row flex-md-row cb-bg-panel cb-rounded shadow-sm mt-2">
123-
<div
124-
className={chatHeaderClassName}
125-
>
146+
<div className={chatHeaderClassName}>
126147
<ChatHeader mode={mode} disabled={!isOnline} showRooms />
127-
<Messages className="text-white" displayMenu={displayMenu} messages={filteredMessages} />
148+
<Messages
149+
className="text-white"
150+
displayMenu={displayMenu}
151+
messages={filteredMessages}
152+
/>
128153
<ChatInput mode={mode} disabled={!isOnline} inputRef={inputRef} />
129154
</div>
130-
<div className={
131-
cn(
155+
<div
156+
className={cn(
132157
'col-lg-4 col-md-4 p-0 pb-3 pb-sm-4 cb-players-container',
133158
'border-left cb-border-color rounded-right',
134-
)
135-
}
159+
)}
136160
>
137161
<div className="d-flex flex-column h-100">
138162
<div className="d-flex justify-content-between">
@@ -168,7 +192,7 @@ function LobbyChat({
168192
title="Send fight invite"
169193
alt="fight"
170194
style={{ width: '16px', height: '16px' }}
171-
src="/assets/images/fight.svg"
195+
src={fightSvg}
172196
/>
173197
</button>
174198
</div>

services/app/apps/codebattle/lib/codebattle_web/endpoint.ex

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,17 @@ defmodule CodebattleWeb.Endpoint do
4040
)
4141

4242
# Serve static files (images, fonts, audio) from assets/static in development
43-
# These are served at /assets/* to match the URL paths used in templates
43+
# Served at both /assets/* and /assets/static/* to support both:
44+
# - Template usage: /assets/images/logo.svg
45+
# - JS imports in dev: /assets/static/images/logo.svg (Vite returns this in dev)
4446
if Mix.env() == :dev do
47+
plug(
48+
Plug.Static,
49+
at: "/assets/static",
50+
from: Path.expand("../../assets/static", __DIR__),
51+
gzip: false
52+
)
53+
4554
plug(
4655
Plug.Static,
4756
at: "/assets",

0 commit comments

Comments
 (0)