@@ -210,10 +210,20 @@ class App extends React.Component {
210
210
this . setState ( { navigatorOpened } ) ;
211
211
}
212
212
213
+ isGistSaved ( ) {
214
+ const { titles, files, lastTitles, lastFiles } = this . props . current ;
215
+ const serializeTitles = titles => JSON . stringify ( titles ) ;
216
+ const serializeFiles = files => JSON . stringify ( files . map ( ( { name, content } ) => ( { name, content } ) ) ) ;
217
+ return serializeTitles ( titles ) === serializeTitles ( lastTitles ) &&
218
+ serializeFiles ( files ) === serializeFiles ( lastFiles ) ;
219
+ }
220
+
213
221
render ( ) {
214
222
const { navigatorOpened, workspaceWeights, viewerTabIndex, editorTabIndex } = this . state ;
215
223
const { titles, files } = this . props . current ;
216
224
225
+ const gistSaved = this . isGistSaved ( ) ;
226
+
217
227
const readmeFile = files . find ( file => file . name === 'README.md' ) || {
218
228
name : 'README.md' ,
219
229
content : `# ${ titles [ 1 ] } \nREADME.md not found` ,
@@ -236,13 +246,13 @@ class App extends React.Component {
236
246
return (
237
247
< div className = { styles . app } >
238
248
< Helmet >
239
- < title > { titles . join ( ' - ' ) } </ title >
249
+ < title > { gistSaved ? '' : '(Unsaved) ' } { titles . join ( ' - ' ) } </ title >
240
250
< meta name = "description" content = { description } />
241
251
</ Helmet >
242
252
< Header className = { styles . header } onClickTitleBar = { ( ) => this . toggleNavigatorOpened ( ) }
243
253
navigatorOpened = { navigatorOpened } loadScratchPapers = { ( ) => this . loadScratchPapers ( ) }
244
254
loadAlgorithm = { params => this . loadAlgorithm ( params ) }
245
- onAction = { ( ) => this . handleChangeViewerTabIndex ( 1 ) } />
255
+ onAction = { ( ) => this . handleChangeViewerTabIndex ( 1 ) } gistSaved = { gistSaved } />
246
256
< ResizableContainer className = { styles . workspace } horizontal weights = { workspaceWeights }
247
257
visibles = { [ navigatorOpened , true , true ] }
248
258
onChangeWeights = { weights => this . handleChangeWorkspaceWeights ( weights ) } >
0 commit comments