Skip to content

Conversation

@longsizhuo
Copy link
Member

No description provided.

@vercel
Copy link

vercel bot commented Jan 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
involutionhell-github-io Ready Ready Preview, Comment Jan 7, 2026 5:36pm
website-preview Ready Ready Preview, Comment Jan 7, 2026 5:36pm

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements a comprehensive UI redesign with a "newsprint" or newspaper-inspired design system. The changes transform the visual aesthetic from a modern, rounded interface to a stark, brutalist design with sharp edges, monospace typography, and a black-and-white color scheme with red accents.

Key Changes:

  • Complete visual redesign implementing newsprint/newspaper aesthetic with zero border-radius, stark borders, and serif typography
  • New theme system with custom CSS properties for fonts (Playfair Display, Lora, Inter, JetBrains Mono) and design tokens
  • Component restructuring including Hero layout transformation, ActivityTicker conversion from carousel to horizontal ticker, and simplified styling across all components

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
tsconfig.json Changed JSX transform from "preserve" to "react-jsx" and added Next.js dev types path
app/layout.tsx Added inline font loading and theme script, swapped RootProvider/ThemeProvider nesting order, removed sky background element
app/globals.css Complete CSS rewrite implementing newsprint design tokens, utility classes, and starry background animation with forced zero border-radius
app/components/ZoteroFeed.tsx Redesigned reading list with newspaper-style layout, removed expand/collapse functionality while keeping unused state
app/components/LicenseNotice.tsx Updated copyright to 2026, redesigned with monospace typography and smaller icon sizes with abbreviated alt text
app/components/Hero.tsx Major restructure with newspaper-style layout, large serif typography, new grid-based categories section, and integrated ActivityTicker
app/components/Header.tsx Newspaper masthead design with static edition info, redesigned navigation and icon buttons
app/components/Footer.tsx Expanded footer with newspaper-style columns, removed accessible labels from social icons
app/components/Features.tsx Redesigned feature cards with newspaper aesthetic, icon cloning with className merge logic
app/components/Contribute.tsx Simplified button styling with conflicting onClick/DialogTrigger behavior
app/components/Community.tsx Redesigned community section with inverted CTA box and newspaper-style grid cards
app/components/BrandMark.tsx Updated brand typography to serif, bold, uppercase, italic style
app/components/ActivityTicker.tsx Converted from image carousel to horizontal scrolling text ticker with event information

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +199 to +210
<ThemeProvider defaultTheme="dark" storageKey="ih-theme">
<RootProvider
search={{
// 使用静态索引,兼容 next export 与本地开发
options: { type: "static", api: "/search.json" },
}}
>
<main id="main-content" className="relative z-10">
{children}
</main>
</ThemeProvider>
</RootProvider>
</RootProvider>
</ThemeProvider>
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RootProvider and ThemeProvider have been swapped in their nesting order. This is a significant architectural change that could affect how theming works throughout the application. Ensure that both providers still function correctly with this new order and that theme values are accessible within the search functionality.

Copilot uses AI. Check for mistakes.
Comment on lines 22 to 23
<div className="hidden md:block font-mono text-[10px] uppercase tracking-widest text-neutral-500">
Vol. 1 | No. 128 | Beijing Edition
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hardcoded text "Vol. 1 | No. 128 | Beijing Edition" appears to be static content. If this is meant to be dynamic or configurable, it should be extracted to a configuration file or constant. If the issue/volume numbers are supposed to update, this will require manual code changes each time.

Copilot uses AI. Check for mistakes.
line-height: 1;
font-family: var(--font-serif);
margin-right: 0.5rem;
color: #cc0000;
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The drop-cap first letter styling uses a hardcoded red color (#cc0000) instead of the CSS custom property (--color-accent). For consistency with the design system, use var(--color-accent) which is already defined in the theme tokens.

Suggested change
color: #cc0000;
color: var(--color-accent);

Copilot uses AI. Check for mistakes.
Comment on lines +74 to +76
{React.cloneElement(feature.icon, {
className: cn("h-8 w-8", feature.icon.props.className),
})}
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The icon is being cloned with React.cloneElement and its className is being merged. However, the current code always replaces the className rather than properly merging it. The cn() function is called with the hardcoded class and the existing className, but the feature.icon.props.className may already contain important styling like color classes (e.g., "text-sky-500"). This could break the icon colors. Ensure the color classes from the original icon definition are preserved.

Copilot uses AI. Check for mistakes.
Comment on lines 24 to 40
<a
href="https://github.com/involutionhell"
target="_blank"
rel="noopener noreferrer"
aria-label="访问 Involution Hell 的 GitHub"
title="访问 GitHub"
className="inline-flex h-11 w-11 items-center justify-center rounded-lg bg-card border border-border hover:bg-accent hover:scale-110 transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
className="w-12 h-12 flex items-center justify-center border border-[var(--foreground)] hover:bg-[var(--foreground)] hover:text-[var(--background)] transition-all text-[var(--foreground)]"
>
<Github className="h-5 w-5" aria-hidden="true" />
<span className="sr-only">访问 GitHub</span>
<Github className="h-5 w-5" />
</a>
<a
href="https://discord.com/invite/6CGP73ZWbD"
target="_blank"
rel="noopener noreferrer"
aria-label="加入 Discord 社区"
title="加入 Discord"
className="inline-flex h-11 w-11 items-center justify-center rounded-lg bg-card border border-border hover:bg-accent hover:scale-110 transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
className="w-12 h-12 flex items-center justify-center border border-[var(--foreground)] hover:bg-[var(--foreground)] hover:text-[var(--background)] transition-all text-[var(--foreground)]"
>
<MessageCircle className="h-5 w-5" aria-hidden="true" />
<span className="sr-only">加入 Discord 社区</span>
<MessageCircle className="h-5 w-5" />
</a>
</div>
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The accessible labels and titles have been removed from the social media link buttons. The previous implementation included aria-label, title, and sr-only span elements for screen reader users. Now these buttons only have icons without any text alternative, making them inaccessible to screen reader users. Restore the sr-only spans or aria-label attributes to maintain accessibility.

Copilot uses AI. Check for mistakes.
}
@layer base {
* {
border-radius: 0px !important;
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All border-radius values are being forced to 0px with !important. This heavy-handed approach using !important on all elements could cause issues with third-party components or libraries that expect rounded corners. Consider using a more targeted approach or documenting this as a known limitation of the design system.

Suggested change
border-radius: 0px !important;

Copilot uses AI. Check for mistakes.
.site-bg {
position: fixed;
inset: 0;
z-index: -1;
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The z-index has been changed from 0 to -1 for the background element. This change could cause the starry background to be positioned behind other elements with default z-index values. Verify that the background still appears correctly and doesn't get hidden behind the body or other containers.

Suggested change
z-index: -1;
z-index: 0;

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@Crokily Crokily left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

longsizhuo and others added 2 commits January 7, 2026 22:51
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

3 participants