mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 06:43:06 +00:00
Board "Acompanhe de perto" (S1) ganha o feed automático do canal oficial: global SocialFeedSettings (admin-only, kill switch + toggle + maxItems + exclusões por item), loader src/utilities/youtubeFeed.ts (Data API v3 search→statistics, unstable_cache tag social-feed + revalidate 300, fail-closed com snapshot persistido via SQL direto — revalidateTag dentro de unstable_cache lança no Next 15.4), card generalizado (CampaignArticleCard → CampaignContentCard, external com noopener) e merge por recência com o grande = mais recente elegível. Stub HTTP do YouTube no webServer do Playwright (porta dev+1000) + 4 e2e novos no describe serial. Migration 20260818_111748_add_social_feed_settings (não destrutiva). Closes #18
22 lines
922 B
JavaScript
22 lines
922 B
JavaScript
import { withPayload } from '@payloadcms/next/withPayload'
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const allowedImageHost = process.env.NEXT_PUBLIC_SITE_URL || 'https://jorgesolla.com.br'
|
|
|
|
const nextConfig = {
|
|
distDir: process.env.NEXT_DIST_DIR || '.next',
|
|
...(process.env.NEXT_OUTPUT_STANDALONE === '1' ? { output: 'standalone' } : {}),
|
|
images: {
|
|
remotePatterns: [
|
|
new URL(`${allowedImageHost}/**`),
|
|
// YouTube video thumbnails (campaign home content board, S2) come from
|
|
// the platform's CDN — see `src/utilities/youtubeFeed.ts`.
|
|
new URL('https://i.ytimg.com/**'),
|
|
// e2e-only: the YouTube stub (tests/e2e/youtube-stub.mjs) serves the
|
|
// fixture thumbnails locally so specs never touch the real network.
|
|
{ protocol: 'http', hostname: 'localhost', pathname: '/thumbs/**' },
|
|
],
|
|
},
|
|
}
|
|
|
|
export default withPayload(nextConfig, { devBundleServerPackages: false })
|