Compare commits
2 Commits
release-75
...
release-77
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf30a6cb2b | ||
|
|
4ca9b9a5c2 |
@@ -92,7 +92,9 @@ def prompt_check_tos_review(content: str) -> TosReviewCheck:
|
|||||||
{"role": "user", "content": content},
|
{"role": "user", "content": content},
|
||||||
]
|
]
|
||||||
|
|
||||||
result_dict = query_openai_json(messages, model="openai/gpt-4.1-mini")
|
result_dict = query_openai_json(
|
||||||
|
messages, model="openai/gemini-2.5-flash-preview-05-20"
|
||||||
|
)
|
||||||
|
|
||||||
return cast(TosReviewCheck, result_dict)
|
return cast(TosReviewCheck, result_dict)
|
||||||
|
|
||||||
|
|||||||
@@ -35,9 +35,11 @@ export default defineConfig({
|
|||||||
registerType: 'autoUpdate',
|
registerType: 'autoUpdate',
|
||||||
manifest: {
|
manifest: {
|
||||||
name: 'KYCnot.me',
|
name: 'KYCnot.me',
|
||||||
|
short_name: 'KYCnot.me',
|
||||||
description: 'Find services that respect your privacy',
|
description: 'Find services that respect your privacy',
|
||||||
theme_color: '#040505',
|
theme_color: '#040505',
|
||||||
background_color: '#171c1b',
|
background_color: '#171c1b',
|
||||||
|
display: 'minimal-ui',
|
||||||
},
|
},
|
||||||
pwaAssets: {
|
pwaAssets: {
|
||||||
image: './public/favicon.svg',
|
image: './public/favicon.svg',
|
||||||
@@ -107,8 +109,9 @@ export default defineConfig({
|
|||||||
'/service/[...slug]/proof': '/service/[...slug]/#verification',
|
'/service/[...slug]/proof': '/service/[...slug]/#verification',
|
||||||
'/attribute/[...slug]': '/attributes',
|
'/attribute/[...slug]': '/attributes',
|
||||||
'/attr/[...slug]': '/attributes',
|
'/attr/[...slug]': '/attributes',
|
||||||
'/service/[...slug]/review': '/service/[...slug]#comments',
|
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
|
'/service/[...slug]/review': '/service/[...slug]#comments',
|
||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
schema: {
|
schema: {
|
||||||
|
|||||||
@@ -288,6 +288,7 @@ const ActualTag = disabled && Tag === 'a' ? 'span' : Tag
|
|||||||
class={base({ class: cn({ 'opacity-20 hover:opacity-50': disabled }, className) })}
|
class={base({ class: cn({ 'opacity-20 hover:opacity-50': disabled }, className) })}
|
||||||
role={role ?? (Tag === 'button' || Tag === 'label' || (disabled && Tag === 'a') ? undefined : 'button')}
|
role={role ?? (Tag === 'button' || Tag === 'label' || (disabled && Tag === 'a') ? undefined : 'button')}
|
||||||
aria-disabled={disabled}
|
aria-disabled={disabled}
|
||||||
|
aria-label={label}
|
||||||
{...dataAstroReload && { 'data-astro-reload': dataAstroReload }}
|
{...dataAstroReload && { 'data-astro-reload': dataAstroReload }}
|
||||||
{...htmlProps}
|
{...htmlProps}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -29,7 +29,15 @@
|
|||||||
font-family: cursive;
|
font-family: cursive;
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: repeating-linear-gradient(90deg, #14ffe9 0%, #ffc800 16.66666%, #ff00e0 33.33333%, #14ffe9 50.0%) -100%/ 200%;
|
background: repeating-linear-gradient(
|
||||||
|
90deg,
|
||||||
|
#d97706 0%,
|
||||||
|
#f59e0b 20%,
|
||||||
|
#f97316 40%,
|
||||||
|
#ea580c 60%,
|
||||||
|
#f97316 80%,
|
||||||
|
#f59e0b 100%
|
||||||
|
) -100%/ 200%;
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
background-clip: text;
|
background-clip: text;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ const splashText = showSplashText ? sample(splashTexts) : null
|
|||||||
transition:name="header-admin-link"
|
transition:name="header-admin-link"
|
||||||
text="Admin Dashboard"
|
text="Admin Dashboard"
|
||||||
position="left"
|
position="left"
|
||||||
|
aria-label="Admin Dashboard"
|
||||||
>
|
>
|
||||||
<Icon name="ri:home-gear-line" class="size-10" />
|
<Icon name="ri:home-gear-line" class="size-10" />
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|||||||
@@ -44,4 +44,8 @@
|
|||||||
void updateSW(true)
|
void updateSW(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.addEventListener('beforeinstallprompt', (event) => {
|
||||||
|
event.preventDefault()
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ Please, link back to [KYCnot.me](https://kycnot.me) when possible, and use respo
|
|||||||
|
|
||||||
<PressAssets />
|
<PressAssets />
|
||||||
|
|
||||||
|
Review service link format: `https://kycnot.me/service/[slug]/review`
|
||||||
|
|
||||||
## Brand design
|
## Brand design
|
||||||
|
|
||||||
- Brand color: `#3bdb78`
|
- Brand color: `#3bdb78`
|
||||||
|
|||||||
@@ -294,6 +294,8 @@ const statusIcon = {
|
|||||||
APPROVED: undefined,
|
APPROVED: undefined,
|
||||||
}[service.verificationStatus]
|
}[service.verificationStatus]
|
||||||
|
|
||||||
|
const isScam = service.verificationStatus === 'VERIFICATION_FAILED'
|
||||||
|
|
||||||
const shuffledLinks = {
|
const shuffledLinks = {
|
||||||
clearnet: shuffle(service.serviceUrls),
|
clearnet: shuffle(service.serviceUrls),
|
||||||
onion: shuffle(service.onionUrls),
|
onion: shuffle(service.onionUrls),
|
||||||
@@ -756,11 +758,18 @@ const activeEventToShow =
|
|||||||
<ul aria-label="Service links" class="xs:justify-start mt-4 flex flex-wrap justify-center gap-2">
|
<ul aria-label="Service links" class="xs:justify-start mt-4 flex flex-wrap justify-center gap-2">
|
||||||
{shownLinks.map((url) => (
|
{shownLinks.map((url) => (
|
||||||
<li>
|
<li>
|
||||||
<ServiceLinkButton
|
{isScam ? (
|
||||||
url={url}
|
<span class="2xs:text-sm 2xs:h-8 2xs:gap-2 2xs:px-4 bg-day-800 inline-flex h-6 items-center gap-1 rounded-full px-2 text-xs whitespace-nowrap text-red-400">
|
||||||
referral={service.referral}
|
<Icon name="ri:alert-line" class="size-4 text-red-400" />
|
||||||
enableMinWidth={shuffledLinks.onion.length + shuffledLinks.i2p.length > 0}
|
{urlDomain(url)}
|
||||||
/>
|
</span>
|
||||||
|
) : (
|
||||||
|
<ServiceLinkButton
|
||||||
|
url={url}
|
||||||
|
referral={service.referral}
|
||||||
|
enableMinWidth={shuffledLinks.onion.length + shuffledLinks.i2p.length > 0}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
|
|
||||||
@@ -784,11 +793,18 @@ const activeEventToShow =
|
|||||||
|
|
||||||
{hiddenLinks.map((url) => (
|
{hiddenLinks.map((url) => (
|
||||||
<li class="hidden peer-checked:block">
|
<li class="hidden peer-checked:block">
|
||||||
<ServiceLinkButton
|
{isScam ? (
|
||||||
url={url}
|
<span class="2xs:text-sm 2xs:h-8 2xs:gap-2 2xs:px-4 bg-day-800 inline-flex h-6 items-center gap-1 rounded-full px-2 text-xs whitespace-nowrap text-red-400">
|
||||||
referral={service.referral}
|
<Icon name="ri:alert-line" class="size-4 text-red-400" />
|
||||||
enableMinWidth={shuffledLinks.onion.length + shuffledLinks.i2p.length > 0}
|
{urlDomain(url)}
|
||||||
/>
|
</span>
|
||||||
|
) : (
|
||||||
|
<ServiceLinkButton
|
||||||
|
url={url}
|
||||||
|
referral={service.referral}
|
||||||
|
enableMinWidth={shuffledLinks.onion.length + shuffledLinks.i2p.length > 0}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user