mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-14 16:14:48 +01:00
move help buttons to alerts
This commit is contained in:
@@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
Reference in New Issue
Block a user