File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import { State } from '../reducers';
7
7
import * as selectors from '../selectors' ;
8
8
9
9
import Loader from './Loader' ;
10
+ import Section from './Section' ;
10
11
11
12
import styles from './Gist.module.css' ;
12
13
@@ -58,13 +59,17 @@ const Links: React.FC = () => {
58
59
const gistUrl = useSelector ( ( state : State ) => state . output . gist . url ) ;
59
60
const permalink = useSelector ( selectors . permalinkSelector ) ;
60
61
const urloUrl = useSelector ( selectors . urloUrlSelector ) ;
62
+ const textChanged = useSelector ( selectors . textChangedSinceShareSelector ) ;
61
63
62
64
return (
63
65
< Fragment >
64
66
< Copied href = { permalink } > Permalink to the playground</ Copied >
65
67
{ gistUrl ? < Copied href = { gistUrl } > Direct link to the gist</ Copied > : null }
66
68
< Copied href = { codeUrl } > Embedded code in link</ Copied >
67
69
< NewWindow href = { urloUrl } > Open a new thread in the Rust user forum</ NewWindow >
70
+ { textChanged ? < Section kind = "warning" label = "Code changed" >
71
+ Source code has been changed since gist was saved
72
+ </ Section > : null }
68
73
</ Fragment >
69
74
) ;
70
75
} ;
Original file line number Diff line number Diff line change @@ -205,6 +205,11 @@ export const permalinkSelector = createSelector(
205
205
} ,
206
206
) ;
207
207
208
+ export const textChangedSinceShareSelector = createSelector (
209
+ codeSelector , gistSelector ,
210
+ ( code , gist ) => code !== gist . code
211
+ )
212
+
208
213
const codeBlock = ( code : string , language = '' ) =>
209
214
'```' + language + `\n${ code } \n` + '```' ;
210
215
You can’t perform that action at this time.
0 commit comments