Skip to content

Commit 33f52d1

Browse files
authored
feat: users on partners space (#54)
1 parent a1f26ce commit 33f52d1

3 files changed

Lines changed: 40 additions & 23 deletions

File tree

apps/web-app/app/components/PartnerCard.vue

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,23 @@
22
<ActiveCard padding="none" class="flex flex-col gap-2.5 group">
33
<div class="relative">
44
<img
5-
:src="partner.avatarUrl ?? undefined"
5+
:src="partnerUser?.avatarUrl ?? undefined"
66
alt=""
77
class="aspect-square w-full rounded-lg duration-200"
88
:class="{ 'opacity-75 grayscale group-hover:grayscale-0 group-hover:opacity-100': imagesMode === 'grayscale' }"
99
>
1010

11+
<div class="absolute top-2 left-2 right-0 w-full">
12+
<UBadge
13+
color="neutral"
14+
variant="solid"
15+
size="lg"
16+
class="rounded-lg"
17+
>
18+
{{ partner.priceLevel }} уровень
19+
</UBadge>
20+
</div>
21+
1122
<div
1223
class="absolute top-2 left-0 right-0 w-full opacity-0 group-hover:opacity-100 duration-200"
1324
:class="[
@@ -33,26 +44,30 @@
3344
/>
3445
</div>
3546
</div>
36-
</div>
3747

38-
<div class="min-h-20 h-full px-2.5 pb-2 flex flex-col gap-2.5">
39-
<div class="flex flex-row items-center gap-2">
40-
<UBadge
41-
color="neutral"
42-
variant="outline"
43-
size="xl"
48+
<div class="absolute bottom-2 left-2 right-2 w-full">
49+
<UAvatarGroup
50+
:max="2"
51+
size="sm"
52+
:ui="{
53+
base: '-me-3',
54+
}"
4455
>
45-
{{ partner.priceLevel }}
46-
</UBadge>
47-
48-
<h3 class="text-base/5 font-bold">
49-
{{ partner.name }} {{ partner.surname }}
50-
</h3>
56+
<UAvatar
57+
v-for="user in otherUsers"
58+
:key="user.id"
59+
:src="user?.avatarUrl ?? undefined"
60+
alt=""
61+
:class="{ 'opacity-75 grayscale group-hover:grayscale-0 group-hover:opacity-100': imagesMode === 'grayscale' }"
62+
/>
63+
</UAvatarGroup>
5164
</div>
65+
</div>
5266

53-
<p class="text-sm/4 text-muted line-clamp-3">
67+
<div class="min-h-20 h-full px-2.5 pb-2 flex flex-col gap-2.5">
68+
<h3 class="text-sm/4 font-bold">
5469
{{ partner.legalEntity?.name }}
55-
</p>
70+
</h3>
5671

5772
<p class="text-sm/4 text-muted line-clamp-4">
5873
{{ partner.city }}
@@ -62,17 +77,17 @@
6277
</template>
6378

6479
<script setup lang="ts">
65-
import type { Partner } from '@roll-stack/database'
66-
import type { PartnerLegalEntityWithData } from '~/stores/partner'
80+
import type { PartnerWithData } from '~/stores/partner'
6781
6882
const { partner } = defineProps<{
69-
partner: Partner & {
70-
legalEntity: PartnerLegalEntityWithData | null
71-
}
83+
partner: PartnerWithData
7284
}>()
7385
7486
const { imagesMode } = useApp()
7587
88+
const partnerUser = computed(() => partner.users.filter((user) => user.type === 'partner')[0])
89+
const otherUsers = computed(() => partner.users.filter((user) => user.type !== 'partner'))
90+
7691
const minimalAgreement = computed(() => partner.legalEntity?.agreements.filter((agreement) => agreement.isActive).toSorted((a, b) => new Date(a.willEndAt ?? '').getTime() - new Date(b.willEndAt ?? '').getTime())[0])
7792
7893
const agreementProgress = computed(() => {

apps/web-app/app/stores/partner.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Kitchen, Partner, PartnerAgreement, PartnerAgreementFile, PartnerLegalEntity } from '@roll-stack/database'
1+
import type { Kitchen, Partner, PartnerAgreement, PartnerAgreementFile, PartnerLegalEntity, User } from '@roll-stack/database'
22

33
export type PartnerAgreementWithAllData = PartnerAgreement & {
44
files: PartnerAgreementFile[]
@@ -13,9 +13,10 @@ export type PartnerLegalEntityWithData = PartnerLegalEntity & {
1313
agreements: PartnerAgreementWithData[]
1414
}
1515

16-
type PartnerWithData = Partner & {
16+
export type PartnerWithData = Partner & {
1717
kitchens: Kitchen[]
1818
legalEntity: PartnerLegalEntityWithData | null
19+
users: User[]
1920
}
2021

2122
export const usePartnerStore = defineStore('partner', () => {

packages/database/src/repository/partner.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export class Partner {
3939
},
4040
},
4141
},
42+
users: true,
4243
},
4344
})
4445
}

0 commit comments

Comments
 (0)