File tree Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -775,6 +775,7 @@ export default class Guest extends Delegator {
775
775
$doodle : true ,
776
776
doodleLines : this . doodleCanvasController . lines ,
777
777
} ) ;
778
+ this . doodleCanvasController . lines = [ ] ;
778
779
}
779
780
}
780
781
}
Original file line number Diff line number Diff line change 1
1
import { createElement } from 'preact' ;
2
- import { useState } from 'preact/hooks' ;
2
+ import { useState , useEffect } from 'preact/hooks' ;
3
3
import { Canvas } from './canvas' ;
4
4
import propTypes from 'prop-types' ;
5
5
@@ -31,6 +31,28 @@ const DoodleCanvas = ({
31
31
setLines,
32
32
} ) => {
33
33
const [ isDrawing , setIsDrawing ] = useState ( false ) ;
34
+ const [ everActive , setEverActive ] = useState ( false ) ;
35
+
36
+ if ( active && ! everActive ) {
37
+ setEverActive ( true ) ;
38
+ }
39
+
40
+ useEffect ( ( ) => {
41
+ if ( lines . length === 0 ) {
42
+ return ( ) => { } ;
43
+ }
44
+ const warn = e => {
45
+ e = e || window . event ;
46
+
47
+ e . preventDefault ( ) ;
48
+ e . returnValue = '' ;
49
+ return '' ;
50
+ } ;
51
+ window . addEventListener ( 'beforeunload' , warn ) ;
52
+ return ( ) => {
53
+ window . removeEventListener ( 'beforeunload' , warn ) ;
54
+ } ;
55
+ } , [ lines ] ) ;
34
56
35
57
const handleMouseDown = e => {
36
58
setIsDrawing ( true ) ;
@@ -74,7 +96,7 @@ const DoodleCanvas = ({
74
96
setLines ( [ newLine , ...rest ] ) ;
75
97
} ;
76
98
77
- if ( ! active ) {
99
+ if ( ! everActive ) {
78
100
return null ;
79
101
}
80
102
You can’t perform that action at this time.
0 commit comments