Skip to content

refactor: remove liquid glass feature entirely (closes #385)#518

Merged
rainxchzed merged 3 commits intomainfrom
chore/385-remove-liquid-glass
May 5, 2026
Merged

refactor: remove liquid glass feature entirely (closes #385)#518
rainxchzed merged 3 commits intomainfrom
chore/385-remove-liquid-glass

Conversation

@rainxchzed
Copy link
Copy Markdown
Member

@rainxchzed rainxchzed commented May 5, 2026

Closes #385

Why

Liquid Glass was the cause of #385 — in dark mode, the topbar action icons could become invisible against transparent backgrounds. Per the issue, the user wanted icons to display correctly. Rather than patching the contrast bug, we're removing the feature entirely as part of a larger UI refactor that wants a cleaner, higher-contrast surface across the app.

The effect was provided by the third-party library `io.github.fletchmckee:liquid:1.1.1` and gated behind a user-toggleable setting (`Settings → Appearance → Liquid Glass Effect`). Removal touches every screen that opted in.

What's gone

  • Library: `io.github.fletchmckee:liquid` dependency dropped from `gradle/libs.versions.toml` and 8 module `build.gradle.kts` files.
  • Settings toggle: `liquid_glass_option_title` / `liquid_glass_option_description` strings + the `ToggleSettingCard` in `Appearance.kt` + the `OnLiquidGlassEnabledChange` action handler all deleted.
  • DataStore: `liquid_glass_enabled` preference key + `getLiquidGlassEnabled` / `setLiquidGlassEnabled` methods on `TweaksRepository` and impl.
  • State plumbing: `isLiquidGlassEnabled` field removed from MainState, HomeState, DetailsState, SearchState, ProfileState, TweaksState, AppsState. All `tweaksRepository.getLiquidGlassEnabled().collect { ... }` observer blocks removed from the corresponding ViewModels.
  • Platform helper: `isLiquidFrostAvailable()` expect/actual files (3) deleted.
  • CompositionLocal: `LocalBottomNavigationLiquid`, `LocalHomeTopBarLiquid`, `LocalTopbarLiquidState` (3 files) deleted.
  • Modifier chains: every conditional `Modifier.then(if (state.isLiquidGlassEnabled) Modifier.liquefiable(...) else Modifier)` simplified to plain `Modifier`. Every `Modifier.liquid { shape = ... }` block removed (replaced by the existing else-branch e.g. `Modifier.background(MaterialTheme.colorScheme.surfaceContainerHighest)`).
  • Component params: `isLiquidGlassEnabled: Boolean` dropped from Stats / Logs / WhatsNew / Header / About / Owner / SmartInstallButton / HomeFilterChips signatures and every call site.

What stays

  • `AppTheme` / `FontTheme` / dark-mode toggle / AMOLED toggle — all other appearance settings unchanged.
  • The leftover empty preference key on existing installs is harmless — DataStore tolerates orphaned keys, no migration needed.

Diff stats

`76 files changed, 163 insertions(+), 830 deletions(-)` — net -667 LoC. Three commits: deps + helpers, UI strip, strings + what's-new.

Test plan

  • Home, Details, Search, Profile, Tweaks, Apps screens render without crashes.
  • Topbar / floating bar icons are clearly visible in dark mode (the original Icons displayed in a floating bar with a dark theme #385 symptom).
  • Topbar / floating bar icons are clearly visible in light mode.
  • Settings → Appearance no longer shows the Liquid Glass toggle.
  • No regressions to AMOLED / theme color / font theme switching.
  • Existing users upgrade cleanly — orphaned `liquid_glass_enabled` DataStore key has no effect.
  • What's-new sheet on next 1.8.1 install lists removal in device language.

Summary by CodeRabbit

  • Bug Fixes
    • Removed liquid glass effect to prevent dark-mode icons from becoming invisible on transparent backgrounds, improving UI contrast and clarity.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

Walkthrough

This PR comprehensively removes the Liquid Glass visual effect feature from the entire application, including build dependencies, repository contracts, state management across all feature screens, composition locals for state passing, UI component modifiers, string resources in all supported languages, and release notes documenting the removal.

Changes

Liquid Glass Feature Removal

Layer / File(s) Summary
Gradle Dependencies
composeApp/build.gradle.kts, core/presentation/build.gradle.kts, feature/apps/presentation/build.gradle.kts, feature/details/presentation/build.gradle.kts, feature/home/presentation/build.gradle.kts, feature/profile/presentation/build.gradle.kts, feature/search/presentation/build.gradle.kts, feature/tweaks/presentation/build.gradle.kts, gradle/libs.versions.toml
The libs.liquid dependency and its version catalog entry are removed from all feature and core presentation modules.
Domain & Data Layer
core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/TweaksRepository.kt, core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/TweaksRepositoryImpl.kt
Repository interface removes getLiquidGlassEnabled() and setLiquidGlassEnabled(...) methods; implementation removes corresponding overrides and preference key constant.
State Models
composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainState.kt, feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeState.kt, feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsState.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsState.kt, feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchState.kt, feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileState.kt, feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksState.kt
The isLiquidGlassEnabled property is removed from all state data classes; MainState also extends theme-related fields (isAmoledTheme, isDarkTheme, currentFontTheme).
ViewModel State Initialization
composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainViewModel.kt, feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeViewModel.kt, feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsViewModel.kt, feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchViewModel.kt, feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
All ViewModels remove calls to observeLiquidGlassEnabled() / loadLiquidGlassEnabled() from state initialization and remove the corresponding private collector functions. ProfileViewModel also removes the TweaksRepository constructor dependency.
Composition Locals
core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/locals/LocalBottomNavigationLiquid.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/LocalTopbarLiquidState.kt, feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/locals/LocalHomeTopBarLiquid.kt, core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.kt, core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.android.kt, core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.jvm.kt
All composition locals for liquid state are deleted (LocalBottomNavigationLiquid, LocalTopbarLiquidState, LocalHomeTopBarLiquid); expect/actual declarations for isLiquidFrostAvailable are removed from all platforms.
Navigation & Main Entry Points
composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/Main.kt, composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/AppNavigation.kt
AppNavigation removes isLiquidGlassEnabled parameter and ceases providing LocalBottomNavigationLiquid via CompositionLocalProvider; Main.kt stops passing the flag to AppNavigation.
UI Components & Modifiers
composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/BottomNavigation.kt, feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeRoot.kt, feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt, feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchRoot.kt, feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileRoot.kt, feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksRoot.kt
All screen-level composables remove conditional liquefiable(...) modifier applications, rememberLiquidState, CompositionLocalProvider wrapping, and function parameters for liquid state. BottomNavigation simplifies tab styling from conditional liquid effects to static background(surfaceContainer) and border(...).
Detailed Component Removals
feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/About.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Header.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Logs.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Owner.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Stats.kt, feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/WhatsNew.kt, feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/components/HomeFilterChips.kt
All detail screen and home filter components remove isLiquidGlassEnabled parameters, liquefiable modifier chains, and LocalTopbarLiquidState usage; SmartInstallButton simplifies signature; component styling reverts to standard background() and clip() modifiers.
String Resources & Localization
core/presentation/src/commonMain/composeResources/values/strings.xml, core/presentation/src/commonMain/composeResources/values-*/strings-*.xml
The liquid_glass_option_title and liquid_glass_option_description string resources are removed from all locales (English, Arabic, Bengali, Spanish, French, Hindi, Italian, Japanese, Korean, Polish, Russian, Turkish, Chinese); new strings for language selection and update validation errors are added in most locales.
Tweaks UI & Actions
feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksAction.kt, feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/components/sections/Appearance.kt
The OnLiquidGlassEnabledChange action is removed from TweaksAction sealed interface; the Liquid Glass toggle is removed from the Appearance settings section UI.
Release Notes & Documentation
core/presentation/src/commonMain/composeResources/files/whatsnew/16.json, core/presentation/src/commonMain/composeResources/files/whatsnew/*/16.json
Release notes for version 16 in all locales (English, Arabic, Bengali, Spanish, French, Hindi, Italian, Japanese, Korean, Polish, Russian, Turkish, Chinese) are updated to document that the Liquid Glass effect was removed to prevent dark-mode icon visibility issues and improve UI contrast.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

The PR spans the entire application architecture (build configuration, domain, data, state management, navigation, UI components across six feature modules) with heterogeneous changes affecting dependencies, API signatures, state fields, initialization logic, and UI modifier chains. While individual changes follow a consistent pattern (removal of liquid-glass references), the breadth across multiple feature modules, localization files, and interconnected layer removals demands careful verification that all liquid-glass usages are eliminated and dependent code properly simplified.

Possibly related PRs

  • OpenHub-Store/GitHub-Store#343: This PR directly reverses the Liquid Glass feature introduced in #343, removing the same state fields, repository methods, composition locals, and UI wiring.
  • OpenHub-Store/GitHub-Store#363: Both PRs involve removing Liquid Glass APIs and integration originally added when the Tweaks feature was introduced, affecting TweaksRepository, TweaksState, and related ViewModels.
  • OpenHub-Store/GitHub-Store#244: The main PR removes Liquid Glass wiring in HomeRoot and HomeFilterChips that PR #244 previously modified, affecting overlapping code areas.

Poem

🐰 Farewell, glass so clear and bright,
No more frost on screens at night,
Dark mode icons now can shine,
Clean and crisp, a UI fine!
Liquid dreams become cleaner schemes.

✨ 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 chore/385-remove-liquid-glass

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
core/presentation/src/commonMain/composeResources/files/whatsnew/ja/16.json (1)

1-41: ⚠️ Potential issue | 🟠 Major

The Japanese what's-new entry for version 1.8.1 is valid, but the PR has incomplete locale coverage.

The JSON syntax is correct and the Liquid Glass removal entry properly documents the fix for the dark-mode icon visibility issue (#385). However, verification reveals that 8 of 13 locale files are missing this entry: Turkish (tr), Korean (ko), Russian (ru), Simplified Chinese (zh-CN), Polish (pl), Bengali (bn), Arabic (ar), and Hindi (hi). Since the PR summary claims the what's-new entry was "added for 1.8.1 across locales," these missing entries should be added to the other locale files to match the stated scope.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@core/presentation/src/commonMain/composeResources/files/whatsnew/ja/16.json`
around lines 1 - 41, The PR added the Japanese 1.8.1 what's-new JSON
(versionCode 16 / versionName "1.8.1") but omitted the same entry in eight
locales; add an equivalent whatsnew JSON section (preserving "versionCode": 16,
"versionName": "1.8.1", "showAsSheet": true and a FIXED section containing the
Liquid Glass removal bullet) to the missing locale files for Turkish (tr),
Korean (ko), Russian (ru), Simplified Chinese (zh-CN), Polish (pl), Bengali
(bn), Arabic (ar) and Hindi (hi); if proper translations for the bullet
"リキッドグラス効果を削除しました — ダークモードでは透明な背景にアイコンが見えなくなることがありました。全体的にすっきりした、コントラストの高い UI
になりました。" are not available, include the English description or a clear
translated equivalent, and ensure JSON syntax matches the existing structure
(sections array with type "FIXED" and bullets array).
feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt (1)

816-828: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove the dead gradient — it is fully overdrawn by the solid background.

The modifier chain on DetailsTopbar currently applies two chained .background() calls:

.background(Brush.linearGradient(...))   // lines 822-827  (pre-existing)
.background(MaterialTheme.colorScheme.surfaceContainerHighest) // line 828 (new)

GPU overdraw occurs when the GPU renders pixels that are subsequently covered by other pixels, meaning that the drawn pixels are not visible in the final frame. Since surfaceContainerHighest is a fully opaque Material3 token, the gradient is never visible — it is painted and then immediately overdrawn on every frame. The Brush import (Line 57) also becomes orphaned once the gradient is removed.

🛠️ Proposed fix — drop the redundant gradient background and unused import
-import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
         modifier =
             Modifier
                 .shadow(
                     elevation = 6.dp,
                     ambientColor = MaterialTheme.colorScheme.surfaceTint,
                     spotColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.3f),
-                ).background(
-                    Brush.linearGradient(
-                        0f to MaterialTheme.colorScheme.surface.copy(alpha = 0.9f),
-                        0.5f to MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.7f),
-                        1f to MaterialTheme.colorScheme.surface.copy(alpha = 0.85f),
-                    ),
                 ).background(MaterialTheme.colorScheme.surfaceContainerHighest),
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt`
around lines 816 - 828, The chained modifier on DetailsTopbar currently paints a
linear gradient then immediately covers it with
MaterialTheme.colorScheme.surfaceContainerHighest causing GPU overdraw; remove
the intermediate .background(Brush.linearGradient(...)) call from the modifier
chain in DetailsRoot (the
.shadow(...).background(Brush.linearGradient(...)).background(MaterialTheme.colorScheme.surfaceContainerHighest)
sequence) so only the shadow and the final opaque background remain, and also
remove the now-unused Brush import at the top of the file.
🧹 Nitpick comments (1)
feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/components/HomeFilterChips.kt (1)

55-60: ⚡ Quick win

Rename LiquidGlass-prefixed composables to neutral names.

After removing the liquid feature path, LiquidGlassCategoryChips / LiquidGlassCategoryChip names are misleading. Renaming now will reduce future confusion and API drift.

♻️ Proposed rename sketch
-fun LiquidGlassCategoryChips(
+fun HomeCategoryChips(
@@
-private fun LiquidGlassCategoryChip(
+private fun HomeCategoryChip(
-    LiquidGlassCategoryChips(
+    HomeCategoryChips(

Also applies to: 278-284

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/components/HomeFilterChips.kt`
around lines 55 - 60, Rename the LiquidGlass-prefixed composables to neutral
names: change LiquidGlassCategoryChips to CategoryChips and
LiquidGlassCategoryChip to CategoryChip (and update all usages and imports
accordingly, including the occurrences around the other reference at lines
278-284). Locate the declarations/definitions of LiquidGlassCategoryChips and
LiquidGlassCategoryChip and rename the functions, then update any places that
call these functions or reference them in previews/tests to use the new names to
avoid API drift and misleading feature-specific naming.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/ja/16.json`:
- Around line 1-41: The PR added the Japanese 1.8.1 what's-new JSON (versionCode
16 / versionName "1.8.1") but omitted the same entry in eight locales; add an
equivalent whatsnew JSON section (preserving "versionCode": 16, "versionName":
"1.8.1", "showAsSheet": true and a FIXED section containing the Liquid Glass
removal bullet) to the missing locale files for Turkish (tr), Korean (ko),
Russian (ru), Simplified Chinese (zh-CN), Polish (pl), Bengali (bn), Arabic (ar)
and Hindi (hi); if proper translations for the bullet "リキッドグラス効果を削除しました —
ダークモードでは透明な背景にアイコンが見えなくなることがありました。全体的にすっきりした、コントラストの高い UI になりました。" are not
available, include the English description or a clear translated equivalent, and
ensure JSON syntax matches the existing structure (sections array with type
"FIXED" and bullets array).

In
`@feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt`:
- Around line 816-828: The chained modifier on DetailsTopbar currently paints a
linear gradient then immediately covers it with
MaterialTheme.colorScheme.surfaceContainerHighest causing GPU overdraw; remove
the intermediate .background(Brush.linearGradient(...)) call from the modifier
chain in DetailsRoot (the
.shadow(...).background(Brush.linearGradient(...)).background(MaterialTheme.colorScheme.surfaceContainerHighest)
sequence) so only the shadow and the final opaque background remain, and also
remove the now-unused Brush import at the top of the file.

---

Nitpick comments:
In
`@feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/components/HomeFilterChips.kt`:
- Around line 55-60: Rename the LiquidGlass-prefixed composables to neutral
names: change LiquidGlassCategoryChips to CategoryChips and
LiquidGlassCategoryChip to CategoryChip (and update all usages and imports
accordingly, including the occurrences around the other reference at lines
278-284). Locate the declarations/definitions of LiquidGlassCategoryChips and
LiquidGlassCategoryChip and rename the functions, then update any places that
call these functions or reference them in previews/tests to use the new names to
avoid API drift and misleading feature-specific naming.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 364f7885-e595-432b-bfc6-c00e79edf5f5

📥 Commits

Reviewing files that changed from the base of the PR and between b00c9e3 and 01df0dc.

📒 Files selected for processing (76)
  • composeApp/build.gradle.kts
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/Main.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainState.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainViewModel.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/AppNavigation.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/BottomNavigation.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/TweaksRepositoryImpl.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/TweaksRepository.kt
  • core/presentation/build.gradle.kts
  • core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.android.kt
  • core/presentation/src/commonMain/composeResources/files/whatsnew/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/ar/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/bn/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/es/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/fr/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/hi/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/it/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/ja/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/ko/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/pl/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/ru/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/tr/16.json
  • core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/16.json
  • core/presentation/src/commonMain/composeResources/values-ar/strings-ar.xml
  • core/presentation/src/commonMain/composeResources/values-bn/strings-bn.xml
  • core/presentation/src/commonMain/composeResources/values-es/strings-es.xml
  • core/presentation/src/commonMain/composeResources/values-fr/strings-fr.xml
  • core/presentation/src/commonMain/composeResources/values-hi/strings-hi.xml
  • core/presentation/src/commonMain/composeResources/values-it/strings-it.xml
  • core/presentation/src/commonMain/composeResources/values-ja/strings-ja.xml
  • core/presentation/src/commonMain/composeResources/values-ko/strings-ko.xml
  • core/presentation/src/commonMain/composeResources/values-pl/strings-pl.xml
  • core/presentation/src/commonMain/composeResources/values-ru/strings-ru.xml
  • core/presentation/src/commonMain/composeResources/values-tr/strings-tr.xml
  • core/presentation/src/commonMain/composeResources/values-zh-rCN/strings-zh-rCN.xml
  • core/presentation/src/commonMain/composeResources/values/strings.xml
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/locals/LocalBottomNavigationLiquid.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.kt
  • core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.jvm.kt
  • feature/apps/presentation/build.gradle.kts
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsState.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt
  • feature/details/presentation/build.gradle.kts
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsViewModel.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/About.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Header.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Logs.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Owner.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Stats.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/WhatsNew.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/LocalTopbarLiquidState.kt
  • feature/home/presentation/build.gradle.kts
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeRoot.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeState.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeViewModel.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/components/HomeFilterChips.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/locals/LocalHomeTopBarLiquid.kt
  • feature/profile/presentation/build.gradle.kts
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileRoot.kt
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileState.kt
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileViewModel.kt
  • feature/search/presentation/build.gradle.kts
  • feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchRoot.kt
  • feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchState.kt
  • feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchViewModel.kt
  • feature/tweaks/presentation/build.gradle.kts
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksAction.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksRoot.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksState.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/components/sections/Appearance.kt
  • gradle/libs.versions.toml
💤 Files with no reviewable changes (54)
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileViewModel.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksRoot.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/AppNavigation.kt
  • core/presentation/src/commonMain/composeResources/values-it/strings-it.xml
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileState.kt
  • core/presentation/src/commonMain/composeResources/values-ko/strings-ko.xml
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainViewModel.kt
  • feature/profile/presentation/src/commonMain/kotlin/zed/rainxch/profile/presentation/ProfileRoot.kt
  • core/presentation/src/commonMain/composeResources/values-zh-rCN/strings-zh-rCN.xml
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
  • core/presentation/src/commonMain/composeResources/values/strings.xml
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeViewModel.kt
  • core/presentation/build.gradle.kts
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/components/sections/Appearance.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/TweaksRepositoryImpl.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/locals/LocalBottomNavigationLiquid.kt
  • core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.jvm.kt
  • feature/search/presentation/build.gradle.kts
  • core/presentation/src/commonMain/composeResources/values-tr/strings-tr.xml
  • composeApp/build.gradle.kts
  • core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.android.kt
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksAction.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/WhatsNew.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainState.kt
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/locals/LocalHomeTopBarLiquid.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/LocalTopbarLiquidState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsViewModel.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/TweaksRepository.kt
  • feature/home/presentation/build.gradle.kts
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsState.kt
  • feature/apps/presentation/build.gradle.kts
  • feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchState.kt
  • core/presentation/src/commonMain/composeResources/values-pl/strings-pl.xml
  • feature/profile/presentation/build.gradle.kts
  • core/presentation/src/commonMain/composeResources/values-es/strings-es.xml
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeState.kt
  • core/presentation/src/commonMain/composeResources/values-fr/strings-fr.xml
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/Main.kt
  • feature/details/presentation/build.gradle.kts
  • feature/tweaks/presentation/build.gradle.kts
  • core/presentation/src/commonMain/composeResources/values-hi/strings-hi.xml
  • feature/search/presentation/src/commonMain/kotlin/zed/rainxch/search/presentation/SearchViewModel.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsState.kt
  • core/presentation/src/commonMain/composeResources/values-ru/strings-ru.xml
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Header.kt
  • core/presentation/src/commonMain/composeResources/values-bn/strings-bn.xml
  • feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksState.kt
  • gradle/libs.versions.toml
  • core/presentation/src/commonMain/composeResources/values-ar/strings-ar.xml
  • core/presentation/src/commonMain/composeResources/values-ja/strings-ja.xml
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/About.kt

@rainxchzed rainxchzed merged commit 8ef1a5f into main May 5, 2026
1 check passed
@rainxchzed rainxchzed deleted the chore/385-remove-liquid-glass branch May 5, 2026 10:11
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.

Icons displayed in a floating bar with a dark theme

1 participant