Add button to generate random color (#403)

This commit is contained in:
YanisBft
2023-07-13 21:54:10 +02:00
committed by GitHub
parent d9f7fe0ab4
commit a150d50775
4 changed files with 8 additions and 1 deletions

View File

@@ -40,6 +40,10 @@ export function generateUUID() {
})
}
export function generateColor() {
return Math.floor(Math.random() * 16777215)
}
export function newSeed(model: DataModel) {
const seed = Math.floor(Math.random() * (4294967296)) - 2147483648
const dimensions = model.get(new Path(['dimensions']))

View File

@@ -5,7 +5,7 @@ import type { ComponentChildren, JSX } from 'preact'
import { memo } from 'preact/compat'
import { useState } from 'preact/hooks'
import config from '../Config.js'
import { deepClone, deepEqual, generateUUID, hexId, hexToRgb, isObject, newSeed, rgbToHex, stringToColor } from '../Utils.js'
import { deepClone, deepEqual, generateColor, generateUUID, hexId, hexToRgb, isObject, newSeed, rgbToHex, stringToColor } from '../Utils.js'
import { ItemDisplay } from '../components/ItemDisplay.jsx'
import { Btn, Octicon } from '../components/index.js'
import { VanillaColors } from '../components/previews/BiomeSourcePreview.jsx'
@@ -403,6 +403,7 @@ function NumberSuffix({ path, config, integer, value, lang }: NodeProps<NumberHo
return <>
<input type="text" value={value ?? ''} onBlur={onChange} onKeyDown={evt => {if (evt.key === 'Enter') onChange(evt)}} />
{config?.color && <input type="color" value={'#' + (value?.toString(16).padStart(6, '0') ?? '000000')} onChange={onColor} />}
{config?.color && <button onClick={() => path.set(generateColor())} class="tooltipped tip-se" aria-label={localize(lang, 'generate_new_color')}>{Octicon.sync}</button>}
{['dimension.generator.seed', 'dimension.generator.biome_source.seed', 'world_settings.seed', 'structure_placement.salt'].includes(path.getContext().join('.')) && <button onClick={() => newSeed(path.model)} class="tooltipped tip-se" aria-label={localize(lang, 'generate_new_seed')}>{Octicon.sync}</button>}
</>
}

View File

@@ -58,6 +58,7 @@
"fields": "Fields",
"generate_new_seed": "Generate new seed",
"generate_new_uuid": "Generate new UUID",
"generate_new_color": "Generate new color",
"generator.not_found": "Cannot find generator \"%0%\"",
"generator.error_min_version": "The minimum version for this generator is %0%",
"generator.error_max_version": "This generator is not available in versions above %0%",

View File

@@ -42,6 +42,7 @@
"format.yaml": "YAML",
"generate_new_seed": "Générer une nouvelle graine",
"generate_new_uuid": "Générer un nouvel UUID",
"generate_new_color": "Générer une nouvelle couleur",
"generators.all": "Tout les générateurs",
"generators.no_results": "Aucun générateur trouvé pour cette recherche",
"generators.popular": "Générateur Populaires",