move help buttons to alerts

This commit is contained in:
SpikeHD
2022-07-25 18:26:04 -07:00
parent afa40f437f
commit cc74107dfe
3 changed files with 12 additions and 45 deletions

View File

@@ -3,6 +3,7 @@ import React from 'react'
import './HelpButton.css' import './HelpButton.css'
import Help from '../../../resources/icons/help.svg' import Help from '../../../resources/icons/help.svg'
import MiniDialog from '../MiniDialog' import MiniDialog from '../MiniDialog'
import { translate } from '../../../utils/language'
interface IProps { interface IProps {
children?: React.ReactNode[] | React.ReactNode children?: React.ReactNode[] | React.ReactNode
@@ -10,45 +11,23 @@ interface IProps {
id?: string id?: string
} }
interface IState { export default class HelpButton extends React.Component<IProps, never> {
opened: boolean
}
export default class HelpButton extends React.Component<IProps, IState> {
constructor(props: IProps) { constructor(props: IProps) {
super(props) super(props)
this.state = { this.showAlert = this.showAlert.bind(this)
opened: false,
}
this.setOpen = this.setOpen.bind(this)
this.setClosed = this.setClosed.bind(this)
} }
setOpen() { async showAlert() {
this.setState({ opened: true }) if (this.props.contents) alert(await translate(this.props.contents))
}
setClosed() {
this.setState({ opened: false })
} }
render() { render() {
return ( return (
<div className="HelpSection"> <div className="HelpSection">
<div className="HelpButton" onMouseEnter={this.setOpen} onMouseLeave={this.setClosed}> <div className="HelpButton" onClick={this.showAlert}>
<img src={Help} /> <img src={Help} />
</div> </div>
<div
className="HelpContents"
style={{
display: this.state.opened ? 'block' : 'none',
}}
>
<MiniDialog closeFn={this.setClosed}>{this.props.contents || this.props.children}</MiniDialog>
</div>
</div> </div>
) )
} }

View File

@@ -199,9 +199,7 @@ export default class Downloads extends React.Component<IProps, IState> {
<Tr <Tr
text={this.state.grasscutter_set ? 'downloads.grasscutter_stable' : 'downloads.grasscutter_stable_update'} text={this.state.grasscutter_set ? 'downloads.grasscutter_stable' : 'downloads.grasscutter_stable_update'}
/> />
<HelpButton> <HelpButton contents="help.gc_stable_jar" />
<Tr text="help.gc_stable_jar" />
</HelpButton>
</div> </div>
<div className="DownloadValue" id="downloadMenuButtonGCStable"> <div className="DownloadValue" id="downloadMenuButtonGCStable">
<BigButton <BigButton
@@ -218,9 +216,7 @@ export default class Downloads extends React.Component<IProps, IState> {
<Tr <Tr
text={this.state.grasscutter_set ? 'downloads.grasscutter_latest' : 'downloads.grasscutter_latest_update'} text={this.state.grasscutter_set ? 'downloads.grasscutter_latest' : 'downloads.grasscutter_latest_update'}
/> />
<HelpButton> <HelpButton contents="help.gc_dev_jar" />
<Tr text="help.gc_dev_jar" />
</HelpButton>
</div> </div>
<div className="DownloadValue" id="downloadMenuButtonGCDev"> <div className="DownloadValue" id="downloadMenuButtonGCDev">
<BigButton <BigButton
@@ -244,9 +240,7 @@ export default class Downloads extends React.Component<IProps, IState> {
: 'downloads.grasscutter_stable_data_update' : 'downloads.grasscutter_stable_data_update'
} }
/> />
<HelpButton> <HelpButton contents="help.gc_stable_data" />
<Tr text="help.gc_stable_data" />
</HelpButton>
</div> </div>
<div className="DownloadValue" id="downloadMenuButtonGCStableData"> <div className="DownloadValue" id="downloadMenuButtonGCStableData">
<BigButton <BigButton
@@ -267,9 +261,7 @@ export default class Downloads extends React.Component<IProps, IState> {
: 'downloads.grasscutter_latest_data_update' : 'downloads.grasscutter_latest_data_update'
} }
/> />
<HelpButton> <HelpButton contents="help.gc_dev_data" />
<Tr text="help.gc_dev_data" />
</HelpButton>
</div> </div>
<div className="DownloadValue" id="downloadMenuButtonGCDevData"> <div className="DownloadValue" id="downloadMenuButtonGCDevData">
<BigButton <BigButton
@@ -287,9 +279,7 @@ export default class Downloads extends React.Component<IProps, IState> {
<div className="DownloadMenuSection" id="downloadMenuContainerResources"> <div className="DownloadMenuSection" id="downloadMenuContainerResources">
<div className="DownloadLabel" id="downloadMenuLabelResources"> <div className="DownloadLabel" id="downloadMenuLabelResources">
<Tr text="downloads.resources" /> <Tr text="downloads.resources" />
<HelpButton> <HelpButton contents="help.resources" />
<Tr text="help.resources" />
</HelpButton>
</div> </div>
<div className="DownloadValue" id="downloadMenuButtonResources"> <div className="DownloadValue" id="downloadMenuButtonResources">
<BigButton <BigButton

View File

@@ -71,9 +71,7 @@ export default class Downloads extends React.Component<IProps, IState> {
Download Game Download Game
</BigButton> </BigButton>
)} )}
<HelpButton> <HelpButton contents="main.game_help_text" />
<Tr text="main.game_help_text" />
</HelpButton>
</div> </div>
<div className="GameDownloadDir"> <div className="GameDownloadDir">