@xrift/world-components 0.27.0 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Portal/components/PortalGlow/index.d.ts.map +1 -1
- package/dist/components/Portal/components/PortalGlow/index.js +5 -4
- package/dist/components/Portal/components/PortalGlow/index.js.map +1 -1
- package/dist/components/Portal/components/PortalParticles/index.d.ts.map +1 -1
- package/dist/components/Portal/components/PortalParticles/index.js +5 -4
- package/dist/components/Portal/components/PortalParticles/index.js.map +1 -1
- package/dist/components/Portal/components/PortalPedestal/index.d.ts.map +1 -1
- package/dist/components/Portal/components/PortalPedestal/index.js +4 -3
- package/dist/components/Portal/components/PortalPedestal/index.js.map +1 -1
- package/dist/components/Portal/components/PortalThumbnail/index.d.ts.map +1 -1
- package/dist/components/Portal/components/PortalThumbnail/index.js +25 -7
- package/dist/components/Portal/components/PortalThumbnail/index.js.map +1 -1
- package/dist/components/Portal/components/PortalVortex/index.d.ts.map +1 -1
- package/dist/components/Portal/components/PortalVortex/index.js +5 -4
- package/dist/components/Portal/components/PortalVortex/index.js.map +1 -1
- package/dist/components/Portal/hooks.d.ts +1 -2
- package/dist/components/Portal/hooks.d.ts.map +1 -1
- package/dist/components/Portal/hooks.js +2 -3
- package/dist/components/Portal/hooks.js.map +1 -1
- package/dist/components/Portal/index.d.ts.map +1 -1
- package/dist/components/Portal/index.js +11 -3
- package/dist/components/Portal/index.js.map +1 -1
- package/dist/components/Portal/types.d.ts +1 -2
- package/dist/components/Portal/types.d.ts.map +1 -1
- package/dist/contexts/InstanceContext.d.ts +48 -0
- package/dist/contexts/InstanceContext.d.ts.map +1 -0
- package/dist/contexts/InstanceContext.js +55 -0
- package/dist/contexts/InstanceContext.js.map +1 -0
- package/dist/contexts/InstanceInfoContext.d.ts +39 -0
- package/dist/contexts/InstanceInfoContext.d.ts.map +1 -0
- package/dist/contexts/InstanceInfoContext.js +42 -0
- package/dist/contexts/InstanceInfoContext.js.map +1 -0
- package/dist/contexts/PortalContext.d.ts +39 -0
- package/dist/contexts/PortalContext.d.ts.map +1 -0
- package/dist/contexts/PortalContext.js +42 -0
- package/dist/contexts/PortalContext.js.map +1 -0
- package/dist/contexts/WorldContext.d.ts +46 -0
- package/dist/contexts/WorldContext.d.ts.map +1 -0
- package/dist/contexts/WorldContext.js +45 -0
- package/dist/contexts/WorldContext.js.map +1 -0
- package/dist/contexts/XRiftContext.d.ts +13 -1
- package/dist/contexts/XRiftContext.d.ts.map +1 -1
- package/dist/contexts/XRiftContext.js +8 -2
- package/dist/contexts/XRiftContext.js.map +1 -1
- package/dist/hooks/useInstance.d.ts +18 -0
- package/dist/hooks/useInstance.d.ts.map +1 -0
- package/dist/hooks/useInstance.js +54 -0
- package/dist/hooks/useInstance.js.map +1 -0
- package/dist/hooks/usePortalNavigation.d.ts +10 -0
- package/dist/hooks/usePortalNavigation.d.ts.map +1 -0
- package/dist/hooks/usePortalNavigation.js +46 -0
- package/dist/hooks/usePortalNavigation.js.map +1 -0
- package/dist/hooks/useWorld.d.ts +14 -0
- package/dist/hooks/useWorld.d.ts.map +1 -0
- package/dist/hooks/useWorld.js +31 -0
- package/dist/hooks/useWorld.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 開発環境用のデフォルト実装(console.log のみ)
|
|
5
|
+
* プラットフォーム側が実装を注入しない場合に使用される
|
|
6
|
+
*/
|
|
7
|
+
export const createDefaultInstanceInfoImplementation = () => ({
|
|
8
|
+
getInstanceInfo: async (instanceId) => {
|
|
9
|
+
console.log('[InstanceInfo] getInstanceInfo called', instanceId);
|
|
10
|
+
return {
|
|
11
|
+
instanceName: '',
|
|
12
|
+
worldName: '',
|
|
13
|
+
thumbnailUrl: null,
|
|
14
|
+
currentUsers: 0,
|
|
15
|
+
maxCapacity: 0,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
navigateToInstance: (instanceId) => console.log('[InstanceInfo] navigateToInstance called', instanceId),
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* インスタンス情報の取得・遷移機能を提供する Context
|
|
22
|
+
* xrift-frontend 側で実装を注入し、ワールド側で利用できる
|
|
23
|
+
*/
|
|
24
|
+
export const InstanceInfoContext = createContext(null);
|
|
25
|
+
/**
|
|
26
|
+
* インスタンス情報の取得・遷移機能を提供する ContextProvider
|
|
27
|
+
*/
|
|
28
|
+
export const InstanceInfoProvider = ({ value, children }) => {
|
|
29
|
+
return _jsx(InstanceInfoContext.Provider, { value: value, children: children });
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* インスタンス情報の Context を取得する hook
|
|
33
|
+
* @throws {Error} InstanceInfoProvider の外で呼び出された場合
|
|
34
|
+
*/
|
|
35
|
+
export const useInstanceInfoContext = () => {
|
|
36
|
+
const context = useContext(InstanceInfoContext);
|
|
37
|
+
if (!context) {
|
|
38
|
+
throw new Error('useInstanceInfoContext must be used within InstanceInfoProvider');
|
|
39
|
+
}
|
|
40
|
+
return context;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=InstanceInfoContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceInfoContext.js","sourceRoot":"","sources":["../../src/contexts/InstanceInfoContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjE;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAA6B,EAAE,CAAC,CAAC;IACtF,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,UAAU,CAAC,CAAA;QAChE,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAA;IACH,CAAC;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,UAAU,CAAC;CACtE,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAA;AAOvF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IACjE,OAAO,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAgC,CAAA;AAC9F,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAA6B,EAAE;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface PortalInstanceInfo {
|
|
3
|
+
instanceName: string;
|
|
4
|
+
worldName: string;
|
|
5
|
+
thumbnailUrl: string | null;
|
|
6
|
+
currentUsers: number;
|
|
7
|
+
maxCapacity: number;
|
|
8
|
+
}
|
|
9
|
+
export interface PortalContextValue {
|
|
10
|
+
/** instanceId からインスタンス情報を取得 */
|
|
11
|
+
getInstanceInfo: (instanceId: string) => Promise<PortalInstanceInfo>;
|
|
12
|
+
/** 指定インスタンスへ遷移 */
|
|
13
|
+
navigateToInstance: (instanceId: string) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 開発環境用のデフォルト実装(console.log のみ)
|
|
17
|
+
* プラットフォーム側が実装を注入しない場合に使用される
|
|
18
|
+
*/
|
|
19
|
+
export declare const createDefaultPortalImplementation: () => PortalContextValue;
|
|
20
|
+
/**
|
|
21
|
+
* ポータル遷移機能を提供する Context
|
|
22
|
+
* xrift-frontend 側で実装を注入し、ワールド側で利用できる
|
|
23
|
+
*/
|
|
24
|
+
export declare const PortalContext: import("react").Context<PortalContextValue | null>;
|
|
25
|
+
interface Props {
|
|
26
|
+
value: PortalContextValue;
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* ポータル遷移機能を提供する ContextProvider
|
|
31
|
+
*/
|
|
32
|
+
export declare const PortalProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* ポータルの Context を取得する hook
|
|
35
|
+
* @throws {Error} PortalProvider の外で呼び出された場合
|
|
36
|
+
*/
|
|
37
|
+
export declare const usePortalContext: () => PortalContextValue;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=PortalContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PortalContext.d.ts","sourceRoot":"","sources":["../../src/contexts/PortalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpE,kBAAkB;IAClB,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAO,kBAanD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,UAAU,KAAK;IACb,KAAK,EAAE,kBAAkB,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,qBAAqB,KAAK,4CAExD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAO,kBAMnC,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 開発環境用のデフォルト実装(console.log のみ)
|
|
5
|
+
* プラットフォーム側が実装を注入しない場合に使用される
|
|
6
|
+
*/
|
|
7
|
+
export const createDefaultPortalImplementation = () => ({
|
|
8
|
+
getInstanceInfo: async (instanceId) => {
|
|
9
|
+
console.log('[Portal] getInstanceInfo called', instanceId);
|
|
10
|
+
return {
|
|
11
|
+
instanceName: '',
|
|
12
|
+
worldName: '',
|
|
13
|
+
thumbnailUrl: null,
|
|
14
|
+
currentUsers: 0,
|
|
15
|
+
maxCapacity: 0,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
navigateToInstance: (instanceId) => console.log('[Portal] navigateToInstance called', instanceId),
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* ポータル遷移機能を提供する Context
|
|
22
|
+
* xrift-frontend 側で実装を注入し、ワールド側で利用できる
|
|
23
|
+
*/
|
|
24
|
+
export const PortalContext = createContext(null);
|
|
25
|
+
/**
|
|
26
|
+
* ポータル遷移機能を提供する ContextProvider
|
|
27
|
+
*/
|
|
28
|
+
export const PortalProvider = ({ value, children }) => {
|
|
29
|
+
return _jsx(PortalContext.Provider, { value: value, children: children });
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* ポータルの Context を取得する hook
|
|
33
|
+
* @throws {Error} PortalProvider の外で呼び出された場合
|
|
34
|
+
*/
|
|
35
|
+
export const usePortalContext = () => {
|
|
36
|
+
const context = useContext(PortalContext);
|
|
37
|
+
if (!context) {
|
|
38
|
+
throw new Error('usePortalContext must be used within PortalProvider');
|
|
39
|
+
}
|
|
40
|
+
return context;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=PortalContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PortalContext.js","sourceRoot":"","sources":["../../src/contexts/PortalContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjE;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAuB,EAAE,CAAC,CAAC;IAC1E,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAA;QAC1D,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAA;IACH,CAAC;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,UAAU,CAAC;CAChE,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAO3E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC3D,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAA;AAClF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAuB,EAAE;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface WorldInfo {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string | null;
|
|
6
|
+
thumbnailUrl: string | null;
|
|
7
|
+
isPublic: boolean;
|
|
8
|
+
instanceCount: number;
|
|
9
|
+
totalVisitCount: number;
|
|
10
|
+
uniqueVisitorCount: number;
|
|
11
|
+
favoriteCount: number;
|
|
12
|
+
owner?: {
|
|
13
|
+
id: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
userIconUrl?: string | null;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface WorldContextValue {
|
|
19
|
+
/** worldId からワールド情報を取得 */
|
|
20
|
+
getWorldInfo: (worldId: string) => Promise<WorldInfo>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 開発環境用のデフォルト実装(console.log のみ)
|
|
24
|
+
* プラットフォーム側が実装を注入しない場合に使用される
|
|
25
|
+
*/
|
|
26
|
+
export declare const createDefaultWorldImplementation: () => WorldContextValue;
|
|
27
|
+
/**
|
|
28
|
+
* ワールド情報の取得機能を提供する Context
|
|
29
|
+
* xrift-frontend 側で実装を注入し、ワールド側で利用できる
|
|
30
|
+
*/
|
|
31
|
+
export declare const WorldContext: import("react").Context<WorldContextValue | null>;
|
|
32
|
+
interface Props {
|
|
33
|
+
value: WorldContextValue;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ワールド情報の取得機能を提供する ContextProvider
|
|
38
|
+
*/
|
|
39
|
+
export declare const WorldProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
/**
|
|
41
|
+
* ワールドの Context を取得する hook
|
|
42
|
+
* @throws {Error} WorldProvider の外で呼び出された場合
|
|
43
|
+
*/
|
|
44
|
+
export declare const useWorldContext: () => WorldContextValue;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=WorldContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorldContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CACtD;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,QAAO,iBAelD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,UAAU,KAAK;IACb,KAAK,EAAE,iBAAiB,CAAA;IACxB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,qBAAqB,KAAK,4CAEvD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,iBAMlC,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 開発環境用のデフォルト実装(console.log のみ)
|
|
5
|
+
* プラットフォーム側が実装を注入しない場合に使用される
|
|
6
|
+
*/
|
|
7
|
+
export const createDefaultWorldImplementation = () => ({
|
|
8
|
+
getWorldInfo: async (worldId) => {
|
|
9
|
+
console.log('[World] getWorldInfo called', worldId);
|
|
10
|
+
return {
|
|
11
|
+
id: '',
|
|
12
|
+
name: '',
|
|
13
|
+
description: null,
|
|
14
|
+
thumbnailUrl: null,
|
|
15
|
+
isPublic: false,
|
|
16
|
+
instanceCount: 0,
|
|
17
|
+
totalVisitCount: 0,
|
|
18
|
+
uniqueVisitorCount: 0,
|
|
19
|
+
favoriteCount: 0,
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* ワールド情報の取得機能を提供する Context
|
|
25
|
+
* xrift-frontend 側で実装を注入し、ワールド側で利用できる
|
|
26
|
+
*/
|
|
27
|
+
export const WorldContext = createContext(null);
|
|
28
|
+
/**
|
|
29
|
+
* ワールド情報の取得機能を提供する ContextProvider
|
|
30
|
+
*/
|
|
31
|
+
export const WorldProvider = ({ value, children }) => {
|
|
32
|
+
return _jsx(WorldContext.Provider, { value: value, children: children });
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* ワールドの Context を取得する hook
|
|
36
|
+
* @throws {Error} WorldProvider の外で呼び出された場合
|
|
37
|
+
*/
|
|
38
|
+
export const useWorldContext = () => {
|
|
39
|
+
const context = useContext(WorldContext);
|
|
40
|
+
if (!context) {
|
|
41
|
+
throw new Error('useWorldContext must be used within WorldProvider');
|
|
42
|
+
}
|
|
43
|
+
return context;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=WorldContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldContext.js","sourceRoot":"","sources":["../../src/contexts/WorldContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AAwBjE;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAsB,EAAE,CAAC,CAAC;IACxE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO;YACL,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;SACjB,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAOzE;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC1D,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CAAA;AAChF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAsB,EAAE;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -4,6 +4,8 @@ import { type InstanceStateContextValue } from './InstanceStateContext';
|
|
|
4
4
|
import { type ScreenShareContextValue } from './ScreenShareContext';
|
|
5
5
|
import { type SpawnPointContextValue } from './SpawnPointContext';
|
|
6
6
|
import { type ConfirmContextValue } from './ConfirmContext';
|
|
7
|
+
import { type InstanceContextValue } from './InstanceContext';
|
|
8
|
+
import { type WorldContextValue } from './WorldContext';
|
|
7
9
|
import { type TeleportContextValue } from './TeleportContext';
|
|
8
10
|
import { type TextInputContextValue } from './TextInputContext';
|
|
9
11
|
import { type UsersContextValue } from './UsersContext';
|
|
@@ -55,6 +57,11 @@ interface Props {
|
|
|
55
57
|
* 指定しない場合はデフォルト実装(window.confirm)が使用される
|
|
56
58
|
*/
|
|
57
59
|
confirmImplementation?: ConfirmContextValue;
|
|
60
|
+
/**
|
|
61
|
+
* インスタンス情報取得・遷移の実装(オプション)
|
|
62
|
+
* 指定しない場合はデフォルト実装(console.log)が使用される
|
|
63
|
+
*/
|
|
64
|
+
instanceImplementation?: InstanceContextValue;
|
|
58
65
|
/**
|
|
59
66
|
* テレポート機能の実装(オプション)
|
|
60
67
|
* 指定しない場合はデフォルト実装(console.log)が使用される
|
|
@@ -70,6 +77,11 @@ interface Props {
|
|
|
70
77
|
* 指定しない場合はデフォルト実装(空の状態)が使用される
|
|
71
78
|
*/
|
|
72
79
|
usersImplementation?: UsersContextValue;
|
|
80
|
+
/**
|
|
81
|
+
* ワールド情報取得の実装(オプション)
|
|
82
|
+
* 指定しない場合はデフォルト実装(console.log)が使用される
|
|
83
|
+
*/
|
|
84
|
+
worldImplementation?: WorldContextValue;
|
|
73
85
|
/**
|
|
74
86
|
* ワールドイベントの実装(オプション)
|
|
75
87
|
* 指定しない場合はデフォルト実装(ローカル EventEmitter)が使用される
|
|
@@ -82,7 +94,7 @@ interface Props {
|
|
|
82
94
|
* Module Federationで動的にロードされたワールドコンポーネントに
|
|
83
95
|
* 必要な情報を注入するために使用
|
|
84
96
|
*/
|
|
85
|
-
export declare const XRiftProvider: ({ baseUrl, confirmImplementation, instanceStateImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldEventImplementation, children, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export declare const XRiftProvider: ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, worldEventImplementation, children, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
86
98
|
/**
|
|
87
99
|
* XRift ワールドの情報を取得するhook
|
|
88
100
|
* ワールドプロジェクト側でアセットの相対パスを絶対パスに変換する際に使用
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XRiftContext.d.ts","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAA;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAyB,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAA;AAW5B,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC;;OAEG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChD;;OAEG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;CAKnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,CAAA;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,
|
|
1
|
+
{"version":3,"file":"XRiftContext.d.ts","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAA;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAyB,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAA;AAW5B,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC;;OAEG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChD;;OAEG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;CAKnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,CAAA;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,8QAa3B,KAAK,4CAwFP,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,QAAO,iBAQ3B,CAAA"}
|
|
@@ -4,6 +4,8 @@ import { InstanceStateProvider } from './InstanceStateContext';
|
|
|
4
4
|
import { ScreenShareProvider } from './ScreenShareContext';
|
|
5
5
|
import { SpawnPointProvider } from './SpawnPointContext';
|
|
6
6
|
import { ConfirmProvider, createDefaultConfirmImplementation, } from './ConfirmContext';
|
|
7
|
+
import { InstanceProvider, createDefaultInstanceImplementation, } from './InstanceContext';
|
|
8
|
+
import { WorldProvider, createDefaultWorldImplementation, } from './WorldContext';
|
|
7
9
|
import { TeleportProvider, createDefaultTeleportImplementation, } from './TeleportContext';
|
|
8
10
|
import { TextInputProvider, createDefaultTextInputImplementation, } from './TextInputContext';
|
|
9
11
|
import { UsersProvider } from './UsersContext';
|
|
@@ -26,7 +28,7 @@ export const XRiftContext = createContext(null);
|
|
|
26
28
|
* Module Federationで動的にロードされたワールドコンポーネントに
|
|
27
29
|
* 必要な情報を注入するために使用
|
|
28
30
|
*/
|
|
29
|
-
export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldEventImplementation, children, }) => {
|
|
31
|
+
export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, worldEventImplementation, children, }) => {
|
|
30
32
|
// インタラクト可能なオブジェクトの管理
|
|
31
33
|
const [interactableObjects] = useState(() => new Set());
|
|
32
34
|
// 画面共有の実装(指定がない場合はデフォルト実装を使用)
|
|
@@ -35,6 +37,10 @@ export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImp
|
|
|
35
37
|
const textInputImpl = useMemo(() => textInputImplementation ?? createDefaultTextInputImplementation(), [textInputImplementation]);
|
|
36
38
|
// 確認モーダルの実装(指定がない場合はデフォルト実装を使用)
|
|
37
39
|
const confirmImpl = useMemo(() => confirmImplementation ?? createDefaultConfirmImplementation(), [confirmImplementation]);
|
|
40
|
+
// インスタンス情報の実装(指定がない場合はデフォルト実装を使用)
|
|
41
|
+
const instanceImpl = useMemo(() => instanceImplementation ?? createDefaultInstanceImplementation(), [instanceImplementation]);
|
|
42
|
+
// ワールド情報の実装(指定がない場合はデフォルト実装を使用)
|
|
43
|
+
const worldImpl = useMemo(() => worldImplementation ?? createDefaultWorldImplementation(), [worldImplementation]);
|
|
38
44
|
// テレポートの実装(指定がない場合はデフォルト実装を使用)
|
|
39
45
|
const teleportImpl = useMemo(() => teleportImplementation ?? createDefaultTeleportImplementation(), [teleportImplementation]);
|
|
40
46
|
// ワールドイベントの実装(指定がない場合はデフォルト実装を使用)
|
|
@@ -52,7 +58,7 @@ export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImp
|
|
|
52
58
|
interactableObjects,
|
|
53
59
|
registerInteractable,
|
|
54
60
|
unregisterInteractable,
|
|
55
|
-
}, children: _jsx(ScreenShareProvider, { value: screenShareImpl, children: _jsx(TextInputProvider, { value: textInputImpl, children: _jsx(InstanceStateProvider, { implementation: instanceStateImplementation, children: _jsx(SpawnPointProvider, { implementation: spawnPointImplementation, children: _jsx(UsersProvider, { implementation: usersImplementation, children: _jsx(WorldEventProvider, { value: worldEventImpl, children: _jsx(TeleportProvider, { value: teleportImpl, children: _jsx(ConfirmProvider, { value: confirmImpl, children: children }) }) }) }) }) }) }) }) }));
|
|
61
|
+
}, children: _jsx(ScreenShareProvider, { value: screenShareImpl, children: _jsx(TextInputProvider, { value: textInputImpl, children: _jsx(InstanceStateProvider, { implementation: instanceStateImplementation, children: _jsx(SpawnPointProvider, { implementation: spawnPointImplementation, children: _jsx(UsersProvider, { implementation: usersImplementation, children: _jsx(WorldEventProvider, { value: worldEventImpl, children: _jsx(TeleportProvider, { value: teleportImpl, children: _jsx(ConfirmProvider, { value: confirmImpl, children: _jsx(WorldProvider, { value: worldImpl, children: _jsx(InstanceProvider, { value: instanceImpl, children: children }) }) }) }) }) }) }) }) }) }) }));
|
|
56
62
|
};
|
|
57
63
|
/**
|
|
58
64
|
* XRift ワールドの情報を取得するhook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEjG,OAAO,EAAE,qBAAqB,EAAkC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAgC,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,qBAAqB,CAAA;AACrF,OAAO,EACL,eAAe,EACf,kCAAkC,GAEnC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,EAChB,mCAAmC,GAEpC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,iBAAiB,EACjB,oCAAoC,GAErC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,aAAa,EAA0B,MAAM,gBAAgB,CAAA;AACtE,OAAO,EACL,kBAAkB,EAClB,qCAAqC,GAEtC,MAAM,qBAAqB,CAAA;AAE5B,sBAAsB;AACtB,MAAM,sCAAsC,GAAG,GAA4B,EAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;IAC5E,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;IAC1E,eAAe,EAAE,KAAK;CACvB,CAAC,CAAA;AA2BF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type InstanceInfo } from '../contexts/InstanceContext';
|
|
2
|
+
/**
|
|
3
|
+
* インスタンス情報の取得・確認付き遷移を提供するフック
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const { info, navigateWithConfirm } = useInstance('instance-id')
|
|
7
|
+
*
|
|
8
|
+
* // インスタンス情報を表示
|
|
9
|
+
* <Text>{info?.world.name}</Text>
|
|
10
|
+
*
|
|
11
|
+
* // 確認モーダル付きで遷移
|
|
12
|
+
* <PortalPedestal onEnter={navigateWithConfirm} />
|
|
13
|
+
*/
|
|
14
|
+
export declare const useInstance: (instanceId: string) => {
|
|
15
|
+
info: InstanceInfo | null;
|
|
16
|
+
navigateWithConfirm: () => Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInstance.d.ts","sourceRoot":"","sources":["../../src/hooks/useInstance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,6BAA6B,CAAA;AAEnF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,YAAY,MAAM;;;CAqC7C,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useConfirmContext } from '../contexts/ConfirmContext';
|
|
3
|
+
import { useInstanceContext } from '../contexts/InstanceContext';
|
|
4
|
+
/**
|
|
5
|
+
* インスタンス情報の取得・確認付き遷移を提供するフック
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const { info, navigateWithConfirm } = useInstance('instance-id')
|
|
9
|
+
*
|
|
10
|
+
* // インスタンス情報を表示
|
|
11
|
+
* <Text>{info?.world.name}</Text>
|
|
12
|
+
*
|
|
13
|
+
* // 確認モーダル付きで遷移
|
|
14
|
+
* <PortalPedestal onEnter={navigateWithConfirm} />
|
|
15
|
+
*/
|
|
16
|
+
export const useInstance = (instanceId) => {
|
|
17
|
+
const { getInstanceInfo, navigateToInstance } = useInstanceContext();
|
|
18
|
+
const { requestConfirm } = useConfirmContext();
|
|
19
|
+
const [info, setInfo] = useState(null);
|
|
20
|
+
// マウント時にインスタンス情報を取得
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
let cancelled = false;
|
|
23
|
+
getInstanceInfo(instanceId)
|
|
24
|
+
.then((result) => {
|
|
25
|
+
if (!cancelled)
|
|
26
|
+
setInfo(result);
|
|
27
|
+
})
|
|
28
|
+
.catch((err) => {
|
|
29
|
+
console.warn('[useInstance] Failed to fetch instance info:', err);
|
|
30
|
+
});
|
|
31
|
+
return () => {
|
|
32
|
+
cancelled = true;
|
|
33
|
+
};
|
|
34
|
+
}, [instanceId, getInstanceInfo]);
|
|
35
|
+
// 確認モーダル付きのインスタンス遷移
|
|
36
|
+
const navigateWithConfirm = useCallback(async () => {
|
|
37
|
+
try {
|
|
38
|
+
const latestInfo = await getInstanceInfo(instanceId);
|
|
39
|
+
const confirmed = await requestConfirm({
|
|
40
|
+
title: latestInfo.world.name,
|
|
41
|
+
message: `「${latestInfo.name}」に移動しますか?\n👥 ${latestInfo.currentUsers}/${latestInfo.maxCapacity}`,
|
|
42
|
+
confirmLabel: '移動する',
|
|
43
|
+
cancelLabel: 'キャンセル',
|
|
44
|
+
});
|
|
45
|
+
if (confirmed)
|
|
46
|
+
navigateToInstance(instanceId);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
console.warn('[useInstance] Failed to navigate:', err);
|
|
50
|
+
}
|
|
51
|
+
}, [instanceId, getInstanceInfo, navigateToInstance, requestConfirm]);
|
|
52
|
+
return { info, navigateWithConfirm };
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=useInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInstance.js","sourceRoot":"","sources":["../../src/hooks/useInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAqB,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAEnF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE;IAChD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACpE,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAA;IAE3D,oBAAoB;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,eAAe,CAAC,UAAU,CAAC;aACxB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;QACJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAEjC,oBAAoB;IACpB,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;gBACrC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC5B,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,iBAAiB,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,WAAW,EAAE;gBAChG,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,OAAO;aACrB,CAAC,CAAA;YACF,IAAI,SAAS;gBAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAA;IAErE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;AACtC,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type InstanceInfo } from '../contexts/InstanceInfoContext';
|
|
2
|
+
/**
|
|
3
|
+
* Portal 内部で使うヘルパーフック
|
|
4
|
+
* instanceId からインスタンス情報を取得し、台座進入時に確認モーダル → 遷移を行う
|
|
5
|
+
*/
|
|
6
|
+
export declare const usePortalNavigation: (instanceId: string) => {
|
|
7
|
+
info: InstanceInfo | null;
|
|
8
|
+
enterPortal: () => Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=usePortalNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePortalNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePortalNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,iCAAiC,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM;;;CAqCrD,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useConfirmContext } from '../contexts/ConfirmContext';
|
|
3
|
+
import { useInstanceInfoContext } from '../contexts/InstanceInfoContext';
|
|
4
|
+
/**
|
|
5
|
+
* Portal 内部で使うヘルパーフック
|
|
6
|
+
* instanceId からインスタンス情報を取得し、台座進入時に確認モーダル → 遷移を行う
|
|
7
|
+
*/
|
|
8
|
+
export const usePortalNavigation = (instanceId) => {
|
|
9
|
+
const { getInstanceInfo, navigateToInstance } = useInstanceInfoContext();
|
|
10
|
+
const { requestConfirm } = useConfirmContext();
|
|
11
|
+
const [info, setInfo] = useState(null);
|
|
12
|
+
// マウント時にインスタンス情報を取得
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
let cancelled = false;
|
|
15
|
+
getInstanceInfo(instanceId)
|
|
16
|
+
.then((result) => {
|
|
17
|
+
if (!cancelled)
|
|
18
|
+
setInfo(result);
|
|
19
|
+
})
|
|
20
|
+
.catch((err) => {
|
|
21
|
+
console.warn('[Portal] Failed to fetch instance info:', err);
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
cancelled = true;
|
|
25
|
+
};
|
|
26
|
+
}, [instanceId, getInstanceInfo]);
|
|
27
|
+
// 台座進入時の処理
|
|
28
|
+
const enterPortal = useCallback(async () => {
|
|
29
|
+
try {
|
|
30
|
+
const latestInfo = await getInstanceInfo(instanceId);
|
|
31
|
+
const confirmed = await requestConfirm({
|
|
32
|
+
title: latestInfo.worldName,
|
|
33
|
+
message: `「${latestInfo.instanceName}」に移動しますか?\n👥 ${latestInfo.currentUsers}/${latestInfo.maxCapacity}`,
|
|
34
|
+
confirmLabel: '移動する',
|
|
35
|
+
cancelLabel: 'キャンセル',
|
|
36
|
+
});
|
|
37
|
+
if (confirmed)
|
|
38
|
+
navigateToInstance(instanceId);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
console.warn('[Portal] Failed to enter portal:', err);
|
|
42
|
+
}
|
|
43
|
+
}, [instanceId, getInstanceInfo, navigateToInstance, requestConfirm]);
|
|
44
|
+
return { info, enterPortal };
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=usePortalNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePortalNavigation.js","sourceRoot":"","sources":["../../src/hooks/usePortalNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAqB,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACxD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,sBAAsB,EAAE,CAAA;IACxE,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAA;IAE3D,oBAAoB;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,eAAe,CAAC,UAAU,CAAC;aACxB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QACJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAEjC,WAAW;IACX,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;gBACrC,KAAK,EAAE,UAAU,CAAC,SAAS;gBAC3B,OAAO,EAAE,IAAI,UAAU,CAAC,YAAY,iBAAiB,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,WAAW,EAAE;gBACxG,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,OAAO;aACrB,CAAC,CAAA;YACF,IAAI,SAAS;gBAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAA;IAErE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AAC9B,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type WorldInfo } from '../contexts/WorldContext';
|
|
2
|
+
/**
|
|
3
|
+
* ワールド情報の取得を提供するフック
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const { info } = useWorld('world-id')
|
|
7
|
+
*
|
|
8
|
+
* // ワールド情報を表示
|
|
9
|
+
* <Text>{info?.name}</Text>
|
|
10
|
+
*/
|
|
11
|
+
export declare const useWorld: (worldId: string) => {
|
|
12
|
+
info: WorldInfo | null;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useWorld.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorld.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorld.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,0BAA0B,CAAA;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM;;CAmBvC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useWorldContext } from '../contexts/WorldContext';
|
|
3
|
+
/**
|
|
4
|
+
* ワールド情報の取得を提供するフック
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const { info } = useWorld('world-id')
|
|
8
|
+
*
|
|
9
|
+
* // ワールド情報を表示
|
|
10
|
+
* <Text>{info?.name}</Text>
|
|
11
|
+
*/
|
|
12
|
+
export const useWorld = (worldId) => {
|
|
13
|
+
const { getWorldInfo } = useWorldContext();
|
|
14
|
+
const [info, setInfo] = useState(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
let cancelled = false;
|
|
17
|
+
getWorldInfo(worldId)
|
|
18
|
+
.then((result) => {
|
|
19
|
+
if (!cancelled)
|
|
20
|
+
setInfo(result);
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
console.warn('[useWorld] Failed to fetch world info:', err);
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
cancelled = true;
|
|
27
|
+
};
|
|
28
|
+
}, [worldId, getWorldInfo]);
|
|
29
|
+
return { info };
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useWorld.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorld.js","sourceRoot":"","sources":["../../src/hooks/useWorld.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAkB,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAA;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,YAAY,CAAC,OAAO,CAAC;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QACJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3B,OAAO,EAAE,IAAI,EAAE,CAAA;AACjB,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { SpawnPointContext, SpawnPointProvider, useSpawnPointContext, type Spawn
|
|
|
5
5
|
export { UsersContext, UsersProvider, useUsers, type User, type UsersContextValue, } from './contexts/UsersContext';
|
|
6
6
|
export { TextInputContext, TextInputProvider, useTextInputContext, createDefaultTextInputImplementation, type TextInputContextValue, type TextInputRequest, } from './contexts/TextInputContext';
|
|
7
7
|
export { ConfirmContext, ConfirmProvider, useConfirmContext, createDefaultConfirmImplementation, type ConfirmContextValue, type ConfirmOptions, } from './contexts/ConfirmContext';
|
|
8
|
+
export { InstanceContext, InstanceProvider, useInstanceContext, createDefaultInstanceImplementation, type InstanceContextValue, type InstanceInfo, } from './contexts/InstanceContext';
|
|
9
|
+
export { WorldContext, WorldProvider, useWorldContext, createDefaultWorldImplementation, type WorldContextValue, type WorldInfo, } from './contexts/WorldContext';
|
|
8
10
|
export { TeleportContext, TeleportProvider, useTeleportContext, createDefaultTeleportImplementation, type TeleportContextValue, type TeleportDestination, } from './contexts/TeleportContext';
|
|
9
11
|
export { WorldEventContext, WorldEventProvider, useWorldEventContext, createDefaultWorldEventImplementation, type WorldEventContextValue, } from './contexts/WorldEventContext';
|
|
10
12
|
export { Interactable, type InteractableProps, } from './components/Interactable';
|
|
@@ -20,11 +22,14 @@ export { TagBoard, type TagBoardProps, type Tag, } from './components/TagBoard';
|
|
|
20
22
|
export { Video180Sphere, type Video180SphereProps, } from './components/Video180Sphere';
|
|
21
23
|
export { DevEnvironment, type DevEnvironmentProps, } from './components/DevEnvironment';
|
|
22
24
|
export { EntryLogBoard, type EntryLogBoardProps, } from './components/EntryLogBoard';
|
|
25
|
+
export { Portal, type PortalProps } from './components/Portal';
|
|
23
26
|
export { type PhysicsConfig } from './components/DevEnvironment/types';
|
|
24
27
|
export { useInstanceState } from './hooks/useInstanceState';
|
|
25
28
|
export { useSpawnPoint } from './hooks/useSpawnPoint';
|
|
26
29
|
export { useConfirm } from './hooks/useConfirm';
|
|
27
30
|
export { useTeleport } from './hooks/useTeleport';
|
|
31
|
+
export { useInstance } from './hooks/useInstance';
|
|
32
|
+
export { useWorld } from './hooks/useWorld';
|
|
28
33
|
export { useWebAudioVolume } from './hooks/useWebAudioVolume';
|
|
29
34
|
export { useWorldEvent } from './hooks/useWorldEvent';
|
|
30
35
|
export { LAYERS, type LayerName, type LayerNumber } from './constants/layers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export { SpawnPointContext, SpawnPointProvider, useSpawnPointContext, } from './
|
|
|
6
6
|
export { UsersContext, UsersProvider, useUsers, } from './contexts/UsersContext';
|
|
7
7
|
export { TextInputContext, TextInputProvider, useTextInputContext, createDefaultTextInputImplementation, } from './contexts/TextInputContext';
|
|
8
8
|
export { ConfirmContext, ConfirmProvider, useConfirmContext, createDefaultConfirmImplementation, } from './contexts/ConfirmContext';
|
|
9
|
+
export { InstanceContext, InstanceProvider, useInstanceContext, createDefaultInstanceImplementation, } from './contexts/InstanceContext';
|
|
10
|
+
export { WorldContext, WorldProvider, useWorldContext, createDefaultWorldImplementation, } from './contexts/WorldContext';
|
|
9
11
|
export { TeleportContext, TeleportProvider, useTeleportContext, createDefaultTeleportImplementation, } from './contexts/TeleportContext';
|
|
10
12
|
export { WorldEventContext, WorldEventProvider, useWorldEventContext, createDefaultWorldEventImplementation, } from './contexts/WorldEventContext';
|
|
11
13
|
// Components
|
|
@@ -22,11 +24,14 @@ export { TagBoard, } from './components/TagBoard';
|
|
|
22
24
|
export { Video180Sphere, } from './components/Video180Sphere';
|
|
23
25
|
export { DevEnvironment, } from './components/DevEnvironment';
|
|
24
26
|
export { EntryLogBoard, } from './components/EntryLogBoard';
|
|
27
|
+
export { Portal } from './components/Portal';
|
|
25
28
|
// Hooks
|
|
26
29
|
export { useInstanceState } from './hooks/useInstanceState';
|
|
27
30
|
export { useSpawnPoint } from './hooks/useSpawnPoint';
|
|
28
31
|
export { useConfirm } from './hooks/useConfirm';
|
|
29
32
|
export { useTeleport } from './hooks/useTeleport';
|
|
33
|
+
export { useInstance } from './hooks/useInstance';
|
|
34
|
+
export { useWorld } from './hooks/useWorld';
|
|
30
35
|
export { useWebAudioVolume } from './hooks/useWebAudioVolume';
|
|
31
36
|
export { useWorldEvent } from './hooks/useWorldEvent';
|
|
32
37
|
// Constants
|