···11export * from "./atoms";
22export * from "./base/Container";
33export * from "./base/TopControls";
44+export * from "./base/CenterControls";
45export * from "./base/BottomControls";
56export * from "./base/BlackOverlay";
67export * from "./base/BackLink";
···11+import { Spinner } from "@/components/layout/Spinner";
22+import { usePlayerStore } from "@/stores/player/store";
33+44+export function LoadingSpinner() {
55+ const isLoading = usePlayerStore((s) => s.mediaPlaying.isLoading);
66+77+ if (!isLoading) return null;
88+99+ return <Spinner />;
1010+}
+2
src/components/player/atoms/index.ts
···33export * from "./ProgressBar";
44export * from "./Skips";
55export * from "./Time";
66+export * from "./LoadingSpinner";
77+export * from "./AutoPlayStart";
···77 isSeeking: boolean; // seeking with progress bar
88 isDragSeeking: boolean; // is seeking for our custom progress bar
99 isLoading: boolean; // buffering or not
1010- isFirstLoading: boolean; // first buffering of the video, when set to false the video can start playing
1110 hasPlayedOnce: boolean; // has the video played at all?
1211 volume: number;
1312 playbackSpeed: number;