From 9c9f6c0d85f9e2e9993ffb4ab3dcb89ef7cbef38 Mon Sep 17 00:00:00 2001
From: cyanChill <83375816+cyanChill@users.noreply.github.com>
Date: Mon, 15 Jun 2026 18:33:10 -0400
Subject: [PATCH 1/8] chore: Mockup of updated layout of bottom actions
---
.../navigation/components/BottomActions.tsx | 205 ------------------
.../{ => BottomActions}/MiniPlayer.tsx | 4 +-
.../components/BottomActions/Navbar.tsx | 100 +++++++++
.../components/BottomActions/index.tsx | 63 ++++++
4 files changed, 165 insertions(+), 207 deletions(-)
delete mode 100644 mobile/src/navigation/components/BottomActions.tsx
rename mobile/src/navigation/components/{ => BottomActions}/MiniPlayer.tsx (97%)
create mode 100644 mobile/src/navigation/components/BottomActions/Navbar.tsx
create mode 100644 mobile/src/navigation/components/BottomActions/index.tsx
diff --git a/mobile/src/navigation/components/BottomActions.tsx b/mobile/src/navigation/components/BottomActions.tsx
deleted file mode 100644
index 28737107b..000000000
--- a/mobile/src/navigation/components/BottomActions.tsx
+++ /dev/null
@@ -1,205 +0,0 @@
-import { useNavigation, useNavigationState } from "@react-navigation/native";
-import { LinearGradient } from "expo-linear-gradient";
-import { useEffect, useMemo, useState } from "react";
-import { useTranslation } from "react-i18next";
-import { View } from "react-native";
-import Animated, {
- FadeIn,
- SlideInLeft,
- SlideInRight,
- SlideOutLeft,
- SlideOutRight,
-} from "react-native-reanimated";
-
-import { Search } from "~/resources/icons/Search";
-import { Settings } from "~/resources/icons/Settings";
-import { usePreferenceStore } from "~/stores/Preference/store";
-import { useTabsByVisibility } from "~/stores/Preference/hooks";
-import { useRenderBottomActions } from "../hooks/useBottomActions";
-import { useHasNewUpdate } from "../hooks/useHasNewUpdate";
-
-import { OnRTL } from "~/lib/react";
-import { cn } from "~/lib/style";
-import { capitalize } from "~/utils/string";
-import { createAnimatedMaterialSymbol } from "~/components/Base/AnimatedMaterialSymbol";
-import { FlatList, useFlatListRef } from "~/components/Base/List";
-import { Pressable } from "~/components/Base/Pressable";
-import { FilledIconButton } from "~/components/Form/Button/Icon";
-import { Menu } from "~/components/Menu";
-import { TStyledText } from "~/components/Typography/StyledText";
-import { useTheme } from "~/modules/customization/theme/hooks";
-import type { Tab } from "~/stores/Preference/types";
-import { MiniPlayer } from "./MiniPlayer";
-
-//#region Bottom Actions
-/** Actions stickied to the bottom of the screens. */
-export function BottomActions() {
- const rendered = useRenderBottomActions();
- // Extra `View` is to fix positioning when button navigation is selected.
- return (
-
DHbw&fd*&=E!nL Wh|j=&md-S!eN(b+ktsz8(UQ{rhHRd}2(R^+cBJ=WzI9
zbyl|pVMWy$^z3$HW8>;<9IB@1lz1ym;b$4}S;I7ZpJ&s6eWZLTG^}C;K)@D9w@{uQRhFsJ
zCyv))J<4@teN<+v368!K6XoE!5c^)6-mo3)0rjQ`n+!X!rr;wao9amk#wr2r!+^
zg1{*zYjW*g!r;ibCV?DKI6PDQAn51avrS5LV>9+P|l1^V`dZ55Dm
z5I)89kh1xZ%JqjIl>amdM>0L%%fH_vXlXCd4Yb;pQu6Rhj4&5RQ)KO&H+EvCI4F37
zJbJGd$q#-`ngc*ynsr0Dt;ORJ!hE%m$%d;)lGtgopy+@me2^4`i!_KBaDih;==1ay
zBVuCwH!a_P6!2q+K3iyu>GDKjrwr~A-Dt(moCo085j=_wfi8>u=1`45*AU^wSD+hB
za1Jad7@Um59_3rm)l!0}`a^4(PlN?aDEo*zf&F8PJz)2PlO7oUdw=zQCc`)>4pOc-
z%9``Jb}t=0SgEo|w-0(vqezRmegS#aqyyokg)hF!1++ax`tICBYBkmW$uBRutLAm+
z36#C)8%69>9hzI({|o{&4>|%RH2z_WRk$Zmr=L+G3cE}SeG5?3CCD@!!V8{*Nd21I
zRPT%z_g}lW4iEDpp+CR+mN!qY(X-@ns1q$0r|u14_*|s
9iN>WQvsxUWR?HL_?M}0N6Ng(fPjalqE#nuRzO0b-2
zeRDb0aTqCbe9}P5&`v-Ax4G#MO2}doLVl3}Izg{7>m6l*Eff@vTov*`hLC-4{z%(D
z9Xps}D+NKzc##;*F3HxET$zVBRVvT!obB~=q0hR}c_8uGTk3g{F@B5um_~*Gom^f*
zq<+YKI429d1#zJuV;IHzL`y0th=cJvVYlU|>lw1i`wME%ap+`Ube*9pG0?4H4O~qC
z>r3{IzQ!W$?U6dbI8y7b;4R1{C^IEMyEu_V5J~SuPvCLNzJ86Rrr42J0gRq=KDZs_
z3KfZmcu_$SdxX-XOXL&0cYY}-@wOK^2n0|F_M&JD6Q+FmNC#z0qcR7NB~{991H()R
zrifR=f^&SbegO~8)-v&hAN5XF)fGOGB-U#DfoBO4(+uWYn1|N{!2~g&$TeSHtE_*x
zv?l4okXS>y{Tot)nZDc7(!PhUPv!Zpot>7Pf3MvzMfcArf4`)n34qM2A~T%jUdqhA
zQNI;~MWf8|I}GPK
!lO5ol_`s_D)^p
z=fh5;zaSb*+d8L^ngsiR;Asfyh3qzshS9V?s8dAqKop8
~|L8&aFUOyirD#jq
z1=yMjQdVO ==TUQ$)1a;hnFWNe%-O<81g;jDv%HYh0MHe#E{?qY>wSwtL3u#cS
zvGeUREB9`V%FWv)Yy9j;EpCWC6YKPbA=Ekst&yg!Mz7dM$i-wF=hx9xC~?%WB}JM7
z<5$!q`d&v*93foK*lkyAl~k<}X4t+rB$dvv++M57uUaQ^T@cw|Op^Ab-S4n1@33u?
zG1(rPlHcsE$ycodcf_7(w~I71iLM+f+kF?4C^br7wGa3T3fpDZf$7~Q_xbhq!0VY*
z_V>YS|5oN!NH2bq``B+0MOVAdf