@@ -32,7 +32,7 @@ import type {TolkCompilationResult} from "@features/godbolt/lib/tolk/types.ts"
32
32
import { useGodboltSettings } from "./hooks/useGodboltSettings"
33
33
import { useFuncCompilation } from "./hooks/useFuncCompilation.ts"
34
34
import { useTolkCompilation } from "./hooks/useTolkCompilation.ts"
35
- import { decodeCodeFromUrl , decodeLanguageFromUrl } from "./urlCodeSharing"
35
+ import { clearShareHash , decodeCodeFromUrl , decodeLanguageFromUrl } from "./urlCodeSharing"
36
36
37
37
import styles from "./GodboltPage.module.css"
38
38
@@ -58,7 +58,7 @@ const DEFAULT_FUNC_CODE = `#include "stdlib.fc";
58
58
}
59
59
slice s_addr = cs~load_msg_addr();
60
60
(int wc, int addr_hash) = parse_std_addr(s_addr);
61
-
61
+
62
62
;; ... other code
63
63
64
64
throw(wc + addr_hash);
@@ -152,20 +152,25 @@ function GodboltPage() {
152
152
const [ initiallyCompiled , setInitiallyCompiled ] = useState < boolean > ( false )
153
153
const [ language , setLanguage ] = useState < CodeLanguage > ( ( ) => {
154
154
const fromUrl = decodeLanguageFromUrl ( )
155
- if ( fromUrl ) return fromUrl
155
+ if ( fromUrl != null ) {
156
+ clearShareHash ( )
157
+ return fromUrl
158
+ }
156
159
const saved = localStorage . getItem ( STORAGE_LANG_KEY )
157
160
return saved === "tolk" ? "tolk" : "func"
158
161
} )
159
162
const [ funcCode , setFuncCode ] = useState ( ( ) => {
160
163
const sharedCode = decodeCodeFromUrl ( )
161
- if ( sharedCode && ( decodeLanguageFromUrl ( ) ?? "func" ) === "func" ) {
164
+ if ( sharedCode !== null && ( decodeLanguageFromUrl ( ) ?? "func" ) === "func" ) {
165
+ clearShareHash ( )
162
166
return sharedCode
163
167
}
164
168
return localStorage . getItem ( FUNC_EDITOR_KEY ) ?? DEFAULT_FUNC_CODE
165
169
} )
166
170
const [ tolkCode , setTolkCode ] = useState ( ( ) => {
167
171
const sharedCode = decodeCodeFromUrl ( )
168
- if ( sharedCode && decodeLanguageFromUrl ( ) === "tolk" ) {
172
+ if ( sharedCode != null && decodeLanguageFromUrl ( ) === "tolk" ) {
173
+ clearShareHash ( )
169
174
return sharedCode
170
175
}
171
176
return localStorage . getItem ( "txtracer-godbolt-tolk-code" ) ?? DEFAULT_TOLK_CODE
0 commit comments