File tree Expand file tree Collapse file tree 7 files changed +19
-25
lines changed
dashboard/src/components/editor Expand file tree Collapse file tree 7 files changed +19
-25
lines changed Original file line number Diff line number Diff line change @@ -147,7 +147,7 @@ const Editor: React.FC<{
147
147
"://" ,
148
148
// adds subdomain to the editor url
149
149
`://${ documentId } .`
150
- ) + "?embed=true &titleBarPadding=40" ;
150
+ ) + "?type=embed &titleBarPadding=40" ;
151
151
152
152
return (
153
153
< div className = "text-neutral-800 flex flex-col text-xs" >
Original file line number Diff line number Diff line change @@ -136,7 +136,7 @@ const LocalEditor: React.FC = () => {
136
136
"://" ,
137
137
// TODO: use unique ID for subdomain?
138
138
`://local.`
139
- ) + "?embed=true &titleBarPadding=40" ;
139
+ ) + "?type=embed &titleBarPadding=40" ;
140
140
141
141
return (
142
142
< div className = "text-neutral-800 flex flex-col text-xs" >
Original file line number Diff line number Diff line change @@ -6,10 +6,10 @@ import { IFrameDataConnector } from "./state/IFrameDataConnector";
6
6
import { projectState } from "./state/ProjectState" ;
7
7
import { viewOptions } from "./state/ViewOptions" ;
8
8
9
- if ( viewOptions . embed ) {
10
- new IFrameDataConnector ( projectState ) ;
11
- } else {
9
+ if ( viewOptions . type == "demo" ) {
12
10
projectState . loadDemoFile ( ) ;
11
+ } else {
12
+ new IFrameDataConnector ( projectState , viewOptions . type ) ;
13
13
}
14
14
15
15
ReactDOM . createRoot ( document . getElementById ( "root" ) as HTMLElement ) . render (
Original file line number Diff line number Diff line change 9
9
} from "../types/IFrameRPC" ;
10
10
import { throttle } from "lodash-es" ;
11
11
import { ThumbnailTakerHost } from "./ThumbnailTakerHost" ;
12
- import { viewOptions } from "./ViewOptions" ;
13
12
14
13
export function vscodeParentTarget ( ) : Target {
15
14
const vscode = acquireVsCodeApi ( ) ;
@@ -30,7 +29,7 @@ export function vscodeParentTarget(): Target {
30
29
}
31
30
32
31
export class IFrameDataConnector {
33
- constructor ( state : ProjectState ) {
32
+ constructor ( state : ProjectState , type : "embed" | "vscode" ) {
34
33
this . state = state ;
35
34
this . updates . push ( Y . encodeStateAsUpdate ( state . doc ) ) ;
36
35
@@ -48,7 +47,7 @@ export class IFrameDataConnector {
48
47
} ;
49
48
50
49
this . rpc = new RPC < IEditorToRootRPCHandler , IRootToEditorRPCHandler > (
51
- viewOptions . vscode ? vscodeParentTarget ( ) : parentWindowTarget ( ) ,
50
+ type === " vscode" ? vscodeParentTarget ( ) : parentWindowTarget ( ) ,
52
51
{
53
52
update : action ( async ( data : Uint8Array ) => {
54
53
Y . applyUpdate ( state . doc , data ) ;
Original file line number Diff line number Diff line change 1
1
interface ViewOptions {
2
- embed : boolean ;
2
+ type : "demo" | "embed" | "vscode" ;
3
3
titleBarPadding : number ;
4
4
uiScaling : number ;
5
5
fontSize : number ;
6
- narrowMode : boolean ;
7
- vscode : boolean ;
6
+ layout : "twoColumn" | "threeColumn" ;
8
7
}
9
8
10
9
declare global {
@@ -16,33 +15,32 @@ declare global {
16
15
function getViewOptions ( ) : ViewOptions {
17
16
if ( window . uimixViewOptions ) {
18
17
return {
19
- embed : false ,
20
18
titleBarPadding : 0 ,
21
19
uiScaling : 1 ,
22
20
fontSize : 12 ,
23
- narrowMode : false ,
24
- vscode : false ,
21
+ layout : "threeColumn" ,
22
+ type : "demo" ,
25
23
...window . uimixViewOptions ,
26
24
} ;
27
25
}
28
26
29
27
const searchParams = new URLSearchParams ( window . location . search ) ;
30
28
31
- const embed = searchParams . get ( "embed " ) === "true" ;
29
+ const type = ( searchParams . get ( "type " ) ?? "demo" ) as ViewOptions [ "type" ] ;
32
30
const titleBarPadding = Number . parseInt (
33
31
searchParams . get ( "titleBarPadding" ) ?? "0"
34
32
) ;
35
33
const uiScaling = Number . parseFloat ( searchParams . get ( "uiScaling" ) ?? "1" ) ;
36
34
const fontSize = Number . parseFloat ( searchParams . get ( "fontSize" ) ?? "12" ) ;
37
- const narrowMode = searchParams . get ( "narrowMode" ) === "true" ;
35
+ const layout = ( searchParams . get ( "layout" ) ??
36
+ "threeColumn" ) as ViewOptions [ "layout" ] ;
38
37
39
38
return {
40
- embed ,
39
+ type ,
41
40
titleBarPadding,
42
41
uiScaling,
43
42
fontSize,
44
- narrowMode,
45
- vscode : false ,
43
+ layout,
46
44
} ;
47
45
}
48
46
Original file line number Diff line number Diff line change @@ -24,9 +24,7 @@ export class ViewportState {
24
24
@observable isSideBarsVisible = true ;
25
25
@observable lastSideBarLeftOffset = 0 ;
26
26
27
- @observable layout : "twoColumn" | "threeColumn" = viewOptions . narrowMode
28
- ? "twoColumn"
29
- : "threeColumn" ;
27
+ @observable layout : "twoColumn" | "threeColumn" = viewOptions . layout ;
30
28
}
31
29
32
30
export const viewportState = new ViewportState ( ) ;
Original file line number Diff line number Diff line change @@ -181,11 +181,10 @@ export class EditorSession {
181
181
const configScript = `
182
182
<script>
183
183
window.uimixViewOptions = {
184
- embed: true ,
184
+ type: "vscode" ,
185
185
uiScaling: 0.75,
186
186
fontSize: 11,
187
- narrowMode: true,
188
- vscode: true,
187
+ layout: "twoColumn",
189
188
};
190
189
</script>` ;
191
190
You can’t perform that action at this time.
0 commit comments