Skip to content

Theme work#84

Merged
AlmanaX-21 merged 7 commits into
26.1.2from
theme-work
Jul 12, 2026
Merged

Theme work#84
AlmanaX-21 merged 7 commits into
26.1.2from
theme-work

Conversation

@AlmanaX-21

@AlmanaX-21 AlmanaX-21 commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Added a client setting to use the classic computer terminal appearance.
    • Computer terminal colors now adapt to the selected interface theme when classic mode is disabled.
    • Clipboard, filter, mass placement, and pattern setter screens now follow the active theme, including hover and status colors.
  • Localization

    • Added labels for the classic computer terminal setting in English, Portuguese, and Chinese.
  • UI Improvements

    • Improved visual consistency across configuration, terminal, and related interface screens.

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 49fe38c9-a773-4384-ac0c-2fffb4543066

📥 Commits

Reviewing files that changed from the base of the PR and between db3bace and 5f29c9e.

📒 Files selected for processing (12)
  • src/main/java/me/almana/logisticsnetworks/ClientConfig.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/ClipboardScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/ComputerScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/FilterScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/MassPlacementScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/ModConfigScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/PatternSetterScreen.java
  • src/main/java/me/almana/logisticsnetworks/client/theme/ComputerPalette.java
  • src/main/java/me/almana/logisticsnetworks/client/theme/ThemePaint.java
  • src/main/resources/assets/logisticsnetworks/lang/en_us.json
  • src/main/resources/assets/logisticsnetworks/lang/pt_br.json
  • src/main/resources/assets/logisticsnetworks/lang/zh_cn.json

📝 Walkthrough

Walkthrough

Changes

The PR adds a configurable classic computer theme and a dynamic ComputerPalette, then replaces hard-coded colors with active-theme values across five client screens. Configuration UI and English, Portuguese, and Chinese localization entries are also added.

Themeable UI

Layer / File(s) Summary
Palette selection and configuration
src/main/java/me/almana/logisticsnetworks/ClientConfig.java, src/main/java/me/almana/logisticsnetworks/client/theme/*
Adds the classic-theme setting and selects either the fixed classic palette or a cached palette derived from the active theme.
Computer screen palette integration
src/main/java/me/almana/logisticsnetworks/client/screen/ComputerScreen.java
Uses palette values for computer panels, lists, graphs, node maps, terminal elements, status text, and controls.
Clipboard, placement, and pattern screen theming
src/main/java/me/almana/logisticsnetworks/client/screen/ClipboardScreen.java, src/main/java/me/almana/logisticsnetworks/client/screen/MassPlacementScreen.java, src/main/java/me/almana/logisticsnetworks/client/screen/PatternSetterScreen.java
Uses active-theme colors for backgrounds, controls, slots, hover states, text, and status indicators.
Filter screen theme integration
src/main/java/me/almana/logisticsnetworks/client/screen/FilterScreen.java
Converts filter inputs, panels, overlays, dropdowns, submode lists, detail pages, NBT tables, and toggles to theme-derived colors.
Classic theme configuration UI
src/main/java/me/almana/logisticsnetworks/client/screen/ModConfigScreen.java, src/main/resources/assets/logisticsnetworks/lang/*
Adds the client checkbox, persistence wiring, and localized labels for the classic computer terminal setting.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ModConfigScreen
  participant ClientConfig
  participant ComputerPalette
  participant ThemeState
  participant ComputerScreen
  ModConfigScreen->>ClientConfig: save classic computer setting
  ComputerScreen->>ComputerPalette: request active palette
  ComputerPalette->>ClientConfig: read classic-theme flag
  ComputerPalette->>ThemeState: read active theme when not classic
  ComputerPalette-->>ComputerScreen: return palette colors
  ComputerScreen->>ComputerScreen: render themed interface
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch theme-work

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ast-grep (0.44.1)
src/main/java/me/almana/logisticsnetworks/client/screen/FilterScreen.java

ast-grep timed out on this file

src/main/java/me/almana/logisticsnetworks/client/screen/MassPlacementScreen.java

ast-grep retry budget exhausted before isolating this batch

src/main/java/me/almana/logisticsnetworks/client/screen/ModConfigScreen.java

ast-grep retry budget exhausted before isolating this batch

  • 6 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AlmanaX-21
AlmanaX-21 merged commit 3a17547 into 26.1.2 Jul 12, 2026
2 of 3 checks passed
@AlmanaX-21
AlmanaX-21 deleted the theme-work branch July 12, 2026 11: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.

1 participant