Compare commits

...

3 Commits

Author SHA1 Message Date
pluja
a68523fc73 Release 202507090857 2025-07-09 08:57:55 +00:00
pluja
a465849a76 Release 202507080951 2025-07-08 09:51:46 +00:00
pluja
25f6dba3eb Release 202507080939 2025-07-08 09:39:11 +00:00
4 changed files with 34 additions and 17 deletions

View File

@@ -107,7 +107,8 @@ export default defineConfig({
SITE_URL === 'http://localhost:4321' SITE_URL === 'http://localhost:4321'
? "frame-ancestors 'none'; upgrade-insecure-requests" ? "frame-ancestors 'none'; upgrade-insecure-requests"
: "default-src 'self'; img-src 'self' *; frame-ancestors 'none'; upgrade-insecure-requests", : "default-src 'self'; img-src 'self' *; frame-ancestors 'none'; upgrade-insecure-requests",
'Strict-Transport-Security': 'max-age=31536000; includeSubdomains; preload;', 'Strict-Transport-Security':
SITE_URL === 'http://localhost:4321' ? undefined : 'max-age=31536000; includeSubdomains; preload;',
}, },
}, },
image: { image: {

View File

@@ -32,6 +32,7 @@ type Props = HTMLAttributes<'div'> & {
} }
}>[] }>[]
attributeOptions: AttributeOption[] attributeOptions: AttributeOption[]
inlineIcons?: boolean
} }
const { const {
@@ -41,6 +42,7 @@ const {
categories, categories,
attributes, attributes,
attributeOptions, attributeOptions,
inlineIcons = true,
...divProps ...divProps
} = Astro.props } = Astro.props
--- ---
@@ -55,7 +57,12 @@ const {
> >
{ {
filters.q && ( filters.q && (
<ServiceFiltersPill text={`"${filters.q}"`} searchParamName="q" searchParamValue={filters.q} /> <ServiceFiltersPill
text={`"${filters.q}"`}
searchParamName="q"
searchParamValue={filters.q}
inlineIcons={inlineIcons}
/>
) )
} }
@@ -70,6 +77,7 @@ const {
icon={category.icon} icon={category.icon}
searchParamName="categories" searchParamName="categories"
searchParamValue={categorySlug} searchParamValue={categorySlug}
inlineIcons={inlineIcons}
/> />
) )
}) })
@@ -84,6 +92,7 @@ const {
searchParamName="currencies" searchParamName="currencies"
searchParamValue={currency.slug} searchParamValue={currency.slug}
icon={currency.icon} icon={currency.icon}
inlineIcons={inlineIcons}
/> />
) )
}) })
@@ -98,6 +107,7 @@ const {
icon={networkOption.icon} icon={networkOption.icon}
searchParamName="networks" searchParamName="networks"
searchParamValue={network} searchParamValue={network}
inlineIcons={inlineIcons}
/> />
) )
}) })
@@ -108,6 +118,7 @@ const {
text={`KYC Lvl ≤ ${filters['max-kyc'].toLocaleString()}`} text={`KYC Lvl ≤ ${filters['max-kyc'].toLocaleString()}`}
icon="ri:shield-keyhole-line" icon="ri:shield-keyhole-line"
searchParamName="max-kyc" searchParamName="max-kyc"
inlineIcons={inlineIcons}
/> />
) )
} }
@@ -117,6 +128,7 @@ const {
text={`Rating ≥ ${filters['user-rating'].toLocaleString()}★`} text={`Rating ≥ ${filters['user-rating'].toLocaleString()}★`}
icon="ri:star-fill" icon="ri:star-fill"
searchParamName="user-rating" searchParamName="user-rating"
inlineIcons={inlineIcons}
/> />
) )
} }
@@ -126,6 +138,7 @@ const {
text={`Score ≥ ${filters['min-score'].toLocaleString()}`} text={`Score ≥ ${filters['min-score'].toLocaleString()}`}
icon="ri:medal-line" icon="ri:medal-line"
searchParamName="min-score" searchParamName="min-score"
inlineIcons={inlineIcons}
/> />
) )
} }
@@ -136,6 +149,7 @@ const {
icon="ri:filter-3-line" icon="ri:filter-3-line"
searchParamName="attribute-mode" searchParamName="attribute-mode"
searchParamValue="and" searchParamValue="and"
inlineIcons={inlineIcons}
/> />
) )
} }
@@ -153,6 +167,7 @@ const {
text={`${prefix}: ${attribute.title}`} text={`${prefix}: ${attribute.title}`}
searchParamName={`attr-${attributeId}`} searchParamName={`attr-${attributeId}`}
searchParamValue={attributeValue} searchParamValue={attributeValue}
inlineIcons={inlineIcons}
/> />
) )
}) })
@@ -177,6 +192,7 @@ const {
iconClass={verificationStatusInfo.classNames.icon} iconClass={verificationStatusInfo.classNames.icon}
searchParamName="verification" searchParamName="verification"
searchParamValue={verificationStatusInfo.slug} searchParamValue={verificationStatusInfo.slug}
inlineIcons={inlineIcons}
/> />
) )
}) })

View File

@@ -190,6 +190,7 @@ const searchTitle = (() => {
categories={categories} categories={categories}
attributes={attributes} attributes={attributes}
attributeOptions={attributeOptions} attributeOptions={attributeOptions}
inlineIcons={inlineIcons}
/> />
</div> </div>
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
@@ -349,21 +350,19 @@ const searchTitle = (() => {
<> <>
<ol class="mt-6 grid grid-cols-1 gap-4 sm:gap-6 md:grid-cols-[repeat(auto-fill,minmax(calc(var(--spacing)*80),1fr))]"> <ol class="mt-6 grid grid-cols-1 gap-4 sm:gap-6 md:grid-cols-[repeat(auto-fill,minmax(calc(var(--spacing)*80),1fr))]">
{services.map((service, i) => ( {services.map((service, i) => (
<li> <li
<ServiceCard data-hx-search-results-card
inlineIcons={inlineIcons} {...(i === services.length - 1 && currentPage < totalPages
service={service} ? {
data-hx-search-results-card 'hx-get': createPageUrl(currentPage + 1, Astro.url, { 'sort-seed': sortSeed }),
{...(i === services.length - 1 && currentPage < totalPages 'hx-trigger': 'revealed',
? { 'hx-swap': 'afterend',
'hx-get': createPageUrl(currentPage + 1, Astro.url, { 'sort-seed': sortSeed }), 'hx-select': '[data-hx-search-results-card]',
'hx-trigger': 'revealed', 'hx-indicator': '#infinite-scroll-indicator',
'hx-swap': 'afterend', }
'hx-select': '[data-hx-search-results-card]', : {})}
'hx-indicator': '#infinite-scroll-indicator', >
} <ServiceCard inlineIcons={inlineIcons} service={service} />
: {})}
/>
</li> </li>
))} ))}
</ol> </ol>

View File

@@ -467,6 +467,7 @@ const showFiltersId = 'show-filters'
categories={categories} categories={categories}
attributes={attributes} attributes={attributes}
attributeOptions={attributeOptions} attributeOptions={attributeOptions}
inlineIcons={false}
/> />
) )
} }