From c1c24f429fc8dd8c27871c8d9c45c1a934f8b88b Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Mon, 10 Mar 2025 11:26:42 +0100 Subject: Remove dynamic canonical --- index.html | 2 +- package.json | 2 +- src/pages/chart/ChartEmbedPage.tsx | 17 +++++++---------- src/pages/chart/ChartPage.tsx | 16 ++++++++++++---- src/pages/embed/EmbedPage.tsx | 19 ++++++++----------- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/index.html b/index.html index 2a2880e..b69c787 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ content="Morse Hero is a fun, interactive game to learn Morse code. Practice your skills with audio playback and visual hints to master Morse code quickly." /> - + diff --git a/package.json b/package.json index 3ff284d..f207a44 100644 --- a/package.json +++ b/package.json @@ -28,4 +28,4 @@ "typescript-eslint": "^8.24.1", "vite": "^6.2.0" } -} \ No newline at end of file +} diff --git a/src/pages/chart/ChartEmbedPage.tsx b/src/pages/chart/ChartEmbedPage.tsx index 4b485b7..2034f2c 100644 --- a/src/pages/chart/ChartEmbedPage.tsx +++ b/src/pages/chart/ChartEmbedPage.tsx @@ -18,19 +18,16 @@ const ChartEmbedPage = () => { viewportMeta.name = 'viewport'; viewportMeta.content = 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'; document.head.appendChild(viewportMeta); - - // Set canonical URL - const canonicalLink = document.createElement('link'); - canonicalLink.rel = 'canonical'; - canonicalLink.href = 'https://morsehero.com/charts/embed'; - document.head.appendChild(canonicalLink); - + // Set page title document.title = 'Morse Code Chart | Embed'; - + return () => { - document.head.removeChild(viewportMeta); - document.head.removeChild(canonicalLink); + // Remove viewport meta tag when component unmounts + const metaTag = document.querySelector('meta[name="viewport"]'); + if (metaTag && metaTag.parentNode) { + metaTag.parentNode.removeChild(metaTag); + } }; }, []); diff --git a/src/pages/chart/ChartPage.tsx b/src/pages/chart/ChartPage.tsx index 784aa0d..ffb679e 100644 --- a/src/pages/chart/ChartPage.tsx +++ b/src/pages/chart/ChartPage.tsx @@ -43,10 +43,18 @@ const ChartPage = () => { clickedItem.classList.add('playing'); } - cw.play(character, { - wpm: 20, - actx: actxRef.current - }); + try { + // Get Morse code for the character + const morseCode = getMorseCode(character); + + // Play the Morse code + window.cw.play(morseCode, { + wpm: 20, + actx: actxRef.current + }); + } catch (error) { + console.error('Error playing Morse code:', error); + } // Remove the 'playing' class after the audio finishes setTimeout(() => { diff --git a/src/pages/embed/EmbedPage.tsx b/src/pages/embed/EmbedPage.tsx index c75a4f7..35417c0 100644 --- a/src/pages/embed/EmbedPage.tsx +++ b/src/pages/embed/EmbedPage.tsx @@ -3,26 +3,23 @@ import MorseGame from '../../components/MorseGame'; import '../../styles.css'; const EmbedPage = () => { - // Add meta tag for WebView compatibility + // Add meta tag for WebView compatibility and set page title useEffect(() => { // Set viewport for better mobile display const viewportMeta = document.createElement('meta'); viewportMeta.name = 'viewport'; viewportMeta.content = 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'; document.head.appendChild(viewportMeta); - - // Set canonical URL - const canonicalLink = document.createElement('link'); - canonicalLink.rel = 'canonical'; - canonicalLink.href = 'https://morsehero.com/embed'; - document.head.appendChild(canonicalLink); - + // Set page title document.title = 'Morse Hero | Embed'; - + return () => { - document.head.removeChild(viewportMeta); - document.head.removeChild(canonicalLink); + // Remove viewport meta tag when component unmounts + const metaTag = document.querySelector('meta[name="viewport"]'); + if (metaTag && metaTag.parentNode) { + metaTag.parentNode.removeChild(metaTag); + } }; }, []); -- cgit v1.3.1