Skip to content

feat: add community Points of Interest showcase#156

Open
TheMeinerLP wants to merge 12 commits into
mainfrom
claude/community-poi-showcase-173OL
Open

feat: add community Points of Interest showcase#156
TheMeinerLP wants to merge 12 commits into
mainfrom
claude/community-poi-showcase-173OL

Conversation

@TheMeinerLP
Copy link
Copy Markdown
Collaborator

Adds a localised /community-poi overview and detail route so the community can present in-game build projects with status, goal vs. current state, builders, image gallery and Litematica schematic downloads. Each POI is a markdown file under content/community-poi with a typed schema; pages, composables and section components follow the existing types/composables/sections house pattern.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2

Overview

Fixes #{issue number}

Description

Submitter Checklist

  • Make sure you are opening from a topic branch (/feature/fix/docs/ branch (right side)) and not your main branch.
  • Ensure that the pull request title represents the desired changelog entry.
  • New public fields and methods are annotated with @since TODO.
  • I read and followed the contribution guidelines.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 20, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
launchpad 806d07f Commit Preview URL

Branch Preview URL
May 21 2026, 12:39 PM

claude added 12 commits May 21, 2026 12:29
Adds a localised /community-poi overview and detail route so the
community can present in-game build projects with status, goal vs.
current state, builders, image gallery and Litematica schematic
downloads. Each POI is a markdown file under content/community-poi
with a typed schema; pages, composables and section components follow
the existing types/composables/sections house pattern.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
…etup guide

Builds on the community POI showcase with the cross-linking and
authorship cues we were missing:

- Carousel now picks up POIs flagged `featured: true` and renders them
  via a new `poi` slide type that deep-links to the detail page.
- POIs gain a `category` (team / community / collab) with a coloured
  badge on card and detail, so visitors can tell at a glance who built
  what.
- Optional `lore` frontmatter renders as a styled callout for POIs
  with a backstory; POIs without one simply skip the section.
- Each schematic can carry an `origin`, `facing` and `setupNotes` so
  the placement guide shows up directly next to the download button,
  paired with a reusable Litematica install / usage FAQ accordion.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
…eMap

- Each schematic can now declare a Litematica mod version
  (`litematicaVersion`) alongside the existing Minecraft version, so
  builders pick the exact mod release the file was authored with.
  The version surfaces next to MC version and download, and a new FAQ
  entry explains why sticking to it matters.
- New CommunityPoiBluemap section renders a coordinate-anchored
  "Open on BlueMap" button (built with `useBluemapDeepLink`, with
  dimension-aware map IDs that can be overridden via runtime config)
  and a togglable mini-preview that lazy-loads the BlueMap iframe at
  the POI's position — never auto-loaded so we don't ship a heavy
  third-party iframe by default.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
…X, brand colors, B3nNy POIs

Litematica & FAQ:
- Prominent server-rule callout above the FAQ: Litematica is allowed
  as blueprint only; auto-place / easy-place leads to a permanent ban.
- FAQ entries now support optional `links[]` and ship with Modrinth
  links for Litematica, MaLiLib, Fabric, and the Litematica version
  archive. Added a dedicated auto-place FAQ entry.

Schematics:
- Each schematic can carry `rotation` (NONE / CW_90 / CW_180 / CW_270 /
  CCW_90) on top of the existing facing, surfaced in the setup guide.

Coordinates UX:
- New CommunityPoiCoordsCopy mini-component renders two copy chips
  (raw "x y z" for mod fields, `/tp @s x y z` for chat) and lives in
  both the meta panel and the BlueMap section.

Design:
- POI components now use the project's brand tokens
  (--color-brand-primary/secondary/accent/purple/orange) via
  color-mix instead of generic Tailwind palettes or wrong indigo
  fallbacks. Cards/schematic cards/BlueMap section use the surface
  + border tokens so dark mode stays consistent with the rest of
  the site.

Contributing:
- New CommunityPoiContributeInfo block points contributors at Discord
  and the GitHub PR flow under content/community-poi/; shows on both
  the overview and detail pages.

SEO:
- Detail page now emits an additional `Place` JSON-LD node with the
  Minecraft coordinates as `additionalProperty` entries alongside the
  existing CreativeWork entity.

New POIs from B3nNy:
- Labyrinth / Maze (community, in-progress 40%) with Maze.schem at
  -1465 / 61 / 792, CW_180.
- Hafengebäude / Harbour building (community, planning 0%) with
  DOCKHAFEN.litematic at -660 / 44 / -320, rotation NONE.
- Uncensored Library rebuild (community, planning 0%, area prep
  ~45%) with NEUE MAGABASE.litematic, references the original
  Reporters Without Borders project.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
…demo data

