From 91f7d86fd4690dd1c279cf49cc0850a232e92025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sun, 11 May 2025 23:59:04 +0200 Subject: [PATCH 01/75] prop drilling --- client/homebrew/editor/editor.jsx | 1 + client/homebrew/homebrew.jsx | 2 +- client/homebrew/pages/editPage/editPage.jsx | 1 + server/app.js | 5 +++-- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index cf9a17303..39ca8c192 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -460,6 +460,7 @@ const Editor = createClass({ rerenderParent={this.rerenderParent} />
- } /> + } /> } /> } /> } /> diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index f2b1e809f..b3c424b00 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -461,6 +461,7 @@ const EditPage = createClass({ { enable_themes : config.get('enable_themes'), config : configuration, ogMeta : req.ogMeta, - userThemes : req.userThemes + userThemes : req.userThemes, + isOwner : req.isOwner, }; const title = req.brew ? req.brew.title : ''; const page = await templateFn('homebrew', title, props) From c35138e7e3b68df5712ffa844936fb3d603ef555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sun, 11 May 2025 23:59:25 +0200 Subject: [PATCH 02/75] client side --- .../editor/metadataEditor/metadataEditor.jsx | 49 ++++++++++++++++--- .../editor/metadataEditor/metadataEditor.less | 23 +++++++-- 2 files changed, 61 insertions(+), 11 deletions(-) diff --git a/client/homebrew/editor/metadataEditor/metadataEditor.jsx b/client/homebrew/editor/metadataEditor/metadataEditor.jsx index 8f256922f..5fd6d6f1a 100644 --- a/client/homebrew/editor/metadataEditor/metadataEditor.jsx +++ b/client/homebrew/editor/metadataEditor/metadataEditor.jsx @@ -156,6 +156,19 @@ const MetadataEditor = createClass({ }); }, + handleDeleteAuthor : function(author){ + if(!confirm('Are you sure you want to delete this author? They will lose all edit access to this brew.')) return; + request.put(`/api/${this.props.metadata.editId}/${author}`) + .send() + .end((err, res)=>{ + if(err) { + this.props.reportError(err); + } else { + window.location.reload(); + } + }); + }, + renderSystems : function(){ return _.map(SYSTEMS, (val)=>{ return