From 02708554363a32fa458a6036ae0cf446733b22d4 Mon Sep 17 00:00:00 2001 From: Erol Haagenrud Date: Wed, 29 Apr 2026 08:06:17 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=B8r=20endringer=20i=20utslagssteder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-04-28 14.52.19 teeoff.no dcb2c926e3f9.jpg | Bin 0 -> 255730 bytes 2026-04-28_142102.png | Bin 0 -> 78371 bytes backend/.env.example | 1 + backend/main.py | 540 +++++++++- frontend/src/app/admin/page.tsx | 9 + frontend/src/app/admin/sider/page.tsx | 960 ++++++++++++++++++ frontend/src/app/admin/steder/page.tsx | 206 +--- .../src/app/api/admin/uploads/images/route.ts | 92 +- frontend/src/app/klubbnummer/page.tsx | 49 +- frontend/src/app/kontakt/page.tsx | 49 +- frontend/src/app/om/page.tsx | 177 +--- .../src/app/personvern-og-cookies/page.tsx | 111 +- frontend/src/app/sitePages.ts | 25 + frontend/src/app/sitemap.ts | 32 +- frontend/src/app/turneringer/page.tsx | 93 +- frontend/src/components/AdminMobileMenu.tsx | 1 + frontend/src/components/SitePageTemplate.tsx | 79 ++ 17 files changed, 1907 insertions(+), 517 deletions(-) create mode 100644 2026-04-28 14.52.19 teeoff.no dcb2c926e3f9.jpg create mode 100644 2026-04-28_142102.png create mode 100644 frontend/src/app/admin/sider/page.tsx create mode 100644 frontend/src/app/sitePages.ts create mode 100644 frontend/src/components/SitePageTemplate.tsx diff --git a/2026-04-28 14.52.19 teeoff.no dcb2c926e3f9.jpg b/2026-04-28 14.52.19 teeoff.no dcb2c926e3f9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..440519ab28f8f7c6bd82508daddb37304767f8ff GIT binary patch literal 255730 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 mnlO-$;rAy&MZQx5Na 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 cgf@>T} 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%0DVL+ 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%0DhI6KPOPB%JdS3n-ouSWk^~h82|M%tBgwLEN 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

