import * as React from "react";
import { useState } from 'react';
import { AppState } from "../store";
import { connect } from "react-redux";
import { levels } from "../game/levels";
import { Route, Link } from "react-router-dom";
import LevelPreview from "./LevelPreview"
const LevelItem = ({ level, idx, cb, active, unlocked }) => {
return (
{} }
style={{background: active ? '#9bf': '#79d',
filter: !unlocked ? 'grayscale(70%)': 'none'}}>
{idx + 1+": "+level.name}
)}
const LevelSelectScreen = ({saveState}) =>{
const [activeIdx, setActiveIdx] = useState(0);
const unlockedState: Array = [true, true];
// const levelSaveState = store.get
for(let i = 2; i < saveState.levels.length; ++i){
let {done} = saveState.levels[i];
unlockedState.push((!done && saveState.levels[i-1].done) || done)
}
return (
select level:
{levels.map((level, idx) => {
let active = (idx === activeIdx);
// let locked =
return setActiveIdx(idx)}
active={active}
key={idx}
unlocked={unlockedState[idx]}
/>
})}
start
)
}
const mapStateToProps = (state: AppState, ownprops?) => {
return {
...ownprops,
saveState: state.saveState
}
}
const mapDispatchToProps = dispatch => {
return {
// openModal: () => dispatch({ type: OPEN_MODAL })
}
}
export default connect(mapStateToProps, mapDispatchToProps)(LevelSelectScreen);