Skip to content

Commit 2cb857b

Browse files
committed
fix(theatre): fix studio import
1 parent 3b6dc9d commit 2cb857b

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

libs/theatre/src/lib/studio/studio.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { booleanAttribute, Directive, effect, input, signal } from '@angular/core';
2-
import Studio from '@theatre/studio';
2+
import { type IStudio } from '@theatre/studio';
33
import { THEATRE_STUDIO } from './studio-token';
44

55
@Directive({
@@ -11,14 +11,22 @@ import { THEATRE_STUDIO } from './studio-token';
1111
export class TheatreStudio {
1212
enabled = input(true, { alias: 'studio', transform: booleanAttribute });
1313

14-
private Studio = signal(Studio);
14+
private Studio = signal<IStudio | null>(null);
1515
studio = this.Studio.asReadonly();
1616

1717
constructor() {
18-
Studio.initialize();
18+
import('@theatre/studio').then((m) => {
19+
const Studio = 'default' in m.default ? (m.default as unknown as { default: IStudio }).default : m.default;
20+
Studio.initialize();
21+
this.Studio.set(Studio);
22+
});
1923

2024
effect((onCleanup) => {
21-
const [enabled, studio] = [this.enabled(), this.Studio()];
25+
const studio = this.Studio();
26+
if (!studio) return;
27+
28+
const enabled = this.enabled();
29+
2230
if (enabled) {
2331
studio.ui.restore();
2432
} else {

0 commit comments

Comments
 (0)