last fixes, home and videos
This commit is contained in:
@@ -12,10 +12,12 @@ import firebase, {
|
||||
playlistsRef,
|
||||
projectsRef,
|
||||
usersRef,
|
||||
videosRef,
|
||||
} from "../config/firebase";
|
||||
import { getUserPreferredArtistName } from "../utils/artistName";
|
||||
import { getLikeFieldPath, LIKE_TARGET } from "../utils/likes";
|
||||
import { ensureAuthenticated } from "../utils/authRedirect";
|
||||
import { isWeb } from "../hooks/useLayoutType";
|
||||
|
||||
const SONG_LIKES_FIELD = getLikeFieldPath(LIKE_TARGET.SONG);
|
||||
const PLAYBACK_LIKES_FIELD = getLikeFieldPath(LIKE_TARGET.PLAYBACK);
|
||||
@@ -43,20 +45,18 @@ export default ({ children }) => {
|
||||
});
|
||||
|
||||
// Subscribe to user's projects (musics)
|
||||
const {
|
||||
data: userProjects = [],
|
||||
loading: userProjectsLoading = true,
|
||||
} = useDataFromRef({
|
||||
ref: currentUID
|
||||
? projectsRef
|
||||
.where("userId", "==", currentUID)
|
||||
.orderBy("updatedAt", "desc")
|
||||
: null,
|
||||
simpleRef: false,
|
||||
listener: true,
|
||||
condition: !!currentUID,
|
||||
refreshArray: [currentUID],
|
||||
});
|
||||
const { data: userProjects = [], loading: userProjectsLoading = true } =
|
||||
useDataFromRef({
|
||||
ref: currentUID
|
||||
? projectsRef
|
||||
.where("userId", "==", currentUID)
|
||||
.orderBy("updatedAt", "desc")
|
||||
: null,
|
||||
simpleRef: false,
|
||||
listener: true,
|
||||
condition: !!currentUID,
|
||||
refreshArray: [currentUID],
|
||||
});
|
||||
|
||||
const userPlaybacks = Array.isArray(userProjects)
|
||||
? userProjects.filter((project) => project.playbackUrl)
|
||||
@@ -136,17 +136,17 @@ export default ({ children }) => {
|
||||
{
|
||||
selectedProjectId: projectId || null,
|
||||
},
|
||||
{ merge: true }
|
||||
{ merge: true },
|
||||
);
|
||||
console.log("update selected project");
|
||||
} catch (error) {
|
||||
console.log(
|
||||
"UserDataProvider: unable to persist selectedProjectId",
|
||||
error?.message || error
|
||||
error?.message || error,
|
||||
);
|
||||
}
|
||||
},
|
||||
[currentUID]
|
||||
[currentUID],
|
||||
);
|
||||
|
||||
const selectProject = useCallback(
|
||||
@@ -161,12 +161,12 @@ export default ({ children }) => {
|
||||
persistSelectedProjectId(safeId).catch((error) => {
|
||||
console.log(
|
||||
"UserDataProvider: persist selectedProjectId failed",
|
||||
error?.message || error
|
||||
error?.message || error,
|
||||
);
|
||||
});
|
||||
}
|
||||
},
|
||||
[currentUID, persistSelectedProjectId, setSelectedProject]
|
||||
[currentUID, persistSelectedProjectId, setSelectedProject],
|
||||
);
|
||||
|
||||
const resetSelectedProject = useCallback(() => {
|
||||
@@ -183,7 +183,7 @@ export default ({ children }) => {
|
||||
...partial,
|
||||
updatedAt: firebase.firestore.FieldValue.serverTimestamp(),
|
||||
},
|
||||
options
|
||||
options,
|
||||
);
|
||||
} catch (e) {
|
||||
console.log("updateProjectData error", e?.message);
|
||||
@@ -209,7 +209,7 @@ export default ({ children }) => {
|
||||
try {
|
||||
await setIsLoading(true);
|
||||
const artistDisplayName = getUserPreferredArtistName(
|
||||
currentUserDoc || currentUserData || {}
|
||||
currentUserDoc || currentUserData || {},
|
||||
);
|
||||
const payload = {
|
||||
userId: currentUID || null,
|
||||
@@ -238,7 +238,7 @@ export default ({ children }) => {
|
||||
followedBy: arrayUnion(currentUID),
|
||||
lastFollowersUpdateAt: new Date(),
|
||||
},
|
||||
{ merge: true }
|
||||
{ merge: true },
|
||||
);
|
||||
setTooltip({ type: "success", text: "Abonnement mis à jour" });
|
||||
}
|
||||
@@ -259,7 +259,7 @@ export default ({ children }) => {
|
||||
followedBy: arrayRemove(currentUID),
|
||||
lastFollowersUpdateAt: new Date(),
|
||||
},
|
||||
{ merge: true }
|
||||
{ merge: true },
|
||||
);
|
||||
setTooltip({
|
||||
type: "success",
|
||||
@@ -416,6 +416,11 @@ export default ({ children }) => {
|
||||
userProjects,
|
||||
]);
|
||||
|
||||
const { data: videos } = useDataFromRef({
|
||||
ref: videosRef.doc("fr"),
|
||||
simpleRef: true,
|
||||
});
|
||||
|
||||
return (
|
||||
<UserDataContext.Provider
|
||||
value={{
|
||||
@@ -452,6 +457,8 @@ export default ({ children }) => {
|
||||
setSelectedProjectId: selectProject,
|
||||
updateProjectData,
|
||||
createNewProject,
|
||||
|
||||
videos,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user