mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-09-23 01:02:57 +00:00
Add brew update detection to Share Page
This commit is contained in:
@@ -46,6 +46,18 @@ const SharePage = (props)=>{
|
|||||||
brew.theme
|
brew.theme
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const eventSource = new EventSource('/stream');
|
||||||
|
|
||||||
|
eventSource.addEventListener('message', (evt)=>{
|
||||||
|
const messageData = JSON.parse(evt.data);
|
||||||
|
|
||||||
|
if(messageData.eventType == 'brewUpdated'){
|
||||||
|
if(messageData.shareId == brew.shareId && messageData.version != brew.version) {
|
||||||
|
console.log(`brew has been updated, viewing ${brew.version}, new version is ${messageData.version}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return ()=>{
|
return ()=>{
|
||||||
document.removeEventListener('keydown', handleControlKeys);
|
document.removeEventListener('keydown', handleControlKeys);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ const router = express.Router();
|
|||||||
import { DEFAULT_BREW, DEFAULT_BREW_LOAD } from './brewDefaults.js';
|
import { DEFAULT_BREW, DEFAULT_BREW_LOAD } from './brewDefaults.js';
|
||||||
import Themes from '../themes/themes.json' with { type: 'json' };
|
import Themes from '../themes/themes.json' with { type: 'json' };
|
||||||
|
|
||||||
|
import Stream from './eventStreamSource.js';
|
||||||
|
|
||||||
const isStaticTheme = (renderer, themeName)=>{
|
const isStaticTheme = (renderer, themeName)=>{
|
||||||
return Themes[renderer]?.[themeName] !== undefined;
|
return Themes[renderer]?.[themeName] !== undefined;
|
||||||
};
|
};
|
||||||
@@ -398,6 +400,8 @@ const api = {
|
|||||||
const after = await afterSave();
|
const after = await afterSave();
|
||||||
if(!after) return;
|
if(!after) return;
|
||||||
|
|
||||||
|
Stream.emit('sendUpdate', 'brewUpdated', { time: new Date, shareId: brew.shareId, version: brew.version });
|
||||||
|
|
||||||
res.status(200).send(saved);
|
res.status(200).send(saved);
|
||||||
},
|
},
|
||||||
deleteGoogleBrew : async (account, id, editId, res)=>{
|
deleteGoogleBrew : async (account, id, editId, res)=>{
|
||||||
|
|||||||
Reference in New Issue
Block a user