diff --git a/react/src/AndroidHost.tsx b/react/src/AndroidHost.tsx
index c71ea32..6c853b9 100644
--- a/react/src/AndroidHost.tsx
+++ b/react/src/AndroidHost.tsx
@@ -23,6 +23,7 @@
*/
export interface AndroidHostInterface {
+ showSponsorship() : void;
isAndroidHosted(): boolean;
getHostVersion() : string;
chooseNewDevice() : void;
@@ -44,5 +45,6 @@ export class FakeAndroidHost implements AndroidHostInterface
setDisconnected(isDisconnected: boolean): void {
}
+ showSponsorship() : void { }
}
\ No newline at end of file
diff --git a/react/src/AppThemed.tsx b/react/src/AppThemed.tsx
index ff8db5c..cb6bfc4 100644
--- a/react/src/AppThemed.tsx
+++ b/react/src/AppThemed.tsx
@@ -28,6 +28,7 @@ import Typography from '@mui/material/Typography';
import createStyles from '@mui/styles/createStyles';
import withStyles from '@mui/styles/withStyles';
import IconButton from '@mui/material/IconButton';
+import VolunteerActivismIcon from '@mui/icons-material/VolunteerActivism';
import MenuButton from '@mui/icons-material/Menu';
import { TemporaryDrawer } from './TemporaryDrawer';
import FullscreenIcon from '@mui/icons-material/Fullscreen';
@@ -405,10 +406,26 @@ const AppThemed = withStyles(appStyles)(class extends ResizeResponsiveComponent<
editBankDialogOpen: false
});
+ }
+ handleDrawerDonationClick() {
+ this.setState({
+ isDrawerOpen: false,
+ });
+ if (this.model_.isAndroidHosted())
+ {
+ this.model_.showAndroidDonationActivity();
+ } else {
+ if (window)
+ {
+ window.open("https://github.com/sponsors/rerdavies", '_blank');
+ }
+ }
+
}
handleDrawerAboutClick() {
this.setState({
+ isDrawerOpen: false,
aboutDialogOpen: true
});
@@ -727,6 +744,12 @@ const AppThemed = withStyles(appStyles)(class extends ResizeResponsiveComponent<
+ { this.handleDrawerDonationClick() }}>
+
+
+
+
+
diff --git a/react/src/PiPedalModel.tsx b/react/src/PiPedalModel.tsx
index d1041c2..73c9d2e 100644
--- a/react/src/PiPedalModel.tsx
+++ b/react/src/PiPedalModel.tsx
@@ -436,6 +436,7 @@ export interface PiPedalModel {
setFavorite(pluginUrl: string, isFavorite: boolean): void;
isAndroidHosted(): boolean;
+ showAndroidDonationActivity(): void;
getAndroidHostVersion(): string;
chooseNewDevice(): void;
};
@@ -2106,6 +2107,12 @@ class PiPedalModelImpl implements PiPedalModel {
isAndroidHosted(): boolean { return this.androidHost !== undefined; }
+ showAndroidDonationActivity(): void {
+ if (this.androidHost)
+ {
+ this.androidHost.showSponsorship();
+ }
+ }
getAndroidHostVersion(): string {
if (this.androidHost) {
return this.androidHost.getHostVersion();