Release 202506111039
This commit is contained in:
@@ -11,6 +11,7 @@ type EventTypeInfo<T extends string | null | undefined = string> = {
|
||||
description: string
|
||||
classNames: {
|
||||
dot: string
|
||||
banner?: string
|
||||
}
|
||||
icon: string
|
||||
color: TailwindColor
|
||||
@@ -34,6 +35,7 @@ export const {
|
||||
description: '',
|
||||
classNames: {
|
||||
dot: 'bg-zinc-700 text-zinc-300 ring-zinc-700/50',
|
||||
banner: 'bg-zinc-900/50 text-zinc-300 hover:bg-zinc-800/60 focus-visible:bg-zinc-800/60',
|
||||
},
|
||||
icon: 'ri:question-fill',
|
||||
color: 'gray',
|
||||
@@ -48,6 +50,7 @@ export const {
|
||||
description: 'Potential issues that users should be aware of',
|
||||
classNames: {
|
||||
dot: 'bg-amber-900 text-amber-300 ring-amber-900/50',
|
||||
banner: 'bg-yellow-900/50 text-yellow-300 hover:bg-yellow-800/60 focus-visible:bg-yellow-800/60',
|
||||
},
|
||||
icon: 'ri:alert-fill',
|
||||
color: 'yellow',
|
||||
@@ -61,6 +64,7 @@ export const {
|
||||
description: 'A previously reported warning has been solved',
|
||||
classNames: {
|
||||
dot: 'bg-amber-900 text-amber-300 ring-amber-900/50',
|
||||
banner: 'bg-yellow-900/50 text-yellow-300 hover:bg-yellow-800/60 focus-visible:bg-yellow-800/60',
|
||||
},
|
||||
icon: 'ri:alert-fill',
|
||||
color: 'green',
|
||||
@@ -74,6 +78,7 @@ export const {
|
||||
description: 'Critical issues affecting service functionality',
|
||||
classNames: {
|
||||
dot: 'bg-red-900 text-red-300 ring-red-900/50',
|
||||
banner: 'bg-red-900/50 text-red-300 hover:bg-red-800/60 focus-visible:bg-red-800/60',
|
||||
},
|
||||
icon: 'ri:spam-fill',
|
||||
color: 'red',
|
||||
@@ -87,6 +92,7 @@ export const {
|
||||
description: 'A previously reported alert has been solved',
|
||||
classNames: {
|
||||
dot: 'bg-red-900 text-red-300 ring-red-900/50',
|
||||
banner: 'bg-red-900/50 text-red-300 hover:bg-red-800/60 focus-visible:bg-red-800/60',
|
||||
},
|
||||
icon: 'ri:spam-fill',
|
||||
color: 'green',
|
||||
@@ -100,6 +106,7 @@ export const {
|
||||
description: 'General information about the service',
|
||||
classNames: {
|
||||
dot: 'bg-blue-900 text-blue-300 ring-blue-900/50',
|
||||
banner: 'bg-blue-900/50 text-blue-300 hover:bg-blue-800/60 focus-visible:bg-blue-800/60',
|
||||
},
|
||||
icon: 'ri:information-fill',
|
||||
color: 'sky',
|
||||
@@ -113,6 +120,7 @@ export const {
|
||||
description: 'Regular service update or announcement',
|
||||
classNames: {
|
||||
dot: 'bg-zinc-700 text-zinc-300 ring-zinc-700/50',
|
||||
banner: 'bg-zinc-900/50 text-zinc-300 hover:bg-zinc-800/60 focus-visible:bg-zinc-800/60',
|
||||
},
|
||||
icon: 'ri:notification-fill',
|
||||
color: 'green',
|
||||
@@ -126,6 +134,7 @@ export const {
|
||||
description: 'Service details were updated on kycnot.me',
|
||||
classNames: {
|
||||
dot: 'bg-sky-900 text-sky-300 ring-sky-900/50',
|
||||
banner: 'bg-sky-900/50 text-sky-300 hover:bg-sky-800/60 focus-visible:bg-sky-800/60',
|
||||
},
|
||||
icon: 'ri:pencil-fill',
|
||||
color: 'sky',
|
||||
|
||||
@@ -407,9 +407,12 @@ const ogImageTemplateData = {
|
||||
|
||||
const serviceVisibilityInfo = getServiceVisibilityInfo(service.serviceVisibility)
|
||||
|
||||
const activeAlertOrWarningEvents = service.events.filter(
|
||||
(event) => getEventTypeInfo(event.type).showBanner && (event.endedAt === null || event.endedAt >= now)
|
||||
)
|
||||
const activeAlertOrWarningEvents = service.events
|
||||
.map((event) => ({
|
||||
...event,
|
||||
typeInfo: getEventTypeInfo(event.type),
|
||||
}))
|
||||
.filter((event) => event.typeInfo.showBanner && (event.endedAt === null || event.endedAt >= now))
|
||||
const activeEventToShow =
|
||||
activeAlertOrWarningEvents.find((event) => event.type === EventType.ALERT) ?? activeAlertOrWarningEvents[0]
|
||||
---
|
||||
@@ -518,15 +521,10 @@ const activeEventToShow =
|
||||
href="#events"
|
||||
class={cn(
|
||||
'group mb-4 block rounded-md px-3 py-2 text-sm transition-colors duration-200',
|
||||
activeEventToShow.type === EventType.ALERT
|
||||
? 'bg-red-900/50 text-red-300 hover:bg-red-800/60 focus-visible:bg-red-800/60'
|
||||
: 'bg-yellow-900/50 text-yellow-300 hover:bg-yellow-800/60 focus-visible:bg-yellow-800/60'
|
||||
activeEventToShow.typeInfo.classNames.banner
|
||||
)}
|
||||
>
|
||||
<Icon
|
||||
name={activeEventToShow.type === EventType.ALERT ? 'ri:alert-fill' : 'ri:alarm-warning-fill'}
|
||||
class="me-1.5 inline-block size-4 align-[-0.15em]"
|
||||
/>
|
||||
<Icon name={activeEventToShow.typeInfo.icon} class="me-1.5 inline-block size-4 align-[-0.15em]" />
|
||||
<span class="font-bold">{activeEventToShow.title}</span> — {activeEventToShow.content}
|
||||
{activeAlertOrWarningEvents.length >= 2 && <>+{activeAlertOrWarningEvents.length - 1} more events.</>}
|
||||
<span class="underline">Go to events</span>
|
||||
@@ -1070,6 +1068,9 @@ const activeEventToShow =
|
||||
)
|
||||
}
|
||||
|
||||
<p class="text-day-400 mt-3 text-center text-xs">
|
||||
<span class="hover:text-day-200 transition-colors">Overall = 60% Privacy + 40% Trust (Rounded)</span>
|
||||
</p>
|
||||
<div class="xs:gap-x-6 mt-2 flex flex-wrap justify-center gap-x-4 gap-y-2 text-xs">
|
||||
<a
|
||||
href="/about#service-scores"
|
||||
@@ -1083,7 +1084,7 @@ const activeEventToShow =
|
||||
class="text-day-400 hover:text-day-200 inline-flex items-center gap-1 transition-colors hover:underline"
|
||||
>
|
||||
<Icon name="ri:information-line" class="size-3" />
|
||||
Attributes list
|
||||
All attributes list
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -1194,15 +1195,15 @@ const activeEventToShow =
|
||||
<p class="text-day-500 mt-1 text-sm text-balance">
|
||||
Maybe due to captchas, client side rendering, DDoS protections, or non-text format.
|
||||
</p>
|
||||
{service.tosUrls.length > 0 && (
|
||||
<p class="mt-2 text-xs">
|
||||
{service.tosUrls.map((url) => (
|
||||
<a href={url} class="hover:underline">
|
||||
{urlDomain(url)}
|
||||
</a>
|
||||
))}
|
||||
</p>
|
||||
)}
|
||||
<p class="mt-2 text-xs">
|
||||
Reviewed <TimeFormatted date={service.tosReviewAt} hourPrecision />
|
||||
{service.tosUrls.length > 0 && 'from'}
|
||||
{service.tosUrls.map((url) => (
|
||||
<a href={url} class="hover:underline">
|
||||
{urlDomain(url)}
|
||||
</a>
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user