?tx%Gyk4`^myEgI#+ZI&Rnqqb+z!u>=pV7e+U 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 Jd0Gzx{{w%aYDWM7 literal 0 HcmV?d00001 diff --git a/backend/.env.example b/backend/.env.example index 83964e2..e0481e0 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -3,6 +3,7 @@ SMTP_PORT=465 SMTP_USER=teeoff@example.com SMTP_PASS=replace-with-your-smtp-password COMMENT_NOTIFICATION_TO_EMAIL=teeoff@example.com +FACILITY_RATING_NOTIFICATION_TO_EMAIL=teeoff@example.com EMAIL_TO=ops@example.com GEMINI_API_KEY=replace-with-your-gemini-api-key DATABASE_URL=postgresql://teeoff_admin:replace-with-your-postgres-password@db:5432/teeoff diff --git a/backend/main.py b/backend/main.py index aaaad1d..42b197c 100644 --- a/backend/main.py +++ b/backend/main.py @@ -83,6 +83,10 @@ COMMENT_NOTIFICATION_TO_EMAIL = os.getenv( "COMMENT_NOTIFICATION_TO_EMAIL", CONTACT_FORM_TO_EMAIL, ).strip() +FACILITY_RATING_NOTIFICATION_TO_EMAIL = os.getenv( + "FACILITY_RATING_NOTIFICATION_TO_EMAIL", + COMMENT_NOTIFICATION_TO_EMAIL, +).strip() INDEXNOW_KEY = os.getenv("INDEXNOW_KEY", "").strip() INDEXNOW_KEY_LOCATION = os.getenv("INDEXNOW_KEY_LOCATION", "").strip() INDEXNOW_ENDPOINT = os.getenv("INDEXNOW_ENDPOINT", "https://api.indexnow.org/indexnow").strip() @@ -100,6 +104,7 @@ PUBLIC_FACILITIES_CACHE_TTLS = { } PUBLIC_FACILITY_DETAIL_CACHE_TTL_SECONDS = 900 PUBLIC_PLACE_PAGE_CACHE_TTL_SECONDS = 3600 +PUBLIC_SITE_PAGE_CACHE_TTL_SECONDS = 3600 pwd_context = CryptContext(schemes=["pbkdf2_sha256"], deprecated="auto") @@ -146,6 +151,7 @@ def initialize_public_api_caches() -> None: app.state.public_facilities_cache = {} app.state.public_facility_detail_cache = {} app.state.public_place_page_cache = {} + app.state.public_site_page_cache = {} def get_public_facilities_cache_ttl(view: str | None) -> int: @@ -183,7 +189,7 @@ def apply_public_cache_headers(response: Response, ttl_seconds: int) -> None: response.headers["Cache-Control"] = f"public, max-age=60, s-maxage={ttl}, stale-while-revalidate=60" -def invalidate_public_api_caches(*, include_place_pages: bool = False) -> None: +def invalidate_public_api_caches(*, include_place_pages: bool = False, include_site_pages: bool = False) -> None: facilities_cache = getattr(app.state, "public_facilities_cache", None) if isinstance(facilities_cache, dict): facilities_cache.clear() @@ -197,6 +203,11 @@ def invalidate_public_api_caches(*, include_place_pages: bool = False) -> None: if isinstance(place_page_cache, dict): place_page_cache.clear() + if include_site_pages: + site_page_cache = getattr(app.state, "public_site_page_cache", None) + if isinstance(site_page_cache, dict): + site_page_cache.clear() + def get_configured_public_base_url() -> str: for env_name in ("PUBLIC_BASE_URL", "NEXT_PUBLIC_SITE_URL"): @@ -616,6 +627,65 @@ async def send_comment_notification_email( await asyncio.to_thread(_send) +async def send_facility_rating_notification_email( + *, + facility_name: str, + facility_url: str, + reviewer_name: str, + reviewer_email: str | None, + quality_rating: int, + conditions_rating: int, + hospitality_rating: int, + overall_rating: float, + rating_count: int, + quality_average: float | None, + conditions_average: float | None, + hospitality_average: float | None, + overall_average: float | None, + is_new_rating: bool, + ip_hash: str | None, +) -> None: + if not (is_magic_link_configured() and FACILITY_RATING_NOTIFICATION_TO_EMAIL): + return + + subject = f"[TeeOff Vurdering] {facility_name}" + body = ( + "Ny brukervurdering på TeeOff.no\n\n" + f"Golfanlegg: {facility_name}\n" + f"Lenke: {facility_url}\n" + f"Hendelse: {'Ny vurdering' if is_new_rating else 'Oppdatert vurdering'}\n" + f"Bruker: {reviewer_name}\n" + f"E-post: {reviewer_email or 'ikke tilgjengelig'}\n" + f"IP-hash: {ip_hash or 'ukjent'}\n\n" + "Innsendt vurdering:\n" + f"Kvalitet på anlegg: {quality_rating}/5\n" + f"Forhold: {conditions_rating}/5\n" + f"Gjestfrihet: {hospitality_rating}/5\n" + f"Snitt for denne vurderingen: {overall_rating:.1f}/5\n\n" + "Oppsummert etter lagring:\n" + f"Antall vurderinger: {rating_count}\n" + f"Gjennomsnitt kvalitet på anlegg: {quality_average if quality_average is not None else 'ikke tilgjengelig'}/5\n" + f"Gjennomsnitt forhold: {conditions_average if conditions_average is not None else 'ikke tilgjengelig'}/5\n" + f"Gjennomsnitt gjestfrihet: {hospitality_average if hospitality_average is not None else 'ikke tilgjengelig'}/5\n" + f"Totalt gjennomsnitt: {overall_average if overall_average is not None else 'ikke tilgjengelig'}/5\n" + ) + + def _send() -> None: + mail = EmailMessage() + mail["From"] = PUBLIC_FROM_EMAIL + mail["To"] = FACILITY_RATING_NOTIFICATION_TO_EMAIL + if reviewer_email: + mail["Reply-To"] = reviewer_email + mail["Subject"] = subject + mail.set_content(body) + + with smtplib.SMTP_SSL(SMTP_SERVER, int(SMTP_PORT)) as server: + server.login(SMTP_USER, SMTP_PASS) + server.send_message(mail) + + await asyncio.to_thread(_send) + + async def validate_admin_session_token(token: str) -> str: try: payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM]) @@ -673,6 +743,16 @@ class SitePageSeoUpsertRequest(BaseModel): meta_description: Optional[str] = None +class SitePageUpsertRequest(BaseModel): + eyebrow: Optional[str] = None + title: Optional[str] = None + hero_image_url: Optional[str] = None + intro_html: Optional[str] = "" + body_html: Optional[str] = "" + meta_title: Optional[str] = None + meta_description: Optional[str] = None + + class SimulatorOperatorUpsertRequest(BaseModel): name: str slug: Optional[str] = None @@ -1109,6 +1189,268 @@ def format_site_page_seo_row(row): return d +LEGACY_SITE_PAGE_ARTICLE_SLUGS = { + "turneringer": "note-to-self-lenker-til-viktige-turneringer-i-golfbox", +} + +SITE_PAGE_CONFIGS: dict[str, dict[str, str]] = { + "turneringer": { + "path": "/turneringer", + "eyebrow": "Turneringer", + "title": "Lenker til viktige turneringer i Golfbox", + "hero_image_url": "", + "intro_html": ( + "

Her er alle turneringene vi ikke vet hvordan vi skal finne i Golfbox " + "(og andre steder). God golfsesong!

" + ), + "body_html": "", + "meta_title": "Golfturneringer i Norge: Oversikt og terminlister | TeeOff.no", + "meta_description": ( + "Vanskelig å finne frem i Golfbox? Vi samler terminlister for Narvesen Tour " + "og regionale golfturneringer i hele Norge på ett sted. Finn din neste turnering her!" + ), + }, + "klubbnummer": { + "path": "/klubbnummer", + "eyebrow": "Klubbnummer", + "title": "Klubbnummer i Golfbox", + "hero_image_url": "", + "intro_html": ( + "

I booking-vinduet i Golfbox (eller Gimmie) er det ofte vanskelig å se " + "hvilken klubb spillere er fra. Om du ønsker kan du da bruke denne tabellen som oppslagsverk.

" + ), + "body_html": "", + "meta_title": "NGF Klubbnummer: Oversikt for Golfbox og Gimmie | TeeOff.no", + "meta_description": ( + "Hvilken klubb tilhører nummeret? Se komplett og sorterbar oversikt over alle norske " + "golfklubber og deres NGF-klubbnummer for bruk i Golfbox og Gimmie." + ), + }, + "om": { + "path": "/om", + "eyebrow": "FAQ / Om", + "title": "Hva TeeOff er, og hvorfor siden finnes", + "hero_image_url": "", + "intro_html": ( + "

Kortversjonen er fortsatt den samme: TeeOff bruker mye tid på å samle, rydde " + "og presentere norske golfanlegg på en ordentlig måte, slik at det blir lettere " + "å finne ut hvor man faktisk har lyst til å spille.

" + ), + "body_html": """ +
+

Hvorfor dette nettstedet?

+

TeeOff startet i 2015 fordi det var unødvendig vanskelig å finne ut hvilke golfbaner som ligger hvor, hva de tilbyr, og hvilken bane som faktisk passer til turen du vurderer å ta. Ambisjonen var enkel: samle norske golfanlegg på ett sted og gjøre dem lettere å finne, forstå og sammenligne.

+

Kjernen er den samme i dag: kjærlighet til golf, lysten til å vise hvor bra det er å spille i Norge, og behovet for en oversikt som faktisk er nyttig for greenfeespillere, klubbfolk og andre som vil oppdage nye baner.

+

TeeOff er ikke laget for å erstatte klubbenes egne nettsider. Målet er å gjøre klubbene enklere å finne, og å gjøre terskelen lavere for å dra og spille et nytt sted.

+
+
+

Hvilken informasjon finnes om banene?

+
    +
  • adresse og plassering på kart
  • +
  • bilder og video når det finnes
  • +
  • kontaktinformasjon, hjemmeside og sosiale medier
  • +
  • banestatus, vær, flyfoto og turneringslenker
  • +
  • banebeskrivelse og praktisk info om fasiliteter
  • +
  • head pro, greenfee, medlemskap og Veien til Golf
  • +
  • scorekort, slope og annen nyttig banedata
  • +
  • redaksjonelt innhold som banebesøk og meninger når det finnes
  • +
+
+
+

Hvor kommer informasjonen fra?

+

Innholdet hentes fra klubbenes egne nettsider, Golfbox, Shotzoom, sosiale medier, direkte kontakt med klubbene og i noen tilfeller egne besøk og manuell research.

+

Ambisjonen er at informasjonen skal være korrekt, oppdatert og praktisk anvendelig. Når noe endrer seg, er TeeOff avhengig av gode kilder og raske tilbakemeldinger. Oppdager du feil, er det derfor bare å si fra.

+
+
+

Hvem holder TeeOff oppdatert?

+

TeeOff bygger videre på et mangeårig arbeid med å samle og rydde informasjon om norske golfanlegg. Den nye løsningen er laget for å gjøre det enklere å holde flere typer klubbdata oppdatert enn tidligere.

+

Har du informasjon som bør endres, bilder som bør brukes, eller tips til innhold, kan du sende det inn via kontaktsiden.

+
+
+

Hvordan bytte toppbildet på en klubbside?

+

Hvis du representerer en klubb og vil bytte hovedbildet som presenterer banen, er det bare å ta kontakt og sende over et godt bilde i bredt format. Fotograf krediteres når informasjonen følger med.

+
+
+

Koster dette noe?

+

TeeOff er gratis å bruke for både golfspillere og klubber. Det ligger mye arbeid bak å samle, rydde og presentere informasjonen, men selve synligheten på TeeOff er ikke låst bak betaling.

+
+
+

Drukner klubbene i spam hvis e-postadressen vises?

+

Nei, det er ikke meningen. Kontaktinformasjon publiseres fordi den skal være nyttig for vanlige mennesker, samtidig som løsningene rundt kontaktsiden og systemet er laget for å redusere automatisert misbruk og spam.

+
+
+

Hva betyr TeeOff for klubbene egentlig?

+

Bruksmønsteret har lenge vært ganske tydelig: mange bruker TeeOff når de faktisk vurderer å dra og spille. De sammenligner anlegg, ser på praktisk informasjon, sjekker kart, turneringer og detaljer før de bestemmer seg.

+

Det er den viktigste verdien TeeOff kan gi klubbene også i dag: gjøre det lettere for flere å oppdage nye golfanlegg, finne relevant informasjon og komme seg ut på banen.

+
+
+

Sporing og analyse

+

TeeOff bruker analyseverktøy for å forstå hvilke sider som brukes, hvordan besøkende navigerer og hva som bør forbedres. I dag skjer dette med Matomo.

+

Hvis du vil vite mer om personvern, cookies og analyse, finnes det en egen side for dette.

+

Les om personvern og cookies

+
+
+

Turneringer, kurs og andre tilbud

+

Klubber har ofte behov for å løfte frem turneringer, VTG-kurs og andre tilbud. TeeOff har derfor egne flater for dette, og slike ting kan også løftes frem sammen med den enkelte klubbprofilen.

+

Se turneringer
Se Veien til Golf
Kontakt TeeOff

+
+""".strip(), + "meta_title": "FAQ / Om TeeOff", + "meta_description": ( + "Hvorfor TeeOff finnes, hvilken informasjon som samles om norske golfanlegg, " + "og hvordan siden brukes av både golfspillere og klubber." + ), + }, + "personvern-og-cookies": { + "path": "/personvern-og-cookies", + "eyebrow": "Personvern", + "title": "Personvern og cookies", + "hero_image_url": "", + "intro_html": ( + "

Denne siden forklarer kort hvilke opplysninger TeeOff behandler, hvorfor vi " + "gjør det, og hvordan cookies brukes på nettsiden.

" + ), + "body_html": """ +
+

Hva vi lagrer

+

TeeOff lagrer i hovedsak opplysninger som er nødvendige for å vise klubbdata, publisere innhold og håndtere henvendelser fra brukere.

+

Hvis du bruker kontaktskjemaet, lagres opplysningene du selv sender inn for å kunne besvare henvendelsen. Hvis du kommenterer artikler eller bruker innloggingsfunksjoner, behandles de opplysningene som er nødvendige for å autentisere deg og vise innholdet.

+
+
+

Cookies

+

TeeOff bruker cookies til noen få, konkrete formål:

+
    +
  • innlogging og sesjonshåndtering for administratorer
  • +
  • innlogging for offentlige brukerfunksjoner som kommentarer
  • +
  • måling av trafikk og bruksmønstre via Matomo
  • +
+

Nødvendige cookies brukes for at nettsiden skal fungere. Analysecookies brukes for å forstå hvordan nettsiden brukes og forbedre innhold og funksjonalitet.

+
+
+

Analyse med Matomo

+

TeeOff bruker Matomo for å måle trafikk på nettsiden. Formålet er å forstå hvilke sider som brukes, hvordan besøkende navigerer og hvor innhold kan forbedres.

+

Matomo-instansen kjøres på analyse.envide.no. Admin-områdene spores ikke på samme måte som vanlige publikumssider.

+
+
+

Kontakt om personvern

+

Hvis du har spørsmål om personvern, cookies eller ønsker innsyn knyttet til opplysninger du har sendt inn, kan du bruke kontaktsiden eller sende e-post til teeoff@teeoff.no.

+
+""".strip(), + "meta_title": "Personvern og cookies", + "meta_description": ( + "Hvordan TeeOff behandler personopplysninger, bruker cookies og måleverktøy som Matomo." + ), + }, + "kontakt": { + "path": "/kontakt", + "eyebrow": "Kontakt", + "title": "Kontakt TeeOff", + "hero_image_url": "", + "intro_html": ( + "

Bruk skjemaet hvis du vil melde fra om feil i klubbdata, tips om artikler, " + "spørsmål om administrasjonstilgang eller andre henvendelser.

" + ), + "body_html": ( + "

Du kan bruke skjemaet under hvis du vil melde fra om feil i klubbdata, " + "sende redaksjonelle tips eller spørre om klubbkontoer og administrasjonstilgang.

" + ), + "meta_title": "Kontakt TeeOff", + "meta_description": ( + "Kontakt TeeOff for feil i klubbdata, redaksjonelle tips, klubbkontoer og andre henvendelser." + ), + }, +} + +VALID_SITE_PAGE_KEYS = set(SITE_PAGE_CONFIGS.keys()) + + +def load_legacy_site_page_article(slug: str) -> dict[str, Any] | None: + normalized_slug = str(slug or "").strip() + if not normalized_slug: + return None + + candidate_paths = [ + Path(__file__).resolve().parent.parent / "frontend" / "src" / "content" / "importedMeninger.json", + Path.cwd() / "frontend" / "src" / "content" / "importedMeninger.json", + ] + + for candidate_path in candidate_paths: + try: + if not candidate_path.exists(): + continue + payload = json.loads(candidate_path.read_text(encoding="utf-8")) + except Exception: + continue + + if not isinstance(payload, list): + continue + + for entry in payload: + if not isinstance(entry, dict): + continue + if str(entry.get("slug") or "").strip() == normalized_slug: + return entry + + return None + + +def build_default_site_page_row(page_key: str) -> dict[str, Any] | None: + normalized_key = str(page_key or "").strip().lower() + config = SITE_PAGE_CONFIGS.get(normalized_key) + if not config: + return None + + payload = { + "page_key": normalized_key, + "eyebrow": str(config.get("eyebrow") or ""), + "title": str(config.get("title") or ""), + "hero_image_url": str(config.get("hero_image_url") or ""), + "intro_html": str(config.get("intro_html") or ""), + "body_html": str(config.get("body_html") or ""), + "meta_title": str(config.get("meta_title") or ""), + "meta_description": str(config.get("meta_description") or ""), + "created_at": None, + "updated_at": None, + } + + legacy_slug = LEGACY_SITE_PAGE_ARTICLE_SLUGS.get(normalized_key) + if legacy_slug: + legacy_article = load_legacy_site_page_article(legacy_slug) + if legacy_article: + payload["title"] = str(legacy_article.get("title") or payload["title"]) + payload["body_html"] = str(legacy_article.get("contentHtml") or payload["body_html"]) + featured_image = legacy_article.get("featuredImage") if isinstance(legacy_article, dict) else None + if isinstance(featured_image, dict): + payload["hero_image_url"] = str( + featured_image.get("originalUrl") + or featured_image.get("url") + or payload["hero_image_url"] + ) + + return payload + + +def format_site_page_row(row): + if row is None: + return None + + d = dict(row) + + for key in ["created_at", "updated_at"]: + if isinstance(d.get(key), (date, datetime)): + d[key] = d[key].isoformat() + + d["page_key"] = str(d.get("page_key") or "") + d["eyebrow"] = str(d.get("eyebrow") or "") + d["title"] = str(d.get("title") or "") + d["hero_image_url"] = str(d.get("hero_image_url") or "") + d["intro_html"] = str(d.get("intro_html") or "") + d["body_html"] = str(d.get("body_html") or "") + d["meta_title"] = str(d.get("meta_title") or "") + d["meta_description"] = str(d.get("meta_description") or "") + return d + + def format_simulator_operator_row(row): if row is None: return None @@ -2487,6 +2829,59 @@ async def ensure_site_page_seo_table(conn): """) +async def ensure_site_pages_table(conn): + await conn.execute(""" + CREATE TABLE IF NOT EXISTS site_pages ( + page_key VARCHAR(255) PRIMARY KEY, + eyebrow TEXT, + title TEXT, + hero_image_url TEXT, + intro_html TEXT, + body_html TEXT, + meta_title TEXT, + meta_description TEXT, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() + ) + """) + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS eyebrow TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS title TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS hero_image_url TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS intro_html TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS body_html TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS meta_title TEXT") + await conn.execute("ALTER TABLE site_pages ADD COLUMN IF NOT EXISTS meta_description TEXT") + + for page_key in VALID_SITE_PAGE_KEYS: + default_row = build_default_site_page_row(page_key) + if not default_row: + continue + await conn.execute( + """ + INSERT INTO site_pages ( + page_key, + eyebrow, + title, + hero_image_url, + intro_html, + body_html, + meta_title, + meta_description + ) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8) + ON CONFLICT (page_key) DO NOTHING + """, + default_row["page_key"], + default_row["eyebrow"], + default_row["title"], + default_row["hero_image_url"], + default_row["intro_html"], + default_row["body_html"], + default_row["meta_title"], + default_row["meta_description"], + ) + + async def ensure_articles_table(conn): await conn.execute(""" CREATE TABLE IF NOT EXISTS articles ( @@ -2749,6 +3144,7 @@ async def lifespan(app: FastAPI): await ensure_vtg_course_tables(conn) await ensure_place_pages_table(conn) await ensure_site_page_seo_table(conn) + await ensure_site_pages_table(conn) await ensure_articles_table(conn) await ensure_public_user_tables(conn) await ensure_simulator_operator_tables(conn) @@ -3393,12 +3789,25 @@ async def get_facility_ratings(request: Request, slug: str): @app.put("/api/facilities/{slug}/ratings") async def upsert_facility_rating(request: Request, payload: FacilityRatingUpsertRequest, slug: str): viewer = await require_authenticated_public_user(request) + is_new_rating = False async with app.state.pool.acquire() as conn: facility = await get_published_facility_by_slug(conn, slug) if not facility: raise HTTPException(status_code=404, detail="Golfanlegget ble ikke funnet.") + existing_rating = await conn.fetchrow( + """ + SELECT 1 + FROM facility_ratings + WHERE facility_id = $1 AND user_id = $2 + LIMIT 1 + """, + int(facility["id"]), + int(viewer["id"]), + ) + is_new_rating = existing_rating is None + await conn.execute( """ INSERT INTO facility_ratings ( @@ -3426,6 +3835,33 @@ async def upsert_facility_rating(request: Request, payload: FacilityRatingUpsert int(viewer["id"]), ) + try: + facility_url = f"{build_public_base_url(request)}/golfbaner/{facility['slug']}" + summary = response_payload["summary"] + overall_rating = round( + (payload.quality_rating + payload.conditions_rating + payload.hospitality_rating) / 3, + 1, + ) + await send_facility_rating_notification_email( + facility_name=str(facility["name"] or facility["slug"]), + facility_url=facility_url, + reviewer_name=str(viewer.get("display_name") or viewer.get("full_name") or "TeeOff-leser"), + reviewer_email=(str(viewer.get("email")).strip() if viewer.get("email") else None), + quality_rating=payload.quality_rating, + conditions_rating=payload.conditions_rating, + hospitality_rating=payload.hospitality_rating, + overall_rating=overall_rating, + rating_count=int(summary["rating_count"] or 0), + quality_average=summary["quality_average"], + conditions_average=summary["conditions_average"], + hospitality_average=summary["hospitality_average"], + overall_average=summary["overall_average"], + is_new_rating=is_new_rating, + ip_hash=hash_request_ip(request), + ) + except Exception as exc: + print(f"Kunne ikke sende vurderingsvarsel: {exc}") + return { "detail": "Vurderingen er lagret.", "viewer": viewer, @@ -3901,6 +4337,38 @@ async def get_place_page(slug: str, response: Response): return payload +@app.get("/api/site-pages/{page_key}") +async def get_public_site_page(page_key: str, response: Response): + normalized_key = str(page_key or "").strip().lower() + if normalized_key not in VALID_SITE_PAGE_KEYS: + raise HTTPException(status_code=404, detail="Side ikke funnet.") + + site_page_cache: dict[str, tuple[float, Any]] = getattr(app.state, "public_site_page_cache", {}) + cached_payload = read_public_cache_entry(site_page_cache, normalized_key) + if cached_payload is not None: + apply_public_cache_headers(response, PUBLIC_SITE_PAGE_CACHE_TTL_SECONDS) + return cached_payload + + async with app.state.pool.acquire() as conn: + row = await conn.fetchrow( + "SELECT * FROM site_pages WHERE page_key = $1", + normalized_key, + ) + + payload = format_site_page_row(row) if row else build_default_site_page_row(normalized_key) + if payload is None: + raise HTTPException(status_code=404, detail="Side ikke funnet.") + + write_public_cache_entry( + site_page_cache, + normalized_key, + payload, + PUBLIC_SITE_PAGE_CACHE_TTL_SECONDS, + ) + apply_public_cache_headers(response, PUBLIC_SITE_PAGE_CACHE_TTL_SECONDS) + return payload + + VALID_SITE_PAGE_SEO_KEYS = {"golfbaner", "vtg", "medlemskap", "banebesok", "meninger", "simulatorer"} @@ -4100,6 +4568,76 @@ async def get_admin_place_page(slug: str): return format_place_page_row(row) +@app.get("/api/admin/site-pages/{page_key}") +async def get_admin_site_page(page_key: str): + normalized_key = str(page_key or "").strip().lower() + if normalized_key not in VALID_SITE_PAGE_KEYS: + raise HTTPException(status_code=404, detail="Side ikke funnet.") + + async with app.state.pool.acquire() as conn: + row = await conn.fetchrow( + "SELECT * FROM site_pages WHERE page_key = $1", + normalized_key, + ) + + payload = format_site_page_row(row) if row else build_default_site_page_row(normalized_key) + if payload is None: + raise HTTPException(status_code=404, detail="Side ikke funnet.") + return payload + + +@app.put("/api/admin/site-pages/{page_key}") +async def update_admin_site_page(page_key: str, request: SitePageUpsertRequest): + normalized_key = str(page_key or "").strip().lower() + if normalized_key not in VALID_SITE_PAGE_KEYS: + raise HTTPException(status_code=404, detail="Side ikke funnet.") + + async with app.state.pool.acquire() as conn: + row = await conn.fetchrow( + """ + INSERT INTO site_pages ( + page_key, + eyebrow, + title, + hero_image_url, + intro_html, + body_html, + meta_title, + meta_description + ) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8) + ON CONFLICT (page_key) DO UPDATE + SET eyebrow = EXCLUDED.eyebrow, + title = EXCLUDED.title, + hero_image_url = EXCLUDED.hero_image_url, + intro_html = EXCLUDED.intro_html, + body_html = EXCLUDED.body_html, + meta_title = EXCLUDED.meta_title, + meta_description = EXCLUDED.meta_description, + updated_at = NOW() + RETURNING * + """, + normalized_key, + normalize_optional_text(request.eyebrow), + normalize_optional_text(request.title), + normalize_optional_text(request.hero_image_url), + request.intro_html or "", + request.body_html or "", + normalize_optional_text(request.meta_title), + normalize_optional_text(request.meta_description), + ) + + config = SITE_PAGE_CONFIGS.get(normalized_key) or {} + path = str(config.get("path") or "").strip() + invalidate_public_api_caches(include_site_pages=True) + if path: + schedule_indexnow_submission( + collect_page_indexnow_urls([path]), + reason="admin site page upsert", + ) + return format_site_page_row(row) + + @app.put("/api/admin/place-pages/{slug}") async def update_admin_place_page(slug: str, request: PlacePageUpsertRequest): normalized_slug = str(slug or "").strip().lower() diff --git a/frontend/src/app/admin/page.tsx b/frontend/src/app/admin/page.tsx index d32ae97..d832220 100644 --- a/frontend/src/app/admin/page.tsx +++ b/frontend/src/app/admin/page.tsx @@ -1503,6 +1503,9 @@ export default function AdminDashboard() {
Innhold
+ + {isSidebarCollapsed ? 'Si' : 'Sider'} + {isSidebarCollapsed ? 'S' : 'Steder'} @@ -1555,6 +1558,12 @@ export default function AdminDashboard() { > Nytt anlegg + + Sider + ; + media_gallery?: Array<{ + type?: "image" | "video"; + src?: string; + alt?: string; + caption?: string; + }>; + updated_at?: string | null; +}; + +type ImageLibraryEntry = { + url: string; + source: "uploads" | "facility" | "article"; + title: string; + detail: string; + modified_at?: string | null; +}; + +const DEFAULT_PAGE_KEY = "golfbaner"; +const DEFAULT_SITE_PAGE_KEY = "turneringer"; +const DEFAULT_IMAGE_LIBRARY_SOURCE = "all"; + +const SITE_PAGE_OPTIONS = [ + { key: "golfbaner", label: "/golfbaner" }, + { key: "vtg", label: "/vtg" }, + { key: "medlemskap", label: "/medlemskap" }, + { key: "banebesok", label: "/banebesok" }, + { key: "meninger", label: "/meninger" }, + { key: "simulatorer", label: "/simulatorer (fremtidig)" }, +]; + +const SITE_PAGE_SEO_SUGGESTIONS: Record = { + golfbaner: { + title: "Alle norske golfbaner: Finn din neste runde på gress | TeeOff.no", + description: + "Planlegg din neste golfrunde. Se komplett oversikt over alle norske golfbaner med oppdatert banestatus, greenfee-priser og kart på TeeOff.no.", + }, + vtg: { + title: "Veien til Golf: Finn golfkurs for nybegynnere (VTG) | TeeOff.no", + description: + "Vil du begynne med golf? Finn komplett oversikt over Veien til Golf-kurs (VTG) i hele Norge. Se kursdatoer, priser og finn din nærmeste klubb på TeeOff.no!", + }, + medlemskap: { + title: "Billig golfmedlemskap? Finn og sammenlign priser på alle klubber | TeeOff.no", + description: + "Hvor er det billigst å være medlem? Sammenlign priser på golfmedlemskap med full spillerett eller rimelige nasjonale alternativ (fjernmedlemskap) i Norge på TeeOff.no.", + }, + banebesok: { + title: "Golfreiser og banebesøk: Erfaringer fra norske golfbaner | TeeOff.no", + description: + "Bli med på tur! Vi besøker Norges vakreste golfbaner og deler ærlige reiseskildringer, spektakulære bilder og nyttige tips. Finn inspirasjon til din neste golfreise her.", + }, + meninger: { + title: "Golfblogg: Meninger, humor og skråblikk på golf-Norge | TeeOff.no", + description: + "Fra frustrasjon over saktespill til gleden over en perfekt drive. Les TeeOffs egne artikler, kommentarer og ærlige skråblikk på livet som golfer i Norge.", + }, + simulatorer: { + title: "Golfsimulatorer i Norge", + description: + "Finn golfsimulatorer, indoor golf og simulatorsteder i Norge når TeeOffs simulatoroversikt lanseres.", + }, +}; + +const SITE_TEMPLATE_OPTIONS = [ + { key: "turneringer", label: "/turneringer", path: "/turneringer" }, + { key: "klubbnummer", label: "/klubbnummer", path: "/klubbnummer" }, + { key: "om", label: "/om", path: "/om" }, + { key: "personvern-og-cookies", label: "/personvern-og-cookies", path: "/personvern-og-cookies" }, + { key: "kontakt", label: "/kontakt", path: "/kontakt" }, +]; + +const SITE_TEMPLATE_SEO_SUGGESTIONS: Record = { + turneringer: { + title: "Golfturneringer i Norge: Oversikt og terminlister | TeeOff.no", + description: + "Vanskelig å finne frem i Golfbox? Vi samler terminlister for Narvesen Tour og regionale golfturneringer i hele Norge på ett sted. Finn din neste turnering her!", + }, + klubbnummer: { + title: "NGF Klubbnummer: Oversikt for Golfbox og Gimmie | TeeOff.no", + description: + "Hvilken klubb tilhører nummeret? Se komplett og sorterbar oversikt over alle norske golfklubber og deres NGF-klubbnummer for bruk i Golfbox og Gimmie.", + }, + om: { + title: "FAQ / Om TeeOff", + description: + "Hvorfor TeeOff finnes, hvilken informasjon som samles om norske golfanlegg, og hvordan siden brukes av både golfspillere og klubber.", + }, + "personvern-og-cookies": { + title: "Personvern og cookies", + description: + "Hvordan TeeOff behandler personopplysninger, bruker cookies og måleverktøy som Matomo.", + }, + kontakt: { + title: "Kontakt TeeOff", + description: + "Kontakt TeeOff for feil i klubbdata, redaksjonelle tips, klubbkontoer og andre henvendelser.", + }, +}; + +const formatDateTime = (value: string | null | undefined) => { + if (!value) return "Ikke lagret ennå"; + const date = new Date(value); + if (Number.isNaN(date.getTime())) return "Ukjent"; + return date.toLocaleString("nb-NO", { + day: "2-digit", + month: "2-digit", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + }); +}; + +const normalizeImageUrl = (value: unknown) => { + if (typeof value !== "string") return ""; + return value.trim(); +}; + +const extractGalleryImageUrls = (gallery: unknown): string[] => { + if (!Array.isArray(gallery)) return []; + + return gallery.flatMap((entry) => { + if (typeof entry === "string") { + const url = normalizeImageUrl(entry); + return url ? [url] : []; + } + + if (!entry || typeof entry !== "object") { + return []; + } + + const candidate = entry as Record; + const url = + normalizeImageUrl(candidate.src) || + normalizeImageUrl(candidate.url) || + normalizeImageUrl(candidate.image); + + return url ? [url] : []; + }); +}; + +export default function AdminPagesPage() { + const [selectedPageKey, setSelectedPageKey] = useState(DEFAULT_PAGE_KEY); + const [pageMetaTitle, setPageMetaTitle] = useState(""); + const [pageMetaDescription, setPageMetaDescription] = useState(""); + const [pageSeoUpdatedAt, setPageSeoUpdatedAt] = useState(null); + const [isLoadingPageSeo, setIsLoadingPageSeo] = useState(true); + const [isSavingPageSeo, setIsSavingPageSeo] = useState(false); + const [pageSeoFeedback, setPageSeoFeedback] = useState(""); + + const [selectedSitePageKey, setSelectedSitePageKey] = useState(DEFAULT_SITE_PAGE_KEY); + const [sitePageEyebrow, setSitePageEyebrow] = useState(""); + const [sitePageTitle, setSitePageTitle] = useState(""); + const [sitePageHeroImageUrl, setSitePageHeroImageUrl] = useState(""); + const [sitePageIntroHtml, setSitePageIntroHtml] = useState(""); + const [sitePageBodyHtml, setSitePageBodyHtml] = useState(""); + const [sitePageMetaTitle, setSitePageMetaTitle] = useState(""); + const [sitePageMetaDescription, setSitePageMetaDescription] = useState(""); + const [sitePageUpdatedAt, setSitePageUpdatedAt] = useState(null); + const [isLoadingSitePage, setIsLoadingSitePage] = useState(true); + const [isSavingSitePage, setIsSavingSitePage] = useState(false); + const [isUploadingSitePageHero, setIsUploadingSitePageHero] = useState(false); + const [sitePageFeedback, setSitePageFeedback] = useState(""); + const [imageLibrarySource, setImageLibrarySource] = useState< + "all" | "uploads" | "facility" | "article" + >( + DEFAULT_IMAGE_LIBRARY_SOURCE, + ); + const [imageLibrarySearch, setImageLibrarySearch] = useState(""); + const [imageLibrary, setImageLibrary] = useState([]); + const [isLoadingImageLibrary, setIsLoadingImageLibrary] = useState(true); + const sitePageHeroInputRef = useRef(null); + + const sitePageSuggestion = SITE_PAGE_SEO_SUGGESTIONS[selectedPageKey] || { + title: "", + description: "", + }; + const selectedSiteTemplate = SITE_TEMPLATE_OPTIONS.find((option) => option.key === selectedSitePageKey); + const siteTemplateSuggestion = SITE_TEMPLATE_SEO_SUGGESTIONS[selectedSitePageKey] || { + title: "", + description: "", + }; + const effectiveSitePageMetaTitle = sitePageMetaTitle.trim() || siteTemplateSuggestion.title; + const effectiveSitePageMetaDescription = + sitePageMetaDescription.trim() || siteTemplateSuggestion.description; + const visibleImageLibrary = useMemo(() => { + const query = imageLibrarySearch.trim().toLowerCase(); + + return imageLibrary.filter((entry) => { + if (imageLibrarySource !== "all" && entry.source !== imageLibrarySource) { + return false; + } + + if (!query) return true; + + return `${entry.title} ${entry.detail} ${entry.url}`.toLowerCase().includes(query); + }); + }, [imageLibrary, imageLibrarySearch, imageLibrarySource]); + + useEffect(() => { + const controller = new AbortController(); + + const loadPageSeo = async () => { + setIsLoadingPageSeo(true); + setPageSeoFeedback(""); + + try { + const response = await adminFetch(`${API_URL}/admin/page-seo/${selectedPageKey}`, { + credentials: "include", + signal: controller.signal, + }); + + if (!response.ok) { + throw new Error("Kunne ikke hente side-SEO."); + } + + const data = (await response.json()) as SitePageSeoResponse; + setPageMetaTitle(data.meta_title || ""); + setPageMetaDescription(data.meta_description || ""); + setPageSeoUpdatedAt(data.updated_at || null); + } catch (error) { + if (controller.signal.aborted) return; + setPageMetaTitle(""); + setPageMetaDescription(""); + setPageSeoUpdatedAt(null); + setPageSeoFeedback(error instanceof Error ? error.message : "Kunne ikke hente side-SEO."); + } finally { + if (!controller.signal.aborted) { + setIsLoadingPageSeo(false); + } + } + }; + + loadPageSeo(); + + return () => controller.abort(); + }, [selectedPageKey]); + + useEffect(() => { + const controller = new AbortController(); + + const loadSitePage = async () => { + setIsLoadingSitePage(true); + setSitePageFeedback(""); + + try { + const response = await adminFetch(`${API_URL}/admin/site-pages/${selectedSitePageKey}`, { + credentials: "include", + signal: controller.signal, + }); + + if (!response.ok) { + throw new Error("Kunne ikke hente sidemalen."); + } + + const data = (await response.json()) as SitePageResponse; + setSitePageEyebrow(data.eyebrow || ""); + setSitePageTitle(data.title || ""); + setSitePageHeroImageUrl(data.hero_image_url || ""); + setSitePageIntroHtml(data.intro_html || ""); + setSitePageBodyHtml(data.body_html || ""); + setSitePageMetaTitle(data.meta_title || ""); + setSitePageMetaDescription(data.meta_description || ""); + setSitePageUpdatedAt(data.updated_at || null); + } catch (error) { + if (controller.signal.aborted) return; + setSitePageEyebrow(""); + setSitePageTitle(""); + setSitePageHeroImageUrl(""); + setSitePageIntroHtml(""); + setSitePageBodyHtml(""); + setSitePageMetaTitle(""); + setSitePageMetaDescription(""); + setSitePageUpdatedAt(null); + setSitePageFeedback(error instanceof Error ? error.message : "Kunne ikke hente sidemalen."); + } finally { + if (!controller.signal.aborted) { + setIsLoadingSitePage(false); + } + } + }; + + loadSitePage(); + + return () => controller.abort(); + }, [selectedSitePageKey]); + + useEffect(() => { + const controller = new AbortController(); + + const loadImageLibrary = async () => { + setIsLoadingImageLibrary(true); + + try { + const [uploadsResponse, facilitiesResponse, articlesResponse] = await Promise.all([ + adminFetch("/api/admin/uploads/images?folder=all&limit=240", { + credentials: "include", + signal: controller.signal, + }), + adminFetch(`${API_URL}/admin/facilities`, { + credentials: "include", + signal: controller.signal, + }), + adminFetch(`${API_URL}/admin/articles`, { + credentials: "include", + signal: controller.signal, + }), + ]); + + if (!uploadsResponse.ok || !facilitiesResponse.ok || !articlesResponse.ok) { + throw new Error("Kunne ikke hente bildebiblioteket."); + } + + const uploadsPayload = (await uploadsResponse.json()) as { images?: UploadImageEntry[] }; + const facilitiesPayload = (await facilitiesResponse.json()) as FacilityImageSource[]; + const articlesPayload = (await articlesResponse.json()) as ArticleImageSource[]; + const byUrl = new Map(); + + for (const image of Array.isArray(uploadsPayload.images) ? uploadsPayload.images : []) { + const url = normalizeImageUrl(image.url); + if (!url || byUrl.has(url)) continue; + + byUrl.set(url, { + url, + source: "uploads", + title: url.split("/").pop() || url, + detail: image.folder === "facilities" ? "Opplastet anleggsbilde" : "Opplastet artikkelbilde", + modified_at: image.modified_at || null, + }); + } + + for (const facility of Array.isArray(facilitiesPayload) ? facilitiesPayload : []) { + const facilityName = String(facility?.name || "").trim() || "Uten navn"; + const candidates: Array<{ url: string; detail: string }> = []; + const frontImageUrl = normalizeImageUrl(facility?.front_image_url); + const imageUrl = normalizeImageUrl(facility?.image_url); + + if (frontImageUrl) { + candidates.push({ url: frontImageUrl, detail: "Anlegg: toppbilde" }); + } + if (imageUrl) { + candidates.push({ url: imageUrl, detail: "Anlegg: hovedbilde" }); + } + + extractGalleryImageUrls(facility?.gallery).forEach((url, index) => { + candidates.push({ url, detail: `Anlegg: galleri ${index + 1}` }); + }); + + for (const candidate of candidates) { + if (!candidate.url || byUrl.has(candidate.url)) continue; + + byUrl.set(candidate.url, { + url: candidate.url, + source: "facility", + title: facilityName, + detail: candidate.detail, + }); + } + } + + for (const article of Array.isArray(articlesPayload) ? articlesPayload : []) { + const articleTitle = String(article?.title || "").trim() || "Uten tittel"; + const sectionLabel = article?.section === "meninger" ? "Mening" : "Banebesøk"; + const candidates: Array<{ url: string; detail: string }> = []; + + (Array.isArray(article?.hero_images) ? article.hero_images : []).forEach((image, index) => { + const url = normalizeImageUrl(image?.src); + if (!url) return; + candidates.push({ + url, + detail: `${sectionLabel}: hero-bilde${index > 0 ? ` ${index + 1}` : ""}`, + }); + }); + + (Array.isArray(article?.media_gallery) ? article.media_gallery : []).forEach((media, index) => { + if (media?.type !== "image") return; + const url = normalizeImageUrl(media?.src); + if (!url) return; + candidates.push({ + url, + detail: `${sectionLabel}: galleri ${index + 1}`, + }); + }); + + for (const candidate of candidates) { + if (!candidate.url || byUrl.has(candidate.url)) continue; + + byUrl.set(candidate.url, { + url: candidate.url, + source: "article", + title: articleTitle, + detail: candidate.detail, + modified_at: article.updated_at || null, + }); + } + } + + const nextImageLibrary = Array.from(byUrl.values()).sort((left, right) => { + const leftTime = left.modified_at ? Date.parse(left.modified_at) : 0; + const rightTime = right.modified_at ? Date.parse(right.modified_at) : 0; + if (leftTime !== rightTime) return rightTime - leftTime; + return left.title.localeCompare(right.title, "nb"); + }); + + if (!controller.signal.aborted) { + setImageLibrary(nextImageLibrary); + } + } catch { + if (!controller.signal.aborted) { + setImageLibrary([]); + } + } finally { + if (!controller.signal.aborted) { + setIsLoadingImageLibrary(false); + } + } + }; + + loadImageLibrary(); + + return () => controller.abort(); + }, []); + + const handleSavePageSeo = async () => { + setIsSavingPageSeo(true); + setPageSeoFeedback(""); + + try { + const response = await adminFetch(`${API_URL}/admin/page-seo/${selectedPageKey}`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + credentials: "include", + body: JSON.stringify({ + meta_title: pageMetaTitle, + meta_description: pageMetaDescription, + }), + }); + + if (!response.ok) { + throw new Error("Kunne ikke lagre side-SEO."); + } + + const data = (await response.json()) as SitePageSeoResponse; + setPageSeoUpdatedAt(data.updated_at || null); + setPageSeoFeedback("Lagret."); + } catch (error) { + setPageSeoFeedback(error instanceof Error ? error.message : "Kunne ikke lagre side-SEO."); + } finally { + setIsSavingPageSeo(false); + } + }; + + const uploadSitePageImage = async (file: File) => { + const payload = new FormData(); + payload.append("file", file); + + const response = await adminFetch("/api/admin/uploads/images", { + method: "POST", + body: payload, + credentials: "include", + }); + + if (!response.ok) { + const error = await response + .json() + .catch(() => ({ detail: "Kunne ikke laste opp bildet." })); + throw new Error(error.detail || "Kunne ikke laste opp bildet."); + } + + const result = (await response.json()) as { url?: string }; + if (!result.url) { + throw new Error("Uploaden returnerte ingen bildeadresse."); + } + + return result.url; + }; + + const handleSitePageHeroUpload = async (event: ChangeEvent) => { + const file = event.target.files?.[0]; + event.target.value = ""; + if (!file) return; + + setIsUploadingSitePageHero(true); + setSitePageFeedback(""); + + try { + const url = await uploadSitePageImage(file); + setSitePageHeroImageUrl(url); + setSitePageFeedback("Toppbildet ble lastet opp. Husk å lagre sidemalen."); + } catch (error) { + setSitePageFeedback(error instanceof Error ? error.message : "Kunne ikke laste opp bildet."); + } finally { + setIsUploadingSitePageHero(false); + } + }; + + const handleSaveSitePage = async () => { + setIsSavingSitePage(true); + setSitePageFeedback(""); + + try { + const response = await adminFetch(`${API_URL}/admin/site-pages/${selectedSitePageKey}`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + credentials: "include", + body: JSON.stringify({ + eyebrow: sitePageEyebrow, + title: sitePageTitle, + hero_image_url: sitePageHeroImageUrl, + intro_html: sitePageIntroHtml, + body_html: sitePageBodyHtml, + meta_title: sitePageMetaTitle, + meta_description: sitePageMetaDescription, + }), + }); + + if (!response.ok) { + throw new Error("Kunne ikke lagre sidemalen."); + } + + const data = (await response.json()) as SitePageResponse; + setSitePageUpdatedAt(data.updated_at || null); + setSitePageFeedback("Lagret."); + } catch (error) { + setSitePageFeedback(error instanceof Error ? error.message : "Kunne ikke lagre sidemalen."); + } finally { + setIsSavingSitePage(false); + } + }; + + return ( +
+ + +
+ + ← Tilbake til oversikten + +
+
+

Sider

+

Samlesider og faste sidemaler

+

+ Her redigerer du SEO for samlesidene og innholdet på de faste sidene som /turneringer, /klubbnummer, /om, /kontakt og /personvern-og-cookies. +

+
+
+ + Gå til sted-sider + +
+
+
+ +
+
+
+

Samlesider

+

SEO for samlesider

+

+ Overstyr meta title og meta description på de store landingssidene uten å endre H1 eller innholdstekst. +

+
+ +
+ +
+
+ + +
+

Aktiv side

+

+ {SITE_PAGE_OPTIONS.find((option) => option.key === selectedPageKey)?.label || selectedPageKey} +

+

+ Sist lagret: {formatDateTime(pageSeoUpdatedAt)} +

+ {pageSeoFeedback ? ( +

{pageSeoFeedback}

+ ) : null} +
+
+ +
+ {isLoadingPageSeo ? ( +
+ Laster side-SEO... +
+ ) : ( + + )} +
+
+
+ +
+
+
+

Sidemaler

+

Faste sider med hero og HTML-innhold

+

+ Disse sidene bruker samme mal med toppbilde, flytende overskrift og redigerbart HTML-innhold. Her vedlikeholder du blant annet /turneringer. +

+
+
+ + Åpne siden + + +
+
+ +
+
+ + +
+

Aktiv sidemal

+

{selectedSiteTemplate?.label || selectedSitePageKey}

+

+ Offentlig URL: {selectedSiteTemplate?.path || "/"} +

+
+
+

Gjeldende meta title

+

+ {effectiveSitePageMetaTitle || "Ikke tilgjengelig"} +

+
+
+

Gjeldende meta description

+

+ {effectiveSitePageMetaDescription || "Ikke tilgjengelig"} +

+
+
+ + {sitePageHeroImageUrl ? ( +
+ {sitePageTitle +
+ ) : null} + +

+ Sist lagret: {formatDateTime(sitePageUpdatedAt)} +

+ {sitePageFeedback ? ( +

{sitePageFeedback}

+ ) : null} +
+
+ +
+ {isLoadingSitePage ? ( +
+ Laster sidemal... +
+ ) : ( +
+ + +
+ + +
+ +
+
+
+

Toppbilde

+

+ Dette bildet fyller toppen av siden og får overskriften flytende over seg. +

+
+ +
+ + +
+
+
+

Eksisterende bilder

+

+ Velg blant eksisterende uploads, anleggsbilder og artikkelbilder som allerede brukes på TeeOff. +

+
+
+ + setImageLibrarySearch(event.target.value)} + placeholder="Søk på navn, kilde eller filnavn" + className="min-w-[14rem] rounded-[1rem] border border-[#112015]/10 bg-white px-4 py-3 text-sm text-[#112015] outline-none focus:border-[#8BC34A]" + /> +
+
+ + {isLoadingImageLibrary ? ( +
+ Laster bilder... +
+ ) : visibleImageLibrary.length === 0 ? ( +
+ Fant ingen bilder som matcher dette filteret. +
+ ) : ( +
+ {visibleImageLibrary.map((image) => { + const isSelected = sitePageHeroImageUrl === image.url; + return ( + + ); + })} +
+ )} +
+
+ + + +
+

Intro over innholdet

+

+ Dette vises over selve innholdskortet, oppå toppbildet sammen med overskriften. +

+
+ +
+
+ +
+

Hovedinnhold

+

+ HTML-innholdet som vises under toppbildet. Dette er feltet du bruker for å vedlikeholde for eksempel /turneringer. +

+
+ +
+
+
+ )} +
+
+
+
+ ); +} diff --git a/frontend/src/app/admin/steder/page.tsx b/frontend/src/app/admin/steder/page.tsx index eafe469..bf6be65 100644 --- a/frontend/src/app/admin/steder/page.tsx +++ b/frontend/src/app/admin/steder/page.tsx @@ -28,59 +28,7 @@ type PlacePageResponse = { updated_at?: string | null; }; -type SitePageSeoResponse = { - page_key: string; - meta_title?: string | null; - meta_description?: string | null; - updated_at?: string | null; -}; - const DEFAULT_PLACE_SLUG = "norge"; -const DEFAULT_PAGE_KEY = "golfbaner"; -const SITE_PAGE_OPTIONS = [ - { key: "golfbaner", label: "/golfbaner" }, - { key: "vtg", label: "/vtg" }, - { key: "medlemskap", label: "/medlemskap" }, - { key: "banebesok", label: "/banebesok" }, - { key: "meninger", label: "/meninger" }, - { key: "simulatorer", label: "/simulatorer (fremtidig)" }, -]; - -const SITE_PAGE_SEO_SUGGESTIONS: Record< - string, - { title: string; description: string } -> = { - golfbaner: { - title: "Alle norske golfbaner: Finn din neste runde på gress | TeeOff.no", - description: - "Planlegg din neste golfrunde. Se komplett oversikt over alle norske golfbaner med oppdatert banestatus, greenfee-priser og kart på TeeOff.no.", - }, - vtg: { - title: "Veien til Golf: Finn golfkurs for nybegynnere (VTG) | TeeOff.no", - description: - "Vil du begynne med golf? Finn komplett oversikt over Veien til Golf-kurs (VTG) i hele Norge. Se kursdatoer, priser og finn din nærmeste klubb på TeeOff.no!", - }, - medlemskap: { - title: "Billig golfmedlemskap? Finn og sammenlign priser på alle klubber | TeeOff.no", - description: - "Hvor er det billigst å være medlem? Sammenlign priser på golfmedlemskap med full spillerett eller rimelige nasjonale alternativ (fjernmedlemskap) i Norge på TeeOff.no.", - }, - banebesok: { - title: "Golfreiser og banebesøk: Erfaringer fra norske golfbaner | TeeOff.no", - description: - "Bli med på tur! Vi besøker Norges vakreste golfbaner og deler ærlige reiseskildringer, spektakulære bilder og nyttige tips. Finn inspirasjon til din neste golfreise her.", - }, - meninger: { - title: "Golfblogg: Meninger, humor og skråblikk på golf-Norge | TeeOff.no", - description: - "Fra frustrasjon over saktespill til gleden over en perfekt drive. Les TeeOffs egne artikler, kommentarer og ærlige skråblikk på livet som golfer i Norge.", - }, - simulatorer: { - title: "Golfsimulatorer i Norge", - description: - "Finn golfsimulatorer, indoor golf og simulatorsteder i Norge når TeeOffs simulatoroversikt lanseres.", - }, -}; const formatDateTime = (value: string | null | undefined) => { if (!value) return "Ikke lagret ennå"; @@ -105,13 +53,6 @@ export default function AdminPlacePagesPage() { const [isSaving, setIsSaving] = useState(false); const [feedback, setFeedback] = useState(""); const [placeFacilities, setPlaceFacilities] = useState([]); - const [selectedPageKey, setSelectedPageKey] = useState(DEFAULT_PAGE_KEY); - const [pageMetaTitle, setPageMetaTitle] = useState(""); - const [pageMetaDescription, setPageMetaDescription] = useState(""); - const [pageSeoUpdatedAt, setPageSeoUpdatedAt] = useState(null); - const [isLoadingPageSeo, setIsLoadingPageSeo] = useState(true); - const [isSavingPageSeo, setIsSavingPageSeo] = useState(false); - const [pageSeoFeedback, setPageSeoFeedback] = useState(""); const selectedPlace = getPlaceConfigFromSlug(selectedSlug); const selectedPlacePreposition = selectedPlace ? getPlacePreposition(selectedPlace.label) : "i"; @@ -134,10 +75,6 @@ export default function AdminPlacePagesPage() { : ""; const effectivePlaceMetaTitle = metaTitle.trim() || placeSuggestedTitle; const effectivePlaceMetaDescription = metaDescription.trim() || placeSuggestedDescription; - const sitePageSuggestion = SITE_PAGE_SEO_SUGGESTIONS[selectedPageKey] || { - title: "", - description: "", - }; useEffect(() => { const controller = new AbortController(); @@ -210,45 +147,6 @@ export default function AdminPlacePagesPage() { return () => controller.abort(); }, [selectedSlug]); - useEffect(() => { - const controller = new AbortController(); - - const loadPageSeo = async () => { - setIsLoadingPageSeo(true); - setPageSeoFeedback(""); - - try { - const response = await adminFetch(`${API_URL}/admin/page-seo/${selectedPageKey}`, { - credentials: "include", - signal: controller.signal, - }); - - if (!response.ok) { - throw new Error("Kunne ikke hente side-SEO."); - } - - const data = (await response.json()) as SitePageSeoResponse; - setPageMetaTitle(data.meta_title || ""); - setPageMetaDescription(data.meta_description || ""); - setPageSeoUpdatedAt(data.updated_at || null); - } catch (error) { - if (controller.signal.aborted) return; - setPageMetaTitle(""); - setPageMetaDescription(""); - setPageSeoUpdatedAt(null); - setPageSeoFeedback(error instanceof Error ? error.message : "Kunne ikke hente side-SEO."); - } finally { - if (!controller.signal.aborted) { - setIsLoadingPageSeo(false); - } - } - }; - - loadPageSeo(); - - return () => controller.abort(); - }, [selectedPageKey]); - const handleSave = async () => { setIsSaving(true); setFeedback(""); @@ -279,35 +177,6 @@ export default function AdminPlacePagesPage() { } }; - const handleSavePageSeo = async () => { - setIsSavingPageSeo(true); - setPageSeoFeedback(""); - - try { - const response = await adminFetch(`${API_URL}/admin/page-seo/${selectedPageKey}`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - credentials: "include", - body: JSON.stringify({ - meta_title: pageMetaTitle, - meta_description: pageMetaDescription, - }), - }); - - if (!response.ok) { - throw new Error("Kunne ikke lagre side-SEO."); - } - - const data = (await response.json()) as SitePageSeoResponse; - setPageSeoUpdatedAt(data.updated_at || null); - setPageSeoFeedback("Lagret."); - } catch (error) { - setPageSeoFeedback(error instanceof Error ? error.message : "Kunne ikke lagre side-SEO."); - } finally { - setIsSavingPageSeo(false); - } - }; - return (
@@ -321,10 +190,13 @@ export default function AdminPlacePagesPage() {

Sted-sider

Rediger innhold over faktaboksen

- Dette innholdet vises over nøkkeltall-/faktaboksen på `/sted/[slug]`. + Dette innholdet vises over nøkkeltall-/faktaboksen på /sted/[slug].

+ + Sider + Åpne sted-siden @@ -418,76 +290,6 @@ export default function AdminPlacePagesPage() {
- -
-
-
-

Samlesider

-

SEO for samlesider

-

- Her kan du overstyre meta title og meta description på de store landingssidene uten å endre H1 eller innholdstekst. -

-
- -
- -
-
- - -
-

Aktiv side

-

{SITE_PAGE_OPTIONS.find((option) => option.key === selectedPageKey)?.label || selectedPageKey}

-

- Sist lagret: {formatDateTime(pageSeoUpdatedAt)} -

- {pageSeoFeedback ? ( -

{pageSeoFeedback}

- ) : null} -
-
- -
- {isLoadingPageSeo ? ( -
- Laster side-SEO... -
- ) : ( - - )} -
-
-
); } diff --git a/frontend/src/app/api/admin/uploads/images/route.ts b/frontend/src/app/api/admin/uploads/images/route.ts index 7475e46..f6fa276 100644 --- a/frontend/src/app/api/admin/uploads/images/route.ts +++ b/frontend/src/app/api/admin/uploads/images/route.ts @@ -1,4 +1,4 @@ -import { mkdir, writeFile } from "node:fs/promises"; +import { mkdir, readdir, stat, writeFile } from "node:fs/promises"; import path from "node:path"; import { randomUUID } from "node:crypto"; import sharp from "sharp"; @@ -17,11 +17,27 @@ const ALLOWED_MIME_TYPES = new Set([ export const runtime = "nodejs"; +type UploadFolder = "articles" | "facilities"; + +type UploadImageEntry = { + url: string; + folder: UploadFolder; + modified_at: string | null; +}; + function resolveUploadFolder(value: FormDataEntryValue | null) { const normalized = String(value || "articles").trim().toLowerCase(); return normalized === "facilities" ? "facilities" : "articles"; } +function resolveQueryUploadFolder(value: string | null) { + const normalized = String(value || "all").trim().toLowerCase(); + if (normalized === "articles" || normalized === "facilities") { + return normalized as UploadFolder; + } + return "all"; +} + function sanitizeFilenameStem(filename: string) { const stem = path.parse(filename).name; const normalized = stem @@ -34,6 +50,80 @@ function sanitizeFilenameStem(filename: string) { return normalized || "image"; } +async function collectUploadsFromFolder(folder: UploadFolder): Promise { + const directory = path.join(process.cwd(), "public", "uploads", folder); + + const walk = async (currentDirectory: string): Promise => { + let entries; + try { + entries = await readdir(currentDirectory, { withFileTypes: true }); + } catch { + return []; + } + + const collected = await Promise.all( + entries.map(async (entry) => { + const absolutePath = path.join(currentDirectory, entry.name); + if (entry.isDirectory()) { + return await walk(absolutePath); + } + if (!entry.isFile()) { + return []; + } + + const extension = path.extname(entry.name).toLowerCase(); + if (![".avif", ".jpg", ".jpeg", ".png", ".webp", ".gif", ".tiff"].includes(extension)) { + return []; + } + + const relativePath = path.relative(path.join(process.cwd(), "public"), absolutePath); + const stats = await stat(absolutePath).catch(() => null); + return [ + { + url: `/${relativePath.replaceAll(path.sep, "/")}`, + folder, + modified_at: stats?.mtime ? stats.mtime.toISOString() : null, + }, + ]; + }), + ); + + return collected.flat(); + }; + + return await walk(directory); +} + +export async function GET(request: Request) { + const cookieStore = await cookies(); + if (!cookieStore.get("admin_session")) { + return NextResponse.json({ detail: "Admin-innlogging kreves" }, { status: 401 }); + } + + const { searchParams } = new URL(request.url); + const folder = resolveQueryUploadFolder(searchParams.get("folder")); + const limitRaw = Number(searchParams.get("limit") || "120"); + const limit = Number.isFinite(limitRaw) ? Math.max(1, Math.min(300, Math.trunc(limitRaw))) : 120; + + const folders: UploadFolder[] = + folder === "all" ? ["articles", "facilities"] : [folder]; + + const images = ( + await Promise.all(folders.map((currentFolder) => collectUploadsFromFolder(currentFolder))) + ) + .flat() + .sort((left, right) => { + const leftTime = left.modified_at ? Date.parse(left.modified_at) : 0; + const rightTime = right.modified_at ? Date.parse(right.modified_at) : 0; + return rightTime - leftTime; + }) + .slice(0, limit); + + return NextResponse.json({ + images, + }); +} + export async function POST(request: Request) { const cookieStore = await cookies(); if (!cookieStore.get("admin_session")) { diff --git a/frontend/src/app/klubbnummer/page.tsx b/frontend/src/app/klubbnummer/page.tsx index 8a1c15b..17c35ce 100644 --- a/frontend/src/app/klubbnummer/page.tsx +++ b/frontend/src/app/klubbnummer/page.tsx @@ -1,32 +1,47 @@ import type { FacilityRecord } from "@/app/facilityData"; import { fetchPublicFacilities } from "@/app/publicFacilities"; -import InfoPageShell from "@/components/InfoPageShell"; import ClubNumbersTable from "@/components/ClubNumbersTable"; +import SitePageTemplate from "@/components/SitePageTemplate"; +import { fetchSitePage } from "@/app/sitePages"; import { createBreadcrumbJsonLd, createCollectionPageJsonLd, createPageMetadata, } from "@/app/seo"; -const pageTitle = "NGF Klubbnummer: Oversikt for Golfbox og Gimmie | TeeOff.no"; -const pageDescription = +const pageKey = "klubbnummer"; +const fallbackVisibleTitle = "Klubbnummer i Golfbox"; +const fallbackIntro = + "

I booking-vinduet i Golfbox (eller Gimmie) er det ofte vanskelig å se hvilken klubb spillere er fra. Om du ønsker kan du da bruke denne tabellen som oppslagsverk.

"; +const fallbackMetaTitle = "NGF Klubbnummer: Oversikt for Golfbox og Gimmie | TeeOff.no"; +const fallbackMetaDescription = "Hvilken klubb tilhører nummeret? Se komplett og sorterbar oversikt over alle norske golfklubber og deres NGF-klubbnummer for bruk i Golfbox og Gimmie."; -export const metadata = createPageMetadata({ - title: pageTitle, - description: pageDescription, - path: "/klubbnummer", -}); - export const revalidate = 3600; export const dynamic = "force-dynamic"; +export async function generateMetadata() { + const page = await fetchSitePage(pageKey); + return createPageMetadata({ + title: page?.meta_title?.trim() || fallbackMetaTitle, + description: page?.meta_description?.trim() || fallbackMetaDescription, + path: "/klubbnummer", + image: page?.hero_image_url, + }); +} + export default async function ClubNumbersPage() { const facilities = await fetchPublicFacilities("clubnumbers", revalidate); + const page = await fetchSitePage(pageKey); + const title = page?.title?.trim() || fallbackVisibleTitle; + const introHtml = page?.intro_html?.trim() || fallbackIntro; + const bodyHtml = page?.body_html?.trim() || ""; + const metaTitle = page?.meta_title?.trim() || fallbackMetaTitle; + const metaDescription = page?.meta_description?.trim() || fallbackMetaDescription; const collectionJsonLd = createCollectionPageJsonLd({ - name: pageTitle, - description: pageDescription, + name: metaTitle, + description: metaDescription, path: "/klubbnummer", }); const breadcrumbJsonLd = createBreadcrumbJsonLd([ @@ -44,13 +59,15 @@ export default async function ClubNumbersPage() { type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbJsonLd) }} /> - - + ); } diff --git a/frontend/src/app/kontakt/page.tsx b/frontend/src/app/kontakt/page.tsx index c5f1166..3256d09 100644 --- a/frontend/src/app/kontakt/page.tsx +++ b/frontend/src/app/kontakt/page.tsx @@ -1,13 +1,18 @@ import ContactForm from "@/components/ContactForm"; -import InfoPageShell from "@/components/InfoPageShell"; +import SitePageTemplate from "@/components/SitePageTemplate"; +import { fetchSitePage } from "@/app/sitePages"; import { createBreadcrumbJsonLd, createCollectionPageJsonLd, createPageMetadata, } from "@/app/seo"; -const pageTitle = "Kontakt TeeOff"; -const pageDescription = +const pageKey = "kontakt"; +const fallbackVisibleTitle = "Kontakt TeeOff"; +const fallbackIntro = + "

Bruk skjemaet hvis du vil melde fra om feil i klubbdata, tips om artikler, spørsmål om administrasjonstilgang eller andre henvendelser.

"; +const fallbackMetaTitle = "Kontakt TeeOff"; +const fallbackMetaDescription = "Kontakt TeeOff for feil i klubbdata, redaksjonelle tips, klubbkontoer og andre henvendelser."; const contactCards = [ @@ -28,23 +33,35 @@ const contactCards = [ }, ]; -export const metadata = createPageMetadata({ - title: pageTitle, - description: pageDescription, - path: "/kontakt", -}); +export const dynamic = "force-dynamic"; + +export async function generateMetadata() { + const page = await fetchSitePage(pageKey); + return createPageMetadata({ + title: page?.meta_title?.trim() || fallbackMetaTitle, + description: page?.meta_description?.trim() || fallbackMetaDescription, + path: "/kontakt", + image: page?.hero_image_url, + }); +} export default async function ContactPage({ searchParams, }: { searchParams?: Promise<{ topic?: string; message?: string }>; }) { + const page = await fetchSitePage(pageKey); const params = (await searchParams) || {}; const initialTopic = typeof params.topic === "string" ? params.topic : undefined; const initialMessage = typeof params.message === "string" ? params.message : undefined; + const title = page?.title?.trim() || fallbackVisibleTitle; + const introHtml = page?.intro_html?.trim() || fallbackIntro; + const bodyHtml = page?.body_html?.trim() || ""; + const metaTitle = page?.meta_title?.trim() || fallbackMetaTitle; + const metaDescription = page?.meta_description?.trim() || fallbackMetaDescription; const collectionJsonLd = createCollectionPageJsonLd({ - name: pageTitle, - description: pageDescription, + name: metaTitle, + description: metaDescription, path: "/kontakt", }); const breadcrumbJsonLd = createBreadcrumbJsonLd([ @@ -62,10 +79,12 @@ export default async function ContactPage({ type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbJsonLd) }} /> -
@@ -111,7 +130,7 @@ export default async function ContactPage({
- + ); } diff --git a/frontend/src/app/om/page.tsx b/frontend/src/app/om/page.tsx index 0d85024..ce83f9d 100644 --- a/frontend/src/app/om/page.tsx +++ b/frontend/src/app/om/page.tsx @@ -1,107 +1,41 @@ -import Link from "next/link"; -import InfoPageShell from "@/components/InfoPageShell"; +import SitePageTemplate from "@/components/SitePageTemplate"; +import { fetchSitePage } from "@/app/sitePages"; import { createBreadcrumbJsonLd, createCollectionPageJsonLd, createPageMetadata, } from "@/app/seo"; -const pageTitle = "FAQ / Om TeeOff"; -const pageDescription = +const pageKey = "om"; +const fallbackVisibleTitle = "Hva TeeOff er, og hvorfor siden finnes"; +const fallbackIntro = + "

Kortversjonen er fortsatt den samme: TeeOff bruker mye tid på å samle, rydde og presentere norske golfanlegg på en ordentlig måte, slik at det blir lettere å finne ut hvor man faktisk har lyst til å spille.

"; +const fallbackMetaTitle = "FAQ / Om TeeOff"; +const fallbackMetaDescription = "Hvorfor TeeOff finnes, hvilken informasjon som samles om norske golfanlegg, og hvordan siden brukes av både golfspillere og klubber."; +export const dynamic = "force-dynamic"; -const sections = [ - { - title: "Hvorfor dette nettstedet?", - body: [ - "TeeOff startet i 2015 fordi det var unødvendig vanskelig å finne ut hvilke golfbaner som ligger hvor, hva de tilbyr, og hvilken bane som faktisk passer til turen du vurderer å ta. Ambisjonen var enkel: samle norske golfanlegg på ett sted og gjøre dem lettere å finne, forstå og sammenligne.", - "Kjernen er den samme i dag: kjærlighet til golf, lysten til å vise hvor bra det er å spille i Norge, og behovet for en oversikt som faktisk er nyttig for greenfeespillere, klubbfolk og andre som vil oppdage nye baner.", - "TeeOff er ikke laget for å erstatte klubbenes egne nettsider. Målet er å gjøre klubbene enklere å finne, og å gjøre terskelen lavere for å dra og spille et nytt sted.", - ], - }, - { - title: "Hvilken informasjon finnes om banene?", - items: [ - "adresse og plassering på kart", - "bilder og video når det finnes", - "kontaktinformasjon, hjemmeside og sosiale medier", - "banestatus, vær, flyfoto og turneringslenker", - "banebeskrivelse og praktisk info om fasiliteter", - "head pro, greenfee, medlemskap og Veien til Golf", - "scorekort, slope og annen nyttig banedata", - "redaksjonelt innhold som banebesøk og meninger når det finnes", - ], - }, - { - title: "Hvor kommer informasjonen fra?", - body: [ - "Innholdet hentes fra klubbenes egne nettsider, Golfbox, Shotzoom, sosiale medier, direkte kontakt med klubbene og i noen tilfeller egne besøk og manuell research.", - "Ambisjonen er at informasjonen skal være korrekt, oppdatert og praktisk anvendelig. Når noe endrer seg, er TeeOff avhengig av gode kilder og raske tilbakemeldinger. Oppdager du feil, er det derfor bare å si fra.", - ], - }, - { - title: "Hvem holder TeeOff oppdatert?", - body: [ - "TeeOff bygger videre på et mangeårig arbeid med å samle og rydde informasjon om norske golfanlegg. Den nye løsningen er laget for å gjøre det enklere å holde flere typer klubbdata oppdatert enn tidligere.", - "Har du informasjon som bør endres, bilder som bør brukes, eller tips til innhold, kan du sende det inn via kontaktsiden.", - ], - }, - { - title: "Hvordan bytte toppbildet på en klubbside?", - body: [ - "Hvis du representerer en klubb og vil bytte hovedbildet som presenterer banen, er det bare å ta kontakt og sende over et godt bilde i bredt format. Fotograf krediteres når informasjonen følger med.", - ], - }, - { - title: "Koster dette noe?", - body: [ - "TeeOff er gratis å bruke for både golfspillere og klubber. Det ligger mye arbeid bak å samle, rydde og presentere informasjonen, men selve synligheten på TeeOff er ikke låst bak betaling.", - ], - }, - { - title: "Drukner klubbene i spam hvis e-postadressen vises?", - body: [ - "Nei, det er ikke meningen. Kontaktinformasjon publiseres fordi den skal være nyttig for vanlige mennesker, samtidig som løsningene rundt kontaktsiden og systemet er laget for å redusere automatisert misbruk og spam.", - ], - }, - { - title: "Hva betyr TeeOff for klubbene egentlig?", - body: [ - "Bruksmønsteret har lenge vært ganske tydelig: mange bruker TeeOff når de faktisk vurderer å dra og spille. De sammenligner anlegg, ser på praktisk informasjon, sjekker kart, turneringer og detaljer før de bestemmer seg.", - "Det er den viktigste verdien TeeOff kan gi klubbene også i dag: gjøre det lettere for flere å oppdage nye golfanlegg, finne relevant informasjon og komme seg ut på banen.", - ], - }, - { - title: "Sporing og analyse", - body: [ - "TeeOff bruker analyseverktøy for å forstå hvilke sider som brukes, hvordan besøkende navigerer og hva som bør forbedres. I dag skjer dette med Matomo.", - "Hvis du vil vite mer om personvern, cookies og analyse, finnes det en egen side for dette.", - ], - cta: { href: "/personvern-og-cookies", label: "Les om personvern og cookies" }, - }, - { - title: "Turneringer, kurs og andre tilbud", - body: [ - "Klubber har ofte behov for å løfte frem turneringer, VTG-kurs og andre tilbud. TeeOff har derfor egne flater for dette, og slike ting kan også løftes frem sammen med den enkelte klubbprofilen.", - ], - links: [ - { href: "/turneringer", label: "Se turneringer" }, - { href: "/vtg", label: "Se Veien til Golf" }, - { href: "/kontakt", label: "Kontakt TeeOff" }, - ], - }, -]; +export async function generateMetadata() { + const page = await fetchSitePage(pageKey); + return createPageMetadata({ + title: page?.meta_title?.trim() || fallbackMetaTitle, + description: page?.meta_description?.trim() || fallbackMetaDescription, + path: "/om", + image: page?.hero_image_url, + }); +} -export const metadata = createPageMetadata({ - title: pageTitle, - description: pageDescription, - path: "/om", -}); +export default async function AboutPage() { + const page = await fetchSitePage(pageKey); + const title = page?.title?.trim() || fallbackVisibleTitle; + const introHtml = page?.intro_html?.trim() || fallbackIntro; + const bodyHtml = page?.body_html?.trim() || ""; + const metaTitle = page?.meta_title?.trim() || fallbackMetaTitle; + const metaDescription = page?.meta_description?.trim() || fallbackMetaDescription; -export default function AboutPage() { const collectionJsonLd = createCollectionPageJsonLd({ - name: pageTitle, - description: pageDescription, + name: metaTitle, + description: metaDescription, path: "/om", }); const breadcrumbJsonLd = createBreadcrumbJsonLd([ @@ -119,56 +53,13 @@ export default function AboutPage() { type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbJsonLd) }} /> - -
- {sections.map((section) => ( -
-

- FAQ -

-

{section.title}

- - {section.body ? ( -
- {section.body.map((paragraph) => ( -

{paragraph}

- ))} -
- ) : null} - - {section.items ? ( -
    - {section.items.map((item) => ( -
  • {item}
  • - ))} -
- ) : null} - - {section.cta ? ( -
- - {section.cta.label} - -
- ) : null} - - {section.links ? ( -
- {section.links.map((link) => ( - - {link.label} - - ))} -
- ) : null} -
- ))} -
-
+ ); } diff --git a/frontend/src/app/personvern-og-cookies/page.tsx b/frontend/src/app/personvern-og-cookies/page.tsx index d68a1ce..c2ebac7 100644 --- a/frontend/src/app/personvern-og-cookies/page.tsx +++ b/frontend/src/app/personvern-og-cookies/page.tsx @@ -1,24 +1,42 @@ -import InfoPageShell from "@/components/InfoPageShell"; +import SitePageTemplate from "@/components/SitePageTemplate"; +import { fetchSitePage } from "@/app/sitePages"; import { createBreadcrumbJsonLd, createCollectionPageJsonLd, createPageMetadata, } from "@/app/seo"; -const pageTitle = "Personvern og cookies"; -const pageDescription = +const pageKey = "personvern-og-cookies"; +const fallbackVisibleTitle = "Personvern og cookies"; +const fallbackIntro = + "

Denne siden forklarer kort hvilke opplysninger TeeOff behandler, hvorfor vi gjør det, og hvordan cookies brukes på nettsiden.

"; +const fallbackMetaTitle = "Personvern og cookies"; +const fallbackMetaDescription = "Hvordan TeeOff behandler personopplysninger, bruker cookies og måleverktøy som Matomo."; -export const metadata = createPageMetadata({ - title: pageTitle, - description: pageDescription, - path: "/personvern-og-cookies", -}); +export const dynamic = "force-dynamic"; + +export async function generateMetadata() { + const page = await fetchSitePage(pageKey); + return createPageMetadata({ + title: page?.meta_title?.trim() || fallbackMetaTitle, + description: page?.meta_description?.trim() || fallbackMetaDescription, + path: "/personvern-og-cookies", + image: page?.hero_image_url, + }); +} + +export default async function PrivacyAndCookiesPage() { + const page = await fetchSitePage(pageKey); + const title = page?.title?.trim() || fallbackVisibleTitle; + const introHtml = page?.intro_html?.trim() || fallbackIntro; + const bodyHtml = page?.body_html?.trim() || ""; + const metaTitle = page?.meta_title?.trim() || fallbackMetaTitle; + const metaDescription = page?.meta_description?.trim() || fallbackMetaDescription; -export default function PrivacyAndCookiesPage() { const collectionJsonLd = createCollectionPageJsonLd({ - name: pageTitle, - description: pageDescription, + name: metaTitle, + description: metaDescription, path: "/personvern-og-cookies", }); const breadcrumbJsonLd = createBreadcrumbJsonLd([ @@ -36,70 +54,13 @@ export default function PrivacyAndCookiesPage() { type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbJsonLd) }} /> - - -
-
-

Hva vi lagrer

-
-

- TeeOff lagrer i hovedsak opplysninger som er nødvendige for å vise klubbdata, - publisere innhold og håndtere henvendelser fra brukere. -

-

- Hvis du bruker kontaktskjemaet, lagres opplysningene du selv sender inn for å kunne - besvare henvendelsen. Hvis du kommenterer artikler eller bruker innloggingsfunksjoner, - behandles de opplysningene som er nødvendige for å autentisere deg og vise innholdet. -

-
-
- -
-

Cookies

-
-

TeeOff bruker cookies til noen få, konkrete formål:

-
    -
  • innlogging og sesjonshåndtering for administratorer
  • -
  • innlogging for offentlige brukerfunksjoner som kommentarer
  • -
  • måling av trafikk og bruksmønstre via Matomo
  • -
-

- Nødvendige cookies brukes for at nettsiden skal fungere. Analysecookies brukes for å - forstå hvordan nettsiden brukes og forbedre innhold og funksjonalitet. -

-
-
- -
-

Analyse med Matomo

-
-

- TeeOff bruker Matomo for å måle trafikk på nettsiden. Formålet er å forstå hvilke - sider som brukes, hvordan besøkende navigerer og hvor innhold kan forbedres. -

-

- Matomo-instansen kjøres på analyse.envide.no. Admin-områdene spores - ikke på samme måte som vanlige publikumssider. -

-
-
- -
-

Kontakt om personvern

-
-

- Hvis du har spørsmål om personvern, cookies eller ønsker innsyn knyttet til opplysninger - du har sendt inn, kan du bruke kontaktsiden eller sende e-post til{" "} - teeoff@teeoff.no. -

-
-
-
-
+ ); } diff --git a/frontend/src/app/sitePages.ts b/frontend/src/app/sitePages.ts new file mode 100644 index 0000000..a3360c0 --- /dev/null +++ b/frontend/src/app/sitePages.ts @@ -0,0 +1,25 @@ +import { cache } from "react"; +import { API_URL } from "@/config/constants"; + +export type SitePageRecord = { + page_key: string; + eyebrow?: string | null; + title?: string | null; + hero_image_url?: string | null; + intro_html?: string | null; + body_html?: string | null; + meta_title?: string | null; + meta_description?: string | null; + created_at?: string | null; + updated_at?: string | null; +}; + +export const fetchSitePage = cache(async (pageKey: string): Promise => { + try { + const response = await fetch(`${API_URL}/site-pages/${pageKey}`, { cache: "no-store" }); + if (!response.ok) return null; + return (await response.json()) as SitePageRecord; + } catch { + return null; + } +}); diff --git a/frontend/src/app/sitemap.ts b/frontend/src/app/sitemap.ts index ea9a74f..0bb6ff9 100755 --- a/frontend/src/app/sitemap.ts +++ b/frontend/src/app/sitemap.ts @@ -20,12 +20,17 @@ type PlacePageRecord = { updated_at?: string | null; }; +type SitePageRecord = { + updated_at?: string | null; +}; + type StaticRouteConfig = { path: string; changeFrequency: "daily" | "weekly" | "monthly"; priority: number; sourceFiles: string[]; sitePageKey?: string; + siteTemplateKey?: string; }; export const revalidate = 3600; @@ -78,30 +83,35 @@ const staticRouteConfigs: StaticRouteConfig[] = [ changeFrequency: "daily", priority: 0.68, sourceFiles: ["src/app/turneringer/page.tsx"], + siteTemplateKey: "turneringer", }, { path: "/klubbnummer", changeFrequency: "weekly", priority: 0.64, sourceFiles: ["src/app/klubbnummer/page.tsx"], + siteTemplateKey: "klubbnummer", }, { path: "/om", changeFrequency: "monthly", priority: 0.45, sourceFiles: ["src/app/om/page.tsx"], + siteTemplateKey: "om", }, { path: "/kontakt", changeFrequency: "monthly", priority: 0.42, sourceFiles: ["src/app/kontakt/page.tsx"], + siteTemplateKey: "kontakt", }, { path: "/personvern-og-cookies", changeFrequency: "monthly", priority: 0.38, sourceFiles: ["src/app/personvern-og-cookies/page.tsx"], + siteTemplateKey: "personvern-og-cookies", }, ]; @@ -164,6 +174,19 @@ async function fetchPlacePageUpdatedAt(slug: string) { } } +async function fetchSiteTemplateUpdatedAt(pageKey: string) { + try { + const response = await fetch(`${API_URL}/site-pages/${pageKey}`, { + next: { revalidate }, + }); + if (!response.ok) return null; + const data = (await response.json()) as SitePageRecord; + return parseDate(data.updated_at); + } catch { + return null; + } +} + export default async function sitemap(): Promise { let facilities: SitemapFacility[] = []; @@ -184,10 +207,17 @@ export default async function sitemap(): Promise { const sitePageUpdatedAt = route.sitePageKey ? await fetchSitePageSeoUpdatedAt(route.sitePageKey) : null; + const siteTemplateUpdatedAt = route.siteTemplateKey + ? await fetchSiteTemplateUpdatedAt(route.siteTemplateKey) + : null; return { url: buildAbsoluteUrl(route.path), lastModified: - maxDate([sitePageUpdatedAt, getSourceLastModified(route.sourceFiles)]) || new Date(), + maxDate([ + sitePageUpdatedAt, + siteTemplateUpdatedAt, + getSourceLastModified(route.sourceFiles), + ]) || new Date(), changeFrequency: route.changeFrequency, priority: route.priority, }; diff --git a/frontend/src/app/turneringer/page.tsx b/frontend/src/app/turneringer/page.tsx index 3bfb4ff..23a6a7e 100644 --- a/frontend/src/app/turneringer/page.tsx +++ b/frontend/src/app/turneringer/page.tsx @@ -1,7 +1,5 @@ -import { notFound } from "next/navigation"; -import CourseVisitGallery from "@/components/CourseVisitGallery"; -import InfoPageShell from "@/components/InfoPageShell"; -import { getOpinionArticleBySlug, type CourseVisitBodyBlock } from "@/content/courseVisits"; +import SitePageTemplate from "@/components/SitePageTemplate"; +import { fetchSitePage } from "@/app/sitePages"; import { createBreadcrumbJsonLd, createCollectionPageJsonLd, @@ -10,52 +8,38 @@ import { export const dynamic = "force-dynamic"; -const articleSlug = "note-to-self-lenker-til-viktige-turneringer-i-golfbox"; -const pageTitle = "Golfturneringer i Norge: Oversikt og terminlister | TeeOff.no"; -const pageDescription = - "Vanskelig å finne frem i Golfbox? Vi samler terminlister for Olyo Tour og regionale golfturneringer i hele Norge på ett sted. Finn din neste turnering her!"; -const pageIntro = "Her er alle turneringene vi ikke vet hvordan vi skal finne i Golfbox (og andre steder). God golfsesong!"; -function renderBlock(block: CourseVisitBodyBlock, index: number) { - if (block.type !== "richText") { - return null; - } - - return ( -
- {block.title ? ( -

{block.title}

- ) : null} -
-
- ); -} +const pageKey = "turneringer"; +const fallbackTitle = "Lenker til viktige turneringer i Golfbox"; +const fallbackMetaTitle = "Golfturneringer i Norge: Oversikt og terminlister | TeeOff.no"; +const fallbackMetaDescription = + "Vanskelig å finne frem i Golfbox? Vi samler terminlister for Narvesen Tour og regionale golfturneringer i hele Norge på ett sted. Finn din neste turnering her!"; +const fallbackIntro = + "

Her er alle turneringene vi ikke vet hvordan vi skal finne i Golfbox (og andre steder). God golfsesong!

"; export async function generateMetadata() { - const article = await getOpinionArticleBySlug(articleSlug); + const page = await fetchSitePage(pageKey); + const title = page?.meta_title?.trim() || fallbackMetaTitle; + const description = page?.meta_description?.trim() || fallbackMetaDescription; return createPageMetadata({ - title: pageTitle, - description: pageDescription, + title, + description, path: "/turneringer", - image: article?.heroImages[0]?.src, + image: page?.hero_image_url, }); } export default async function TournamentsPage() { - const article = await getOpinionArticleBySlug(articleSlug); - - if (!article) { - notFound(); - } + const page = await fetchSitePage(pageKey); + const visibleTitle = page?.title?.trim() || fallbackTitle; + const introHtml = page?.intro_html?.trim() || fallbackIntro; + const bodyHtml = page?.body_html?.trim() || ""; + const metaTitle = page?.meta_title?.trim() || fallbackMetaTitle; + const metaDescription = page?.meta_description?.trim() || fallbackMetaDescription; const collectionJsonLd = createCollectionPageJsonLd({ - name: pageTitle, - description: pageDescription, + name: metaTitle, + description: metaDescription, path: "/turneringer", }); const breadcrumbJsonLd = createBreadcrumbJsonLd([ @@ -73,30 +57,13 @@ export default async function TournamentsPage() { type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbJsonLd) }} /> - -
- - {article.blocks.map((block, index) => renderBlock(block, index))} - {article.mediaGallery.length > 1 ? ( -
-
-
-

- Galleri -

-

- Bilder og video -

-
-

- {article.mediaGallery.length} elementer -

-
- -
- ) : null} -
-
+ ); } diff --git a/frontend/src/components/AdminMobileMenu.tsx b/frontend/src/components/AdminMobileMenu.tsx index 44e2ae1..5ceccf2 100755 --- a/frontend/src/components/AdminMobileMenu.tsx +++ b/frontend/src/components/AdminMobileMenu.tsx @@ -16,6 +16,7 @@ const NAV_ITEMS = [ { href: '/admin/golfpakker', label: 'Golfpakker', match: (pathname: string) => pathname.startsWith('/admin/golfpakker') }, { href: '/admin/simulatorer', label: 'Simulatorer', match: (pathname: string) => pathname.startsWith('/admin/simulatorer') }, { href: '/admin/vtg', label: 'VTG', match: (pathname: string) => pathname.startsWith('/admin/vtg') }, + { href: '/admin/sider', label: 'Sider', match: (pathname: string) => pathname.startsWith('/admin/sider') }, { href: '/admin/steder', label: 'Steder', match: (pathname: string) => pathname.startsWith('/admin/steder') }, ]; diff --git a/frontend/src/components/SitePageTemplate.tsx b/frontend/src/components/SitePageTemplate.tsx new file mode 100644 index 0000000..1e46f15 --- /dev/null +++ b/frontend/src/components/SitePageTemplate.tsx @@ -0,0 +1,79 @@ +import type { ReactNode } from "react"; +import { FALLBACK_IMAGE } from "@/config/constants"; + +type SitePageTemplateProps = { + eyebrow: string; + title: string; + introHtml?: string | null; + heroImageUrl?: string | null; + bodyHtml?: string | null; + children?: ReactNode; +}; + +export default function SitePageTemplate({ + eyebrow: _eyebrow, + title, + introHtml, + heroImageUrl, + bodyHtml, + children, +}: SitePageTemplateProps) { + const normalizedTitle = String(title || "").trim(); + const normalizedIntro = String(introHtml || "").trim(); + const normalizedBody = String(bodyHtml || "").trim(); + const heroSrc = String(heroImageUrl || "").trim() || FALLBACK_IMAGE; + + return ( +
+
+
+ {normalizedTitle +
+
+ +
+
+
+

+ {normalizedTitle} +

+
+
+
+
+
+ +
+
+ {normalizedIntro ? ( +
+
+
+ ) : null} +
+
+ {normalizedBody ? ( +
+ ) : null} + {children ? ( +
+ {children} +
+ ) : null} +
+
+
+
+
+ ); +}