Skip to content

Commit

Permalink
Handle play modes in playground & Add recommended default buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
7PH committed Sep 1, 2022
1 parent 7113f14 commit 1ac1599
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 56 deletions.
2 changes: 1 addition & 1 deletion dist/powerglitch.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 27 additions & 3 deletions docs-src/src/components/OptionPanel.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<script setup>
import { ref, onMounted } from 'vue';
import { PowerGlitch } from '../../../src/index.ts';
import { useAppStore } from '@/stores/app';
import ToggleGroupOption from '@/components/ToggleGroupOption.vue';
import StringOption from '@/components/StringOption.vue';
Expand All @@ -8,10 +9,33 @@ import BooleanOption from '@/components/BooleanOption.vue';
import NumberOption from '@/components/NumberOption.vue';
const appStore = useAppStore();
const setFullDefaults = (playMode) => {
const defaults = PowerGlitch.getDefaultOptions(playMode);
appStore.powerGlitchOptions.playMode = playMode;
appStore.powerGlitchOptions.timing = defaults.timing;
appStore.powerGlitchOptions.glitchTimeSpan = defaults.glitchTimeSpan;
appStore.powerGlitchOptions.shake = defaults.shake;
appStore.powerGlitchOptions.slice = defaults.slice;
};
</script>

<template>
<div class="px-4">
<div class="font-bold mt-6 mb-2 pl-2">
Recommended defaults
</div>
<div class="ml-4 flex flex-wrap justify-center gap-2">
<button @click="setFullDefaults('always')">
Infinite
</button>
<button @click="setFullDefaults('hover-triggered')">
Once on hover
</button>
<button @click="setFullDefaults('hover-only')">
Always on hover
</button>
</div>
<div class="font-bold mt-6 mb-2 pl-2">
Global
</div>
Expand Down Expand Up @@ -87,7 +111,7 @@ const appStore = useAppStore();
<ToggleGroupOption
v-model="appStore.powerGlitchOptions.glitchTimeSpan"
:title="'Enabled'"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions().glitchTimeSpan : false"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions(appStore.powerGlitchOptions.playMode).glitchTimeSpan : false"
/>
<template v-if="appStore.powerGlitchOptions.glitchTimeSpan">
<NumberOption
Expand Down Expand Up @@ -116,7 +140,7 @@ const appStore = useAppStore();
<ToggleGroupOption
v-model="appStore.powerGlitchOptions.shake"
:title="'Enabled'"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions().shake : false"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions(appStore.powerGlitchOptions.playMode).shake : false"
/>
<template v-if="appStore.powerGlitchOptions.shake">
<NumberOption
Expand Down Expand Up @@ -153,7 +177,7 @@ const appStore = useAppStore();
<ToggleGroupOption
v-model="appStore.powerGlitchOptions.slice"
:title="'Enabled'"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions().slice : false"
:getDefaultValue="v => v ? PowerGlitch.getDefaultOptions(appStore.powerGlitchOptions.playMode).slice : false"
/>
<template v-if="appStore.powerGlitchOptions.slice">
<NumberOption
Expand Down
2 changes: 1 addition & 1 deletion docs-src/src/stores/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const useAppStore = defineStore('main', {
* Default options for Power Glitch
*/
powerGlitchOptions: {
...PowerGlitch.getDefaultOptions(),
...PowerGlitch.getDefaultOptions('always'),
imageUrl: defaultImage,
},
}),
Expand Down
2 changes: 1 addition & 1 deletion docs-src/src/views/PlaygroundView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ onMounted(() => {
PowerGlitch.glitch(
logoGlitch.value,
{
...PowerGlitch.getDefaultOptions(),
...PowerGlitch.getDefaultOptions('always'),
imageUrl: logo,
}
);
Expand Down
Loading

0 comments on commit 1ac1599

Please sign in to comment.