Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[BUG]: Loading skeletons use hardcoded dark colors and appear as dark blocks in light mode on every page

已关闭 适合新手
#326 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 2 天内回复

@g-k-s-03 已经在做这个了。

开始于 2026年10月9日。

  • #327 来自 @g-k-s-03 —— 已合并

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
78/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript, react, tailwindcss
领域
frontend

调研方向

从 src/components/Orgexplorerskeletons.jsx 开始,其中 Bar、Box、Circle 和 Pill 辅助函数硬编码了 bg-neutral-800、bg-neutral-900、bg-neutral-950 以及 border-neutral-800/divide-neutral-800。在 src/styles/global.css 中找到对应的主题变量,并将这些类替换为它们。完成标准是:浅色模式下六个骨架屏页面都显示浅色占位符,深色模式外观保持不变,并经过视觉检查。

由索引模型根据 Issue 内容生成。

描述

bug
Summary

The loading skeletons shown while a page is fetching data don't follow the active theme. In light mode, every page that uses a skeleton displays solid black / dark grey blocks on a white background, which looks broken and inconsistent with the rest of the light theme.

Root cause

All skeletons are defined in src/components/Orgexplorerskeletons.jsx and are built from four shared helper components (Bar, Box, Circle, Pill). These helpers use fixed dark-theme Tailwind classes instead of the theme variables used everywhere else in the app:

Class used Where
bg-neutral-800 Bar, Circle, Pill (the pulsing placeholder bars)
bg-neutral-900, border-neutral-800 Box (card containers)
divide-neutral-800 Row dividers in the Repository and Contributor skeleton tables
bg-neutral-950, border-neutral-800 Network graph placeholder canvas
border-neutral-800 Tab underline row in the Governance skeleton

Because these colors are hardcoded, they stay dark regardless of whether light or dark mode is active. The skeletons were introduced in #117.

Affected pages

I verified this on all six pages that render a skeleton, and all of them are affected:

Page Skeleton component Affected in light mode
Overview OverviewSkeleton Yes
Repositories RepositorySkeleton Yes
Contributors ContributorSkeleton Yes
Network NetworkSkeleton Yes
Analytics AnalyticsSkeleton Yes
Governance GovernanceSkeleton

Yes |

Impact
  • Every light-mode user sees dark blocks each time a page loads, for example when re-running an analysis with a PAT.
  • It makes light mode look unfinished, even though the rest of the UI themes correctly.
  • Dark mode is not affected.
Proposed fix

Replace the hardcoded classes in Orgexplorerskeletons.jsx with the existing theme variables, using the same Tailwind CSS-variable syntax already used elsewhere in the codebase (e.g. hover:bg-(--bg), text-(--text2)):

  • placeholder bars: bg-neutral-800 → bg-(--surface2)
  • card containers: bg-neutral-900 → bg-(--surface)
  • borders and dividers: border-neutral-800 / divide-neutral-800 → border-(--border) / divide-(--border)
  • network canvas: bg-neutral-950 → bg-(--bg)

The exact variables can be matched against src/styles/global.css, so dark mode keeps its current look while light mode gets matching light placeholders.

Scope
  • One file only: src/components/Orgexplorerskeletons.jsx
  • No layout, logic or behavior changes, only color classes
  • I'll verify the result visually in both light and dark mode on all six pages

I'd be happy to work on this if that's okay.

Steps to Reproduce:
  1. Run the app locally (npm run dev) and explore any organization (e.g. AOSSIE-Org).
  2. Switch to light mode using the theme toggle in the navbar.
  3. Trigger a page's loading state:
    • Naturally: add a PAT in Settings, go to Overview, enable network throttling (DevTools → Network → Slow 4G) and click "Connect PAT & Run". The skeleton appears while the analysis reloads.
    • Or, to keep it on screen for inspection: temporarily change if (loading) to if (true) on the skeleton line of the page component (e.g. OverviewPage.jsx, line ~41), which is how I captured the screenshots.
  4. Observe that the skeleton is made of dark blocks on a white background.
  5. Repeat on Repositories, Contributors, Network, Analytics and Governance: same result.

Expected: Skeleton placeholders should use light colors in light mode and dark colors in dark mode, matching the active theme.

Actual: Skeleton placeholders are always dark, regardless of theme.

###Screenshots:

Overview skeleton (light mode): dark blocks on a white page
Overview skeleton in light mode showing dark blocks
Repositories skeleton in light mode showing dark blocks
Skeleton in light mode showing dark blocks
Skeleton in light mode showing dark blocks

主要语言
JavaScript
星标
44
派生
133
平均合并
4 天 1 小时
30 天内合并 PR
18

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

AOSSIE-Org/OrgExplorer 的其他 Issue

查看 AOSSIE-Org/OrgExplorer 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。