Skip to content

Commit 3c46670

Browse files
committed
small fixes
1 parent b04828f commit 3c46670

File tree

9 files changed

+71
-59
lines changed

9 files changed

+71
-59
lines changed

services/app/apps/codebattle/assets/js/widgets/pages/game/ChatWidget.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ function ChatWidget() {
8181
<div className="d-flex flex-wrap flex-sm-nowrap cb-bg-panel shadow-sm h-100 cb-rounded">
8282
<div
8383
className={cn(
84-
'd-flex flex-column flex-grow-1 position-relative p-0 h-100 mh-100 rounded-left',
84+
'd-none d-lg-flex d-md-flex d-sm-flex flex-column flex-grow-1 position-relative p-0 h-100 mh-100 rounded-left',
8585
'cb-game-chat-container cb-messages-container cb-text',
8686
)}
8787
>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const contestDatesText = 'Season: Oct 14 - Dec 21';
99
const SeasonProfilePanel = ({
1010
upcomingTournaments = [], liveTournaments = [], user, controls,
1111
}) => (
12-
<div className="d-flex flex-column flex-lg-row flex-md-row my-0 my-lg-2 my-md-2">
12+
<div className="d-flex flex-column-reverse flex-lg-row flex-md-row my-0 my-lg-2 my-md-2">
1313
<div className="col-12 col-lg-8 col-md-8 my-2 my-lg-0 my-md-0">
1414
<div className="cb-bg-panel cb-rounded d-flex flex-column p-3 h-100 w-100 text-center">
1515
<h2 className="text-white">Codebattle Season Competition</h2>
@@ -88,7 +88,7 @@ const SeasonProfilePanel = ({
8888
<span className="h1 clan-title m-0 text-white text-uppercase">
8989
Clan
9090
{': '}
91-
{user.clanId ? user.clan : <a href="/settings" className="">bla-bla</a>}
91+
{user.clanId ? user.clan : <a href="/settings" className="text-lowercase text-primary"><small>add clan</small></a>}
9292
</span>
9393
</div>
9494

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

Lines changed: 54 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -42,62 +42,70 @@ const TournamentAction = ({ tournament }) => {
4242
const text = getActionText(tournament);
4343

4444
return (
45-
<a type="button" className={className} href={getTournamentUrl(tournament.id)}>{text}</a>
45+
<div className="align-content-center">
46+
<div className="d-flex p-3">
47+
<a type="button" className={className} href={getTournamentUrl(tournament.id)}>{text}</a>
48+
</div>
49+
</div>
4650
);
4751
};
4852

4953
export const activeIcon = <FontAwesomeIcon style={{ width: '60px', height: '60px' }} icon="laptop-code" className="text-warning" />;
5054
export const upcomingIcon = <FontAwesomeIcon style={{ width: '60px', height: '60px' }} icon="clock" className="text-gray" />;
5155

5256
const TournamentListItem = ({ tournament, icon }) => (
53-
<div className="d-flex w-100 cb-bg-panel mt-1">
54-
<div className="d-none d-lg-block d-md-block p-3">
55-
{icon || getIconForGrade(tournament.grade)}
56-
</div>
57-
<div className="d-flex flex-column w-100 p-3 align-content-center align-items-baseline justify-content-between">
58-
<span
59-
title={tournament.name}
60-
className="h5 font-weight-bold text-white text-truncate d-inline-block"
61-
style={{ maxWidth: '400px', minWidth: '100px' }}
62-
>
63-
{tournament.name}
64-
</span>
65-
<span className="cb-font-size-small text-nowrap">
66-
{tournament.state !== 'upcoming' && (
67-
<span className="pr-2">
68-
<FontAwesomeIcon icon="flag-checkered" className="mr-1" />
69-
{mapTournamentTitleByState[tournament.state]}
70-
</span>
71-
)}
72-
{tournamentStates.canceled !== tournament.state && tournament.state !== 'upcoming' && (
73-
<>
74-
<span className="pr-2">
75-
<FontAwesomeIcon icon="user" className="mr-1" />
76-
{tournament.playersCount}
77-
</span>
78-
</>
79-
)}
80-
{[tournamentStates.active, tournamentStates.waitingParticipants, tournamentStates.upcoming].includes(tournament.state) && (
81-
<>
57+
<div className="d-flex flex-column flex-lg-row flex-md-row flex-sm-row w-100 cb-bg-panel mt-1">
58+
<div className="d-flex w-100">
59+
<div className="d-none d-lg-block d-md-block p-3">
60+
{icon || getIconForGrade(tournament.grade)}
61+
</div>
62+
<div className="d-flex flex-column w-100 p-3 align-content-center align-items-baseline justify-content-between">
63+
<span
64+
title={tournament.name}
65+
className="h5 font-weight-bold text-white text-truncate d-inline-block"
66+
style={{ maxWidth: '400px', minWidth: '100px' }}
67+
>
68+
{tournament.name}
69+
</span>
70+
<span className="cb-font-size-small text-nowrap">
71+
{tournament.state !== 'upcoming' && (
8272
<span className="pr-2">
83-
<FontAwesomeIcon icon="clock" className="mr-1" />
84-
{dayjs(tournament.startsAt).format('MMMM D, YYYY [at] h:mma')}
73+
<FontAwesomeIcon icon="flag-checkered" className="mr-1" />
74+
{mapTournamentTitleByState[tournament.state]}
8575
</span>
86-
</>
87-
)}
88-
{tournament.state === tournamentStates.finished && (
89-
<>
90-
<span className="pr-2">
91-
<FontAwesomeIcon icon="clock" className="mr-1" />
92-
{dayjs(tournament.lastRoundEndedAt).format('MMMM D, YYYY [at] h:mma')}
93-
</span>
94-
</>
95-
)}
96-
</span>
97-
</div>
98-
<div className="p-3 align-content-center">
99-
<TournamentAction tournament={tournament} />
76+
)}
77+
{tournamentStates.canceled !== tournament.state && tournament.state !== 'upcoming' && (
78+
<>
79+
<span className="pr-2">
80+
<FontAwesomeIcon icon="user" className="mr-1" />
81+
{tournament.playersCount}
82+
</span>
83+
</>
84+
)}
85+
{[tournamentStates.active, tournamentStates.waitingParticipants, tournamentStates.upcoming].includes(tournament.state) && (
86+
<>
87+
<span
88+
className={
89+
cn('pr-2', { 'd-none d-lg-inline d-md-inline d-sm-inline': tournament.state !== tournamentStates.upcoming })
90+
}
91+
>
92+
<FontAwesomeIcon icon="clock" className="mr-1" />
93+
{dayjs(tournament.startsAt).format('MMMM D, YYYY [at] h:mma')}
94+
</span>
95+
</>
96+
)}
97+
{tournament.state === tournamentStates.finished && (
98+
<>
99+
<span className="d-none d-lg-inline d-md-inline d-sm-inline pr-2">
100+
<FontAwesomeIcon icon="clock" className="mr-1" />
101+
{dayjs(tournament.lastRoundEndedAt).format('MMMM D, YYYY [at] h:mma')}
102+
</span>
103+
</>
104+
)}
105+
</span>
106+
</div>
100107
</div>
108+
<TournamentAction tournament={tournament} />
101109
</div>
102110
);
103111

services/app/apps/codebattle/assets/js/widgets/pages/settings/UserSettings.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function UserSettings() {
109109
}, [dispatch]);
110110

111111
return (
112-
<div className="container cb-bg-panel cb-text shadow-sm py-4">
112+
<div className="container cb-bg-panel cb-text cb-rounded shadow-sm py-4">
113113
<Notification notification={notification} onClose={setNotification} />
114114
<h2 className="font-weight-normal">Settings</h2>
115115
<UserSettingsForm settings={settings} onSubmit={handleUpdateUserSettings} />

services/app/apps/codebattle/assets/js/widgets/pages/settings/UserSettingsForm.jsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ const getPlaceholder = ({ disabled, placeholder }) => {
2626

2727
const TextInput = ({ label, ...props }) => {
2828
const [field, meta] = useField(props);
29-
const { name, disabled } = props;
29+
const {
30+
name, disabled, hint, hintHref = '',
31+
} = props;
3032

3133
const labelClassName = cn('h6', {
3234
'text-muted': disabled,
@@ -36,6 +38,7 @@ const TextInput = ({ label, ...props }) => {
3638
<div className="form-group mb-3">
3739
<label className={labelClassName} htmlFor={name}>
3840
{label}
41+
{hint && (<a className="text-primary pl-2" href={hintHref}><small>{hint}</small></a>)}
3942
</label>
4043
<input
4144
{...field}
@@ -127,6 +130,8 @@ const UserSettingsForm = ({ onSubmit, settings }) => {
127130
id="clan"
128131
name="clan"
129132
type="text"
133+
hint="clan list"
134+
hintHref="/clans"
130135
placeholder="Enter your clan"
131136
/>
132137
</div>

services/app/apps/codebattle/assets/js/widgets/slices/lobby.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { createSlice } from '@reduxjs/toolkit';
2+
import dayjs from 'dayjs';
23
import find from 'lodash/find';
34
import reject from 'lodash/reject';
45

@@ -42,8 +43,8 @@ const lobby = createSlice({
4243
) => ({
4344
...state,
4445
activeGames,
45-
upcomingTournaments,
46-
liveTournaments,
46+
upcomingTournaments: upcomingTournaments.sort((a, b) => dayjs(a.startsAt).diff(dayjs(b.startsAt), 'millisecond')),
47+
liveTournaments: liveTournaments.sort((a, b) => dayjs(a.startsAt).diff(dayjs(b.startsAt), 'millisecond')),
4748
completedTournaments: tournaments.filter(x => !x.isLive),
4849
channel: { online: true },
4950
}),

services/app/apps/codebattle/lib/codebattle/user.ex

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,9 @@ defmodule Codebattle.User do
262262
# nil for new token users, clan will be managed by admin
263263
defp assign_clan(changeset, params, nil), do: assign_clan(changeset, params, 1)
264264

265-
defp assign_clan(changeset, %{clan: clan_name}, user_id),
266-
do: find_or_create_by_clan(changeset, clan_name, user_id)
265+
defp assign_clan(changeset, %{clan: clan_name}, user_id), do: find_or_create_by_clan(changeset, clan_name, user_id)
267266

268-
defp assign_clan(changeset, %{"clan" => clan_name}, user_id),
269-
do: find_or_create_by_clan(changeset, clan_name, user_id)
267+
defp assign_clan(changeset, %{"clan" => clan_name}, user_id), do: find_or_create_by_clan(changeset, clan_name, user_id)
270268

271269
defp assign_clan(changeset, _params, _user_id), do: changeset
272270

services/app/apps/codebattle/lib/codebattle_web/templates/root/landing.html.heex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@
371371
<a class="text-muted" href="https://hexlet.io/">
372372
Hexlet ltd
373373
</a>
374-
, 2024
374+
, 2025
375375
</p>
376376
<p class="mb-0">
377377
Support:

services/app/apps/codebattle/lib/codebattle_web/views/api/lobby_view.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ defmodule CodebattleWeb.Api.LobbyView do
1414
Tournament.Context.get_user_tournaments(%{
1515
from: DateTime.utc_now(),
1616
to: DateTime.add(DateTime.utc_now(), 1 * 24 * 60 * 60),
17-
user_id: current_user.id
17+
user: current_user
1818
})
1919

2020
%{games: games} =

0 commit comments

Comments
 (0)