fix(site) : keep public pages up during auth outages and allow ad script
This commit is contained in:
@@ -8,9 +8,15 @@ import { VisitorPresence } from "@/components/public/visitor-presence";
|
||||
import { PublicNavigation } from "@/components/public/public-navigation";
|
||||
import { AccountMenu } from "@/components/auth/account-menu";
|
||||
import { getAdminSession } from "@/lib/auth/server";
|
||||
import { HttpError } from "@/lib/security/http";
|
||||
|
||||
async function AdminEditLink({ editHref }: { editHref: string }) {
|
||||
const isAdmin = Boolean(await getAdminSession());
|
||||
let isAdmin = false;
|
||||
try {
|
||||
isAdmin = Boolean(await getAdminSession());
|
||||
} catch (cause) {
|
||||
if (!(cause instanceof HttpError) || cause.status !== 503) throw cause;
|
||||
}
|
||||
|
||||
return isAdmin ? (
|
||||
<Button variant="ghost" size="sm" nativeButton={false} render={<Link href={editHref} />} aria-label="ไปหน้าแก้ไข">
|
||||
|
||||
@@ -4,7 +4,7 @@ export function securityHeaders(production: boolean, emojiImageCdn: string) {
|
||||
const adConnections = "https://*.adtrafficquality.google";
|
||||
const policy = [
|
||||
"default-src 'self'",
|
||||
`script-src 'self' 'unsafe-inline' ${production ? "" : "'unsafe-eval'"} https://challenges.cloudflare.com ${cloudflareAnalytics} ${ads}`,
|
||||
`script-src 'self' 'unsafe-inline' ${production ? "" : "'unsafe-eval'"} https://challenges.cloudflare.com ${cloudflareAnalytics} ${adConnections} ${ads}`,
|
||||
"style-src 'self' 'unsafe-inline'",
|
||||
`img-src 'self' data: blob: https://buzz-cdn.astrxl.dev ${emojiImageCdn} ${ads}`,
|
||||
"font-src 'self' data:",
|
||||
|
||||
Reference in New Issue
Block a user