Skip to content

Commit d530592

Browse files
authored
Merge pull request #306 from TaloDev/develop
Release 0.38.1
2 parents 2fb8f77 + 2c540b0 commit d530592

File tree

6 files changed

+28
-16
lines changed

6 files changed

+28
-16
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"lint-staged": {
7979
"*.{ts,js,tsx,jsx}": "eslint --fix"
8080
},
81-
"version": "0.38.0",
81+
"version": "0.38.1",
8282
"engines": {
8383
"node": "20.x"
8484
},

src/components/PlayerAliases.tsx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import Tippy from '@tippyjs/react'
33
import useSortedItems from '../utils/useSortedItems'
44
import { PlayerAlias } from '../entities/playerAlias'
55
import taloIcon from '../assets/talo-service.svg'
6+
import clsx from 'clsx'
7+
import { useCallback, useMemo } from 'react'
68

79
type PlayerAliasesProps = {
810
aliases: PlayerAlias[]
@@ -11,9 +13,9 @@ type PlayerAliasesProps = {
1113
export default function PlayerAliases({
1214
aliases
1315
}: PlayerAliasesProps) {
14-
const sortedAliases = useSortedItems(aliases, 'updatedAt')
16+
const sortedAliases = useSortedItems(aliases, 'createdAt')
1517

16-
const getIcon = (alias: PlayerAlias) => {
18+
const getIcon = useCallback((alias: PlayerAlias) => {
1719
/* v8ignore next */
1820
switch (alias.service) {
1921
case 'steam': return <IconBrandSteam size={16} />
@@ -22,18 +24,28 @@ export default function PlayerAliases({
2224
case 'talo': return <img src={taloIcon} alt='Talo' className='w-[16px] h-[16px]' />
2325
default: return <IconQuestionMark size={16} />
2426
}
25-
}
27+
}, [])
2628

27-
if (aliases.length === 0) return 'None'
29+
const alias = useMemo(() => {
30+
return sortedAliases.at(0)
31+
}, [sortedAliases])
32+
33+
if (!alias) return 'None'
2834

2935
return (
3036
<div className='space-y-2'>
3137
<div className='flex items-center'>
32-
<Tippy content={<p className='capitalize'>{sortedAliases[0].service}</p>}>
33-
<span className='p-1 rounded-full bg-gray-900'>{getIcon(sortedAliases[0])}</span>
38+
<Tippy
39+
content={
40+
<p className={clsx({ 'capitalize': !alias.service.includes('_') && !alias.service.includes('-') })}>
41+
{alias.service}
42+
</p>
43+
}
44+
>
45+
<span className='p-1 rounded-full bg-gray-900'>{getIcon(alias)}</span>
3446
</Tippy>
3547

36-
<span className='ml-2 text-sm'>{sortedAliases[0].identifier}</span>
48+
<span className='ml-2 text-sm'>{alias.identifier}</span>
3749
</div>
3850

3951
{sortedAliases.length > 1 &&

src/components/Select.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function Select<T>({ innerRef, onChange, ...props }: SelectProps<T>) {
2626
const styles: StylesConfig<SelectOption<T>, boolean, GroupBase<SelectOption<T>>> = {
2727
control: (provided, state) => ({
2828
...provided,
29-
border: `1px solid ${state.isFocused ? 'transparent' : '#D1D5DB'} !important`,
29+
border: `1px solid ${state.isFocused ? 'transparent' : 'rgba(0, 0, 0, 0.3)'} !important`,
3030
boxShadow: state.isFocused ? 'rgb(255, 255, 255) 0px 0px 0px 0px, rgb(236, 72, 153) 0px 0px 0px 3px, rgba(0, 0, 0, 0) 0px 0px 0px 0px' : 'none',
3131
paddingTop: '2px',
3232
paddingBottom: '2px',

src/components/__tests__/PlayerAliases.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ describe('<PlayerAliases />', () => {
1414
expect(screen.getByText(aliases[0].identifier)).toBeInTheDocument()
1515
})
1616

17-
it('should render the first alias and an indicator for how many more', () => {
17+
it('should render the latest alias and an indicator for how many more', () => {
1818
const aliases: PlayerAlias[] = [
19-
playerAliasMock({ service: PlayerAliasService.STEAM, identifier: 'yxre12' }),
20-
playerAliasMock({ service: PlayerAliasService.USERNAME, identifier: 'ryet12' }),
21-
playerAliasMock({ service: PlayerAliasService.EPIC, identifier: 'epic_23rd' })
19+
playerAliasMock({ service: PlayerAliasService.STEAM, identifier: 'yxre12', createdAt: '2024-10-28 10:00:00' }),
20+
playerAliasMock({ service: PlayerAliasService.USERNAME, identifier: 'ryet12', createdAt: '2024-10-27 10:00:00' }),
21+
playerAliasMock({ service: PlayerAliasService.EPIC, identifier: 'epic_23rd', createdAt: '2024-10-26 10:00:00' })
2222
]
2323

2424
render(<PlayerAliases aliases={aliases} />)

src/pages/PlayerProfile.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default function PlayerProfile() {
5454
const [player] = usePlayer()
5555
const navigate = useNavigate()
5656

57-
const sortedAliases = useSortedItems(player?.aliases ?? [], 'updatedAt')
57+
const sortedAliases = useSortedItems(player?.aliases ?? [], 'createdAt')
5858

5959
const activeGame = useRecoilValue(activeGameState) as SelectedActiveGame
6060
const user = useRecoilValue(userState) as AuthedUser

0 commit comments

Comments
 (0)