Skip to content

Commit a916f27

Browse files
author
Garrett Downs
committed
feat(player): redesign
1 parent 8b5f789 commit a916f27

4 files changed

Lines changed: 47 additions & 1 deletion

File tree

package-lock.json

Lines changed: 14 additions & 0 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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"dexie": "^3.2.1",
4949
"kaios-lib": "^1.6.0",
5050
"lodash.throttle": "^4.1.1",
51+
"numeral": "^2.0.6",
5152
"onyx-ui": "^0.5.2",
5253
"sirv-cli": "^1.0.0",
5354
"svelte-icons": "^2.1.0",

src/models/Track.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export type Track = {
55
id: number;
66
duration: number;
77
commentable: true;
8-
comment_count: 3;
8+
comment_count: number;
99
sharing: 'public';
1010
tag_list: string;
1111
streamable: boolean;

src/routes/Player.svelte

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
<script lang="ts">
22
import KaiOS from 'kaios-lib';
3+
import numeral from 'numeral';
34
import Card from 'onyx-ui/components/card/Card.svelte';
45
import CardContent from 'onyx-ui/components/card/CardContent.svelte';
56
import CardHeader from 'onyx-ui/components/card/CardHeader.svelte';
7+
import Icon from 'onyx-ui/components/icon/Icon.svelte';
68
import Typography from 'onyx-ui/components/Typography.svelte';
79
import View from 'onyx-ui/components/view/View.svelte';
810
import ViewContent from 'onyx-ui/components/view/ViewContent.svelte';
911
import { Priority } from 'onyx-ui/enums';
1012
import { KeyManager } from 'onyx-ui/services';
1113
import { registerView, view } from 'onyx-ui/stores/view';
1214
import { onDestroy } from 'svelte';
15+
import MdComment from 'svelte-icons/md/MdComment.svelte';
16+
import MdFavorite from 'svelte-icons/md/MdFavorite.svelte';
17+
import MdPlayArrow from 'svelte-icons/md/MdPlayArrow.svelte';
18+
import MdRepeat from 'svelte-icons/md/MdRepeat.svelte';
1319
import { replace } from 'svelte-spa-router';
1420
import { pause, play, skip, skipTo } from '../components/AudioPlayer.svelte';
1521
import Waveform from '../components/Waveform.svelte';
@@ -96,6 +102,20 @@
96102
<Typography type="titleSmall" align="center"
97103
>{$player.track.user.full_name || $player.track.user.username}</Typography
98104
>
105+
<div class="stats">
106+
<div class="item">
107+
<Icon><MdPlayArrow /></Icon>{numeral($player.track.playback_count).format('0.0a')}
108+
</div>
109+
<div class="item">
110+
<Icon><MdFavorite /></Icon>{numeral($player.track.favoritings_count).format('0.0a')}
111+
</div>
112+
<div class="item">
113+
<Icon><MdRepeat /></Icon>{numeral($player.track.reposts_count).format('0a')}
114+
</div>
115+
<div class="item">
116+
<Icon><MdComment /></Icon>{numeral($player.track.comment_count).format('0a')}
117+
</div>
118+
</div>
99119
</CardContent>
100120
</Card>
101121
{/if}
@@ -109,4 +129,15 @@
109129
font-weight: 600;
110130
color: var(--accent-color);
111131
}
132+
133+
.stats {
134+
display: flex;
135+
justify-content: space-between;
136+
padding: 10px;
137+
}
138+
.stats > .item {
139+
display: flex;
140+
flex-direction: column;
141+
align-items: center;
142+
}
112143
</style>

0 commit comments

Comments
 (0)