import { getServerOrgCode } from '@/lib/org'
import { organizationService } from '@/services/organization/organizationService'
import { NewsListModule } from '@/modules/newsModule/'
import { Metadata } from 'next'
import { resolveTenantBranding } from '@/lib/tenantPresentation.server';

export async function generateMetadata(): Promise<Metadata> {
  const branding = await resolveTenantBranding();
  const fallbackTitle = "Home";
  const fallbackDescription = "Home";
  return {
    title: `${branding.displayName || fallbackTitle} - News`,
    description: branding.displayName ? `${branding.displayName} - News` : fallbackDescription,
    icons: { icon: branding.logoUrl || "/images/favicon.ico" }
  };
}


export default async function NewsPage() {
  const { organization, notFound } = await resolveOrganization()
  if (notFound) {
    return notFound
  }
  const orgCode = organization?.code ?? ""

  return (
    <NewsListModule orgCode={orgCode} />
  )
}

async function resolveOrganization() {
  let sub = await getServerOrgCode();
  if (sub?.includes('-')) {
    sub = sub.replace(/-/g, '_');
  }
  const org = await organizationService.fetchByCode(sub || "");

  if (!org) {
    return { organization: null, notFound: true };
  }
  return { organization: org, notFound: false };
}
