diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx
index 981ad0126..deb476c2e 100644
--- a/client/homebrew/pages/sharePage/sharePage.jsx
+++ b/client/homebrew/pages/sharePage/sharePage.jsx
@@ -47,6 +47,19 @@ const SharePage = createClass({
this.props.brew.shareId;
},
+ renderEditLink : function(){
+ if(!this.props.brew.editId) return;
+
+ let editLink = this.props.brew.editId;
+ if(this.props.brew.googleId && !this.props.brew.stubbed) {
+ editLink = this.props.brew.googleId + editLink;
+ }
+
+ return
+ edit
+ ;
+ },
+
render : function(){
return
@@ -64,13 +77,14 @@ const SharePage = createClass({
source
-
+
view
-
+ {this.renderEditLink()}
+
download
-
+
clone to new
diff --git a/server/app.js b/server/app.js
index c8fec4bc4..e04df77a6 100644
--- a/server/app.js
+++ b/server/app.js
@@ -23,9 +23,9 @@ const { splitTextStyleAndMetadata } = require('../shared/helpers.js');
const sanitizeBrew = (brew, accessType)=>{
brew._id = undefined;
brew.__v = undefined;
- if(accessType !== 'edit'){
+ if(accessType !== 'edit' && accessType !== 'shareAuthor') {
brew.editId = undefined;
- }
+ }
return brew;
};
@@ -307,7 +307,6 @@ app.get('/new/:id', asyncHandler(getBrew('share')), (req, res, next)=>{
//Share Page
app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, res, next)=>{
const { brew } = req;
-
req.ogMeta = { ...defaultMetaTags,
title : req.brew.title || 'Untitled Brew',
description : req.brew.description || 'No description.',
@@ -326,7 +325,8 @@ app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, r
await HomebrewModel.increaseView({ shareId: brew.shareId });
}
};
- sanitizeBrew(req.brew, 'share');
+
+ brew.authors.includes(req.account?.username) ? sanitizeBrew(req.brew, 'shareAuthor') : sanitizeBrew(req.brew, 'share');
splitTextStyleAndMetadata(req.brew);
return next();
}));