Skip to content

Commit 089654a

Browse files
committed
2024.2.1 : volumen save function
1 parent a23c107 commit 089654a

File tree

2 files changed

+23
-45
lines changed

2 files changed

+23
-45
lines changed

src/Context/PlayerContext.jsx

+15-42
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,22 @@ export const PlayerProvider = ({ children }) => {
2828
}
2929
});
3030

31+
//LOAD
3132
useEffect(() => {
3233
const savedData = localStorage.getItem('videoPlayer');
34+
const savedVolume = localStorage.getItem('volume');
3335
if (savedData) {
3436
setVideoPlayer(JSON.parse(savedData));
37+
setVolume(parseFloat(savedVolume));
3538
}
3639
}, []);
3740

41+
//SAVE
3842
useEffect(() => {
3943
localStorage.setItem('videoPlayer', JSON.stringify(videoPlayer));
40-
const savedUrl = localStorage.getItem('url');
41-
if (savedUrl) {
42-
setUrl(savedUrl);
43-
}
44-
}, [videoPlayer]);
44+
localStorage.setItem('volume', JSON.stringify(volume));
45+
localStorage.setItem('url', url);
46+
}, [videoPlayer, volume, url]);
4547

4648
// useEffect(() => {
4749
// const savedData = localStorage.getItem('videoPlayer');
@@ -94,25 +96,22 @@ export const PlayerProvider = ({ children }) => {
9496
}));
9597
};
9698

97-
// const handleVolumeChange = (value) => {
98-
// setVideoPlayer((prevPlayer) => ({
99-
// ...prevPlayer,
100-
// volume: value,
101-
// }));
102-
// setVolume(value);
103-
// };
104-
10599
const handleVolumeChange = (event) => {
106-
setVolume(event.target.value);
100+
const newVolume = parseFloat(event.target.value);
101+
setVolume(newVolume);
102+
setVideoPlayer((prevPlayer) => ({
103+
...prevPlayer,
104+
volume: newVolume // Guardar el volumen en el objeto videoPlayer
105+
}));
107106
};
108107

109108
const handleMute = () => {
110109
setVideoPlayer((prevPlayer) => ({
111110
...prevPlayer,
112111
muted: !prevPlayer.muted,
113112
})
114-
);
115-
setMuted(!muted);
113+
);
114+
setMuted(!muted);
116115
};
117116

118117
const handleSaveProgress = () => {
@@ -145,32 +144,6 @@ export const PlayerProvider = ({ children }) => {
145144
};
146145

147146

148-
// const handleProgress = (progress) => {
149-
// setPlayed(progress.played);
150-
// };
151-
152-
// const handleDuration = (duration) => {
153-
// setDuration(duration);
154-
// };
155-
156-
// const handleVolumeChange = (value) => {
157-
// setVolume(value);
158-
// };
159-
160-
161-
// const handleSaveProgress = () => {
162-
// const currentTime = localStorage.getItem('time');
163-
164-
// if (currentTime !== played.toString()) {
165-
// localStorage.setItem('time', played.toString());
166-
// }
167-
// };
168-
169-
// const handleSaveUrl = (newUrl) => {
170-
// localStorage.setItem('url', newUrl);
171-
// setUrl(newUrl);
172-
// };
173-
174147
const handleInputChange = (event) => {
175148
const newUrl = event.target.value;
176149
handleSaveUrl(newUrl);

src/Music.jsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
import { useContext } from 'react';
2+
import { useContext, useState } from 'react';
33
//import YouTube from 'react-youtube';
44
//import ReactPlayer from 'react-player/lazy';
55
import ReactPlayer from 'react-player';
@@ -40,7 +40,12 @@ export function Music() {
4040
handleSaveProgress();
4141
};
4242

43-
console.log(videoPlayer.ShowPip);
43+
const [videoPlayerx, setVideoPlayerx] = useState(() => {
44+
const storedPlayer = JSON.parse(localStorage.getItem('videoPlayer'));
45+
return storedPlayer || [];
46+
});
47+
48+
console.log(videoPlayerx.ShowPip);
4449

4550
return (
4651
<section className="probootstrap-cover probootstrap-scene-0">
@@ -104,7 +109,7 @@ export function Music() {
104109
</div>
105110

106111
<div class="slider">
107-
<input type="range" min={0} max={1} step="any" value={volume} onChange={handleVolumeChange} />
112+
<input type="range" min={0} max={1} step="any" value={videoPlayerx.volume} onChange={handleVolumeChange} />
108113
<p id="rangeValue">100</p>
109114
</div>
110115

0 commit comments

Comments
 (0)