Skip to content

Implement Theme Switcher and Translucent UI Configuration - #617

Merged
zortos293 merged 15 commits into
OpenCloudGaming:devfrom
zaloguj12:feature/theme-switcher
Jul 7, 2026
Merged

Implement Theme Switcher and Translucent UI Configuration#617
zortos293 merged 15 commits into
OpenCloudGaming:devfrom
zaloguj12:feature/theme-switcher

Conversation

@zaloguj12

Copy link
Copy Markdown
Contributor

Pull Request: Implement Theme Switcher and Translucent UI Configuration

Overview

This PR implements a cohesive, theme-aware user experience by introducing a Theme Switcher (supporting Light, Dark, and System Auto preferences) along with a customizable Translucent UI toggle for in-game and settings overlays.


Key Features

  1. App Themes:
    • Light Mode: Replaced hardcoded dark themes with a clean, low-contrast slate light mode.
    • Dark Mode: Soft charcoal obsidian layout.
    • System Auto: Dynamically tracks OS theme preferences (prefers-color-scheme) in real-time.
  2. Translucent UI Toggle:
    • Toggles glassmorphism (backdrop-filter) and soft opacity for floating overlay components.
    • Affected Overlays: Settings Modal, Navbar Modal, Screenshot Modal, In-Game Stats HUD, Session Limit Clock, Time Warnings, and AFK Confirmation dialogs.
    • Reverted background chrome (Navbar) to remain solid by default for structure, while optimizing settings modal opacity to a soft 15% with 8px blur.

Detailed File Changes

Backend & Shared State

  • opennow-stable/src/shared/gfn.ts
    • Added appTheme (AppTheme) and translucentUI (boolean) to the shared Settings contract.
  • opennow-stable/src/main/settings.ts
    • Handled default values (appTheme: "auto", translucentUI: false).
    • Added migrations and strict type validation for the new settings fields in the main process.

Renderer & UI Layer

  • opennow-stable/src/renderer/src/App.tsx
    • Added defaults to the React initial state.
    • Set up active layout effects for theme changes and window preference listeners.
  • opennow-stable/src/renderer/src/lib/uiCustomization.ts
    • Implemented helpers applyTheme and applyTranslucentUI to toggle data-theme and data-translucent attributes directly on document.documentElement.
  • opennow-stable/src/renderer/src/components/SettingsPage.tsx
    • Added a Theme Dropdown Selector (Auto / Light / Dark) and Translucent UI Switch under the Appearance settings card.
  • locales/en.json
    • Translated and added local key strings for "theme", "themeHint", "themeAuto", "themeLight", "themeDark", "translucentUI", and "translucentUIHint".

Style System (CSS)

  • opennow-stable/src/renderer/src/styles.css
    • Declared CSS variables for the Light theme (--bg-a, --bg-b, --bg-c, --panel, --ink).
    • Replaced over 130 hardcoded rgba(255, 255, 255, x) rules with theme-aware color-mix(in srgb, var(--ink) x%, transparent).
    • Configured conditional .settings-modal, .navbar-modal, .sv-stats, .sv-session-clock, and dialog styles to react to [data-translucent="true"].

Validation & Verification Checks

  • Typecheck: npm run typecheck completed successfully with no compilation errors on node/renderer.
  • Locales Check: npm run locales:check passed baseline translations verify.
  • Theme Syncing: Setting theme to auto and changing OS settings syncs real-time.
  • Visual Polish: Minimised blur values to subtle levels (4px to 8px) with 15% modal opacity.
  • (pr desc generated by gemini)

zortos293 and others added 14 commits July 4, 2026 09:56
…et main for release final (OpenCloudGaming#588)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Reflect name/UI changes in issue templates
…rsor is visible (OpenCloudGaming#594)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* Preserve relative input during cursor visibility transitions by allowing mixed absolute/relative.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* Send mixed abs+rel mouse batches over the ordered reliable channel

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* Preserve raw-input deltas queued before cursor-visible transition

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5c71b1a9-7bf2-4863-afec-fa36913c8172

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@capy-ai

capy-ai Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Capy auto-review is paused for this organization because the usage-cycle auto-review limit has been reached. Increase the limit or turn it off in billing settings to resume automatic reviews.

@zaloguj12

zaloguj12 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Screenshots:

image image image image

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8f4a4d5b45

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread opennow-stable/src/renderer/src/styles.css
Comment thread opennow-stable/src/renderer/src/styles.css Outdated
Comment thread opennow-stable/src/renderer/src/styles.css
@zortos293
zortos293 merged commit 2e97b88 into OpenCloudGaming:dev Jul 7, 2026
6 of 7 checks passed
@zaloguj12

Copy link
Copy Markdown
Contributor Author

67676767766767767676

@zaloguj12
zaloguj12 deleted the feature/theme-switcher branch August 2, 2026 20:36
Chizuui pushed a commit to Chizuui/OpenNOW-Modified that referenced this pull request Aug 11, 2026
…aming#617)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: Zortos <zortosdev@proton.me>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kiefer <67562560+Kief5555@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