2023-01-24 11:49:33 +00:00
|
|
|
<template>
|
|
|
|
<q-item :to="getGymRoute(gym)">
|
|
|
|
<q-item-section>
|
|
|
|
<q-item-label>{{ gym.displayName }}</q-item-label>
|
|
|
|
<q-item-label caption lines="1">{{ gym.cityName }}</q-item-label>
|
|
|
|
<q-item-label caption lines="1">{{ gym.countryName }}</q-item-label>
|
|
|
|
</q-item-section>
|
|
|
|
<q-item-section side top>
|
2023-02-16 17:15:46 +00:00
|
|
|
<q-badge color="primary" :label="submissionCountLabel" />
|
2023-01-24 11:49:33 +00:00
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2023-01-26 11:52:22 +00:00
|
|
|
import { getGymRoute } from 'src/router/gym-routing';
|
|
|
|
import { GymSearchResult } from 'src/api/search/models';
|
2023-02-16 17:15:46 +00:00
|
|
|
import {computed} from 'vue';
|
2023-01-24 11:49:33 +00:00
|
|
|
|
|
|
|
interface Props {
|
2023-01-26 11:52:22 +00:00
|
|
|
gym: GymSearchResult;
|
2023-01-24 11:49:33 +00:00
|
|
|
}
|
2023-02-16 17:15:46 +00:00
|
|
|
const props = defineProps<Props>();
|
|
|
|
const submissionCountLabel = computed(() => {
|
|
|
|
const c = props.gym.submissionCount;
|
|
|
|
if (c < 1000) return '' + c;
|
|
|
|
if (c < 1000000) return Math.floor(c / 1000) + 'k';
|
|
|
|
return Math.floor(c / 1000000) + 'm';
|
|
|
|
});
|
2023-01-24 11:49:33 +00:00
|
|
|
</script>
|
|
|
|
|
2023-01-26 11:52:22 +00:00
|
|
|
<style scoped></style>
|