diff --git a/web/components/changelog.mdx b/web/components/changelog.mdx new file mode 100644 index 00000000..d7621530 --- /dev/null +++ b/web/components/changelog.mdx @@ -0,0 +1,15 @@ +[More info on GitHub](https://github.com/albrow/elara/commits/main) + +##### October 6, 2023 (version 0.1.4) + +- Added a new button on the title screen that opens this changelog. +- Added new level select button to jump quickly between levels. +- Fixed new game modal to better fit mobile devices. + +##### October 1, 2023 (version 0.1.3) + +- Official Public Beta Release 🎉 +- Added a disclaimer over some cutscenes explaining that they are a work in progress. +- Updated the credits in the final cutscene. +- Kalina now explains that G.R.O.V.E.R. has been repaired in the dialog for "Unintended Effects". +- Clicking "About" from the title screen now takes you to the landing page at [elaragame.com](https://elaragame.com). diff --git a/web/components/title/changelog_modal.tsx b/web/components/title/changelog_modal.tsx new file mode 100644 index 00000000..f006f2b4 --- /dev/null +++ b/web/components/title/changelog_modal.tsx @@ -0,0 +1,63 @@ +import { + Modal, + ModalBody, + ModalContent, + ModalOverlay, + ModalCloseButton, + Box, +} from "@chakra-ui/react"; + +import { useCallback } from "react"; +import Changelog from "../changelog.mdx"; + +export interface ChangelogModalProps { + visible: boolean; + setVisible: React.Dispatch>; +} + +export function ChangelogModal(props: ChangelogModalProps) { + const onClose = useCallback(() => { + props.setVisible(false); + }, [props]); + + return ( + + + + + + + + + + + + ); +} diff --git a/web/routes/title.tsx b/web/routes/title.tsx index f89852c0..163816a9 100644 --- a/web/routes/title.tsx +++ b/web/routes/title.tsx @@ -6,6 +6,7 @@ import { MdSave, MdSettings, MdOutlineHelp, + MdNewspaper, } from "react-icons/md"; import { Animate } from "react-simple-animate"; @@ -17,6 +18,7 @@ import staryBgImg from "../images/starry_bg.webp"; import { useSceneNavigator } from "../hooks/scenes_hooks"; import logoImg from "../images/logo.webp"; import { NewGameModal } from "../components/title/new_game_modal"; +import { ChangelogModal } from "../components/title/changelog_modal"; export default function Title() { const [saveData, { resetAllSaveData }] = useSaveData(); @@ -24,6 +26,7 @@ export default function Title() { const [confirmDeleteDataModalVisble, setConfirmDeleteDataModalVisible] = useState(false); const [newGameModalVisible, setNewGameModalVisible] = useState(false); + const [changelogModalVisible, setChangelogModalVisisble] = useState(false); const { navigateToHub, navigateToCutscene } = useSceneNavigator(); const hasExistingSave = useMemo( @@ -65,6 +68,10 @@ export default function Title() { setSettingsVisible(true); }, []); + const onChangelog = useCallback(() => { + setChangelogModalVisisble(true); + }, []); + return ( + +