diff --git a/react/public/img/fx_error.svg b/react/public/img/fx_error.svg new file mode 100644 index 0000000..37f8f1f --- /dev/null +++ b/react/public/img/fx_error.svg @@ -0,0 +1,11 @@ + + + + diff --git a/react/public/var/config.json b/react/public/var/config.json index 60e144f..2d62624 100644 --- a/react/public/var/config.json +++ b/react/public/var/config.json @@ -1,7 +1,7 @@ { "socket_server_port": 80, "socket_server_address": "*", - + "debug": true, "max_upload_size": 1048576, "ui_plugins": [ diff --git a/react/src/AppThemed.tsx b/react/src/AppThemed.tsx index 9f53ca3..8d1bd41 100644 --- a/react/src/AppThemed.tsx +++ b/react/src/AppThemed.tsx @@ -476,7 +476,7 @@ const AppThemed = withStyles(appStyles)(class extends ResizeResponsiveComponent< // no pull-down refresh on android devices once we're ready (unless we're debug) let preventOverscroll = this.model_.state.get() === State.Ready - && !this.model_.serverVersion.debug; + && !this.model_.debug; let overscrollBehavior = preventOverscroll ? "none" : "auto"; document.body.style.overscrollBehavior = overscrollBehavior; @@ -589,7 +589,7 @@ const AppThemed = withStyles(appStyles)(class extends ResizeResponsiveComponent< overscrollBehavior: this.state.isDebug ? "auto" : "none" }} onContextMenu={(e) => { - if (!this.model_.serverVersion?.debug ?? false) { + if (!this.model_.debug) { e.preventDefault(); e.stopPropagation(); } }} diff --git a/react/src/MainPage.tsx b/react/src/MainPage.tsx index 03042c0..834f411 100644 --- a/react/src/MainPage.tsx +++ b/react/src/MainPage.tsx @@ -30,6 +30,7 @@ import Button from '@mui/material/Button'; import InputIcon from '@mui/icons-material/Input'; import LoadPluginDialog from './LoadPluginDialog'; import Switch from '@mui/material/Switch'; +import Typography from '@mui/material/Typography'; import PedalBoardView from './PedalBoardView'; import { PiPedalStateError } from './PiPedalError'; @@ -314,6 +315,7 @@ export const MainPage = let author = ""; let pluginUri = ""; let presetsUri = ""; + let missing = false; if (pedalBoardItem) { if (pedalBoardItem.isEmpty()) { title = ""; @@ -321,8 +323,9 @@ export const MainPage = title = "Split"; } else { let uiPlugin = this.model.getUiPlugin(pedalBoardItem.uri); - if (uiPlugin == null) { - title = "Missing Plugin"; + if (!uiPlugin) { + missing = true; + title = pedalBoardItem?.pluginName ?? "Missing plugin"; } else { title = uiPlugin.name; author = uiPlugin.author_name; @@ -334,6 +337,23 @@ export const MainPage = } } let classes = this.props.classes; + if (missing) + { + return ( +