mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2025-01-10 23:37:33 +01:00
learned and implemented default props
This commit is contained in:
parent
b0739f8942
commit
c5713fa6d8
@ -54,18 +54,12 @@ export function ActionLevel({ action, isActive, bladeburner, rerender }: IProps)
|
|||||||
</Typography>
|
</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Box>
|
</Box>
|
||||||
<Tooltip
|
<Tooltip title={isActive ? <Typography>WARNING: changing the level will restart the Operation</Typography> : ""}>
|
||||||
disableInteractive
|
|
||||||
title={isActive ? <Typography>WARNING: changing the level will restart the Operation</Typography> : ""}
|
|
||||||
>
|
|
||||||
<IconButton disabled={!canIncrease} onClick={increaseLevel}>
|
<IconButton disabled={!canIncrease} onClick={increaseLevel}>
|
||||||
<ArrowDropUpIcon />
|
<ArrowDropUpIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip
|
<Tooltip title={isActive ? <Typography>WARNING: changing the level will restart the Operation</Typography> : ""}>
|
||||||
disableInteractive
|
|
||||||
title={isActive ? <Typography>WARNING: changing the level will restart the Operation</Typography> : ""}
|
|
||||||
>
|
|
||||||
<IconButton disabled={!canDecrease} onClick={decreaseLevel}>
|
<IconButton disabled={!canDecrease} onClick={decreaseLevel}>
|
||||||
<ArrowDropDownIcon />
|
<ArrowDropDownIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
|
@ -148,7 +148,6 @@ export function Console(props: IProps): React.ReactElement {
|
|||||||
<TextField
|
<TextField
|
||||||
classes={{ root: classes.textfield }}
|
classes={{ root: classes.textfield }}
|
||||||
autoFocus
|
autoFocus
|
||||||
variant="standard"
|
|
||||||
tabIndex={1}
|
tabIndex={1}
|
||||||
type="text"
|
type="text"
|
||||||
value={command}
|
value={command}
|
||||||
|
@ -5,9 +5,5 @@ import Typography from "@mui/material/Typography";
|
|||||||
import Tooltip from "@mui/material/Tooltip";
|
import Tooltip from "@mui/material/Tooltip";
|
||||||
|
|
||||||
export function KillIcon(): React.ReactElement {
|
export function KillIcon(): React.ReactElement {
|
||||||
return (
|
return <Tooltip title={<Typography>This action involves retirement</Typography>}>{killIcon}</Tooltip>;
|
||||||
<Tooltip disableInteractive title={<Typography>This action involves retirement</Typography>}>
|
|
||||||
{killIcon}
|
|
||||||
</Tooltip>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -46,14 +46,13 @@ export function Stats(props: IProps): React.ReactElement {
|
|||||||
return (
|
return (
|
||||||
<Paper sx={{ p: 1 }}>
|
<Paper sx={{ p: 1 }}>
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip disableInteractive title={<Typography>Your rank within the Bladeburner division.</Typography>}>
|
<Tooltip title={<Typography>Your rank within the Bladeburner division.</Typography>}>
|
||||||
<Typography>Rank: {formatNumber(props.bladeburner.rank, 2)}</Typography>
|
<Typography>Rank: {formatNumber(props.bladeburner.rank, 2)}</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Box>
|
</Box>
|
||||||
<br />
|
<br />
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Performing actions will use up your stamina.
|
Performing actions will use up your stamina.
|
||||||
@ -97,7 +96,6 @@ export function Stats(props: IProps): React.ReactElement {
|
|||||||
<Typography>Current City: {props.bladeburner.city}</Typography>
|
<Typography>Current City: {props.bladeburner.city}</Typography>
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
This is your Bladeburner division's estimate of how many Synthoids exist in your current city. An accurate
|
This is your Bladeburner division's estimate of how many Synthoids exist in your current city. An accurate
|
||||||
@ -113,7 +111,6 @@ export function Stats(props: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
This is your Bladeburner divison's estimate of how many Synthoid communities exist in your current city.
|
This is your Bladeburner divison's estimate of how many Synthoid communities exist in your current city.
|
||||||
@ -128,7 +125,6 @@ export function Stats(props: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
The city's chaos level due to tensions and conflicts between humans and Synthoids. Having too high of a
|
The city's chaos level due to tensions and conflicts between humans and Synthoids. Having too high of a
|
||||||
@ -144,7 +140,6 @@ export function Stats(props: IProps): React.ReactElement {
|
|||||||
<>
|
<>
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
You gain bonus time while offline or when the game is inactive (e.g. when the tab is throttled by
|
You gain bonus time while offline or when the game is inactive (e.g. when the tab is throttled by
|
||||||
|
@ -5,9 +5,5 @@ import Typography from "@mui/material/Typography";
|
|||||||
import Tooltip from "@mui/material/Tooltip";
|
import Tooltip from "@mui/material/Tooltip";
|
||||||
|
|
||||||
export function StealthIcon(): React.ReactElement {
|
export function StealthIcon(): React.ReactElement {
|
||||||
return (
|
return <Tooltip title={<Typography>This action involves stealth</Typography>}>{stealthIcon}</Tooltip>;
|
||||||
<Tooltip disableInteractive title={<Typography>This action involves stealth</Typography>}>
|
|
||||||
{stealthIcon}
|
|
||||||
</Tooltip>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -40,14 +40,7 @@ export function TeamSizeModal(props: IProps): React.ReactElement {
|
|||||||
Enter the amount of team members you would like to take on this Op. If you do not have the specified number of
|
Enter the amount of team members you would like to take on this Op. If you do not have the specified number of
|
||||||
team members, then as many as possible will be used. Note that team members may be lost during operations.
|
team members, then as many as possible will be used. Note that team members may be lost during operations.
|
||||||
</Typography>
|
</Typography>
|
||||||
<TextField
|
<TextField autoFocus type="number" placeholder="Team size" value={teamSize} onChange={onTeamSize} />
|
||||||
autoFocus
|
|
||||||
variant="standard"
|
|
||||||
type="number"
|
|
||||||
placeholder="Team size"
|
|
||||||
value={teamSize}
|
|
||||||
onChange={onTeamSize}
|
|
||||||
/>
|
|
||||||
<Button sx={{ mx: 2 }} onClick={confirmTeamSize}>
|
<Button sx={{ mx: 2 }} onClick={confirmTeamSize}>
|
||||||
Confirm
|
Confirm
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -89,7 +89,7 @@ export function BribeFactionModal(props: IProps): React.ReactElement {
|
|||||||
</Typography>
|
</Typography>
|
||||||
<Box display="flex" alignItems="center">
|
<Box display="flex" alignItems="center">
|
||||||
<Typography>Faction:</Typography>
|
<Typography>Faction:</Typography>
|
||||||
<Select variant="standard" value={selectedFaction} onChange={changeFaction}>
|
<Select value={selectedFaction} onChange={changeFaction}>
|
||||||
{player.factions.map((name: string) => {
|
{player.factions.map((name: string) => {
|
||||||
const info = Factions[name].getInfo();
|
const info = Factions[name].getInfo();
|
||||||
if (!info.offersWork()) return;
|
if (!info.offersWork()) return;
|
||||||
@ -102,8 +102,8 @@ export function BribeFactionModal(props: IProps): React.ReactElement {
|
|||||||
</Select>
|
</Select>
|
||||||
</Box>
|
</Box>
|
||||||
<Typography>{getRepText(money ? money : 0, stock ? stock : 0)}</Typography>
|
<Typography>{getRepText(money ? money : 0, stock ? stock : 0)}</Typography>
|
||||||
<TextField variant="standard" onChange={onMoneyChange} placeholder="Corporation funds" />
|
<TextField onChange={onMoneyChange} placeholder="Corporation funds" />
|
||||||
<TextField sx={{ mx: 1 }} variant="standard" onChange={onStockChange} placeholder="Stock Shares" />
|
<TextField sx={{ mx: 1 }} onChange={onStockChange} placeholder="Stock Shares" />
|
||||||
<Button sx={{ mx: 1 }} onClick={() => bribe(money ? money : 0, stock ? stock : 0)}>
|
<Button sx={{ mx: 1 }} onClick={() => bribe(money ? money : 0, stock ? stock : 0)}>
|
||||||
Bribe
|
Bribe
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
|
|
||||||
interface IProps {
|
|
||||||
onClick: () => void;
|
|
||||||
name: string;
|
|
||||||
current: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function CityTab(props: IProps): React.ReactElement {
|
|
||||||
let className = "cmpy-mgmt-city-tab";
|
|
||||||
if (props.current) {
|
|
||||||
className += " current";
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<button className={className} onClick={props.onClick}>
|
|
||||||
{props.name}
|
|
||||||
</button>
|
|
||||||
);
|
|
||||||
}
|
|
@ -1,87 +1,47 @@
|
|||||||
// React Components for the Corporation UI's City navigation tabs
|
// React Components for the Corporation UI's City navigation tabs
|
||||||
// These allow player to navigate between different cities for each industry
|
// These allow player to navigate between different cities for each industry
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { CityTab } from "./CityTab";
|
|
||||||
import { ExpandNewCityPopup } from "./ExpandNewCityPopup";
|
|
||||||
import { createPopup } from "../../ui/React/createPopup";
|
|
||||||
import { ICorporation } from "../ICorporation";
|
|
||||||
import { IIndustry } from "../IIndustry";
|
|
||||||
import { OfficeSpace } from "../OfficeSpace";
|
import { OfficeSpace } from "../OfficeSpace";
|
||||||
import { Industry } from "./Industry";
|
import { Industry } from "./Industry";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { ExpandNewCity } from "./ExpandNewCity";
|
||||||
|
import { useDivision } from "./Context";
|
||||||
interface IExpandButtonProps {
|
import Tabs from "@mui/material/Tabs";
|
||||||
corp: ICorporation;
|
import Tab from "@mui/material/Tab";
|
||||||
division: IIndustry;
|
|
||||||
setCity: (name: string) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExpandButton(props: IExpandButtonProps): React.ReactElement {
|
|
||||||
function openExpandNewCityModal(): void {
|
|
||||||
const popupId = "cmpy-mgmt-expand-city-popup";
|
|
||||||
createPopup(popupId, ExpandNewCityPopup, {
|
|
||||||
popupId: popupId,
|
|
||||||
corp: props.corp,
|
|
||||||
division: props.division,
|
|
||||||
cityStateSetter: props.setCity,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const possibleCities = Object.keys(props.division.offices).filter(
|
|
||||||
(cityName: string) => props.division.offices[cityName] === 0,
|
|
||||||
);
|
|
||||||
if (possibleCities.length === 0) return <></>;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<CityTab
|
|
||||||
current={false}
|
|
||||||
key={"Expand into new City"}
|
|
||||||
name={"Expand into new City"}
|
|
||||||
onClick={openExpandNewCityModal}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
city: string;
|
city: string;
|
||||||
division: IIndustry;
|
|
||||||
corp: ICorporation;
|
|
||||||
player: IPlayer;
|
|
||||||
rerender: () => void;
|
rerender: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function CityTabs(props: IProps): React.ReactElement {
|
export function CityTabs(props: IProps): React.ReactElement {
|
||||||
|
const division = useDivision();
|
||||||
const [city, setCity] = useState(props.city);
|
const [city, setCity] = useState(props.city);
|
||||||
|
|
||||||
const office = props.division.offices[city];
|
const office = division.offices[city];
|
||||||
if (office === 0) {
|
if (office === 0) {
|
||||||
setCity("Sector-12");
|
setCity("Sector-12");
|
||||||
return <></>;
|
return <></>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const canExpand =
|
||||||
|
Object.keys(division.offices).filter((cityName: string) => division.offices[cityName] === 0).length > 0;
|
||||||
|
function handleChange(event: React.SyntheticEvent, tab: string): void {
|
||||||
|
setCity(tab);
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{Object.values(props.division.offices).map(
|
<Tabs variant="fullWidth" value={city} onChange={handleChange}>
|
||||||
(office: OfficeSpace | 0) =>
|
{Object.values(division.offices).map(
|
||||||
office !== 0 && (
|
(office: OfficeSpace | 0) => office !== 0 && <Tab key={office.loc} label={office.loc} value={office.loc} />,
|
||||||
<CityTab
|
)}
|
||||||
current={city === office.loc}
|
{canExpand && <Tab label={"Expand"} value={"Expand"} />}
|
||||||
key={office.loc}
|
</Tabs>
|
||||||
name={office.loc}
|
|
||||||
onClick={() => setCity(office.loc)}
|
{city !== "Expand" ? (
|
||||||
/>
|
<Industry rerender={props.rerender} city={city} warehouse={division.warehouses[city]} office={office} />
|
||||||
),
|
) : (
|
||||||
|
<ExpandNewCity cityStateSetter={setCity} />
|
||||||
)}
|
)}
|
||||||
<ExpandButton corp={props.corp} division={props.division} setCity={setCity} />
|
|
||||||
<Industry
|
|
||||||
rerender={props.rerender}
|
|
||||||
corp={props.corp}
|
|
||||||
division={props.division}
|
|
||||||
city={city}
|
|
||||||
warehouse={props.division.warehouses[city]}
|
|
||||||
office={office}
|
|
||||||
player={props.player}
|
|
||||||
/>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
import React, { useContext } from "react";
|
import React, { useContext } from "react";
|
||||||
import { ICorporation } from "../ICorporation";
|
import { ICorporation } from "../ICorporation";
|
||||||
|
import { IIndustry } from "../IIndustry";
|
||||||
|
|
||||||
export const Context: {
|
export const Context: {
|
||||||
Corporation: React.Context<ICorporation>;
|
Corporation: React.Context<ICorporation>;
|
||||||
|
Division: React.Context<IIndustry>;
|
||||||
} = {
|
} = {
|
||||||
Corporation: React.createContext<ICorporation>({} as ICorporation),
|
Corporation: React.createContext<ICorporation>({} as ICorporation),
|
||||||
|
Division: React.createContext<IIndustry>({} as IIndustry),
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useCorporation = () => useContext(Context.Corporation);
|
export const useCorporation = () => useContext(Context.Corporation);
|
||||||
|
export const useDivision = () => useContext(Context.Division);
|
||||||
|
@ -38,7 +38,6 @@ export function CorporationRoot(): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Context.Corporation.Provider value={corporation}>
|
<Context.Corporation.Provider value={corporation}>
|
||||||
<div className="cmpy-mgmt-container">
|
|
||||||
<Tabs variant="fullWidth" value={divisionName} onChange={handleChange}>
|
<Tabs variant="fullWidth" value={divisionName} onChange={handleChange}>
|
||||||
<Tab label={corporation.name} value={"Overview"} />
|
<Tab label={corporation.name} value={"Overview"} />
|
||||||
{corporation.divisions.map((div) => (
|
{corporation.divisions.map((div) => (
|
||||||
@ -51,7 +50,6 @@ export function CorporationRoot(): React.ReactElement {
|
|||||||
{typeof divisionName === "string" && divisionName !== "Overview" && (
|
{typeof divisionName === "string" && divisionName !== "Overview" && (
|
||||||
<MainPanel rerender={rerender} divisionName={divisionName + ""} />
|
<MainPanel rerender={rerender} divisionName={divisionName + ""} />
|
||||||
)}
|
)}
|
||||||
</div>
|
|
||||||
</Context.Corporation.Provider>
|
</Context.Corporation.Provider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ export function CreateCorporationModal(props: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
If you would like to start one, please enter a name for your corporation below:
|
If you would like to start one, please enter a name for your corporation below:
|
||||||
</Typography>
|
</Typography>
|
||||||
<TextField autoFocus={true} variant="standard" placeholder="Corporation Name" onChange={onChange} value={name} />
|
<TextField autoFocus={true} placeholder="Corporation Name" onChange={onChange} value={name} />
|
||||||
<Button onClick={seed} disabled={name == ""}>
|
<Button onClick={seed} disabled={name == ""}>
|
||||||
Use seed money
|
Use seed money
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -59,7 +59,7 @@ export function ExpandIndustryTab(props: IProps): React.ReactElement {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Typography>Create a new division to expand into a new industry:</Typography>
|
<Typography>Create a new division to expand into a new industry:</Typography>
|
||||||
<Select variant="standard" value={industry} onChange={onIndustryChange}>
|
<Select value={industry} onChange={onIndustryChange}>
|
||||||
{possibleIndustries.map((industry: string) => (
|
{possibleIndustries.map((industry: string) => (
|
||||||
<MenuItem key={industry} value={industry}>
|
<MenuItem key={industry} value={industry}>
|
||||||
{industry}
|
{industry}
|
||||||
@ -73,14 +73,7 @@ export function ExpandIndustryTab(props: IProps): React.ReactElement {
|
|||||||
<Typography>Division name:</Typography>
|
<Typography>Division name:</Typography>
|
||||||
|
|
||||||
<Box display="flex" alignItems="center">
|
<Box display="flex" alignItems="center">
|
||||||
<TextField
|
<TextField autoFocus={true} value={name} onChange={onNameChange} onKeyDown={onKeyDown} type="text" />
|
||||||
variant="standard"
|
|
||||||
autoFocus={true}
|
|
||||||
value={name}
|
|
||||||
onChange={onNameChange}
|
|
||||||
onKeyDown={onKeyDown}
|
|
||||||
type="text"
|
|
||||||
/>
|
|
||||||
<Button sx={{ mx: 1 }} onClick={newIndustry}>
|
<Button sx={{ mx: 1 }} onClick={newIndustry}>
|
||||||
Create Division
|
Create Division
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -1,26 +1,27 @@
|
|||||||
import React, { useRef } from "react";
|
import React, { useRef } from "react";
|
||||||
import { IIndustry } from "../IIndustry";
|
|
||||||
import { CorporationConstants } from "../data/Constants";
|
import { CorporationConstants } from "../data/Constants";
|
||||||
import { removePopup } from "../../ui/React/createPopup";
|
|
||||||
import { dialogBoxCreate } from "../../ui/React/DialogBox";
|
import { dialogBoxCreate } from "../../ui/React/DialogBox";
|
||||||
import { ICorporation } from "../ICorporation";
|
|
||||||
import { NewCity } from "../Actions";
|
import { NewCity } from "../Actions";
|
||||||
import { MoneyCost } from "./MoneyCost";
|
import { MoneyCost } from "./MoneyCost";
|
||||||
|
import { useCorporation, useDivision } from "./Context";
|
||||||
|
import Typography from "@mui/material/Typography";
|
||||||
|
import MenuItem from "@mui/material/MenuItem";
|
||||||
|
import Select, { SelectChangeEvent } from "@mui/material/Select";
|
||||||
|
import Button from "@mui/material/Button";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
popupId: string;
|
|
||||||
corp: ICorporation;
|
|
||||||
division: IIndustry;
|
|
||||||
cityStateSetter: (city: string) => void;
|
cityStateSetter: (city: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ExpandNewCityPopup(props: IProps): React.ReactElement {
|
export function ExpandNewCity(props: IProps): React.ReactElement {
|
||||||
|
const corp = useCorporation();
|
||||||
|
const division = useDivision();
|
||||||
const dropdown = useRef<HTMLSelectElement>(null);
|
const dropdown = useRef<HTMLSelectElement>(null);
|
||||||
|
|
||||||
function expand(): void {
|
function expand(): void {
|
||||||
if (dropdown.current === null) return;
|
if (dropdown.current === null) return;
|
||||||
try {
|
try {
|
||||||
NewCity(props.corp, props.division, dropdown.current.value);
|
NewCity(corp, division, dropdown.current.value);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
dialogBoxCreate(err + "");
|
dialogBoxCreate(err + "");
|
||||||
return;
|
return;
|
||||||
@ -29,31 +30,25 @@ export function ExpandNewCityPopup(props: IProps): React.ReactElement {
|
|||||||
dialogBoxCreate(`Opened a new office in ${dropdown.current.value}!`);
|
dialogBoxCreate(`Opened a new office in ${dropdown.current.value}!`);
|
||||||
|
|
||||||
props.cityStateSetter(dropdown.current.value);
|
props.cityStateSetter(dropdown.current.value);
|
||||||
removePopup(props.popupId);
|
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<p>
|
<Typography>
|
||||||
Would you like to expand into a new city by opening an office? This would cost{" "}
|
Would you like to expand into a new city by opening an office? This would cost{" "}
|
||||||
<MoneyCost money={CorporationConstants.OfficeInitialCost} corp={props.corp} />
|
<MoneyCost money={CorporationConstants.OfficeInitialCost} corp={corp} />
|
||||||
</p>
|
</Typography>
|
||||||
<select ref={dropdown} className="dropdown" style={{ margin: "5px" }}>
|
<Select ref={dropdown}>
|
||||||
{Object.keys(props.division.offices)
|
{Object.keys(division.offices)
|
||||||
.filter((cityName: string) => props.division.offices[cityName] === 0)
|
.filter((cityName: string) => division.offices[cityName] === 0)
|
||||||
.map((cityName: string) => (
|
.map((cityName: string) => (
|
||||||
<option key={cityName} value={cityName}>
|
<MenuItem key={cityName} value={cityName}>
|
||||||
{cityName}
|
{cityName}
|
||||||
</option>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
</select>
|
</Select>
|
||||||
<button
|
<Button onClick={expand} disabled={corp.funds.lt(0)}>
|
||||||
className="std-button"
|
|
||||||
style={{ display: "inline-block" }}
|
|
||||||
onClick={expand}
|
|
||||||
disabled={props.corp.funds.lt(0)}
|
|
||||||
>
|
|
||||||
Confirm
|
Confirm
|
||||||
</button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
@ -64,7 +64,6 @@ export function GoPublicModal(props: IProps): React.ReactElement {
|
|||||||
</Typography>
|
</Typography>
|
||||||
<Box display="flex" alignItems="center">
|
<Box display="flex" alignItems="center">
|
||||||
<TextField
|
<TextField
|
||||||
variant="standard"
|
|
||||||
value={shares}
|
value={shares}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
autoFocus
|
autoFocus
|
||||||
|
@ -6,48 +6,47 @@ import { IndustryOffice } from "./IndustryOffice";
|
|||||||
import { IndustryOverview } from "./IndustryOverview";
|
import { IndustryOverview } from "./IndustryOverview";
|
||||||
import { IndustryWarehouse } from "./IndustryWarehouse";
|
import { IndustryWarehouse } from "./IndustryWarehouse";
|
||||||
import { Warehouse } from "../Warehouse";
|
import { Warehouse } from "../Warehouse";
|
||||||
import { ICorporation } from "../ICorporation";
|
|
||||||
import { OfficeSpace } from "../OfficeSpace";
|
import { OfficeSpace } from "../OfficeSpace";
|
||||||
import { IIndustry } from "../IIndustry";
|
import { use } from "../../ui/Context";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { useCorporation, useDivision } from "./Context";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
corp: ICorporation;
|
|
||||||
division: IIndustry;
|
|
||||||
city: string;
|
city: string;
|
||||||
warehouse: Warehouse | 0;
|
warehouse: Warehouse | 0;
|
||||||
office: OfficeSpace;
|
office: OfficeSpace;
|
||||||
player: IPlayer;
|
|
||||||
rerender: () => void;
|
rerender: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function Industry(props: IProps): React.ReactElement {
|
export function Industry(props: IProps): React.ReactElement {
|
||||||
|
const player = use.Player();
|
||||||
|
const corp = useCorporation();
|
||||||
|
const division = useDivision();
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div className={"cmpy-mgmt-industry-left-panel"}>
|
<div className={"cmpy-mgmt-industry-left-panel"}>
|
||||||
<IndustryOverview
|
<IndustryOverview
|
||||||
rerender={props.rerender}
|
rerender={props.rerender}
|
||||||
player={props.player}
|
player={player}
|
||||||
corp={props.corp}
|
corp={corp}
|
||||||
division={props.division}
|
division={division}
|
||||||
currentCity={props.city}
|
currentCity={props.city}
|
||||||
office={props.office}
|
office={props.office}
|
||||||
/>
|
/>
|
||||||
<IndustryOffice
|
<IndustryOffice
|
||||||
rerender={props.rerender}
|
rerender={props.rerender}
|
||||||
player={props.player}
|
player={player}
|
||||||
corp={props.corp}
|
corp={corp}
|
||||||
division={props.division}
|
division={division}
|
||||||
office={props.office}
|
office={props.office}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className={"cmpy-mgmt-industry-right-panel"}>
|
<div className={"cmpy-mgmt-industry-right-panel"}>
|
||||||
<IndustryWarehouse
|
<IndustryWarehouse
|
||||||
rerender={props.rerender}
|
rerender={props.rerender}
|
||||||
player={props.player}
|
player={player}
|
||||||
corp={props.corp}
|
corp={corp}
|
||||||
currentCity={props.city}
|
currentCity={props.city}
|
||||||
division={props.division}
|
division={division}
|
||||||
warehouse={props.warehouse}
|
warehouse={props.warehouse}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -69,7 +69,6 @@ export function IssueDividendsModal(props: IProps): React.ReactElement {
|
|||||||
per second before taxes.
|
per second before taxes.
|
||||||
</Typography>
|
</Typography>
|
||||||
<TextField
|
<TextField
|
||||||
variant="standard"
|
|
||||||
autoFocus
|
autoFocus
|
||||||
value={percent}
|
value={percent}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
|
@ -127,7 +127,7 @@ export function IssueNewSharesModal(props: IProps): React.ReactElement {
|
|||||||
you cannot buy them back.
|
you cannot buy them back.
|
||||||
</Typography>
|
</Typography>
|
||||||
<EffectText shares={shares} />
|
<EffectText shares={shares} />
|
||||||
<TextField variant="standard" autoFocus placeholder="# New Shares" onChange={onChange} onKeyDown={onKeyDown} />
|
<TextField autoFocus placeholder="# New Shares" onChange={onChange} onKeyDown={onKeyDown} />
|
||||||
<Button onClick={issueNewShares} sx={{ mx: 1 }}>
|
<Button onClick={issueNewShares} sx={{ mx: 1 }}>
|
||||||
Issue New Shares
|
Issue New Shares
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -6,7 +6,7 @@ import React from "react";
|
|||||||
import { CityTabs } from "./CityTabs";
|
import { CityTabs } from "./CityTabs";
|
||||||
import { IIndustry } from "../IIndustry";
|
import { IIndustry } from "../IIndustry";
|
||||||
import { useCorporation } from "./Context";
|
import { useCorporation } from "./Context";
|
||||||
import { use } from "../../ui/Context";
|
import { Context } from "./Context";
|
||||||
|
|
||||||
import { CityName } from "../../Locations/data/CityNames";
|
import { CityName } from "../../Locations/data/CityNames";
|
||||||
|
|
||||||
@ -16,7 +16,6 @@ interface IProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function MainPanel(props: IProps): React.ReactElement {
|
export function MainPanel(props: IProps): React.ReactElement {
|
||||||
const player = use.Player();
|
|
||||||
const corp = useCorporation();
|
const corp = useCorporation();
|
||||||
const division =
|
const division =
|
||||||
props.divisionName !== "Overview"
|
props.divisionName !== "Overview"
|
||||||
@ -25,8 +24,10 @@ export function MainPanel(props: IProps): React.ReactElement {
|
|||||||
|
|
||||||
if (division === undefined) throw new Error("Cannot find division");
|
if (division === undefined) throw new Error("Cannot find division");
|
||||||
return (
|
return (
|
||||||
|
<Context.Division.Provider value={division}>
|
||||||
<div id="cmpy-mgmt-panel">
|
<div id="cmpy-mgmt-panel">
|
||||||
<CityTabs rerender={props.rerender} division={division} corp={corp} city={CityName.Sector12} player={player} />
|
<CityTabs rerender={props.rerender} city={CityName.Sector12} />
|
||||||
</div>
|
</div>
|
||||||
|
</Context.Division.Provider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,6 @@ export function Overview({ rerender }: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
</Typography>
|
</Typography>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Outstanding Shares: {numeralWrapper.format(corp.issuedShares, "0.000a")}
|
Outstanding Shares: {numeralWrapper.format(corp.issuedShares, "0.000a")}
|
||||||
@ -79,7 +78,6 @@ export function Overview({ rerender }: IProps): React.ReactElement {
|
|||||||
<BonusTime />
|
<BonusTime />
|
||||||
<div>
|
<div>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Get a copy of and read 'The Complete Handbook for Creating a Successful Corporation.' This is a .lit file
|
Get a copy of and read 'The Complete Handbook for Creating a Successful Corporation.' This is a .lit file
|
||||||
@ -116,13 +114,12 @@ function PrivateButtons({ rerender }: IPrivateButtonsProps): React.ReactElement
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Tooltip disableInteractive title={<Typography>{findInvestorsTooltip}</Typography>}>
|
<Tooltip title={<Typography>{findInvestorsTooltip}</Typography>}>
|
||||||
<Button disabled={!fundingAvailable} onClick={() => setFindInvestorsopen(true)}>
|
<Button disabled={!fundingAvailable} onClick={() => setFindInvestorsopen(true)}>
|
||||||
Find Investors
|
Find Investors
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Become a publicly traded and owned entity. Going public involves issuing shares for an IPO. Once you are a
|
Become a publicly traded and owned entity. Going public involves issuing shares for an IPO. Once you are a
|
||||||
@ -195,28 +192,24 @@ function PublicButtons({ rerender }: IPublicButtonsProps): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Tooltip disableInteractive title={<Typography>{sellSharesTooltip}</Typography>}>
|
<Tooltip title={<Typography>{sellSharesTooltip}</Typography>}>
|
||||||
<Button disabled={sellSharesOnCd} onClick={() => setSellSharesOpen(true)}>
|
<Button disabled={sellSharesOnCd} onClick={() => setSellSharesOpen(true)}>
|
||||||
Sell Shares
|
Sell Shares
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<SellSharesModal open={sellSharesOpen} onClose={() => setSellSharesOpen(false)} rerender={rerender} />
|
<SellSharesModal open={sellSharesOpen} onClose={() => setSellSharesOpen(false)} rerender={rerender} />
|
||||||
<Tooltip
|
<Tooltip title={<Typography>Buy back shares you that previously issued or sold at market price.</Typography>}>
|
||||||
disableInteractive
|
|
||||||
title={<Typography>Buy back shares you that previously issued or sold at market price.</Typography>}
|
|
||||||
>
|
|
||||||
<Button onClick={() => setBuybackSharesOpen(true)}>Buyback shares</Button>
|
<Button onClick={() => setBuybackSharesOpen(true)}>Buyback shares</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<BuybackSharesModal open={buybackSharesOpen} onClose={() => setBuybackSharesOpen(false)} rerender={rerender} />
|
<BuybackSharesModal open={buybackSharesOpen} onClose={() => setBuybackSharesOpen(false)} rerender={rerender} />
|
||||||
<br />
|
<br />
|
||||||
<Tooltip disableInteractive title={<Typography>{issueNewSharesTooltip}</Typography>}>
|
<Tooltip title={<Typography>{issueNewSharesTooltip}</Typography>}>
|
||||||
<Button disabled={issueNewSharesOnCd} onClick={() => setIssueNewSharesOpen(true)}>
|
<Button disabled={issueNewSharesOnCd} onClick={() => setIssueNewSharesOpen(true)}>
|
||||||
Issue New Shares
|
Issue New Shares
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<IssueNewSharesModal open={issueNewSharesOpen} onClose={() => setIssueNewSharesOpen(false)} />
|
<IssueNewSharesModal open={issueNewSharesOpen} onClose={() => setIssueNewSharesOpen(false)} />
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={<Typography>Manage the dividends that are paid out to shareholders (including yourself)</Typography>}
|
title={<Typography>Manage the dividends that are paid out to shareholders (including yourself)</Typography>}
|
||||||
>
|
>
|
||||||
<Button onClick={() => setIssueDividendsOpen(true)}>Issue Dividends</Button>
|
<Button onClick={() => setIssueDividendsOpen(true)}>Issue Dividends</Button>
|
||||||
@ -243,7 +236,6 @@ function BribeButton(): React.ReactElement {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
canBribe
|
canBribe
|
||||||
? "Use your Corporations power and influence to bribe Faction leaders in exchange for reputation"
|
? "Use your Corporations power and influence to bribe Faction leaders in exchange for reputation"
|
||||||
|
@ -81,7 +81,7 @@ export function Companies(): React.ReactElement {
|
|||||||
<span className="text">Company:</span>
|
<span className="text">Company:</span>
|
||||||
</td>
|
</td>
|
||||||
<td colSpan={3}>
|
<td colSpan={3}>
|
||||||
<Select id="dev-companies-dropdown" className="dropdown" onChange={setCompanyDropdown} value={company}>
|
<Select id="dev-companies-dropdown" onChange={setCompanyDropdown} value={company}>
|
||||||
{Object.values(AllCompanies).map((company) => (
|
{Object.values(AllCompanies).map((company) => (
|
||||||
<MenuItem key={company.name} value={company.name}>
|
<MenuItem key={company.name} value={company.name}>
|
||||||
{company.name}
|
{company.name}
|
||||||
|
@ -114,7 +114,6 @@ export function Factions(props: IProps): React.ReactElement {
|
|||||||
<Select
|
<Select
|
||||||
labelId="factions-select"
|
labelId="factions-select"
|
||||||
id="factions-dropdown"
|
id="factions-dropdown"
|
||||||
className="dropdown exp-input"
|
|
||||||
onChange={setFactionDropdown}
|
onChange={setFactionDropdown}
|
||||||
value={faction}
|
value={faction}
|
||||||
startAdornment={
|
startAdornment={
|
||||||
|
@ -87,7 +87,7 @@ export function Servers(): React.ReactElement {
|
|||||||
<span className="text">Server:</span>
|
<span className="text">Server:</span>
|
||||||
</td>
|
</td>
|
||||||
<td colSpan={2}>
|
<td colSpan={2}>
|
||||||
<Select id="dev-servers-dropdown" className="dropdown" onChange={setServerDropdown} value={server}>
|
<Select id="dev-servers-dropdown" onChange={setServerDropdown} value={server}>
|
||||||
{Object.values(AllServers).map((server) => (
|
{Object.values(AllServers).map((server) => (
|
||||||
<MenuItem key={server.hostname} value={server.hostname}>
|
<MenuItem key={server.hostname} value={server.hostname}>
|
||||||
{server.hostname}
|
{server.hostname}
|
||||||
|
@ -86,7 +86,6 @@ export function DonateOption(props: IProps): React.ReactElement {
|
|||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<TextField
|
<TextField
|
||||||
variant="standard"
|
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
placeholder={"Donation amount"}
|
placeholder={"Donation amount"}
|
||||||
disabled={props.disabled}
|
disabled={props.disabled}
|
||||||
|
@ -147,13 +147,7 @@ export function PurchaseableAugmentation(props: IProps): React.ReactElement {
|
|||||||
)}
|
)}
|
||||||
<TableCell key={1}>
|
<TableCell key={1}>
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip
|
<Tooltip title={<Typography>{tooltip}</Typography>} placement="top">
|
||||||
title={<Typography>{tooltip}</Typography>}
|
|
||||||
placement="top"
|
|
||||||
disableFocusListener
|
|
||||||
disableTouchListener
|
|
||||||
disableInteractive
|
|
||||||
>
|
|
||||||
<Typography>{btnTxt}</Typography>
|
<Typography>{btnTxt}</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Box>
|
</Box>
|
||||||
|
@ -36,10 +36,7 @@ export function ApplyToJobButton(props: IProps): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Tooltip
|
<Tooltip title={<span dangerouslySetInnerHTML={{ __html: getJobRequirementTooltip() }}></span>}>
|
||||||
title={<span dangerouslySetInnerHTML={{ __html: getJobRequirementTooltip() }}></span>}
|
|
||||||
disableInteractive
|
|
||||||
>
|
|
||||||
<Button onClick={props.onClick}>{props.text}</Button>
|
<Button onClick={props.onClick}>{props.text}</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
|
@ -208,7 +208,6 @@ export function CompanyLocation(props: IProps): React.ReactElement {
|
|||||||
Augmentations
|
Augmentations
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
disableInteractive
|
|
||||||
>
|
>
|
||||||
<Typography>Company reputation: {Reputation(company.playerReputation)}</Typography>
|
<Typography>Company reputation: {Reputation(company.playerReputation)}</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
@ -223,7 +222,6 @@ export function CompanyLocation(props: IProps): React.ReactElement {
|
|||||||
gain depends on how much reputation you have with the company.
|
gain depends on how much reputation you have with the company.
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
disableInteractive
|
|
||||||
>
|
>
|
||||||
<Typography className={"tooltip"}>Company Favor: {Favor(company.favor)}</Typography>
|
<Typography className={"tooltip"}>Company Favor: {Favor(company.favor)}</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
@ -114,69 +114,69 @@ export function SlumsLocation(): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Tooltip title={<>Attempt to shoplift from a low-end retailer</>} disableInteractive>
|
<Tooltip title={<>Attempt to shoplift from a low-end retailer</>}>
|
||||||
<Button onClick={shoplift}>
|
<Button onClick={shoplift}>
|
||||||
Shoplift ({numeralWrapper.formatPercentage(shopliftChance)} chance of success)
|
Shoplift ({numeralWrapper.formatPercentage(shopliftChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to commit armed robbery on a high-end store</>} disableInteractive>
|
<Tooltip title={<>Attempt to commit armed robbery on a high-end store</>}>
|
||||||
<Button onClick={robStore}>
|
<Button onClick={robStore}>
|
||||||
Rob store ({numeralWrapper.formatPercentage(robStoreChance)} chance of success)
|
Rob store ({numeralWrapper.formatPercentage(robStoreChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to mug a random person on the street</>} disableInteractive>
|
<Tooltip title={<>Attempt to mug a random person on the street</>}>
|
||||||
<Button onClick={mug}>Mug someone ({numeralWrapper.formatPercentage(mugChance)} chance of success)</Button>
|
<Button onClick={mug}>Mug someone ({numeralWrapper.formatPercentage(mugChance)} chance of success)</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to rob property from someone's house</>} disableInteractive>
|
<Tooltip title={<>Attempt to rob property from someone's house</>}>
|
||||||
<Button onClick={larceny}>Larceny ({numeralWrapper.formatPercentage(larcenyChance)} chance of success)</Button>
|
<Button onClick={larceny}>Larceny ({numeralWrapper.formatPercentage(larcenyChance)} chance of success)</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to deal drugs</>} disableInteractive>
|
<Tooltip title={<>Attempt to deal drugs</>}>
|
||||||
<Button onClick={dealDrugs}>
|
<Button onClick={dealDrugs}>
|
||||||
Deal Drugs ({numeralWrapper.formatPercentage(drugsChance)} chance of success)
|
Deal Drugs ({numeralWrapper.formatPercentage(drugsChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to forge corporate bonds</>} disableInteractive>
|
<Tooltip title={<>Attempt to forge corporate bonds</>}>
|
||||||
<Button onClick={bondForgery}>
|
<Button onClick={bondForgery}>
|
||||||
Bond Forgery ({numeralWrapper.formatPercentage(bondChance)} chance of success)
|
Bond Forgery ({numeralWrapper.formatPercentage(bondChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to smuggle illegal arms into the city</>} disableInteractive>
|
<Tooltip title={<>Attempt to smuggle illegal arms into the city</>}>
|
||||||
<Button onClick={traffickArms}>
|
<Button onClick={traffickArms}>
|
||||||
Traffick illegal Arms ({numeralWrapper.formatPercentage(armsChance)} chance of success)
|
Traffick illegal Arms ({numeralWrapper.formatPercentage(armsChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to murder a random person on the street</>} disableInteractive>
|
<Tooltip title={<>Attempt to murder a random person on the street</>}>
|
||||||
<Button onClick={homicide}>
|
<Button onClick={homicide}>
|
||||||
Homicide ({numeralWrapper.formatPercentage(homicideChance)} chance of success)
|
Homicide ({numeralWrapper.formatPercentage(homicideChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to commit grand theft auto</>} disableInteractive>
|
<Tooltip title={<>Attempt to commit grand theft auto</>}>
|
||||||
<Button onClick={grandTheftAuto}>
|
<Button onClick={grandTheftAuto}>
|
||||||
Grand theft Auto ({numeralWrapper.formatPercentage(gtaChance)} chance of success)
|
Grand theft Auto ({numeralWrapper.formatPercentage(gtaChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to kidnap and ransom a high-profile-target</>} disableInteractive>
|
<Tooltip title={<>Attempt to kidnap and ransom a high-profile-target</>}>
|
||||||
<Button onClick={kidnap}>
|
<Button onClick={kidnap}>
|
||||||
Kidnap and Ransom ({numeralWrapper.formatPercentage(kidnapChance)} chance of success)
|
Kidnap and Ransom ({numeralWrapper.formatPercentage(kidnapChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to assassinate a high-profile target</>} disableInteractive>
|
<Tooltip title={<>Attempt to assassinate a high-profile target</>}>
|
||||||
<Button onClick={assassinate}>
|
<Button onClick={assassinate}>
|
||||||
Assassinate ({numeralWrapper.formatPercentage(assassinateChance)} chance of success)
|
Assassinate ({numeralWrapper.formatPercentage(assassinateChance)} chance of success)
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
<Tooltip title={<>Attempt to pull off the ultimate heist</>} disableInteractive>
|
<Tooltip title={<>Attempt to pull off the ultimate heist</>}>
|
||||||
<Button onClick={heist}>Heist ({numeralWrapper.formatPercentage(heistChance)} chance of success)</Button>
|
<Button onClick={heist}>Heist ({numeralWrapper.formatPercentage(heistChance)} chance of success)</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<br />
|
<br />
|
||||||
|
@ -85,7 +85,7 @@ export function CovenantSleeveMemoryUpgrade(props: IProps): React.ReactElement {
|
|||||||
|
|
||||||
<Box display="flex" flexDirection="row" alignItems="center">
|
<Box display="flex" flexDirection="row" alignItems="center">
|
||||||
<Typography>Amount of memory to purchase (must be an integer): </Typography>
|
<Typography>Amount of memory to purchase (must be an integer): </Typography>
|
||||||
<TextField variant="standard" onChange={changePurchaseAmount} type={"number"} value={amt} />
|
<TextField onChange={changePurchaseAmount} type={"number"} value={amt} />
|
||||||
</Box>
|
</Box>
|
||||||
<br />
|
<br />
|
||||||
<Button disabled={purchaseBtnDisabled} onClick={purchaseMemory}>
|
<Button disabled={purchaseBtnDisabled} onClick={purchaseMemory}>
|
||||||
|
@ -70,7 +70,7 @@ export function SleeveAugmentationsModal(props: IProps): React.ReactElement {
|
|||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<Box display="flex">
|
<Box display="flex">
|
||||||
<Tooltip disableInteractive title={aug.stats || ""}>
|
<Tooltip title={aug.stats || ""}>
|
||||||
<Typography>{aug.name}</Typography>
|
<Typography>{aug.name}</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Box>
|
</Box>
|
||||||
@ -111,7 +111,7 @@ export function SleeveAugmentationsModal(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip key={augName} disableInteractive title={<Typography>{tooltip}</Typography>}>
|
<Tooltip key={augName} title={<Typography>{tooltip}</Typography>}>
|
||||||
<Paper>
|
<Paper>
|
||||||
<Typography>{augName}</Typography>
|
<Typography>{augName}</Typography>
|
||||||
</Paper>
|
</Paper>
|
||||||
|
@ -171,10 +171,7 @@ export function SleeveElem(props: IProps): React.ReactElement {
|
|||||||
<Grid item xs={3}>
|
<Grid item xs={3}>
|
||||||
<StatsElement sleeve={props.sleeve} />
|
<StatsElement sleeve={props.sleeve} />
|
||||||
<Button onClick={() => setStatsOpen(true)}>More Stats</Button>
|
<Button onClick={() => setStatsOpen(true)}>More Stats</Button>
|
||||||
<Tooltip
|
<Tooltip title={player.money.lt(CONSTANTS.TravelCost) ? <Typography>Insufficient funds</Typography> : ""}>
|
||||||
disableInteractive
|
|
||||||
title={player.money.lt(CONSTANTS.TravelCost) ? <Typography>Insufficient funds</Typography> : ""}
|
|
||||||
>
|
|
||||||
<span>
|
<span>
|
||||||
<Button onClick={() => setTravelOpen(true)} disabled={player.money.lt(CONSTANTS.TravelCost)}>
|
<Button onClick={() => setTravelOpen(true)} disabled={player.money.lt(CONSTANTS.TravelCost)}>
|
||||||
Travel
|
Travel
|
||||||
@ -182,7 +179,6 @@ export function SleeveElem(props: IProps): React.ReactElement {
|
|||||||
</span>
|
</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={props.sleeve.shock < 100 ? <Typography>Unlocked when sleeve has fully recovered</Typography> : ""}
|
title={props.sleeve.shock < 100 ? <Typography>Unlocked when sleeve has fully recovered</Typography> : ""}
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
|
@ -275,7 +275,7 @@ export function TaskSelector(props: IProps): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Select variant="standard" onChange={onS0Change} value={s0}>
|
<Select onChange={onS0Change} value={s0}>
|
||||||
{validActions.map((task) => (
|
{validActions.map((task) => (
|
||||||
<MenuItem key={task} value={task}>
|
<MenuItem key={task} value={task}>
|
||||||
{task}
|
{task}
|
||||||
@ -285,7 +285,7 @@ export function TaskSelector(props: IProps): React.ReactElement {
|
|||||||
{!(details.first.length === 1 && details.first[0] === "------") && (
|
{!(details.first.length === 1 && details.first[0] === "------") && (
|
||||||
<>
|
<>
|
||||||
<br />
|
<br />
|
||||||
<Select variant="standard" onChange={onS1Change} value={s1}>
|
<Select onChange={onS1Change} value={s1}>
|
||||||
{details.first.map((detail) => (
|
{details.first.map((detail) => (
|
||||||
<MenuItem key={detail} value={detail}>
|
<MenuItem key={detail} value={detail}>
|
||||||
{detail}
|
{detail}
|
||||||
@ -297,7 +297,7 @@ export function TaskSelector(props: IProps): React.ReactElement {
|
|||||||
{!(details2.length === 1 && details2[0] === "------") && (
|
{!(details2.length === 1 && details2[0] === "------") && (
|
||||||
<>
|
<>
|
||||||
<br />
|
<br />
|
||||||
<Select variant="standard" onChange={onS2Change} value={s2}>
|
<Select onChange={onS2Change} value={s2}>
|
||||||
{details2.map((detail) => (
|
{details2.map((detail) => (
|
||||||
<MenuItem key={detail} value={detail}>
|
<MenuItem key={detail} value={detail}>
|
||||||
{detail}
|
{detail}
|
||||||
|
@ -33,7 +33,7 @@ export function ProgramsRoot(): React.ReactElement {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment key={program.name}>
|
<React.Fragment key={program.name}>
|
||||||
<Tooltip title={create.tooltip} disableInteractive>
|
<Tooltip title={create.tooltip}>
|
||||||
<Button
|
<Button
|
||||||
sx={{ my: 1 }}
|
sx={{ my: 1 }}
|
||||||
onClick={(event) => {
|
onClick={(event) => {
|
||||||
|
@ -32,12 +32,7 @@ export function OptionsModal(props: IProps): React.ReactElement {
|
|||||||
<Modal open={props.open} onClose={props.onClose}>
|
<Modal open={props.open} onClose={props.onClose}>
|
||||||
<Box display="flex" flexDirection="row" alignItems="center">
|
<Box display="flex" flexDirection="row" alignItems="center">
|
||||||
<Typography>Theme: </Typography>
|
<Typography>Theme: </Typography>
|
||||||
<Select
|
<Select onChange={(event) => setTheme(event.target.value)} defaultValue={props.options.theme}>
|
||||||
variant="standard"
|
|
||||||
color="primary"
|
|
||||||
onChange={(event) => setTheme(event.target.value)}
|
|
||||||
defaultValue={props.options.theme}
|
|
||||||
>
|
|
||||||
<MenuItem value="vs-dark">dark</MenuItem>
|
<MenuItem value="vs-dark">dark</MenuItem>
|
||||||
<MenuItem value="light">light</MenuItem>
|
<MenuItem value="light">light</MenuItem>
|
||||||
</Select>
|
</Select>
|
||||||
|
@ -296,7 +296,7 @@ export function Root(props: IProps): React.ReactElement {
|
|||||||
<>
|
<>
|
||||||
<Box display="flex" flexDirection="row" alignItems="center">
|
<Box display="flex" flexDirection="row" alignItems="center">
|
||||||
<Typography>Script name: </Typography>
|
<Typography>Script name: </Typography>
|
||||||
<TextField variant="standard" type="text" tabIndex={1} value={filename} onChange={onFilenameChange} />
|
<TextField type="text" tabIndex={1} value={filename} onChange={onFilenameChange} />
|
||||||
<IconButton onClick={() => setOptionsOpen(true)}>
|
<IconButton onClick={() => setOptionsOpen(true)}>
|
||||||
<>
|
<>
|
||||||
<SettingsIcon />
|
<SettingsIcon />
|
||||||
|
@ -341,7 +341,6 @@ export function TerminalInput({ terminal, router, player }: IProps): React.React
|
|||||||
</Paper>
|
</Paper>
|
||||||
)}
|
)}
|
||||||
<TextField
|
<TextField
|
||||||
variant="standard"
|
|
||||||
color={terminal.action === null ? "primary" : "secondary"}
|
color={terminal.action === null ? "primary" : "secondary"}
|
||||||
autoFocus
|
autoFocus
|
||||||
disabled={terminal.action !== null}
|
disabled={terminal.action !== null}
|
||||||
|
@ -85,9 +85,7 @@ export function ServerAccordions(props: IProps): React.ReactElement {
|
|||||||
<TextField
|
<TextField
|
||||||
value={filter}
|
value={filter}
|
||||||
onChange={handleFilterChange}
|
onChange={handleFilterChange}
|
||||||
color="primary"
|
|
||||||
autoFocus
|
autoFocus
|
||||||
variant="standard"
|
|
||||||
InputProps={{
|
InputProps={{
|
||||||
startAdornment: <SearchIcon />,
|
startAdornment: <SearchIcon />,
|
||||||
spellCheck: false,
|
spellCheck: false,
|
||||||
|
@ -211,7 +211,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
<List>
|
<List>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
The minimum number of milliseconds it takes to execute an operation in Netscript. Setting this too
|
The minimum number of milliseconds it takes to execute an operation in Netscript. Setting this too
|
||||||
@ -232,7 +231,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
The maximum number of lines a script's logs can hold. Setting this too high can cause the game to
|
The maximum number of lines a script's logs can hold. Setting this too high can cause the game to
|
||||||
@ -253,7 +251,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
The maximum number of entries that can be written to a port using Netscript's write() function.
|
The maximum number of entries that can be written to a port using Netscript's write() function.
|
||||||
@ -274,7 +271,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
The maximum number of entries that can be written to a the terminal. Setting this too high can cause
|
The maximum number of entries that can be written to a the terminal. Setting this too high can cause
|
||||||
@ -296,7 +292,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>The time (in seconds) between each autosave. Set to 0 to disable autosave.</Typography>
|
<Typography>The time (in seconds) between each autosave. Set to 0 to disable autosave.</Typography>
|
||||||
}
|
}
|
||||||
@ -318,7 +313,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={suppressMessages} onChange={handleSuppressMessagesChange} />}
|
control={<Switch checked={suppressMessages} onChange={handleSuppressMessagesChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, then any messages you receive will not appear as popups on the screen. They will
|
If this is set, then any messages you receive will not appear as popups on the screen. They will
|
||||||
@ -337,7 +331,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={suppressFactionInvites} onChange={handleSuppressFactionInvitesChange} />}
|
control={<Switch checked={suppressFactionInvites} onChange={handleSuppressFactionInvitesChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, then any faction invites you receive will not appear as popups on the screen.
|
If this is set, then any faction invites you receive will not appear as popups on the screen.
|
||||||
@ -357,7 +350,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, the confirmation message before traveling will not show up. You will
|
If this is set, the confirmation message before traveling will not show up. You will
|
||||||
@ -380,7 +372,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, the confirmation message before buying augmentation will not show up.
|
If this is set, the confirmation message before buying augmentation will not show up.
|
||||||
@ -399,7 +390,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, a popup message will no longer be shown when you are hospitalized after taking
|
If this is set, a popup message will no longer be shown when you are hospitalized after taking
|
||||||
@ -420,7 +410,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, then having your Bladeburner actions interrupted by being busy with something
|
If this is set, then having your Bladeburner actions interrupted by being busy with something
|
||||||
@ -439,7 +428,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={disableHotkeys} onChange={handleDisableHotkeysChange} />}
|
control={<Switch checked={disableHotkeys} onChange={handleDisableHotkeysChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, then most hotkeys (keyboard shortcuts) in the game are disabled. This includes
|
If this is set, then most hotkeys (keyboard shortcuts) in the game are disabled. This includes
|
||||||
@ -457,10 +445,7 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
control={<Switch checked={disableASCIIArt} onChange={handleDisableASCIIArtChange} />}
|
control={<Switch checked={disableASCIIArt} onChange={handleDisableASCIIArtChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip title={<Typography>If this is set all ASCII art will be disabled.</Typography>}>
|
||||||
disableInteractive
|
|
||||||
title={<Typography>If this is set all ASCII art will be disabled.</Typography>}
|
|
||||||
>
|
|
||||||
<Typography>Disable ascii art</Typography>
|
<Typography>Disable ascii art</Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
}
|
}
|
||||||
@ -471,7 +456,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={disableTextEffects} onChange={handleDisableTextEffectsChange} />}
|
control={<Switch checked={disableTextEffects} onChange={handleDisableTextEffectsChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If this is set, text effects will not be displayed. This can help if text is difficult to read
|
If this is set, text effects will not be displayed. This can help if text is difficult to read
|
||||||
@ -490,7 +474,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={enableBashHotkeys} onChange={handleEnableBashHotkeysChange} />}
|
control={<Switch checked={enableBashHotkeys} onChange={handleEnableBashHotkeysChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Improved Bash emulation mode. Setting this to 1 enables several new Terminal shortcuts and
|
Improved Bash emulation mode. Setting this to 1 enables several new Terminal shortcuts and
|
||||||
@ -509,7 +492,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
control={<Switch checked={enableTimestamps} onChange={handleEnableTimestampsChange} />}
|
control={<Switch checked={enableTimestamps} onChange={handleEnableTimestampsChange} />}
|
||||||
label={
|
label={
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Terminal commands and log entries will be timestamped. The timestamp will have the format: M/D
|
Terminal commands and log entries will be timestamped. The timestamp will have the format: M/D
|
||||||
@ -524,7 +506,7 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
|
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<Tooltip disableInteractive title={<Typography>Sets the locale for displaying numbers.</Typography>}>
|
<Tooltip title={<Typography>Sets the locale for displaying numbers.</Typography>}>
|
||||||
<Typography>Locale </Typography>
|
<Typography>Locale </Typography>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Select value={locale} onChange={handleLocaleChange}>
|
<Select value={locale} onChange={handleLocaleChange}>
|
||||||
@ -569,13 +551,13 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
<Button onClick={() => setDeleteOpen(true)}>Delete Game</Button>
|
<Button onClick={() => setDeleteOpen(true)}>Delete Game</Button>
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Tooltip disableInteractive title={<Typography>export</Typography>}>
|
<Tooltip title={<Typography>export</Typography>}>
|
||||||
<Button onClick={() => props.export()}>
|
<Button onClick={() => props.export()}>
|
||||||
<DownloadIcon color="primary" />
|
<DownloadIcon color="primary" />
|
||||||
Export
|
Export
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip disableInteractive title={<Typography>import</Typography>}>
|
<Tooltip title={<Typography>import</Typography>}>
|
||||||
<Button onClick={startImport}>
|
<Button onClick={startImport}>
|
||||||
<UploadIcon color="primary" />
|
<UploadIcon color="primary" />
|
||||||
Import
|
Import
|
||||||
@ -585,7 +567,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Forcefully kill all active running scripts, in case there is a bug or some unexpected issue with the
|
Forcefully kill all active running scripts, in case there is a bug or some unexpected issue with the
|
||||||
@ -601,7 +582,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
Perform a soft reset. Resets everything as if you had just purchased an Augmentation.
|
Perform a soft reset. Resets everything as if you had just purchased an Augmentation.
|
||||||
@ -613,7 +593,6 @@ export function GameOptionsRoot(props: IProps): React.ReactElement {
|
|||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
disableInteractive
|
|
||||||
title={
|
title={
|
||||||
<Typography>
|
<Typography>
|
||||||
If your save file is extremely big you can use this button to view a map of all the files on every
|
If your save file is extremely big you can use this button to view a map of all the files on every
|
||||||
|
@ -61,7 +61,7 @@ export function ServerDropdown(props: IProps): React.ReactElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select sx={{ mx: 1 }} variant="standard" value={props.value} onChange={props.onChange}>
|
<Select sx={{ mx: 1 }} value={props.value} onChange={props.onChange}>
|
||||||
{servers}
|
{servers}
|
||||||
</Select>
|
</Select>
|
||||||
);
|
);
|
||||||
|
@ -150,6 +150,14 @@ export function refreshTheme(): void {
|
|||||||
color: Settings.theme.primary,
|
color: Settings.theme.primary,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
defaultProps: {
|
||||||
|
variant: "standard",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiTextField: {
|
||||||
|
defaultProps: {
|
||||||
|
variant: "standard",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
MuiMenu: {
|
MuiMenu: {
|
||||||
styleOverrides: {
|
styleOverrides: {
|
||||||
@ -197,6 +205,9 @@ export function refreshTheme(): void {
|
|||||||
maxWidth: "100vh",
|
maxWidth: "100vh",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
defaultProps: {
|
||||||
|
disableInteractive: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
MuiSlider: {
|
MuiSlider: {
|
||||||
styleOverrides: {
|
styleOverrides: {
|
||||||
|
@ -33,7 +33,6 @@ function ColorEditor({ name, onColorChange, color, defaultColor }: IColorEditorP
|
|||||||
sx={{ mx: 1 }}
|
sx={{ mx: 1 }}
|
||||||
label={name}
|
label={name}
|
||||||
value={color}
|
value={color}
|
||||||
variant="standard"
|
|
||||||
InputProps={{
|
InputProps={{
|
||||||
startAdornment: (
|
startAdornment: (
|
||||||
<>
|
<>
|
||||||
|
Loading…
Reference in New Issue
Block a user