+ {/* Main Menu */}
+ {currentView === 'main' && (
+ <>
+
+
Ayarlar
+
+
+
+
+
+
+ {audioTracks.length > 0 && (
+
+ )}
+
+ >
+ )}
+
+ {/* Speed Submenu */}
+ {currentView === 'speed' && (
+ <>
+
+
+
Oynatma Hฤฑzฤฑ
+
+
+ {playbackRates.map((rate) => (
+
+ ))}
+
+ >
+ )}
+
+ {/* Subtitles Submenu */}
+ {currentView === 'subtitles' && (
+ <>
+
+
+
Altyazฤฑ
+
+
+
+ {subtitles.length > 0 ? (
+ subtitles.map((subtitle) => (
+
+ ))
+ ) : (
+
+ Altyazฤฑ mevcut deฤil
+
+ )}
+
+ >
+ )}
+
+ {/* Audio Submenu */}
+ {currentView === 'audio' && (
+ <>
+
+
+
Ses
+
+
+ {audioTracks.map((track) => (
+
+ ))}
+
+ >
+ )}
+
+
+ )
+}
diff --git a/src/components/overlays/LoadingSpinner.css b/src/components/overlays/LoadingSpinner.css
new file mode 100644
index 0000000..b1eebea
--- /dev/null
+++ b/src/components/overlays/LoadingSpinner.css
@@ -0,0 +1,26 @@
+.loading-spinner-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: rgba(0, 0, 0, 0.3);
+ z-index: var(--player-z-loading);
+ pointer-events: none;
+}
+
+.loading-spinner {
+ animation: fadeIn var(--player-transition-normal) ease;
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
diff --git a/src/components/overlays/LoadingSpinner.tsx b/src/components/overlays/LoadingSpinner.tsx
new file mode 100644
index 0000000..780156f
--- /dev/null
+++ b/src/components/overlays/LoadingSpinner.tsx
@@ -0,0 +1,13 @@
+import React from 'react'
+import { LoadingIcon } from '../../icons'
+import './LoadingSpinner.css'
+
+export const LoadingSpinner: React.FC = () => {
+ return (
+