- const formstyle = window.getComputedStyle(this.form)
- const gridsize = [
- formstyle['grid-template-rows'], formstyle['grid-template-columns']
- ].map(val => val.match(/ /g).length + 1).reduce((x, y) => x * y) / 2;
- cards = this.words.splice(0, gridsize || 6).map(row => row[2]);
+ const aspect = this.form.clientWidth / window.innerHeight;
+ //TODO image ratio
+ let count = parseInt(this.preset.n) || 35;
+ let cols = Math.round(Math.sqrt(count) * aspect**.5);
+ count = cols * Math.ceil(count / cols);
+ this.form.style['grid-template-columns'] = `repeat(${cols}, 1fr)`;
+ cards = this.words.splice(0, count>>1).map(row => row.imgid);