599 lines
29 KiB
JavaScript
599 lines
29 KiB
JavaScript
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
|
"[project]/Documents/00 - projet/plumeia/src/lib/api.ts [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"default",
|
|
()=>__TURBOPACK__default__export__
|
|
]);
|
|
const API_BASE_URL = '/api';
|
|
// --- API CLIENT ---
|
|
const api = {
|
|
async request (endpoint, options = {}) {
|
|
const url = `${API_BASE_URL}${endpoint}`;
|
|
const headers = {
|
|
'Content-Type': 'application/json',
|
|
...options.headers
|
|
};
|
|
const response = await fetch(url, {
|
|
...options,
|
|
headers,
|
|
credentials: 'include'
|
|
});
|
|
if (!response.ok) {
|
|
let errorMsg = `Error ${response.status}: ${response.statusText}`;
|
|
try {
|
|
const errorJson = await response.json();
|
|
console.error("API Error JSON:", errorJson);
|
|
if (errorJson.error) errorMsg = errorJson.error;
|
|
if (errorJson.message) errorMsg = errorJson.message;
|
|
} catch {
|
|
// Ignore json parse error
|
|
}
|
|
throw new Error(errorMsg);
|
|
}
|
|
if (response.status === 204) return null;
|
|
return response.json();
|
|
},
|
|
// --- AUTH ENDPOINTS ---
|
|
auth: {
|
|
async getSession () {
|
|
try {
|
|
return await api.request('/auth/get-session');
|
|
} catch {
|
|
return null;
|
|
}
|
|
},
|
|
async signIn (email, password) {
|
|
return api.request('/auth/sign-in/email', {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
email,
|
|
password
|
|
})
|
|
});
|
|
},
|
|
async signUp (email, password, name) {
|
|
return api.request('/auth/sign-up/email', {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
email,
|
|
password,
|
|
name
|
|
})
|
|
});
|
|
},
|
|
async signOut () {
|
|
return api.request('/auth/sign-out', {
|
|
method: 'POST'
|
|
});
|
|
}
|
|
},
|
|
// --- DATA ENDPOINTS ---
|
|
data: {
|
|
async list (table) {
|
|
const res = await api.request(`/data/read/${table}`);
|
|
return res.data || [];
|
|
},
|
|
async get (table, id) {
|
|
const res = await api.request(`/data/read/${table}/${id}`);
|
|
return res.data;
|
|
},
|
|
async create (table, data) {
|
|
return api.request(`/data/create/${table}`, {
|
|
method: 'POST',
|
|
body: JSON.stringify(data)
|
|
});
|
|
},
|
|
async update (table, id, data) {
|
|
return api.request(`/data/update/${table}/${id}`, {
|
|
method: 'PUT',
|
|
body: JSON.stringify(data)
|
|
});
|
|
},
|
|
async delete (table, id) {
|
|
return api.request(`/data/delete/${table}/${id}`, {
|
|
method: 'DELETE'
|
|
});
|
|
},
|
|
async getFullProject (projectId) {
|
|
const project = await this.get('projects', projectId);
|
|
const [chapters, entities, ideas] = await Promise.all([
|
|
api.request(`/data/chapters/list?project_id=${projectId}`),
|
|
api.request(`/data/entities/list?project_id=${projectId}`),
|
|
api.request(`/data/ideas/list?project_id=${projectId}`)
|
|
]);
|
|
return {
|
|
...project,
|
|
chapters: chapters || [],
|
|
entities: entities || [],
|
|
ideas: ideas || []
|
|
};
|
|
}
|
|
},
|
|
// --- AI ENDPOINTS (server-side via API routes) ---
|
|
ai: {
|
|
async generate (project, chapterId, prompt, user) {
|
|
return api.request('/ai/generate', {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
project,
|
|
chapterId,
|
|
prompt,
|
|
user
|
|
})
|
|
});
|
|
},
|
|
async transform (text, mode, context, user) {
|
|
const res = await api.request('/ai/transform', {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
text,
|
|
mode,
|
|
context,
|
|
user
|
|
})
|
|
});
|
|
return res.text;
|
|
}
|
|
}
|
|
};
|
|
const __TURBOPACK__default__export__ = api;
|
|
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
|
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
|
}
|
|
}),
|
|
"[project]/Documents/00 - projet/plumeia/src/hooks/useAuth.ts [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"useAuth",
|
|
()=>useAuth
|
|
]);
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/src/lib/api.ts [app-client] (ecmascript)");
|
|
var _s = __turbopack_context__.k.signature();
|
|
'use client';
|
|
;
|
|
;
|
|
const useAuth = ()=>{
|
|
_s();
|
|
const [user, setUser] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])(null);
|
|
const [loading, setLoading] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])(true);
|
|
// Check session on mount
|
|
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
|
"useAuth.useEffect": ()=>{
|
|
const checkSession = {
|
|
"useAuth.useEffect.checkSession": async ()=>{
|
|
try {
|
|
const session = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.getSession();
|
|
if (session && session.user) {
|
|
setUser({
|
|
id: session.user.id,
|
|
email: session.user.email,
|
|
name: session.user.name || 'User',
|
|
subscription: {
|
|
plan: 'free',
|
|
startDate: Date.now(),
|
|
status: 'active'
|
|
},
|
|
usage: {
|
|
aiActionsCurrent: 0,
|
|
aiActionsLimit: 100,
|
|
projectsLimit: 3
|
|
},
|
|
preferences: {
|
|
theme: 'light',
|
|
dailyWordGoal: 500,
|
|
language: 'fr'
|
|
},
|
|
stats: {
|
|
totalWordsWritten: 0,
|
|
writingStreak: 0,
|
|
lastWriteDate: 0
|
|
}
|
|
});
|
|
}
|
|
} catch (err) {
|
|
console.error('Session check failed', err);
|
|
} finally{
|
|
setLoading(false);
|
|
}
|
|
}
|
|
}["useAuth.useEffect.checkSession"];
|
|
checkSession();
|
|
}
|
|
}["useAuth.useEffect"], []);
|
|
const login = async (email, pass)=>{
|
|
setLoading(true);
|
|
try {
|
|
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.signIn(email, pass);
|
|
const session = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.getSession();
|
|
if (session?.user) {
|
|
setUser({
|
|
id: session.user.id,
|
|
email: session.user.email,
|
|
name: session.user.name || 'User',
|
|
subscription: {
|
|
plan: 'free',
|
|
startDate: Date.now(),
|
|
status: 'active'
|
|
},
|
|
usage: {
|
|
aiActionsCurrent: 0,
|
|
aiActionsLimit: 100,
|
|
projectsLimit: 3
|
|
},
|
|
preferences: {
|
|
theme: 'light',
|
|
dailyWordGoal: 500,
|
|
language: 'fr'
|
|
},
|
|
stats: {
|
|
totalWordsWritten: 0,
|
|
writingStreak: 0,
|
|
lastWriteDate: 0
|
|
}
|
|
});
|
|
}
|
|
} catch (err) {
|
|
console.error('Login failed', err);
|
|
throw err;
|
|
} finally{
|
|
setLoading(false);
|
|
}
|
|
};
|
|
const signup = async (email, pass, name)=>{
|
|
setLoading(true);
|
|
try {
|
|
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.signUp(email, pass, name);
|
|
let session = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.getSession();
|
|
if (!session?.user) {
|
|
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.signIn(email, pass);
|
|
session = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.getSession();
|
|
}
|
|
if (session?.user) {
|
|
setUser({
|
|
id: session.user.id,
|
|
email: session.user.email,
|
|
name: session.user.name || name,
|
|
subscription: {
|
|
plan: 'free',
|
|
startDate: Date.now(),
|
|
status: 'active'
|
|
},
|
|
usage: {
|
|
aiActionsCurrent: 0,
|
|
aiActionsLimit: 100,
|
|
projectsLimit: 3
|
|
},
|
|
preferences: {
|
|
theme: 'light',
|
|
dailyWordGoal: 500,
|
|
language: 'fr'
|
|
},
|
|
stats: {
|
|
totalWordsWritten: 0,
|
|
writingStreak: 0,
|
|
lastWriteDate: 0
|
|
}
|
|
});
|
|
}
|
|
} catch (err) {
|
|
console.error('Signup failed', err);
|
|
throw err;
|
|
} finally{
|
|
setLoading(false);
|
|
}
|
|
};
|
|
const logout = async ()=>{
|
|
try {
|
|
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$lib$2f$api$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].auth.signOut();
|
|
} catch (err) {
|
|
console.error('Logout failed', err);
|
|
} finally{
|
|
setUser(null);
|
|
}
|
|
};
|
|
const incrementUsage = ()=>{
|
|
if (user) {
|
|
setUser({
|
|
...user,
|
|
usage: {
|
|
...user.usage,
|
|
aiActionsCurrent: user.usage.aiActionsCurrent + 1
|
|
}
|
|
});
|
|
}
|
|
};
|
|
return {
|
|
user,
|
|
login,
|
|
signup,
|
|
logout,
|
|
incrementUsage,
|
|
loading
|
|
};
|
|
};
|
|
_s(useAuth, "NiO5z6JIqzX62LS5UWDgIqbZYyY=");
|
|
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
|
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
|
}
|
|
}),
|
|
"[project]/Documents/00 - projet/plumeia/src/providers/AuthProvider.tsx [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"AuthProvider",
|
|
()=>AuthProvider,
|
|
"useAuthContext",
|
|
()=>useAuthContext
|
|
]);
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$hooks$2f$useAuth$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/src/hooks/useAuth.ts [app-client] (ecmascript)");
|
|
;
|
|
var _s = __turbopack_context__.k.signature(), _s1 = __turbopack_context__.k.signature();
|
|
'use client';
|
|
;
|
|
;
|
|
const AuthContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"])(null);
|
|
const AuthProvider = ({ children })=>{
|
|
_s();
|
|
const auth = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$hooks$2f$useAuth$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useAuth"])();
|
|
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(AuthContext.Provider, {
|
|
value: auth,
|
|
children: children
|
|
}, void 0, false, {
|
|
fileName: "[project]/Documents/00 - projet/plumeia/src/providers/AuthProvider.tsx",
|
|
lineNumber: 10,
|
|
columnNumber: 12
|
|
}, ("TURBOPACK compile-time value", void 0));
|
|
};
|
|
_s(AuthProvider, "YuJWYXaKIY31b1y7U6yy3IXSxQA=", false, function() {
|
|
return [
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$hooks$2f$useAuth$2e$ts__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useAuth"]
|
|
];
|
|
});
|
|
_c = AuthProvider;
|
|
function useAuthContext() {
|
|
_s1();
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"])(AuthContext);
|
|
}
|
|
_s1(useAuthContext, "gDsCjeeItUuvgOWf1v4qoK9RF6k=");
|
|
var _c;
|
|
__turbopack_context__.k.register(_c, "AuthProvider");
|
|
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
|
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
|
}
|
|
}),
|
|
"[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
|
/**
|
|
* @license React
|
|
* react-jsx-dev-runtime.development.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/ "use strict";
|
|
"production" !== ("TURBOPACK compile-time value", "development") && function() {
|
|
function getComponentNameFromType(type) {
|
|
if (null == type) return null;
|
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
if ("string" === typeof type) return type;
|
|
switch(type){
|
|
case REACT_FRAGMENT_TYPE:
|
|
return "Fragment";
|
|
case REACT_PROFILER_TYPE:
|
|
return "Profiler";
|
|
case REACT_STRICT_MODE_TYPE:
|
|
return "StrictMode";
|
|
case REACT_SUSPENSE_TYPE:
|
|
return "Suspense";
|
|
case REACT_SUSPENSE_LIST_TYPE:
|
|
return "SuspenseList";
|
|
case REACT_ACTIVITY_TYPE:
|
|
return "Activity";
|
|
case REACT_VIEW_TRANSITION_TYPE:
|
|
return "ViewTransition";
|
|
}
|
|
if ("object" === typeof type) switch("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof){
|
|
case REACT_PORTAL_TYPE:
|
|
return "Portal";
|
|
case REACT_CONTEXT_TYPE:
|
|
return type.displayName || "Context";
|
|
case REACT_CONSUMER_TYPE:
|
|
return (type._context.displayName || "Context") + ".Consumer";
|
|
case REACT_FORWARD_REF_TYPE:
|
|
var innerType = type.render;
|
|
type = type.displayName;
|
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
return type;
|
|
case REACT_MEMO_TYPE:
|
|
return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
case REACT_LAZY_TYPE:
|
|
innerType = type._payload;
|
|
type = type._init;
|
|
try {
|
|
return getComponentNameFromType(type(innerType));
|
|
} catch (x) {}
|
|
}
|
|
return null;
|
|
}
|
|
function testStringCoercion(value) {
|
|
return "" + value;
|
|
}
|
|
function checkKeyStringCoercion(value) {
|
|
try {
|
|
testStringCoercion(value);
|
|
var JSCompiler_inline_result = !1;
|
|
} catch (e) {
|
|
JSCompiler_inline_result = !0;
|
|
}
|
|
if (JSCompiler_inline_result) {
|
|
JSCompiler_inline_result = console;
|
|
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
|
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
|
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
|
return testStringCoercion(value);
|
|
}
|
|
}
|
|
function getTaskName(type) {
|
|
if (type === REACT_FRAGMENT_TYPE) return "<>";
|
|
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
|
|
try {
|
|
var name = getComponentNameFromType(type);
|
|
return name ? "<" + name + ">" : "<...>";
|
|
} catch (x) {
|
|
return "<...>";
|
|
}
|
|
}
|
|
function getOwner() {
|
|
var dispatcher = ReactSharedInternals.A;
|
|
return null === dispatcher ? null : dispatcher.getOwner();
|
|
}
|
|
function UnknownOwner() {
|
|
return Error("react-stack-top-frame");
|
|
}
|
|
function hasValidKey(config) {
|
|
if (hasOwnProperty.call(config, "key")) {
|
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
|
if (getter && getter.isReactWarning) return !1;
|
|
}
|
|
return void 0 !== config.key;
|
|
}
|
|
function defineKeyPropWarningGetter(props, displayName) {
|
|
function warnAboutAccessingKey() {
|
|
specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
|
}
|
|
warnAboutAccessingKey.isReactWarning = !0;
|
|
Object.defineProperty(props, "key", {
|
|
get: warnAboutAccessingKey,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function elementRefGetterWithDeprecationWarning() {
|
|
var componentName = getComponentNameFromType(this.type);
|
|
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
|
componentName = this.props.ref;
|
|
return void 0 !== componentName ? componentName : null;
|
|
}
|
|
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
|
var refProp = props.ref;
|
|
type = {
|
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
type: type,
|
|
key: key,
|
|
props: props,
|
|
_owner: owner
|
|
};
|
|
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
|
|
enumerable: !1,
|
|
get: elementRefGetterWithDeprecationWarning
|
|
}) : Object.defineProperty(type, "ref", {
|
|
enumerable: !1,
|
|
value: null
|
|
});
|
|
type._store = {};
|
|
Object.defineProperty(type._store, "validated", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: 0
|
|
});
|
|
Object.defineProperty(type, "_debugInfo", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: null
|
|
});
|
|
Object.defineProperty(type, "_debugStack", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: debugStack
|
|
});
|
|
Object.defineProperty(type, "_debugTask", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: debugTask
|
|
});
|
|
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
|
return type;
|
|
}
|
|
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
|
var children = config.children;
|
|
if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) {
|
|
for(isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)validateChildKeys(children[isStaticChildren]);
|
|
Object.freeze && Object.freeze(children);
|
|
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
else validateChildKeys(children);
|
|
if (hasOwnProperty.call(config, "key")) {
|
|
children = getComponentNameFromType(type);
|
|
var keys = Object.keys(config).filter(function(k) {
|
|
return "key" !== k;
|
|
});
|
|
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);
|
|
}
|
|
children = null;
|
|
void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
|
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
|
if ("key" in config) {
|
|
maybeKey = {};
|
|
for(var propName in config)"key" !== propName && (maybeKey[propName] = config[propName]);
|
|
} else maybeKey = config;
|
|
children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
|
|
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
|
|
}
|
|
function validateChildKeys(node) {
|
|
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
|
}
|
|
function isValidElement(object) {
|
|
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
}
|
|
var React = __turbopack_context__.r("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
|
return null;
|
|
};
|
|
React = {
|
|
react_stack_bottom_frame: function(callStackForError) {
|
|
return callStackForError();
|
|
}
|
|
};
|
|
var specialPropKeyWarningShown;
|
|
var didWarnAboutElementRef = {};
|
|
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
|
|
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
|
var didWarnAboutKeySpread = {};
|
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
|
exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
|
|
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
|
if (trackActualOwner) {
|
|
var previousStackTraceLimit = Error.stackTraceLimit;
|
|
Error.stackTraceLimit = 10;
|
|
var debugStackDEV = Error("react-stack-top-frame");
|
|
Error.stackTraceLimit = previousStackTraceLimit;
|
|
} else debugStackDEV = unknownOwnerDebugStack;
|
|
return jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStackDEV, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
|
};
|
|
}();
|
|
}),
|
|
"[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
|
'use strict';
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
module.exports = __turbopack_context__.r("[project]/Documents/00 - projet/plumeia/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)");
|
|
}
|
|
}),
|
|
]);
|
|
|
|
//# sourceMappingURL=Documents_00%20-%20projet_plumeia_4193610b._.js.map
|