diff --git a/src/App.vue b/src/App.vue index ac86be1..d222465 100644 --- a/src/App.vue +++ b/src/App.vue @@ -11,11 +11,11 @@ <script setup lang="ts"> import { computed, toRef, unref } from "vue"; -import Game from "./components/system/Game.vue"; -import GameOverScreen from "./components/system/GameOverScreen.vue"; -import NaNScreen from "./components/system/NaNScreen.vue"; -import Nav from "./components/system/Nav.vue"; -import TPS from "./components/system/TPS.vue"; +import Game from "./components/Game.vue"; +import GameOverScreen from "./components/GameOverScreen.vue"; +import NaNScreen from "./components/NaNScreen.vue"; +import Nav from "./components/Nav.vue"; +import TPS from "./components/TPS.vue"; import modInfo from "./data/modInfo.json"; import themes from "./data/themes"; import settings from "./game/settings"; diff --git a/src/components/system/Game.vue b/src/components/Game.vue similarity index 100% rename from src/components/system/Game.vue rename to src/components/Game.vue diff --git a/src/components/system/GameOverScreen.vue b/src/components/GameOverScreen.vue similarity index 98% rename from src/components/system/GameOverScreen.vue rename to src/components/GameOverScreen.vue index 0914e92..cb274d7 100644 --- a/src/components/system/GameOverScreen.vue +++ b/src/components/GameOverScreen.vue @@ -36,7 +36,7 @@ </template> <script setup lang="ts"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import { hasWon } from "@/data/mod"; import modInfo from "@/data/modInfo.json"; import player from "@/game/player"; diff --git a/src/components/system/Info.vue b/src/components/Info.vue similarity index 97% rename from src/components/system/Info.vue rename to src/components/Info.vue index e72929a..3fd17ce 100644 --- a/src/components/system/Info.vue +++ b/src/components/Info.vue @@ -48,13 +48,12 @@ </template> <script setup lang="ts"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import type Changelog from "@/data/Changelog.vue"; import modInfo from "@/data/modInfo.json"; import player from "@/game/player"; import { formatTime } from "@/util/bignum"; import { computed, ref, toRefs, unref } from "vue"; -import Profectus from "./Profectus.vue"; const { title, logo, author, discordName, discordLink, versionNumber, versionTitle } = modInfo; diff --git a/src/components/system/Layer.vue b/src/components/Layer.vue similarity index 99% rename from src/components/system/Layer.vue rename to src/components/Layer.vue index 934cbbf..8fd0838 100644 --- a/src/components/system/Layer.vue +++ b/src/components/Layer.vue @@ -21,7 +21,7 @@ </template> <script lang="ts"> -import Links from "@/components/system/Links.vue"; +import Links from "@/components/links/Links.vue"; import modInfo from "@/data/modInfo.json"; import { CoercableComponent, PersistentRef, StyleValue } from "@/features/feature"; import { Link } from "@/features/links"; diff --git a/src/components/features/MarkNode.vue b/src/components/MarkNode.vue similarity index 100% rename from src/components/features/MarkNode.vue rename to src/components/MarkNode.vue diff --git a/src/components/system/Modal.vue b/src/components/Modal.vue similarity index 98% rename from src/components/system/Modal.vue rename to src/components/Modal.vue index 7c67fc2..7b8a5fd 100644 --- a/src/components/system/Modal.vue +++ b/src/components/Modal.vue @@ -42,7 +42,7 @@ <script setup lang="ts"> import { Link } from "@/features/links"; import { computed, ref, toRefs } from "vue"; -import Links from "./Links.vue"; +import Links from "./links/Links.vue"; const _props = defineProps<{ modelValue: boolean; diff --git a/src/components/system/NaNScreen.vue b/src/components/NaNScreen.vue similarity index 97% rename from src/components/system/NaNScreen.vue rename to src/components/NaNScreen.vue index 27c88bc..d3cfef7 100644 --- a/src/components/system/NaNScreen.vue +++ b/src/components/NaNScreen.vue @@ -43,13 +43,13 @@ </template> <script setup lang="ts"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import modInfo from "@/data/modInfo.json"; import player from "@/game/player"; import state from "@/game/state"; import Decimal, { DecimalSource, format } from "@/util/bignum"; import { ComponentPublicInstance, computed, ref, toRef } from "vue"; -import Toggle from "../fields/Toggle.vue"; +import Toggle from "./fields/Toggle.vue"; import SavesManager from "./SavesManager.vue"; const { discordName, discordLink } = modInfo; diff --git a/src/components/system/Nav.vue b/src/components/Nav.vue similarity index 100% rename from src/components/system/Nav.vue rename to src/components/Nav.vue diff --git a/src/components/system/Options.vue b/src/components/Options.vue similarity index 92% rename from src/components/system/Options.vue rename to src/components/Options.vue index af8abb4..f7636dc 100644 --- a/src/components/system/Options.vue +++ b/src/components/Options.vue @@ -19,15 +19,15 @@ </template> <script setup lang="tsx"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import rawThemes from "@/data/themes"; -import { MilestoneDisplay } from "@/features/milestone"; +import { MilestoneDisplay } from "@/features/milestones/milestone"; import player from "@/game/player"; import settings from "@/game/settings"; import { camelToTitle } from "@/util/common"; import { computed, ref, toRefs } from "vue"; -import Toggle from "../fields/Toggle.vue"; -import Select from "../fields/Select.vue"; +import Toggle from "./fields/Toggle.vue"; +import Select from "./fields/Select.vue"; import Tooltip from "./Tooltip.vue"; import { jsx } from "@/features/feature"; diff --git a/src/components/system/Profectus.vue b/src/components/Profectus.vue similarity index 100% rename from src/components/system/Profectus.vue rename to src/components/Profectus.vue diff --git a/src/components/system/Save.vue b/src/components/Save.vue similarity index 93% rename from src/components/system/Save.vue rename to src/components/Save.vue index 9400b28..9eaf60b 100644 --- a/src/components/system/Save.vue +++ b/src/components/Save.vue @@ -51,16 +51,18 @@ <div class="details" v-else-if="save.error == undefined && isEditing"> <Text v-model="newName" class="editname" @submit="changeName" /> </div> - <div v-else class="details error">Error: Failed to load save with id {{ save.id }}<br/>{{ save.error }}</div> + <div v-else class="details error"> + Error: Failed to load save with id {{ save.id }}<br />{{ save.error }} + </div> </div> </template> <script setup lang="ts"> import player from "@/game/player"; import { computed, ref, toRefs, watch } from "vue"; -import DangerButton from "../fields/DangerButton.vue"; -import FeedbackButton from "../fields/FeedbackButton.vue"; -import Text from "../fields/Text.vue"; +import DangerButton from "./fields/DangerButton.vue"; +import FeedbackButton from "./fields/FeedbackButton.vue"; +import Text from "./fields/Text.vue"; import { LoadablePlayerData } from "./SavesManager.vue"; const _props = defineProps<{ diff --git a/src/components/system/SavesManager.vue b/src/components/SavesManager.vue similarity index 97% rename from src/components/system/SavesManager.vue rename to src/components/SavesManager.vue index 4375fee..d09fb3b 100644 --- a/src/components/system/SavesManager.vue +++ b/src/components/SavesManager.vue @@ -57,7 +57,7 @@ </template> <script setup lang="ts"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import player, { PlayerData } from "@/game/player"; import settings from "@/game/settings"; import { getUniqueID, loadSave, save, newSave } from "@/util/save"; @@ -70,8 +70,8 @@ import { unref, watch } from "vue"; -import Select from "../fields/Select.vue"; -import Text from "../fields/Text.vue"; +import Select from "./fields/Select.vue"; +import Text from "./fields/Text.vue"; import Save from "./Save.vue"; import Draggable from "vuedraggable"; @@ -117,7 +117,7 @@ watch(saveToImport, save => { } }); -let bankContext = require.context("raw-loader!../../../saves", true, /\.txt$/); +let bankContext = require.context("raw-loader!../../saves", true, /\.txt$/); let bank = ref( bankContext.keys().reduce((acc: Array<{ label: string; value: string }>, curr) => { // .slice(2, -4) strips the leading ./ and the trailing .txt diff --git a/src/components/system/TPS.vue b/src/components/TPS.vue similarity index 100% rename from src/components/system/TPS.vue rename to src/components/TPS.vue diff --git a/src/components/system/Tooltip.vue b/src/components/Tooltip.vue similarity index 100% rename from src/components/system/Tooltip.vue rename to src/components/Tooltip.vue diff --git a/src/components/fields/Slider.vue b/src/components/fields/Slider.vue index fdcf561..7ad7433 100644 --- a/src/components/fields/Slider.vue +++ b/src/components/fields/Slider.vue @@ -9,7 +9,7 @@ <script setup lang="ts"> import { computed, toRefs, unref } from "vue"; -import Tooltip from "../system/Tooltip.vue"; +import Tooltip from "../Tooltip.vue"; import "@/components/common/fields.css"; const _props = defineProps<{ diff --git a/src/components/system/Column.vue b/src/components/layout/Column.vue similarity index 100% rename from src/components/system/Column.vue rename to src/components/layout/Column.vue diff --git a/src/components/system/Row.vue b/src/components/layout/Row.vue similarity index 100% rename from src/components/system/Row.vue rename to src/components/layout/Row.vue diff --git a/src/components/system/Spacer.vue b/src/components/layout/Spacer.vue similarity index 100% rename from src/components/system/Spacer.vue rename to src/components/layout/Spacer.vue diff --git a/src/components/system/Sticky.vue b/src/components/layout/Sticky.vue similarity index 100% rename from src/components/system/Sticky.vue rename to src/components/layout/Sticky.vue diff --git a/src/components/system/VerticalRule.vue b/src/components/layout/VerticalRule.vue similarity index 100% rename from src/components/system/VerticalRule.vue rename to src/components/layout/VerticalRule.vue diff --git a/src/components/system/Link.vue b/src/components/links/Link.vue similarity index 100% rename from src/components/system/Link.vue rename to src/components/links/Link.vue diff --git a/src/components/system/LinkNode.vue b/src/components/links/LinkNode.vue similarity index 100% rename from src/components/system/LinkNode.vue rename to src/components/links/LinkNode.vue diff --git a/src/components/system/Links.vue b/src/components/links/Links.vue similarity index 100% rename from src/components/system/Links.vue rename to src/components/links/Links.vue diff --git a/src/data/Changelog.vue b/src/data/Changelog.vue index 24a37bf..76a2ffd 100644 --- a/src/data/Changelog.vue +++ b/src/data/Changelog.vue @@ -19,7 +19,7 @@ </template> <script setup lang="ts"> -import Modal from "@/components/system/Modal.vue"; +import Modal from "@/components/Modal.vue"; import { ref } from "vue"; const isOpen = ref(false); diff --git a/src/data/common.tsx b/src/data/common.tsx index 2f88747..5fc2ce1 100644 --- a/src/data/common.tsx +++ b/src/data/common.tsx @@ -3,17 +3,17 @@ import { ClickableOptions, createClickable, GenericClickable -} from "@/features/clickable"; +} from "@/features/clickables/clickable"; import { GenericConversion } from "@/features/conversion"; import { CoercableComponent, jsx, Replace, setDefault } from "@/features/feature"; -import { displayResource } from "@/features/resource"; +import { displayResource } from "@/features/resources/resource"; import { createTreeNode, GenericTree, GenericTreeNode, TreeNode, TreeNodeOptions -} from "@/features/tree"; +} from "@/features/trees/tree"; import player from "@/game/player"; import Decimal from "@/util/bignum"; import { diff --git a/src/data/layers/aca/a.tsx b/src/data/layers/aca/a.tsx index efa819e..e143ba7 100644 --- a/src/data/layers/aca/a.tsx +++ b/src/data/layers/aca/a.tsx @@ -1,11 +1,11 @@ -import Row from "@/components/system/Row.vue"; -import Tooltip from "@/components/system/Tooltip.vue"; +import Row from "@/components/layout/Row.vue"; +import Tooltip from "@/components/Tooltip.vue"; import { main } from "@/data/mod"; -import { createAchievement } from "@/features/achievement"; +import { createAchievement } from "@/features/achievements/achievement"; import { jsx } from "@/features/feature"; -import { createGrid } from "@/features/grid"; -import { createResource } from "@/features/resource"; -import { createTreeNode } from "@/features/tree"; +import { createGrid } from "@/features/grids/grid"; +import { createResource } from "@/features/resources/resource"; +import { createTreeNode } from "@/features/trees/tree"; import { createLayer } from "@/game/layers"; import { DecimalSource } from "@/lib/break_eternity"; import Decimal from "@/util/bignum"; diff --git a/src/data/layers/aca/c.tsx b/src/data/layers/aca/c.tsx index a29010e..ebb2357 100644 --- a/src/data/layers/aca/c.tsx +++ b/src/data/layers/aca/c.tsx @@ -1,21 +1,19 @@ -import MainDisplay from "@/components/features/MainDisplay.vue"; import Slider from "@/components/fields/Slider.vue"; import Text from "@/components/fields/Text.vue"; import Toggle from "@/components/fields/Toggle.vue"; -import Column from "@/components/system/Column.vue"; -import Modal from "@/components/system/Modal.vue"; -import Resource from "@/components/system/Resource.vue"; -import Row from "@/components/system/Row.vue"; -import Spacer from "@/components/system/Spacer.vue"; -import Sticky from "@/components/system/Sticky.vue"; -import VerticalRule from "@/components/system/VerticalRule.vue"; +import Column from "@/components/layout/Column.vue"; +import Row from "@/components/layout/Row.vue"; +import Spacer from "@/components/layout/Spacer.vue"; +import Sticky from "@/components/layout/Sticky.vue"; +import VerticalRule from "@/components/layout/VerticalRule.vue"; +import Modal from "@/components/Modal.vue"; import { createLayerTreeNode, createResetButton } from "@/data/common"; import { main } from "@/data/mod"; import themes from "@/data/themes"; -import { createBar, Direction } from "@/features/bar"; +import { createBar, Direction } from "@/features/bars/bar"; import { createBuyable } from "@/features/buyable"; -import { createChallenge } from "@/features/challenge"; -import { createClickable } from "@/features/clickable"; +import { createChallenge } from "@/features/challenges/challenge"; +import { createClickable } from "@/features/clickables/clickable"; import { addSoftcap, createCumulativeConversion, @@ -23,14 +21,16 @@ import { } from "@/features/conversion"; import { jsx, persistent, showIf, Visibility } from "@/features/feature"; import { createHotkey } from "@/features/hotkey"; -import { createInfobox } from "@/features/infobox"; -import { createMilestone } from "@/features/milestone"; +import { createInfobox } from "@/features/infoboxes/infobox"; +import { createMilestone } from "@/features/milestones/milestone"; import { createReset } from "@/features/reset"; -import { createResource, displayResource, trackBest } from "@/features/resource"; -import { createTab } from "@/features/tab"; -import { createTabButton, createTabFamily } from "@/features/tabFamily"; -import { createTree, createTreeNode, GenericTreeNode, TreeBranch } from "@/features/tree"; -import { createUpgrade } from "@/features/upgrade"; +import MainDisplay from "@/features/resources/MainDisplay.vue"; +import { createResource, displayResource, trackBest } from "@/features/resources/resource"; +import Resource from "@/features/resources/Resource.vue"; +import { createTab } from "@/features/tabs/tab"; +import { createTabButton, createTabFamily } from "@/features/tabs/tabFamily"; +import { createTree, createTreeNode, GenericTreeNode, TreeBranch } from "@/features/trees/tree"; +import { createUpgrade } from "@/features/upgrades/upgrade"; import { createLayer } from "@/game/layers"; import settings from "@/game/settings"; import { DecimalSource } from "@/lib/break_eternity"; @@ -121,12 +121,14 @@ const layer = createLayer(() => { return showIf(Decimal.gt(best.value, 0)); }, goal: 20, - reset, resource: main.points, onComplete() { console.log("hiii"); }, onEnter() { + main.points.value = 0; + main.best.value = main.points.value; + main.total.value = main.points.value; console.log("So challenging"); }, onExit() { diff --git a/src/data/layers/aca/f.tsx b/src/data/layers/aca/f.tsx index 878a852..416dfec 100644 --- a/src/data/layers/aca/f.tsx +++ b/src/data/layers/aca/f.tsx @@ -1,12 +1,12 @@ -import MainDisplay from "@/components/features/MainDisplay.vue"; import { createLayerTreeNode, createResetButton } from "@/data/common"; import { main } from "@/data/mod"; -import { createClickable } from "@/features/clickable"; +import { createClickable } from "@/features/clickables/clickable"; import { createExponentialScaling, createIndependentConversion } from "@/features/conversion"; import { jsx, persistent } from "@/features/feature"; -import { createInfobox } from "@/features/infobox"; +import { createInfobox } from "@/features/infoboxes/infobox"; import { createReset } from "@/features/reset"; -import { createResource, displayResource } from "@/features/resource"; +import MainDisplay from "@/features/resources/MainDisplay.vue"; +import { createResource, displayResource } from "@/features/resources/resource"; import { createLayer } from "@/game/layers"; import Decimal, { DecimalSource, formatWhole } from "@/util/bignum"; import { render } from "@/util/vue"; diff --git a/src/data/mod.tsx b/src/data/mod.tsx index a96845f..02f98ac 100644 --- a/src/data/mod.tsx +++ b/src/data/mod.tsx @@ -1,9 +1,9 @@ -import Modal from "@/components/system/Modal.vue"; -import Profectus from "@/components/system/Profectus.vue"; -import Spacer from "@/components/system/Spacer.vue"; +import Modal from "@/components/Modal.vue"; +import Profectus from "@/components/Profectus.vue"; +import Spacer from "@/components/layout/Spacer.vue"; import { jsx } from "@/features/feature"; -import { createResource, trackBest, trackOOMPS, trackTotal } from "@/features/resource"; -import { branchedResetPropagation, createTree, GenericTree } from "@/features/tree"; +import { createResource, trackBest, trackOOMPS, trackTotal } from "@/features/resources/resource"; +import { branchedResetPropagation, createTree, GenericTree } from "@/features/trees/tree"; import { globalBus } from "@/game/events"; import { createLayer, GenericLayer } from "@/game/layers"; import player, { PlayerData } from "@/game/player"; diff --git a/src/components/features/Achievement.vue b/src/features/achievements/Achievement.vue similarity index 93% rename from src/components/features/Achievement.vue rename to src/features/achievements/Achievement.vue index 55f4347..cae4c7b 100644 --- a/src/components/features/Achievement.vue +++ b/src/features/achievements/Achievement.vue @@ -26,9 +26,9 @@ import { CoercableComponent, Visibility } from "@/features/feature"; import { computeOptionalComponent, processedPropType } from "@/util/vue"; import { defineComponent, StyleValue, toRefs, unref } from "vue"; -import Tooltip from "@/components/system/Tooltip.vue"; -import LinkNode from "../system/LinkNode.vue"; -import MarkNode from "./MarkNode.vue"; +import Tooltip from "@/components/Tooltip.vue"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; import "@/components/common/features.css"; export default defineComponent({ diff --git a/src/features/achievement.tsx b/src/features/achievements/achievement.tsx similarity index 98% rename from src/features/achievement.tsx rename to src/features/achievements/achievement.tsx index 2d0a84c..27279e3 100644 --- a/src/features/achievement.tsx +++ b/src/features/achievements/achievement.tsx @@ -1,4 +1,4 @@ -import AchievementComponent from "@/components/features/Achievement.vue"; +import AchievementComponent from "@/features/achievements/Achievement.vue"; import { CoercableComponent, Component, diff --git a/src/components/features/Bar.vue b/src/features/bars/Bar.vue similarity index 97% rename from src/components/features/Bar.vue rename to src/features/bars/Bar.vue index 8e82aa4..8d6129d 100644 --- a/src/components/features/Bar.vue +++ b/src/features/bars/Bar.vue @@ -45,13 +45,13 @@ </template> <script lang="ts"> -import { Direction } from "@/features/bar"; +import { Direction } from "./bar"; import { CoercableComponent, Visibility } from "@/features/feature"; import Decimal, { DecimalSource } from "@/util/bignum"; import { computeOptionalComponent, processedPropType, unwrapRef } from "@/util/vue"; import { computed, CSSProperties, defineComponent, StyleValue, toRefs, unref } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import MarkNode from "./MarkNode.vue"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; export default defineComponent({ props: { diff --git a/src/features/bar.ts b/src/features/bars/bar.ts similarity index 98% rename from src/features/bar.ts rename to src/features/bars/bar.ts index dc5a16a..a166e51 100644 --- a/src/features/bar.ts +++ b/src/features/bars/bar.ts @@ -1,4 +1,4 @@ -import BarComponent from "@/components/features/Bar.vue"; +import BarComponent from "@/features/bars/Bar.vue"; import { CoercableComponent, Component, diff --git a/src/components/features/board/Board.vue b/src/features/boards/Board.vue similarity index 99% rename from src/components/features/board/Board.vue rename to src/features/boards/Board.vue index e04cc0c..55f2b37 100644 --- a/src/components/features/board/Board.vue +++ b/src/features/boards/Board.vue @@ -51,7 +51,7 @@ </template> <script setup lang="ts"> -import { BoardNode, GenericBoard, getNodeProperty } from "@/features/board"; +import { BoardNode, GenericBoard, getNodeProperty } from "@/features/boards/board"; import { FeatureComponent, PersistentState, Visibility } from "@/features/feature"; import { computed, ref, toRefs } from "vue"; import panZoom from "vue-panzoom"; diff --git a/src/components/features/board/BoardLink.vue b/src/features/boards/BoardLink.vue similarity index 95% rename from src/components/features/board/BoardLink.vue rename to src/features/boards/BoardLink.vue index 3e90176..387b7b6 100644 --- a/src/components/features/board/BoardLink.vue +++ b/src/features/boards/BoardLink.vue @@ -11,7 +11,7 @@ </template> <script setup lang="ts"> -import { BoardNodeLink } from "@/features/board"; +import { BoardNodeLink } from "@/features/boards/board"; import { computed, toRefs, unref } from "vue"; const _props = defineProps<{ diff --git a/src/components/features/board/BoardNode.vue b/src/features/boards/BoardNode.vue similarity index 99% rename from src/components/features/board/BoardNode.vue rename to src/features/boards/BoardNode.vue index b2c09d0..efd3d5d 100644 --- a/src/components/features/board/BoardNode.vue +++ b/src/features/boards/BoardNode.vue @@ -175,7 +175,7 @@ import { getNodeProperty, ProgressDisplay, Shape -} from "@/features/board"; +} from "@/features/boards/board"; import { Visibility } from "@/features/feature"; import settings from "@/game/settings"; import { computed, ref, toRefs, unref, watch } from "vue"; diff --git a/src/features/board.ts b/src/features/boards/board.ts similarity index 99% rename from src/features/board.ts rename to src/features/boards/board.ts index 48597e1..2833721 100644 --- a/src/features/board.ts +++ b/src/features/boards/board.ts @@ -1,4 +1,4 @@ -import BoardComponent from "@/components/features/board/Board.vue"; +import BoardComponent from "@/features/boards/Board.vue"; import { Component, findFeatures, @@ -26,7 +26,7 @@ import { import { createLazyProxy } from "@/util/proxies"; import { Unsubscribe } from "nanoevents"; import { computed, Ref, unref } from "vue"; -import { Link } from "./links"; +import { Link } from "../links"; export const BoardType = Symbol("Board"); diff --git a/src/features/buyable.tsx b/src/features/buyable.tsx index 9eb0aaf..3df26e6 100644 --- a/src/features/buyable.tsx +++ b/src/features/buyable.tsx @@ -1,5 +1,5 @@ -import ClickableComponent from "@/components/features/Clickable.vue"; -import { Resource } from "@/features/resource"; +import ClickableComponent from "@/features/clickables/Clickable.vue"; +import { Resource } from "@/features/resources/resource"; import Decimal, { DecimalSource, format, formatWhole } from "@/util/bignum"; import { Computable, diff --git a/src/components/features/Challenge.vue b/src/features/challenges/Challenge.vue similarity index 97% rename from src/components/features/Challenge.vue rename to src/features/challenges/Challenge.vue index 11a8e47..6af08fb 100644 --- a/src/components/features/Challenge.vue +++ b/src/features/challenges/Challenge.vue @@ -28,7 +28,7 @@ <script lang="tsx"> import "@/components/common/features.css"; -import { GenericChallenge } from "@/features/challenge"; +import { GenericChallenge } from "@/features/challenges/challenge"; import { jsx, StyleValue, Visibility } from "@/features/feature"; import { getHighNotifyStyle, getNotifyStyle } from "@/game/notifications"; import { coerceComponent, isCoercableComponent, processedPropType, unwrapRef } from "@/util/vue"; @@ -43,8 +43,8 @@ import { UnwrapRef, watchEffect } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import MarkNode from "./MarkNode.vue"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; export default defineComponent({ props: { diff --git a/src/features/challenge.ts b/src/features/challenges/challenge.ts similarity index 98% rename from src/features/challenge.ts rename to src/features/challenges/challenge.ts index b4e98d5..c8e9740 100644 --- a/src/features/challenge.ts +++ b/src/features/challenges/challenge.ts @@ -1,4 +1,4 @@ -import ChallengeComponent from "@/components/features/Challenge.vue"; +import ChallengeComponent from "@/features/challenges/Challenge.vue"; import { CoercableComponent, Component, @@ -11,7 +11,8 @@ import { StyleValue, Visibility } from "@/features/feature"; -import { Resource } from "@/features/resource"; +import { GenericReset } from "@/features/reset"; +import { Resource } from "@/features/resources/resource"; import { globalBus } from "@/game/events"; import settings from "@/game/settings"; import Decimal, { DecimalSource } from "@/util/bignum"; @@ -24,7 +25,6 @@ import { } from "@/util/computed"; import { createLazyProxy } from "@/util/proxies"; import { computed, Ref, unref } from "vue"; -import { GenericReset } from "./reset"; export const ChallengeType = Symbol("ChallengeType"); diff --git a/src/components/features/Clickable.vue b/src/features/clickables/Clickable.vue similarity index 95% rename from src/components/features/Clickable.vue rename to src/features/clickables/Clickable.vue index 2b72928..d8b5b4a 100644 --- a/src/components/features/Clickable.vue +++ b/src/features/clickables/Clickable.vue @@ -30,7 +30,10 @@ </template> <script lang="tsx"> -import { GenericClickable } from "@/features/clickable"; +import "@/components/common/features.css"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; +import { GenericClickable } from "@/features/clickables/clickable"; import { jsx, StyleValue, Visibility } from "@/features/feature"; import { coerceComponent, @@ -49,9 +52,6 @@ import { UnwrapRef, watchEffect } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import MarkNode from "./MarkNode.vue"; -import "@/components/common/features.css"; export default defineComponent({ props: { diff --git a/src/features/clickable.ts b/src/features/clickables/clickable.ts similarity index 98% rename from src/features/clickable.ts rename to src/features/clickables/clickable.ts index bf7fcda..df991ca 100644 --- a/src/features/clickable.ts +++ b/src/features/clickables/clickable.ts @@ -1,4 +1,4 @@ -import ClickableComponent from "@/components/features/Clickable.vue"; +import ClickableComponent from "@/features/clickables/Clickable.vue"; import { CoercableComponent, Component, diff --git a/src/features/conversion.ts b/src/features/conversion.ts index 66ca732..bd46b2f 100644 --- a/src/features/conversion.ts +++ b/src/features/conversion.ts @@ -9,7 +9,7 @@ import { import { createLazyProxy } from "@/util/proxies"; import { computed, isRef, Ref, unref } from "vue"; import { Replace, setDefault } from "./feature"; -import { Resource } from "./resource"; +import { Resource } from "./resources/resource"; export interface ConversionOptions { scaling: ScalingFunction; diff --git a/src/components/features/Grid.vue b/src/features/grids/Grid.vue similarity index 97% rename from src/components/features/Grid.vue rename to src/features/grids/Grid.vue index f496384..d8f7f91 100644 --- a/src/components/features/Grid.vue +++ b/src/features/grids/Grid.vue @@ -17,14 +17,14 @@ </template> <script lang="ts"> +import "@/components/common/table.css"; +import themes from "@/data/themes"; import { Visibility } from "@/features/feature"; -import { GridCell } from "@/features/grid"; +import { GridCell } from "@/features/grids/grid"; +import settings from "@/game/settings"; import { processedPropType } from "@/util/vue"; import { computed, defineComponent, unref } from "vue"; import GridCellVue from "./GridCell.vue"; -import "@/components/common/table.css"; -import settings from "@/game/settings"; -import themes from "@/data/themes"; export default defineComponent({ props: { diff --git a/src/components/features/GridCell.vue b/src/features/grids/GridCell.vue similarity index 97% rename from src/components/features/GridCell.vue rename to src/features/grids/GridCell.vue index 741befb..fb88b67 100644 --- a/src/components/features/GridCell.vue +++ b/src/features/grids/GridCell.vue @@ -24,6 +24,8 @@ </template> <script lang="ts"> +import "@/components/common/features.css"; +import LinkNode from "@/components/links/LinkNode.vue"; import { CoercableComponent, StyleValue, Visibility } from "@/features/feature"; import { computeComponent, @@ -32,8 +34,6 @@ import { setupHoldToClick } from "@/util/vue"; import { defineComponent, PropType, toRefs, unref } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import "@/components/common/features.css"; export default defineComponent({ props: { diff --git a/src/features/grid.ts b/src/features/grids/grid.ts similarity index 99% rename from src/features/grid.ts rename to src/features/grids/grid.ts index 1e403b2..8081642 100644 --- a/src/features/grid.ts +++ b/src/features/grids/grid.ts @@ -1,4 +1,4 @@ -import GridComponent from "@/components/features/Grid.vue"; +import GridComponent from "@/features/grids/Grid.vue"; import { CoercableComponent, Component, diff --git a/src/components/features/Infobox.vue b/src/features/infoboxes/Infobox.vue similarity index 98% rename from src/components/features/Infobox.vue rename to src/features/infoboxes/Infobox.vue index de6275f..3b5f4b8 100644 --- a/src/components/features/Infobox.vue +++ b/src/features/infoboxes/Infobox.vue @@ -29,13 +29,13 @@ </template> <script lang="ts"> +import LinkNode from "@/components/links/LinkNode.vue"; import themes from "@/data/themes"; import { CoercableComponent, Visibility } from "@/features/feature"; import settings from "@/game/settings"; import { computeComponent, processedPropType } from "@/util/vue"; import CollapseTransition from "@ivanv/vue-collapse-transition/src/CollapseTransition.vue"; import { computed, defineComponent, PropType, Ref, StyleValue, toRefs, unref } from "vue"; -import LinkNode from "../system/LinkNode.vue"; export default defineComponent({ props: { diff --git a/src/features/infobox.ts b/src/features/infoboxes/infobox.ts similarity index 98% rename from src/features/infobox.ts rename to src/features/infoboxes/infobox.ts index bcf82ed..d86a22e 100644 --- a/src/features/infobox.ts +++ b/src/features/infoboxes/infobox.ts @@ -1,4 +1,4 @@ -import InfoboxComponent from "@/components/features/Infobox.vue"; +import InfoboxComponent from "@/features/infoboxes/Infobox.vue"; import { CoercableComponent, Component, diff --git a/src/components/features/Milestone.vue b/src/features/milestones/Milestone.vue similarity index 96% rename from src/components/features/Milestone.vue rename to src/features/milestones/Milestone.vue index fb422df..8771f01 100644 --- a/src/components/features/Milestone.vue +++ b/src/features/milestones/Milestone.vue @@ -15,12 +15,12 @@ </template> <script lang="tsx"> +import "@/components/common/features.css"; import { jsx, StyleValue, Visibility } from "@/features/feature"; -import { GenericMilestone } from "@/features/milestone"; +import { GenericMilestone } from "@/features/milestones/milestone"; import { coerceComponent, isCoercableComponent, processedPropType, unwrapRef } from "@/util/vue"; import { Component, defineComponent, shallowRef, toRefs, unref, UnwrapRef, watchEffect } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import "@/components/common/features.css"; +import LinkNode from "../../components/links/LinkNode.vue"; export default defineComponent({ props: { diff --git a/src/features/milestone.tsx b/src/features/milestones/milestone.tsx similarity index 98% rename from src/features/milestone.tsx rename to src/features/milestones/milestone.tsx index b30c85f..ea9a3c8 100644 --- a/src/features/milestone.tsx +++ b/src/features/milestones/milestone.tsx @@ -1,4 +1,4 @@ -import MilestoneComponent from "@/components/features/Milestone.vue"; +import MilestoneComponent from "@/features/milestones/Milestone.vue"; import { CoercableComponent, Component, diff --git a/src/components/features/MainDisplay.vue b/src/features/resources/MainDisplay.vue similarity index 89% rename from src/components/features/MainDisplay.vue rename to src/features/resources/MainDisplay.vue index a829e66..6fc28fe 100644 --- a/src/components/features/MainDisplay.vue +++ b/src/features/resources/MainDisplay.vue @@ -11,11 +11,11 @@ <script setup lang="ts"> import { CoercableComponent } from "@/features/feature"; -import { Resource } from "@/features/resource"; +import { Resource } from "@/features/resources/resource"; import Decimal from "@/util/bignum"; import { computeOptionalComponent } from "@/util/vue"; import { computed, Ref, StyleValue, toRefs } from "vue"; -import ResourceVue from "../system/Resource.vue"; +import ResourceVue from "@/features/resources/Resource.vue"; const _props = defineProps<{ resource: Resource; diff --git a/src/components/system/Resource.vue b/src/features/resources/Resource.vue similarity index 81% rename from src/components/system/Resource.vue rename to src/features/resources/Resource.vue index 408957a..8485869 100644 --- a/src/components/system/Resource.vue +++ b/src/features/resources/Resource.vue @@ -5,7 +5,7 @@ </template> <script setup lang="ts"> -import { displayResource, Resource } from "@/features/resource"; +import { displayResource, Resource } from "@/features/resources/resource"; import { computed } from "vue"; const props = defineProps<{ diff --git a/src/features/resource.ts b/src/features/resources/resource.ts similarity index 100% rename from src/features/resource.ts rename to src/features/resources/resource.ts diff --git a/src/components/features/Tab.vue b/src/features/tabs/Tab.vue similarity index 100% rename from src/components/features/Tab.vue rename to src/features/tabs/Tab.vue diff --git a/src/components/features/TabButton.vue b/src/features/tabs/TabButton.vue similarity index 100% rename from src/components/features/TabButton.vue rename to src/features/tabs/TabButton.vue diff --git a/src/components/features/TabFamily.vue b/src/features/tabs/TabFamily.vue similarity index 96% rename from src/components/features/TabFamily.vue rename to src/features/tabs/TabFamily.vue index 058827b..0592a2a 100644 --- a/src/components/features/TabFamily.vue +++ b/src/features/tabs/TabFamily.vue @@ -30,10 +30,12 @@ </template> <script lang="ts"> +import Sticky from "@/components/layout/Sticky.vue"; import themes from "@/data/themes"; import { CoercableComponent, StyleValue, Visibility } from "@/features/feature"; -import { GenericTab } from "@/features/tab"; -import { GenericTabButton } from "@/features/tabFamily"; +import { GenericTab } from "@/features/tabs/tab"; +import TabButton from "@/features/tabs/TabButton.vue"; +import { GenericTabButton } from "@/features/tabs/tabFamily"; import settings from "@/game/settings"; import { coerceComponent, isCoercableComponent, processedPropType, unwrapRef } from "@/util/vue"; import { @@ -47,8 +49,6 @@ import { unref, watchEffect } from "vue"; -import Sticky from "../system/Sticky.vue"; -import TabButton from "./TabButton.vue"; export default defineComponent({ props: { diff --git a/src/features/tab.ts b/src/features/tabs/tab.ts similarity index 94% rename from src/features/tab.ts rename to src/features/tabs/tab.ts index 86218db..49a1e8a 100644 --- a/src/features/tab.ts +++ b/src/features/tabs/tab.ts @@ -1,6 +1,3 @@ -import TabComponent from "@/components/features/Tab.vue"; -import { Computable, GetComputableType } from "@/util/computed"; -import { createLazyProxy } from "@/util/proxies"; import { CoercableComponent, Component, @@ -8,7 +5,10 @@ import { getUniqueID, Replace, StyleValue -} from "./feature"; +} from "@/features/feature"; +import TabComponent from "@/features/tabs/Tab.vue"; +import { Computable, GetComputableType } from "@/util/computed"; +import { createLazyProxy } from "@/util/proxies"; export const TabType = Symbol("Tab"); diff --git a/src/features/tabFamily.ts b/src/features/tabs/tabFamily.ts similarity index 96% rename from src/features/tabFamily.ts rename to src/features/tabs/tabFamily.ts index c0eba79..871f7bd 100644 --- a/src/features/tabFamily.ts +++ b/src/features/tabs/tabFamily.ts @@ -1,14 +1,3 @@ -import TabButtonComponent from "@/components/features/TabButton.vue"; -import TabFamilyComponent from "@/components/features/TabFamily.vue"; -import { - Computable, - GetComputableType, - GetComputableTypeWithDefault, - processComputable, - ProcessedComputable -} from "@/util/computed"; -import { createLazyProxy } from "@/util/proxies"; -import { computed, Ref, unref } from "vue"; import { CoercableComponent, Component, @@ -21,7 +10,18 @@ import { setDefault, StyleValue, Visibility -} from "./feature"; +} from "@/features/feature"; +import TabButtonComponent from "@/features/tabs/TabButton.vue"; +import TabFamilyComponent from "@/features/tabs/TabFamily.vue"; +import { + Computable, + GetComputableType, + GetComputableTypeWithDefault, + processComputable, + ProcessedComputable +} from "@/util/computed"; +import { createLazyProxy } from "@/util/proxies"; +import { computed, Ref, unref } from "vue"; import { GenericTab } from "./tab"; export const TabButtonType = Symbol("TabButton"); diff --git a/src/components/features/tree/Tree.vue b/src/features/trees/Tree.vue similarity index 97% rename from src/components/features/tree/Tree.vue rename to src/features/trees/Tree.vue index 0a1cd9f..1362909 100644 --- a/src/components/features/tree/Tree.vue +++ b/src/features/trees/Tree.vue @@ -29,7 +29,7 @@ <script lang="ts"> import "@/components/common/table.css"; -import { GenericTreeNode } from "@/features/tree"; +import { GenericTreeNode } from "@/features/trees/tree"; import { processedPropType } from "@/util/vue"; import { defineComponent, unref } from "vue"; import TreeNode from "./TreeNode.vue"; diff --git a/src/components/features/tree/TreeNode.vue b/src/features/trees/TreeNode.vue similarity index 96% rename from src/components/features/tree/TreeNode.vue rename to src/features/trees/TreeNode.vue index 37e64db..97f639e 100644 --- a/src/components/features/tree/TreeNode.vue +++ b/src/features/trees/TreeNode.vue @@ -39,7 +39,9 @@ </template> <script lang="ts"> -import TooltipVue from "@/components/system/Tooltip.vue"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; +import TooltipVue from "@/components/Tooltip.vue"; import { CoercableComponent, StyleValue, Visibility } from "@/features/feature"; import { gatherTooltipProps, Tooltip } from "@/features/tooltip"; import { ProcessedComputable } from "@/util/computed"; @@ -60,8 +62,6 @@ import { unref, watchEffect } from "vue"; -import LinkNode from "../../system/LinkNode.vue"; -import MarkNode from "../MarkNode.vue"; export default defineComponent({ props: { diff --git a/src/features/tree.ts b/src/features/trees/tree.ts similarity index 97% rename from src/features/tree.ts rename to src/features/trees/tree.ts index 32577b9..8b634e9 100644 --- a/src/features/tree.ts +++ b/src/features/trees/tree.ts @@ -1,4 +1,3 @@ -import TreeComponent from "@/components/features/tree/Tree.vue"; import { CoercableComponent, Component, @@ -10,7 +9,11 @@ import { StyleValue, Visibility } from "@/features/feature"; -import { displayResource, Resource } from "@/features/resource"; +import { Link } from "@/features/links"; +import { GenericReset } from "@/features/reset"; +import { displayResource, Resource } from "@/features/resources/resource"; +import { Tooltip } from "@/features/tooltip"; +import TreeComponent from "@/features/trees/Tree.vue"; import { DecimalSource, format } from "@/util/bignum"; import Decimal, { formatWhole } from "@/util/break_eternity"; import { @@ -23,9 +26,6 @@ import { } from "@/util/computed"; import { createLazyProxy } from "@/util/proxies"; import { computed, ref, Ref, unref } from "vue"; -import { Link } from "./links"; -import { GenericReset } from "./reset"; -import { Tooltip } from "./tooltip"; export const TreeNodeType = Symbol("TreeNode"); export const TreeType = Symbol("Tree"); diff --git a/src/components/features/Upgrade.vue b/src/features/upgrades/Upgrade.vue similarity index 94% rename from src/components/features/Upgrade.vue rename to src/features/upgrades/Upgrade.vue index 12f4a74..2d34548 100644 --- a/src/components/features/Upgrade.vue +++ b/src/features/upgrades/Upgrade.vue @@ -25,9 +25,12 @@ </template> <script lang="tsx"> +import "@/components/common/features.css"; +import LinkNode from "@/components/links/LinkNode.vue"; +import MarkNode from "@/components/MarkNode.vue"; import { jsx, StyleValue, Visibility } from "@/features/feature"; -import { displayResource, Resource } from "@/features/resource"; -import { GenericUpgrade } from "@/features/upgrade"; +import { displayResource, Resource } from "@/features/resources/resource"; +import { GenericUpgrade } from "@/features/upgrades/upgrade"; import { DecimalSource } from "@/lib/break_eternity"; import { coerceComponent, isCoercableComponent, processedPropType, unwrapRef } from "@/util/vue"; import { @@ -40,9 +43,6 @@ import { UnwrapRef, watchEffect } from "vue"; -import LinkNode from "../system/LinkNode.vue"; -import MarkNode from "./MarkNode.vue"; -import "@/components/common/features.css"; export default defineComponent({ props: { diff --git a/src/features/upgrade.ts b/src/features/upgrades/upgrade.ts similarity index 97% rename from src/features/upgrade.ts rename to src/features/upgrades/upgrade.ts index db52c9e..1036c9a 100644 --- a/src/features/upgrade.ts +++ b/src/features/upgrades/upgrade.ts @@ -1,4 +1,4 @@ -import UpgradeComponent from "@/components/features/Upgrade.vue"; +import UpgradeComponent from "@/features/upgrades/Upgrade.vue"; import { CoercableComponent, Component, @@ -13,7 +13,7 @@ import { StyleValue, Visibility } from "@/features/feature"; -import { Resource } from "@/features/resource"; +import { Resource } from "@/features/resources/resource"; import { GenericLayer } from "@/game/layers"; import Decimal, { DecimalSource } from "@/util/bignum"; import { isFunction } from "@/util/common"; diff --git a/src/util/vue.tsx b/src/util/vue.tsx index f244e16..105e3c1 100644 --- a/src/util/vue.tsx +++ b/src/util/vue.tsx @@ -1,5 +1,5 @@ -import Col from "@/components/system/Column.vue"; -import Row from "@/components/system/Row.vue"; +import Col from "@/components/layout/Column.vue"; +import Row from "@/components/layout/Row.vue"; import { CoercableComponent, Component as ComponentKey,