From 31a8101df7adf80fafbb0439f2ec85b4d7dae4ee Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Sat, 13 Sep 2025 19:37:59 -0400 Subject: [PATCH] Move "share" dropdown to own component --- client/homebrew/navbar/share.navitem.jsx | 35 +++++++++++++++++++++ client/homebrew/pages/editPage/editPage.jsx | 35 ++------------------- 2 files changed, 37 insertions(+), 33 deletions(-) create mode 100644 client/homebrew/navbar/share.navitem.jsx diff --git a/client/homebrew/navbar/share.navitem.jsx b/client/homebrew/navbar/share.navitem.jsx new file mode 100644 index 000000000..a08ac6878 --- /dev/null +++ b/client/homebrew/navbar/share.navitem.jsx @@ -0,0 +1,35 @@ +import React from 'react'; +import dedent from 'dedent-tabs'; +import Nav from 'naturalcrit/nav/nav.jsx'; + + const getShareId = (brew)=>( + brew.googleId && !brew.stubbed + ? brew.googleId + brew.shareId + : brew.shareId + ); + + const getRedditLink = (brew)=>{ + const text = dedent` + Hey guys! I've been working on this homebrew. I'd love your feedback. Check it out. + + **[Homebrewery Link](${global.config.baseUrl}/share/${getShareId(brew)})**`; + + return `https://www.reddit.com/r/UnearthedArcana/submit?title=${encodeURIComponent(brew.title.toWellFormed())}&text=${encodeURIComponent(text)}`; + }; + +export default ({brew}) => ( + + + share + + + view + + {navigator.clipboard.writeText(`${global.config.baseUrl}/share/${getShareId(brew)}`);}}> + copy url + + + post to reddit + + +); diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 49512d66c..25e2b152a 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -15,6 +15,7 @@ import Nav from 'naturalcrit/nav/nav.jsx'; import Navbar from '../../navbar/navbar.jsx'; import NewBrewItem from '../../navbar/newbrew.navitem.jsx'; import AccountNavItem from '../../navbar/account.navitem.jsx'; +import ShareNavItem from '../../navbar/share.navitem.jsx'; import ErrorNavItem from '../../navbar/error-navitem.jsx'; import HelpNavItem from '../../navbar/help.navitem.jsx'; import VaultNavItem from '../../navbar/vault.navitem.jsx'; @@ -333,31 +334,12 @@ const EditPage = (props)=>{ ); - const processShareId = ()=>( - currentBrew.googleId && !currentBrew.stubbed - ? currentBrew.googleId + currentBrew.shareId - : currentBrew.shareId - ); - - const getRedditLink = ()=>{ - const shareLink = processShareId(); - const systems = currentBrew.systems.length > 0 ? ` [${currentBrew.systems.join(' - ')}]` : ''; - const title = `${currentBrew.title} ${systems}`; - const text = `Hey guys! I've been working on this homebrew. I'd love your feedback. Check it out. - - **[Homebrewery Link](${global.config.baseUrl}/share/${shareLink})**`; - - return `https://www.reddit.com/r/UnearthedArcana/submit?title=${encodeURIComponent(title.toWellFormed())}&text=${encodeURIComponent(text)}`; - }; - const clearError = ()=>{ setError(null); setIsSaving(false); }; const renderNavbar = ()=>{ - const shareLink = processShareId(); - return {currentBrew.title} @@ -373,20 +355,7 @@ const EditPage = (props)=>{ } - - - share - - - view - - {navigator.clipboard.writeText(`${global.config.baseUrl}/share/${shareLink}`);}}> - copy url - - - post to reddit - - +