diff --git a/src/components/Snippets/_icons.js b/src/components/Snippets/_icons.js index 226f7ac..68fac2c 100644 --- a/src/components/Snippets/_icons.js +++ b/src/components/Snippets/_icons.js @@ -1,5 +1,4 @@ import React from 'react'; -import API from '../SpreadsheetData'; export function AttackIcon(props) { const attack = "attack" + ((props.bp && props.bp >= 0) ? "_" + props.bp : ""); @@ -15,13 +14,10 @@ export function LocationIcon(props) { } export function RarityIcon(props) { - const { set, rarity, iconOnly=false } = props; - return ( - - {set !== 'PE1' && } - {!iconOnly && <>{API.sets[props.set]} | {props.rarity}} - - ); + const { set, rarity, size } = props; + return (<>{set !== 'PE1' && + + }); } export function MugicIcon(props) { diff --git a/src/components/Snippets/_text.js b/src/components/Snippets/_text.js index d52cb55..9b22345 100644 --- a/src/components/Snippets/_text.js +++ b/src/components/Snippets/_text.js @@ -1,7 +1,8 @@ import React from 'react'; +import API from '../SpreadsheetData'; import { abilityText } from './abilityText'; import { uniqueText } from './uniqueText'; -import { InitiativeIcon } from './_icons'; +import { InitiativeIcon, RarityIcon } from './_icons'; export function Name(props) { const name = props.name.split(","); @@ -18,6 +19,20 @@ export function Name(props) { ); } +export function Rarity(props) { + const { set, rarity, id = -1 } = props; + + return ( +
+ + {(id === -1) + ? (<>{API.sets[props.set]} | {props.rarity}) + : (<>{` ${API.sets[set]} `}{`# ${id}`}{` | ${rarity}`}) + } +
+ ); +} + export function FlavorText({ flavortext }) { return (flavortext) ?
{flavortext}
: <>; } diff --git a/src/components/_mobile/collection/Attack.tsx b/src/components/_mobile/collection/Attack.tsx index e2749f8..648af41 100644 --- a/src/components/_mobile/collection/Attack.tsx +++ b/src/components/_mobile/collection/Attack.tsx @@ -1,10 +1,10 @@ import { Typography } from '@mui/material'; import React from 'react'; import { Attack } from "../../common/definitions"; -import { AttackIcon, ElementIcon, Name, RarityIcon } from '../../Snippets'; +import { AttackIcon, ElementIcon, Name } from '../../Snippets'; import { abilityText } from '../../Snippets/abilityText'; import { uniqueText } from '../../Snippets/uniqueText'; -import { CardBase, CardComponent, Flavor, Unique } from './CardBase'; +import { CardBase, CardComponent, Flavor, Unique, Rarity } from './CardBase'; const AttackCard: CardBase = (props) => { const { card } = props; @@ -22,7 +22,7 @@ const AttackCard: CardBase = (props) => { } left={<> - + Attack - {card.gsx$bp} {`${card.gsx$base} | `} @@ -34,6 +34,7 @@ const AttackCard: CardBase = (props) => { } content={<> + {ability} {unique && {unique}} {flavor && {flavor}} diff --git a/src/components/_mobile/collection/Battlegear.tsx b/src/components/_mobile/collection/Battlegear.tsx index ad09b20..6e71a2e 100644 --- a/src/components/_mobile/collection/Battlegear.tsx +++ b/src/components/_mobile/collection/Battlegear.tsx @@ -1,10 +1,10 @@ import { Typography } from '@mui/material'; import React from 'react'; -import { BattlegearIcon, Name, RarityIcon } from '../../Snippets'; +import { BattlegearIcon, Name } from '../../Snippets'; import { Battlegear } from '../../common/definitions'; import { abilityText } from '../../Snippets/abilityText'; import { uniqueText } from '../../Snippets/uniqueText'; -import { CardBase, CardComponent, Unique, Flavor } from './CardBase'; +import { CardBase, CardComponent, Unique, Flavor, Rarity } from './CardBase'; const BattlegearCard: CardBase = (props) => { const { card } = props; @@ -16,7 +16,7 @@ const BattlegearCard: CardBase = (props) => { - + Battlegear{card.gsx$types.length > 0 ? ` - ${card.gsx$types}` : null} } right={<> @@ -26,6 +26,7 @@ const BattlegearCard: CardBase = (props) => { } content={<> + {ability} {unique && {unique}} {flavor && {flavor}} diff --git a/src/components/_mobile/collection/CardBase.tsx b/src/components/_mobile/collection/CardBase.tsx index 5b992ee..6571e13 100644 --- a/src/components/_mobile/collection/CardBase.tsx +++ b/src/components/_mobile/collection/CardBase.tsx @@ -2,6 +2,7 @@ import { Box, Card, CardMedia, CardContent, Typography, styled } from '@mui/mate import React from 'react'; import { Card as ChaoticCard } from "../../common/definitions"; +import { RarityIcon } from '../../Snippets'; import API from '../../SpreadsheetData'; export type statsType = "avg" | "min" | "max"; @@ -34,10 +35,11 @@ export const CardComponent = ( return (ext === false) ? ( - + extend(card)} @@ -45,7 +47,7 @@ export const CardComponent = ( {left} - + {right} {right2 && @@ -53,7 +55,7 @@ export const CardComponent = ( } ) : ( - + {content} @@ -84,3 +88,20 @@ export const Unique = styled(Typography)(() => ({ export const Flavor = styled(Typography)(() => ({ fontStyle: "italic" })); + +export const Rarity = (props: {card: ChaoticCard, ext: boolean}) => { + const { card, ext } = props; + + return (!ext) ? ( + + + {` ${API.sets[card.gsx$set]} | ${card.gsx$rarity}`} + + ) : ( + + + {` ${API.sets[card.gsx$set]} `}{`# ${card.gsx$id}`}{` | ${card.gsx$rarity}`} + + ); +}; + diff --git a/src/components/_mobile/collection/Creature.tsx b/src/components/_mobile/collection/Creature.tsx index c91c9c9..1a9e23a 100644 --- a/src/components/_mobile/collection/Creature.tsx +++ b/src/components/_mobile/collection/Creature.tsx @@ -1,10 +1,10 @@ import { Typography, styled } from '@mui/material'; import React from 'react'; import { Creature } from "../../common/definitions"; -import { Name, RarityIcon, TribeIcon, MugicIcon, ElementIcon, DisciplineIcon } from '../../Snippets'; +import { Name, TribeIcon, MugicIcon, ElementIcon, DisciplineIcon } from '../../Snippets'; import { abilityText } from '../../Snippets/abilityText'; import { uniqueText } from '../../Snippets/uniqueText'; -import { CardBase, CardComponent, Unique, Flavor } from "./CardBase"; +import { CardBase, CardComponent, Unique, Flavor, Rarity } from "./CardBase"; const TribeLine = ({ card }: {card: Creature}) => { let types = card.gsx$types; @@ -36,8 +36,9 @@ const Brainwashed = styled(Typography)(() => ({ })); const Stat = styled(Typography)(() => ({ - width: "40px", - lineHeight: "normal" + width: "44px", + lineHeight: "normal", + textAlign: "right" })); const CreatureCard: CardBase = (props) => { @@ -73,7 +74,7 @@ const CreatureCard: CardBase = (props) => { - + =0} />  @@ -97,7 +98,7 @@ const CreatureCard: CardBase = (props) => { {power} {wisdom} {speed} - {energy} + {energy} } {...((!hideStats) ? { imageCover: (
@@ -111,6 +112,7 @@ const CreatureCard: CardBase = (props) => { : undefined)} content={<> + {stat_range(card.gsx$courage)}   {stat_range(card.gsx$power)}   {stat_range(card.gsx$wisdom)}   diff --git a/src/components/_mobile/collection/Location.tsx b/src/components/_mobile/collection/Location.tsx index 94db90e..bf67a95 100644 --- a/src/components/_mobile/collection/Location.tsx +++ b/src/components/_mobile/collection/Location.tsx @@ -1,10 +1,10 @@ import { Typography } from '@mui/material'; import React from 'react'; import { Location } from '../../common/definitions'; -import { InitiativeIcon, LocationIcon, Name, RarityIcon } from '../../Snippets'; +import { InitiativeIcon, LocationIcon, Name } from '../../Snippets'; import { abilityText } from '../../Snippets/abilityText'; import { uniqueText } from '../../Snippets/uniqueText'; -import { CardBase, CardComponent, Unique, Flavor } from './CardBase'; +import { CardBase, CardComponent, Unique, Flavor, Rarity } from './CardBase'; const LocationCard: CardBase = (props) => { const { card } = props; @@ -16,7 +16,7 @@ const LocationCard: CardBase = (props) => { - + Location{card.gsx$types.length > 0 ? ` - ${card.gsx$types}` : null} {`Initiative: `}{` ${card.gsx$initiative}`} } @@ -27,6 +27,7 @@ const LocationCard: CardBase = (props) => { } content={<> + {`Initiative: `}{` ${card.gsx$initiative}`} {ability} {unique && {unique}} diff --git a/src/components/_mobile/collection/Mugic.tsx b/src/components/_mobile/collection/Mugic.tsx index 62dd46e..ed2f41a 100644 --- a/src/components/_mobile/collection/Mugic.tsx +++ b/src/components/_mobile/collection/Mugic.tsx @@ -1,10 +1,10 @@ import { Typography } from "@mui/material"; import React from "react"; import { Mugic } from "../../common/definitions"; -import { Name, RarityIcon, TribeIcon, MugicIcon } from "../../Snippets"; +import { Name, TribeIcon, MugicIcon } from "../../Snippets"; import { abilityText } from "../../Snippets/abilityText"; import { uniqueText } from "../../Snippets/uniqueText"; -import { CardBase, CardComponent, Unique, Flavor } from "./CardBase"; +import { CardBase, CardComponent, Unique, Flavor, Rarity } from "./CardBase"; const MugicCounter = ({ card }: { card: Mugic }) => { @@ -39,7 +39,7 @@ const MugicCard: CardBase = (props) => { - + Mugic - {card.gsx$tribe} @@ -51,6 +51,7 @@ const MugicCard: CardBase = (props) => { } content={<> + {ability} {unique && {unique}} {flavor && {flavor}} diff --git a/src/components/_mobile/collection/index.tsx b/src/components/_mobile/collection/index.tsx index 4730f4f..8cdeff8 100644 --- a/src/components/_mobile/collection/index.tsx +++ b/src/components/_mobile/collection/index.tsx @@ -33,7 +33,7 @@ theme = createTheme(theme, createTheme({ root: { backgroundColor: "#1F1F1F", color: "gray", - paddingLeft: theme.spacing(.5) + marginBottom: "4px" } } } @@ -122,7 +122,11 @@ export default function Collection (_props) { }, [content]); return ( - + props) @observer export default class Attack extends React.Component { @@ -14,7 +14,7 @@ export default class Attack extends React.Component { this.props.setImage(API.cardImage(card))} />
-
+ Attack - {card.gsx$bp}
{card.gsx$base} |  @@ -37,6 +37,7 @@ export default class Attack extends React.Component {
+ diff --git a/src/components/collection/types/Battlegear.js b/src/components/collection/types/Battlegear.js index a430870..f34073d 100644 --- a/src/components/collection/types/Battlegear.js +++ b/src/components/collection/types/Battlegear.js @@ -1,7 +1,7 @@ import React from 'react'; import API from '../../SpreadsheetData'; import { observer, inject } from 'mobx-react'; -import { FlavorText, RarityIcon, Unique, Name, Ability, BattlegearIcon } from '../../Snippets'; +import { FlavorText, Rarity, Unique, Name, Ability, BattlegearIcon } from '../../Snippets'; @inject((stores, props, context) => props) @observer export default class Battlegear extends React.Component { @@ -14,7 +14,7 @@ export default class Battlegear extends React.Component { this.props.setImage(API.cardImage(card))} />
-
+ Battlegear{card.gsx$types.length > 0 ? " - " + card.gsx$types : null}
@@ -29,6 +29,7 @@ export default class Battlegear extends React.Component {
+ diff --git a/src/components/collection/types/Creature.js b/src/components/collection/types/Creature.js index 7f5f7ba..d171662 100644 --- a/src/components/collection/types/Creature.js +++ b/src/components/collection/types/Creature.js @@ -1,7 +1,7 @@ import React from 'react'; import API from '../../SpreadsheetData'; import { observer, inject } from 'mobx-react'; -import { FlavorText, RarityIcon, Unique, Name, ElementIcon, MugicIcon, DisciplineIcon, Ability, TribeIcon } from '../../Snippets'; +import { FlavorText, Rarity, Unique, Name, ElementIcon, MugicIcon, DisciplineIcon, Ability, TribeIcon } from '../../Snippets'; @inject((stores, props, context) => props) @observer export default class Creature extends React.Component { @@ -47,7 +47,7 @@ export default class Creature extends React.Component { this.props.setImage(API.cardImage(card))} />
-
+
=0} />  @@ -111,6 +111,7 @@ export default class Creature extends React.Component {
+ {stat_range(card.gsx$courage, card.gsx$name)}   {stat_range(card.gsx$power, card.gsx$name)}   {stat_range(card.gsx$wisdom, card.gsx$name)}   diff --git a/src/components/collection/types/Location.js b/src/components/collection/types/Location.js index c037a19..f18e4f4 100644 --- a/src/components/collection/types/Location.js +++ b/src/components/collection/types/Location.js @@ -1,7 +1,7 @@ import { inject, observer } from 'mobx-react'; import React from 'react'; -import { Ability, FlavorText, Initiative, LocationIcon, Name, RarityIcon, Unique } from '../../Snippets'; +import { Ability, FlavorText, Initiative, LocationIcon, Name, Rarity, Unique } from '../../Snippets'; import API from '../../SpreadsheetData'; @inject((stores, props, context) => props) @observer @@ -15,7 +15,7 @@ export default class Location extends React.Component { this.props.setImage(API.cardImage(card))} />
-
+ Location{card.gsx$types.length > 0 ? " - " + card.gsx$types : null}
@@ -31,6 +31,7 @@ export default class Location extends React.Component {
+ diff --git a/src/components/collection/types/Mugic.js b/src/components/collection/types/Mugic.js index 9df2d1c..98915fb 100644 --- a/src/components/collection/types/Mugic.js +++ b/src/components/collection/types/Mugic.js @@ -1,7 +1,7 @@ import React from 'react'; import API from '../../SpreadsheetData'; import { observer, inject } from 'mobx-react'; -import { FlavorText, RarityIcon, Unique, Name, MugicIcon as MugicCounter, Ability, TribeIcon } from '../../Snippets'; +import { FlavorText, Rarity, Unique, Name, MugicIcon as MugicCounter, Ability, TribeIcon } from '../../Snippets'; import MugicPlay from '../../mugicplayer/playbutton.tsx'; @inject((stores, props, context) => props) @observer @@ -33,7 +33,7 @@ export default class Mugic extends React.Component { this.props.setImage(API.cardImage(card))} />
-
+ Mugic - {card.gsx$tribe}
{mugicCounters} 0 ? card.gsx$shownotes : card.gsx$notes}/>
@@ -50,6 +50,7 @@ export default class Mugic extends React.Component {
+ diff --git a/src/components/common/definitions.ts b/src/components/common/definitions.ts index ae9c742..d4df633 100644 --- a/src/components/common/definitions.ts +++ b/src/components/common/definitions.ts @@ -6,6 +6,7 @@ export interface BaseCard { gsx$type: CardType gsx$set: string gsx$rarity: string + gsx$id: string gsx$image: string gsx$thumb: string gsx$ability: string