Compare commits

...

2 Commits

Author SHA1 Message Date
pluja
b8b2dee4a4 Release 202506091433 2025-06-09 14:33:57 +00:00
pluja
eb0af871e1 Release 202506091118 2025-06-09 11:18:06 +00:00
3 changed files with 27 additions and 3 deletions

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="#3BDB78" viewBox="0 0 32 32" height="32" width="32">
<title>KYCnot.me logo</title>
<path fill-rule="evenodd"
d="M30 26a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h20a4 4 0 0 1 4 4v20ZM7 6a1 1 0 0 0-1 1v18c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h7v-3c0-.6-.4-1-1-1h-6a1 1 0 0 1-1-1V7c0-.6-.4-1-1-1H7Zm15 16v3c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-3Zm-4-4v3c0 .6.4 1 1 1h3v-3c0-.6-.4-1-1-1h-3Zm1-12a1 1 0 0 0-1 1v3c0 .6.4 1 1 1h3c.6 0 1-.4 1-1V7c0-.6-.4-1-1-1h-3Z"
clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 566 B

View File

@@ -14,7 +14,7 @@ export function makeNotificationOptions(
body: 'You have a new notification',
lang: 'en-US',
icon: '/favicon.svg',
badge: '/favicon.svg',
badge: '/notification-icon.svg',
requireInteraction: false,
silent: false,
actions: options.removeActions

View File

@@ -333,6 +333,8 @@ const [categories, [services, totalServices], countCommunityOnly, attributes] =
where,
select: {
id: true,
serviceVisibility: true,
verificationStatus: true,
...(Object.fromEntries(sortOptions.map((option) => [option.orderBy.key, true])) as Record<
(typeof sortOptions)[number]['orderBy']['key'],
true
@@ -354,10 +356,18 @@ const [categories, [services, totalServices], countCommunityOnly, attributes] =
sortBy(unsortedServices, 'id'),
[
...(filters.q ? (['similarityScore'] as const) : ([] as const)),
(service) => (service.verificationStatus === 'VERIFICATION_FAILED' ? 1 : 0),
(service) => (service.serviceVisibility === 'ARCHIVED' ? 1 : 0),
selectedSort.orderBy.key,
() => rng(),
],
[...(filters.q ? (['desc'] as const) : ([] as const)), selectedSort.orderBy.direction, 'asc']
[
...(filters.q ? (['desc'] as const) : ([] as const)),
'asc',
'asc',
selectedSort.orderBy.direction,
'asc',
]
).slice((filters.page - 1) * PAGE_SIZE, filters.page * PAGE_SIZE)
const unsortedServicesWithInfoMissingSimilarityScore = await prisma.service.findMany({
@@ -410,11 +420,19 @@ const [categories, [services, totalServices], countCommunityOnly, attributes] =
unsortedServicesWithInfo,
[
...(filters.q ? (['similarityScore'] as const) : ([] as const)),
(service) => (service.verificationStatus === 'VERIFICATION_FAILED' ? 1 : 0),
(service) => (service.serviceVisibility === 'ARCHIVED' ? 1 : 0),
selectedSort.orderBy.key,
// Now we can shuffle indeternimistically, because the pagination was already applied
() => Math.random(),
],
[...(filters.q ? (['desc'] as const) : ([] as const)), selectedSort.orderBy.direction, 'asc']
[
...(filters.q ? (['desc'] as const) : ([] as const)),
'asc',
'asc',
selectedSort.orderBy.direction,
'asc',
]
)
return [sortedServicesWithInfo, totalServices] as const