@ -270,6 +270,7 @@ import {
updateStable ,
addEventListener ,
normalizeEOL ,
getDateTime ,
} from "../utils" ;
import {
createSrcDoc ,
@ -619,7 +620,7 @@ class App extends React.Component<AppProps, AppState> {
gridModeEnabled = false ,
objectsSnapModeEnabled = false ,
theme = defaultAppState . theme ,
name = defaultAppState . name ,
name = ` ${ t ( "labels.untitled" ) } - ${ getDateTime ( ) } ` ,
} = props ;
this . state = {
. . . defaultAppState ,
@ -662,6 +663,7 @@ class App extends React.Component<AppProps, AppState> {
getSceneElements : this.getSceneElements ,
getAppState : ( ) = > this . state ,
getFiles : ( ) = > this . files ,
getName : this.getName ,
registerAction : ( action : Action ) = > {
this . actionManager . registerAction ( action ) ;
} ,
@ -1734,7 +1736,7 @@ class App extends React.Component<AppProps, AppState> {
this . files ,
{
exportBackground : this.state.exportBackground ,
name : this. state.name ,
name : this. getName( ) ,
viewBackgroundColor : this.state.viewBackgroundColor ,
exportingFrame : opts.exportingFrame ,
} ,
@ -2133,7 +2135,7 @@ class App extends React.Component<AppProps, AppState> {
let gridSize = actionResult ? . appState ? . gridSize || null ;
const theme =
actionResult ? . appState ? . theme || this . props . theme || THEME . LIGHT ;
le t name = actionResult ? . appState ? . name ? ? this . state . name ;
cons t name = actionResult ? . appState ? . name ? ? this . state . name ;
const errorMessage =
actionResult ? . appState ? . errorMessage ? ? this . state . errorMessage ;
if ( typeof this . props . viewModeEnabled !== "undefined" ) {
@ -2148,10 +2150,6 @@ class App extends React.Component<AppProps, AppState> {
gridSize = this . props . gridModeEnabled ? GRID_SIZE : null ;
}
if ( typeof this . props . name !== "undefined" ) {
name = this . props . name ;
}
editingElement =
editingElement || actionResult . appState ? . editingElement || null ;
@ -2709,12 +2707,6 @@ class App extends React.Component<AppProps, AppState> {
} ) ;
}
if ( this . props . name && prevProps . name !== this . props . name ) {
this . setState ( {
name : this.props.name ,
} ) ;
}
this . excalidrawContainerRef . current ? . classList . toggle (
"theme--dark" ,
this . state . theme === "dark" ,
@ -4122,6 +4114,14 @@ class App extends React.Component<AppProps, AppState> {
return gesture . pointers . size >= 2 ;
} ;
public getName = ( ) = > {
return (
this . state . name ||
this . props . name ||
` ${ t ( "labels.untitled" ) } - ${ getDateTime ( ) } `
) ;
} ;
// fires only on Safari
private onGestureStart = withBatchedUpdates ( ( event : GestureEvent ) = > {
event . preventDefault ( ) ;