2026-04-18 12:57:20 +02:00
|
|
|
/**
|
|
|
|
|
* This file is part of the SplendidBear Websites' projects.
|
|
|
|
|
*
|
|
|
|
|
* Copyright (c) 2026 @ www.splendidbear.org
|
|
|
|
|
*
|
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import React from 'react';
|
|
|
|
|
import Dialog from '@mui/material/Dialog';
|
2026-04-21 11:30:07 +02:00
|
|
|
import { styled } from '@mui/material/styles';
|
|
|
|
|
import { PlayerColumn } from '@mine-components';
|
|
|
|
|
import { bool, func, shape, string, number, object } from 'prop-types';
|
2026-04-18 12:57:20 +02:00
|
|
|
|
|
|
|
|
const BonusStatsDialog = ({ open, onClose, red, blue }) => (
|
2026-04-21 11:30:07 +02:00
|
|
|
<StyledDialog open={open} onClose={onClose}>
|
2026-04-18 12:57:20 +02:00
|
|
|
<div className="bsd">
|
|
|
|
|
<div className="bsd-header">
|
|
|
|
|
<div className="bsd-header-text">
|
|
|
|
|
<span className="bsd-label">Scoring</span>
|
|
|
|
|
<h2 className="bsd-title">
|
|
|
|
|
<i className="fa fa-star" />
|
|
|
|
|
Bonus Statistics
|
|
|
|
|
</h2>
|
|
|
|
|
</div>
|
|
|
|
|
<button className="bsd-close" onClick={onClose} aria-label="Close">
|
|
|
|
|
<i className="fa fa-times" />
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="bsd-body">
|
|
|
|
|
<PlayerColumn color="red" player={red} />
|
|
|
|
|
<PlayerColumn color="blue" player={blue} />
|
|
|
|
|
</div>
|
|
|
|
|
<p className="bsd-note">
|
|
|
|
|
Bonus points are awarded alongside the main score for skillful play.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
2026-04-21 11:30:07 +02:00
|
|
|
</StyledDialog>
|
2026-04-18 12:57:20 +02:00
|
|
|
);
|
|
|
|
|
|
2026-04-21 11:30:07 +02:00
|
|
|
const StyledDialog = styled(Dialog)({
|
|
|
|
|
'& .MuiDialog-paper': {
|
|
|
|
|
background: '#07090d',
|
|
|
|
|
backgroundImage: `
|
|
|
|
|
linear-gradient(rgba(35, 111, 135, 0.08) 1px, transparent 1px),
|
|
|
|
|
linear-gradient(90deg, rgba(35, 111, 135, 0.08) 1px, transparent 1px)
|
|
|
|
|
`,
|
|
|
|
|
backgroundSize: '46px 46px',
|
|
|
|
|
border: '1px solid rgba(35, 111, 135, 0.4)',
|
|
|
|
|
borderRadius: '12px',
|
|
|
|
|
boxShadow: '0 0 80px rgba(35, 111, 135, 0.15), 0 32px 80px rgba(0, 0, 0, 0.9)',
|
|
|
|
|
width: '560px',
|
|
|
|
|
maxWidth: '94vw',
|
|
|
|
|
overflow: 'hidden',
|
|
|
|
|
color: '#fff',
|
|
|
|
|
},
|
|
|
|
|
'& .MuiBackdrop-root': {
|
|
|
|
|
background: 'rgba(2, 4, 8, 0.88)',
|
|
|
|
|
backdropFilter: 'blur(4px)',
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
2026-04-18 12:57:20 +02:00
|
|
|
export default BonusStatsDialog;
|
2026-04-21 11:30:07 +02:00
|
|
|
|
|
|
|
|
BonusStatsDialog.propTypes = {
|
|
|
|
|
open: bool.isRequired,
|
|
|
|
|
onClose: func.isRequired,
|
|
|
|
|
red: shape({
|
|
|
|
|
name: string,
|
|
|
|
|
bonusPoints: number,
|
|
|
|
|
bonusStats: object,
|
|
|
|
|
}).isRequired,
|
|
|
|
|
blue: shape({
|
|
|
|
|
name: string,
|
|
|
|
|
bonusPoints: number,
|
|
|
|
|
bonusStats: object,
|
|
|
|
|
}).isRequired,
|
|
|
|
|
};
|