From 8bf135ed93f547caa865e4d0082ea236e02a5165 Mon Sep 17 00:00:00 2001 From: Marquis Kurt Date: Sun, 28 Apr 2019 13:16:21 -0400 Subject: [PATCH 1/5] Assign key to media uploading sb, change variants, close in catch (fix #32) --- src/pages/Compose.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/pages/Compose.tsx b/src/pages/Compose.tsx index 36f120e..421f229 100644 --- a/src/pages/Compose.tsx +++ b/src/pages/Compose.tsx @@ -133,7 +133,7 @@ class Composer extends Component { }).then((media: FileList) => { let mediaForm = new FormData(); mediaForm.append('file', media[0]); - const uploading = this.props.enqueueSnackbar("Uploading media...", { persist: true }) + this.props.enqueueSnackbar("Uploading media...", { persist: true, key: "media-upload" }) this.client.post('/media', mediaForm).then((resp: any) => { let attachment: Attachment = resp.data; let attachments = this.state.attachments; @@ -143,13 +143,14 @@ class Composer extends Component { attachments = [attachment]; } this.setState({ attachments }); - this.props.closeSnackbar(uploading); + this.props.closeSnackbar("media-upload"); this.props.enqueueSnackbar('Media uploaded.'); }).catch((err: Error) => { - this.props.enqueueSnackbar("Couldn't upload media: " + err.name); + this.props.closeSnackbar("media-upload"); + this.props.enqueueSnackbar("Couldn't upload media: " + err.name, { variant: "error" }); }) }).catch((err: Error) => { - this.props.enqueueSnackbar("Couldn't get media: " + err.name); + this.props.enqueueSnackbar("Couldn't get media: " + err.name, { variant: "error" }); console.error(err.message); }); } From 1a05cb941774495c6e173e4ccb831d12ce0c3f2e Mon Sep 17 00:00:00 2001 From: Marquis Kurt Date: Sun, 28 Apr 2019 15:38:44 -0400 Subject: [PATCH 2/5] Dynamically change Hyperspace name in settings --- src/pages/Settings.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 76b7720..5ac6a1c 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -24,7 +24,7 @@ import { } from '@material-ui/core'; import OpenInNewIcon from '@material-ui/icons/OpenInNew'; import {styles} from './PageLayout.styles'; -import {setUserDefaultBool, getUserDefaultBool, getUserDefaultTheme, setUserDefaultTheme, getUserDefaultVisibility, setUserDefaultVisibility} from '../utilities/settings'; +import {setUserDefaultBool, getUserDefaultBool, getUserDefaultTheme, setUserDefaultTheme, getUserDefaultVisibility, setUserDefaultVisibility, getConfig} from '../utilities/settings'; import {canSendNotifications, browserSupportsNotificationRequests} from '../utilities/notifications'; import {themes, defaultTheme} from '../types/HyperspaceTheme'; import ThemePreview from '../components/ThemePreview'; @@ -43,6 +43,7 @@ interface ISettingsState { resetSettingsDialog: boolean; previewTheme: Theme; defaultVisibility: Visibility; + brandName: string; } class SettingsPage extends Component { @@ -61,7 +62,8 @@ class SettingsPage extends Component { resetHyperspaceDialog: false, resetSettingsDialog: false, previewTheme: setHyperspaceTheme(getUserDefaultTheme()) || setHyperspaceTheme(defaultTheme), - defaultVisibility: getUserDefaultVisibility() || "public" + defaultVisibility: getUserDefaultVisibility() || "public", + brandName: "Hyperspace" } this.toggleDarkMode = this.toggleDarkMode.bind(this); @@ -75,6 +77,16 @@ class SettingsPage extends Component { this.setVisibility = this.setVisibility.bind(this); } + componentDidMount() { + getConfig().then((config: any) => { + this.setState({ + brandName: config.branding.name + }) + }).catch((err: Error) => { + console.error(err.message); + }) + } + toggleDarkMode() { this.setState({ darkModeEnabled: !this.state.darkModeEnabled }); setUserDefaultBool('darkModeEnabled', !this.state.darkModeEnabled); @@ -253,10 +265,10 @@ class SettingsPage extends Component { open={this.state.resetHyperspaceDialog} onClose={() => this.toggleResetDialog()} > - Reset Hyperspace? + Reset {this.state.brandName}? - Are you sure you want to reset Hyperspace? You'll need to sign in again and grant Hyperspace access to use it again. + Are you sure you want to reset {this.state.brandName}? You'll need to re-authorize {this.state.brandName} access again. @@ -389,7 +401,7 @@ class SettingsPage extends Component { - +