- POIs can now opt out of community contributions by setting
  `acceptsContributions: false`. Showcase POIs get a "Showcase only"
  badge on the card and the detail page swaps the build-along block
  for a "please don't modify" notice — the forum link still shows so
  visitors have somewhere to give feedback.
- Each POI can carry a `forumUrl` to its dedicated forum channel.
  Surfaces both in the meta panel (full row with link) and as a
  primary CTA in the collaboration block, ahead of the generic
  Discord/GitHub links.
- The detail-page collaboration block replaces the generic contribute
  block, so the messaging matches per-POI policy.
- Removed the three demo POIs (spawn lighthouse, Saqar desert city,
  End portal ruin); only the real B3nNy projects remain.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
… icons

- Hook B3nNy's three Discord forum channels into the POI frontmatter:
  Maze (1189280187876134932), Harbour (1192098359452909678),
  Uncensored Library (1409893917134028861). Surfaces in the meta panel
  and as the primary CTA in the collaboration block.
- Fix the maze `updatedAt` to 2026-04-26 — the date of the last image
  drop in the forum channel.
- Replace the emoji glyphs sprinkled across the POI UI with proper
  FontAwesome icons (image, lock, cube, comment, github, discord,
  triangle-exclamation, chevron-left/right/down, times,
  arrow-up-right-from-square, copy, terminal, check, plus/minus,
  handshake, book-open, map, download). Adds the missing icons to
  `plugins/fontawesome.js` so the `['fas'/'fab', name]` lookup
  resolves them globally.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
…BlueMap

- Drop the BlueMap embed toggle so every POI now shows its in-world
  position the moment you scroll the section into view (the iframe is
  still `loading="lazy"`, so it doesn't ship on initial page load).
- Re-label the POI `coordinates` block as "BlueMap-Position" / "BlueMap
  position" with a hint pointing at the per-schematic Litematica
  origin, since the two answer different questions ("where to look"
  vs "where to place the schematic").
- Add `farm` to `COMMUNITY_POI_CATEGORIES` (using the brand-primary
  green tone) so upcoming farm-showcase POIs share the same plumbing
  as the build projects.
- Wire B3nNy's maze gallery from the 7z drop: nine curated WebPs
  under public/community-poi/labyrinth/ (start → result), with
  matching DE/EN frontmatter and alt text on every image.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
The harbour and Uncensored Library POIs pointed `thumbnail` at a
`cover.webp` that was never created, so the deployed pages 404'd on
every thumbnail request (card + detail hero). No images exist for
these two projects yet — remove the `thumbnail`/`thumbnailAlt` fields
so the card and detail page fall back to the placeholder icon, which
they already handle gracefully. The maze keeps its real gallery.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
Preview deploys (every branch except `release` in Cloudflare Workers
Builds) were routing images through img.onelitefeather.net, which only
serves the live site. Any asset added on a branch — like the new maze
gallery — 404'd on the preview because the proxy fetches it from
production, where it doesn't exist yet.

Pick the image provider from `WORKERS_CI_BRANCH`: the `release` branch
keeps the `cloudflare` provider, every other build (preview branches,
local `dev`/`build`) uses the `none` provider so `<NuxtPicture>` serves
the original WebP straight from the deploy's own /public. Production
behaviour is unchanged.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
Replace the implicit `WORKERS_CI_BRANCH === 'release'` branch-name check
with an explicit `NUXT_IMAGE_PROVIDER` build variable, set per Wrangler
environment in Cloudflare Workers Builds. The `production` environment
sets it to `cloudflare`; preview and local builds leave it unset and
fall back to `none`.

Also drop the stale `NUXT_IMAGE_PROVIDER` entry from the Worker
`vars` — it was a runtime var that nothing read, and keeping it next to
the new build variable of the same name was just confusing.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
`acceptsContributions: z.boolean().optional()` was stored as `false`
when the field was absent from frontmatter, so @nuxt/content's
generated column made every POI evaluate `acceptsContributions === false`
— flagging all three real community projects as "showcase only" with
the lock badge on the overview.

Switch to `z.boolean().default(true)`: the SQL column is now
`BOOLEAN DEFAULT true`, so a POI is community-contributable unless it
explicitly opts out with `acceptsContributions: false`. Verified the
rebuilt content DB stores `true` for all three POIs (de + en).

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
Conflict resolution kept main's expanded `rank` enum; reformat it
multi-line to match the rest of content.config.ts and satisfy the
array-element-newline lint rule.

https://claude.ai/code/session_01TWED5ZjQD6uv434RqTBaY2
@TheMeinerLP TheMeinerLP force-pushed the claude/community-poi-showcase-173OL branch from 4275004 to 806d07f Compare May 21, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants