Skip to content

Comments

feat: implement item pages#209

Draft
ReenigneArcher wants to merge 7 commits intomasterfrom
feat/implement-item-pages
Draft

feat: implement item pages#209
ReenigneArcher wants to merge 7 commits intomasterfrom
feat/implement-item-pages

Conversation

@ReenigneArcher
Copy link
Member

@ReenigneArcher ReenigneArcher commented Feb 20, 2026

Description

Implements item pages.

Screenshot

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch 4 times, most recently from 95e1869 to 8405435 Compare February 20, 2026 22:33
@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch from 8405435 to 5faa1ac Compare February 21, 2026 00:40
Replace the Bootstrap carousel-based banner with a beautiful-jekyll-next style banner implementation. HTML: remove the carousel markup and add a hidden #game-big-imgs element to store artwork data attributes and a visible #game-banner-header with an .img-desc for captions. JS: stop building carousel items; instead set data-img-src-X and data-num-img on #game-big-imgs and introduce initGameBanner() which initializes the header background, prefetches images, and cycles them with a fade transition (timing/prefetch logic included). Keeps existing content rendering and preserves fallback when no artworks are present.
Replace the old search form with a centered input+button and onsubmit/onkeydown handlers to call run_search, removing the platform select. Rewrite search results rendering in item_loader.js: change grid breakpoints, fetch platform data to show cover images, platform badges (with earliest release year), and a fallback rendering when platform data fails; limit to first 60 matches and show a note. Remove code that previously populated a search_type select. Minor modal styling adjustments in image_modal.html (remove explicit text-white/btn-close-white classes and plain modal counter) to rely on default styles.
@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch 2 times, most recently from 9485039 to a276103 Compare February 21, 2026 03:35
Switch banner/artwork rendering to reuse the existing page header instead of dedicated banner elements. Renamed/repurposed the hidden container from #game-big-imgs to #header-big-imgs, removed the standalone #game-banner-header markup, and injects .img-desc into header.header-section .intro-header as needed. Updated initGameBanner to target the intro-header.big-img, prepend transition nodes there, and guard against missing elements. Also removed an inline max-width on the cover image and cleaned up related markup so the banner integrates with the site's header layout.
Replace many dict() calls with literal {} notation for consistency and readability (auth headers, youtube headers, request_dict, full_dict, buckets, etc.). Add test_count tracking and a --test_limit CLI argument to limit items collected when --test_mode is enabled; the loop now stops when test_count >= test_limit. Minor help text and messaging tweaks for test mode and clearer dict initializations; small change to how empty appended items are created ({} instead of dict()).
@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch 3 times, most recently from 4356f42 to 56d527c Compare February 21, 2026 04:20
When rendering a game, hide the page H1 text via visibility (keeps layout space) if a banner image is present and initialize the banner display. If no banner is available, hide the entire page header (display: none) to avoid an empty header area. Also remove the global CSS rule that previously hid H1s in browse/games.html so the JS can control header visibility instead.
@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch 3 times, most recently from d0c4c0f to 88d06fa Compare February 21, 2026 04:50
For search results, fetch full game JSON for the first 60 matches (using Promise.all) and gracefully handle fetch failures by falling back to partial data. Normalize IGDB cover URLs to use a larger cover size (t_cover_big) and ensure absolute URLs, increase cover/placeholder height from 180px to 240px, and improve name layout with two-line clamping and bolder text. Also keep the same behavior when platform data can't be loaded by still fetching game details.
@ReenigneArcher ReenigneArcher force-pushed the feat/implement-item-pages branch from 88d06fa to 93175be Compare February 21, 2026 04:56
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
63 New issues
9.5% Duplication on New Code (required ≤ 2%)
4 Duplicated Blocks on New Code (required ≤ 0)
63 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

1 participant