Some checks failed
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / docs-guards (pull_request) Successful in 8s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / format (pull_request) Successful in 51s
CI (PR) / e2e (1) (pull_request) Failing after 25s
CI (PR) / build (pull_request) Failing after 1m32s
CI (PR) / int (pull_request) Failing after 1m46s
CI (PR) / cycles (pull_request) Successful in 36s
CI (PR) / typecheck (pull_request) Successful in 33s
CI (PR) / knip (pull_request) Successful in 38s
CI (PR) / unit (pull_request) Successful in 57s
Agent pool supervisor / tick (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Has been skipped
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 11s
CI (PR) / scope (pull_request) Successful in 29s
CI (PR) / e2e (2) (pull_request) Successful in 5m58s
CI (PR) / checks (pull_request) Failing after 2s
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 })
|