diff --git a/src/pages/Index.vue b/src/pages/Index.vue index 4160f0f9e39db5f0bfea11937eb6450606cb66ea..00b4f7ba0fce78156985d4e3834f86e4fc50e4cd 100644 --- a/src/pages/Index.vue +++ b/src/pages/Index.vue @@ -33,6 +33,9 @@ </q-item-section> <q-item-section> <q-slider v-model="store.state.mapSizeX" :min="1" :max="101" label color="secondary" :step="1" label-always/> + <q-tooltip :disable="$q.platform.is.mobile"> + Size along the X-axis. + </q-tooltip> </q-item-section> </q-item> @@ -42,6 +45,9 @@ </q-item-section> <q-item-section> <q-slider v-model="store.state.mapSizeY" :min="1" :max="101" label color="secondary" :step="1" label-always/> + <q-tooltip :disable="$q.platform.is.mobile"> + Size along the Y-axis. + </q-tooltip> </q-item-section> </q-item> @@ -61,6 +67,9 @@ <q-icon name="cancel" @click.stop="store.state.seed = null" class="cursor-pointer" /> <q-icon name="refresh" @click.stop="store.state.seed = store.seedGenerator.random_int31()" class="cursor-pointer" /> </template> + <q-tooltip :disable="$q.platform.is.mobile"> + Numbers only. + </q-tooltip> </q-input> <q-btn class="q-mr-xs" color="secondary" label="Generate Random Map" @click='createRandomMap()'> <q-tooltip :disable="$q.platform.is.mobile"> @@ -79,7 +88,11 @@ placeholder="Paste Map Data" type="textarea" input-class="pastCodeArea" - ></q-input> + > + <q-tooltip :disable="$q.platform.is.mobile"> + Valid map-json only. + </q-tooltip> + </q-input> <q-btn class="q-mr-xs" color="secondary" label="Load Map From Filedata" @click='loadMapData()'> <q-tooltip :disable="$q.platform.is.mobile"> Load Map From Data @@ -95,12 +108,19 @@ v-model="file" label="Pick one file" filled - accept=".json" - style="max-width: 300px" - /> + clearable + accept=".json, application/*" + max-file-size="800000" + style="max-width: 100%" + @rejected="onRejected" + > + <q-tooltip :disable="$q.platform.is.mobile"> + Only one file of max 800Kb in size. + </q-tooltip> + </q-file> <q-btn class="q-mr-xs" color="secondary" label="Load Map From Filedata" @click='loadMapFile()'> <q-tooltip :disable="$q.platform.is.mobile"> - Load Map From Data + Load Map From File </q-tooltip> </q-btn> </div> @@ -169,6 +189,13 @@ export default defineComponent({ store.methods.generateRandomMap(); }; + const onRejected = function(rejectedEntries) { + $q.notify({ + type: 'negative', + message: `${rejectedEntries[0].file.name} file(s) did not pass validation constraints` + }); + }; + return { parseJsonFromString, file: ref(null), @@ -177,7 +204,8 @@ export default defineComponent({ createMap, createRandomMap, loadMapData, - loadMapFile + loadMapFile, + onRejected } },