playbacks web
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"origin": ["http://localhost:8081", "https://musicland-one.vercel.app/"],
|
||||||
|
"method": ["GET", "HEAD", "PUT", "POST", "DELETE"],
|
||||||
|
"responseHeader": ["Content-Type", "Authorization"],
|
||||||
|
"maxAgeSeconds": 3600
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
const { getDefaultConfig } = require("@expo/metro-config");
|
const { getDefaultConfig } = require("@expo/metro-config");
|
||||||
|
|
||||||
const config = getDefaultConfig(__dirname);
|
const config = getDefaultConfig(__dirname);
|
||||||
|
|
||||||
|
// Vérifier que .js est bien présent
|
||||||
|
if (!config.resolver.sourceExts.includes("js")) {
|
||||||
|
config.resolver.sourceExts.push("js");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ajouter ce dont tu as besoin
|
||||||
config.resolver.sourceExts.push("cjs", "mjs");
|
config.resolver.sourceExts.push("cjs", "mjs");
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Palette } from '../styles';
|
import { Palette } from "../styles";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
currentUID: null,
|
currentUID: null,
|
||||||
@@ -6,6 +6,7 @@ export default {
|
|||||||
currentUserRoles: [],
|
currentUserRoles: [],
|
||||||
|
|
||||||
webBackgroundImg: null,
|
webBackgroundImg: null,
|
||||||
|
webLayoutMode: "default",
|
||||||
|
|
||||||
_config: {
|
_config: {
|
||||||
colors: {
|
colors: {
|
||||||
|
|||||||
@@ -6,11 +6,13 @@ import useLayoutType from "../hooks/useLayoutType";
|
|||||||
import { background as backgrounds } from "../assets";
|
import { background as backgrounds } from "../assets";
|
||||||
import { Style } from "../styles";
|
import { Style } from "../styles";
|
||||||
|
|
||||||
|
// eslint-disable-next-line react/display-name
|
||||||
export default ({ currentUID = null, children }) => {
|
export default ({ currentUID = null, children }) => {
|
||||||
const { isWeb = false } = useLayoutType();
|
const { isWeb = false } = useLayoutType();
|
||||||
|
|
||||||
// Web: full-screen background with a centered content area (30% width)
|
// Web: full-screen background with a centered content area (30% width)
|
||||||
const [webBackgroundImg] = useGlobal("webBackgroundImg");
|
const [webBackgroundImg] = useGlobal("webBackgroundImg");
|
||||||
|
const [webLayoutMode] = useGlobal("webLayoutMode");
|
||||||
|
|
||||||
if (isWeb) {
|
if (isWeb) {
|
||||||
return (
|
return (
|
||||||
@@ -39,9 +41,15 @@ export default ({ currentUID = null, children }) => {
|
|||||||
{/* Centered content column (phone-like width) */}
|
{/* Centered content column (phone-like width) */}
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
width: isWeb ? "60%" : "30%",
|
width:
|
||||||
|
webLayoutMode === "playbacks-wide"
|
||||||
|
? "90%"
|
||||||
|
: isWeb
|
||||||
|
? "60%"
|
||||||
|
: "30%",
|
||||||
minWidth: 360,
|
minWidth: 360,
|
||||||
maxWidth: isWeb ? 800 : 520,
|
maxWidth:
|
||||||
|
webLayoutMode === "playbacks-wide" ? 1440 : isWeb ? 800 : 520,
|
||||||
height: "100svh",
|
height: "100svh",
|
||||||
backgroundColor: "transparent",
|
backgroundColor: "transparent",
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import TabBar from "./TabBar";
|
|||||||
import { Platform } from "react-native";
|
import { Platform } from "react-native";
|
||||||
import HitParade from "../screens/HitParade/HitParade.js";
|
import HitParade from "../screens/HitParade/HitParade.js";
|
||||||
import Library from "../screens/Library/Library.js";
|
import Library from "../screens/Library/Library.js";
|
||||||
import Playbacks from "../screens/Playbacks.js";
|
import Playbacks from "../screens/Playbacks/Playbacks";
|
||||||
import Profile from "../screens/Profile/Profile.js";
|
import Profile from "../screens/Profile/Profile.js";
|
||||||
import HomeStack from "./HomeStack";
|
import HomeStack from "./HomeStack";
|
||||||
|
|
||||||
|
|||||||
@@ -12,22 +12,22 @@ import React, {
|
|||||||
import { Image, Platform, Pressable, Share, Text, View } from "react-native";
|
import { Image, Platform, Pressable, Share, Text, View } from "react-native";
|
||||||
import Carousel from "react-native-reanimated-carousel";
|
import Carousel from "react-native-reanimated-carousel";
|
||||||
import { responsiveHeight } from "react-native-responsive-dimensions";
|
import { responsiveHeight } from "react-native-responsive-dimensions";
|
||||||
import { icons, img } from "../assets";
|
import { icons, img } from "../../assets";
|
||||||
import { openComments } from "../components/bottomsheets/CommentsBottomSheet";
|
import { openComments } from "../../components/bottomsheets/CommentsBottomSheet";
|
||||||
import KaraokeLyrics from "../components/KaraokeLyrics";
|
import KaraokeLyrics from "../../components/KaraokeLyrics";
|
||||||
import {
|
import {
|
||||||
arrayRemove,
|
arrayRemove,
|
||||||
arrayUnion,
|
arrayUnion,
|
||||||
projectsRef,
|
projectsRef,
|
||||||
usersRef,
|
usersRef,
|
||||||
} from "../config/firebase";
|
} from "../../config/firebase";
|
||||||
import useDataFromRef from "../hooks/useDataFromRef";
|
import useDataFromRef from "../../hooks/useDataFromRef";
|
||||||
import { Routes } from "../navigation";
|
import { Routes } from "../../navigation";
|
||||||
import { navigate } from "../navigation/NavigationService";
|
import { navigate } from "../../navigation/NavigationService";
|
||||||
import { useUser } from "../providers/UserDataProvider";
|
import { useUser } from "../../providers/UserDataProvider";
|
||||||
import { Palette } from "../styles";
|
import { Palette } from "../../styles";
|
||||||
import { FONT_FAMILY } from "../styles/Fonts";
|
import { FONT_FAMILY } from "../../styles/Fonts";
|
||||||
import { size } from "../styles/Style";
|
import { size } from "../../styles/Style";
|
||||||
|
|
||||||
const PlaybackItem = ({ item, isActive, userCache, getUserByUid }) => {
|
const PlaybackItem = ({ item, isActive, userCache, getUserByUid }) => {
|
||||||
const { currentUID, followUser, unfollowUser } = useUser() || {};
|
const { currentUID, followUser, unfollowUser } = useUser() || {};
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user