Browse Source

Fix sharable link issues. Browsersync works with ngrok now.

test-gpt-generated
Roman Axelrod 2 years ago
parent
commit
9818067013
  1. 3
      layouts/index.hbs
  2. 3
      layouts/scripts/dist/index.min.js
  3. 2
      layouts/scripts/dist/index.min.js.map
  4. 4
      layouts/scripts/toolbar/publish.jsx
  5. 24
      server.js

3
layouts/index.hbs

@ -14,6 +14,9 @@
<script> <script>
window.devTool = { window.devTool = {
previewFrameUrl: '{{ previewFrameUrl }}', previewFrameUrl: '{{ previewFrameUrl }}',
{{#if publicUrl}}
publicUrl: true,
{{/if}}
}; };
</script> </script>

3
layouts/scripts/dist/index.min.js

@ -9513,6 +9513,9 @@ function Publish(props = {}) {
loading: false loading: false
}); });
const updateState = update => setState(Object.assign({}, state, update)); const updateState = update => setState(Object.assign({}, state, update));
if (window.devTool.publicUrl) {
return;
}
return /*#__PURE__*/React.createElement("div", null, state.loading && /*#__PURE__*/React.createElement("div", { return /*#__PURE__*/React.createElement("div", null, state.loading && /*#__PURE__*/React.createElement("div", {
className: "overlay overlay--loading" className: "overlay overlay--loading"
}, "Loading, Please wait..."), /*#__PURE__*/React.createElement("button", { }, "Loading, Please wait..."), /*#__PURE__*/React.createElement("button", {

2
layouts/scripts/dist/index.min.js.map

File diff suppressed because one or more lines are too long

4
layouts/scripts/toolbar/publish.jsx

@ -5,6 +5,10 @@ function Publish(props = {}) {
const [state, setState] = useState({loading: false}); const [state, setState] = useState({loading: false});
const updateState = (update) => setState(Object.assign({}, state, update)); const updateState = (update) => setState(Object.assign({}, state, update));
if (window.devTool.publicUrl) {
return;
}
return <div> return <div>
{state.loading && {state.loading &&
<div className="overlay overlay--loading">Loading, Please wait...</div> <div className="overlay overlay--loading">Loading, Please wait...</div>

24
server.js

@ -92,9 +92,17 @@ app.get('/', (req, res) => {
data.baseView = baseView; data.baseView = baseView;
data.port = `/${baseViewUrl}`; data.port = `/${baseViewUrl}`;
data.previewFrameUrl = `/${baseViewUrl}`; data.previewFrameUrl = `${previewFrameUrl}/${baseViewUrl}`;
// data.previewFrameUrl = `/${baseViewUrl}`;
data.shareUrl = shareUrl; data.shareUrl = shareUrl;
if (req.headers.referer) {
// NGROK, public URL
data.shareUrl = undefined; // Link already shared.
data.previewFrameUrl = `/${baseViewUrl}`;
data.publicUrl = true;
}
res.render('index', data); res.render('index', data);
}); });
@ -193,10 +201,10 @@ app.use(setHeaders);
await buildAssetFiles(); await buildAssetFiles();
// BrowserSync // BrowserSync
shareUrl = await getShareableUrl();
const bsOptions = await startBrowserSync(); const bsOptions = await startBrowserSync();
port = bsOptions.port; port = bsOptions.port;
previewFrameUrl = bsOptions.previewFrameUrl; previewFrameUrl = bsOptions.previewFrameUrl;
shareUrl = await getShareableUrl();
await open(bsOptions.devToolUrl); await open(bsOptions.devToolUrl);
@ -246,10 +254,18 @@ function startBrowserSync() {
return syncTemplate(sessions); return syncTemplate(sessions);
}); });
bs.init({ const args = {
proxy: `http://localhost:${PORT}`, proxy: `http://localhost:${PORT}`,
open: false open: false
}, (err, bs) => { };
if (shareUrl) {
args.socket = {
domain: shareUrl
};
}
bs.init(args, (err, bs) => {
if (err) { if (err) {
return reject(err); return reject(err);
} }

Loading…
Cancel
Save