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';
77import * as selectors from '../selectors' ;
88
99import Loader from './Loader' ;
10+ import Section from './Section' ;
1011
1112import styles from './Gist.module.css' ;
1213
@@ -58,13 +59,17 @@ const Links: React.FC = () => {
5859 const gistUrl = useSelector ( ( state : State ) => state . output . gist . url ) ;
5960 const permalink = useSelector ( selectors . permalinkSelector ) ;
6061 const urloUrl = useSelector ( selectors . urloUrlSelector ) ;
62+ const textChanged = useSelector ( selectors . textChangedSinceShareSelector ) ;
6163
6264 return (
6365 < Fragment >
6466 < Copied href = { permalink } > Permalink to the playground</ Copied >
6567 { gistUrl ? < Copied href = { gistUrl } > Direct link to the gist</ Copied > : null }
6668 < Copied href = { codeUrl } > Embedded code in link</ Copied >
6769 < 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 }
6873 </ Fragment >
6974 ) ;
7075} ;
Original file line number Diff line number Diff line change @@ -205,6 +205,11 @@ export const permalinkSelector = createSelector(
205205 } ,
206206) ;
207207
208+ export const textChangedSinceShareSelector = createSelector (
209+ codeSelector , gistSelector ,
210+ ( code , gist ) => code !== gist . code
211+ )
212+
208213const codeBlock = ( code : string , language = '' ) =>
209214 '```' + language + `\n${ code } \n` + '```' ;
210215
You can’t perform that action at this time.
0 commit comments