From e664bea241577cb6699ec69c05b6b2759e8e1738 Mon Sep 17 00:00:00 2001 From: Misode Date: Sun, 7 Nov 2021 04:06:44 +0100 Subject: [PATCH] Alternative way to collapse terrain shaper and surface rules --- src/app/schema/renderHtml.tsx | 24 +++++++++++++----------- src/styles/global.css | 3 +-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx index 359aad25..589f2e43 100644 --- a/src/app/schema/renderHtml.tsx +++ b/src/app/schema/renderHtml.tsx @@ -17,6 +17,7 @@ const flattenedFields = ['feature.config', 'decorator.config', 'int_provider.val const inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target', 'generator_biome.biome', 'block_predicate.type', 'material_rule.type', 'material_condition.type'] const nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt'] const fixedLists = ['generator_biome.parameters.temperature', 'generator_biome.parameters.humidity', 'generator_biome.parameters.continentalness', 'generator_biome.parameters.erosion', 'generator_biome.parameters.depth', 'generator_biome.parameters.weirdness', 'feature.end_spike.crystal_beam_target', 'feature.end_gateway.exit', 'decorator.block_filter.offset', 'block_predicate.matching_blocks.offset', 'block_predicate.matching_fluids.offset', 'model_element.from', 'model_element.to', 'model_element.rotation.origin', 'model_element.faces.uv', 'item_transform.rotation', 'item_transform.translation', 'item_transform.scale'] +const collapsedFields = ['noise_settings.surface_rule', 'noise_settings.noise.terrain_shaper'] /** * Secondary model used to remember the keys of a map @@ -236,7 +237,7 @@ const renderHtml: RenderHook = { }, object({ node, config, getActiveFields, getChildModelPath }, path, value, lang, states, ctx) { - const { expand, isToggled } = useToggles() + const { expand, collapse, isToggled } = useToggles() if (path.getArray().length == 0 && isDecorated(config.context, value)) { const { wrapper, fields } = createDecoratorsWrapper(getActiveFields(path), path, value) @@ -256,6 +257,17 @@ const renderHtml: RenderHook = { suffix = } } + const context = path.getContext().join('.') + if (collapsedFields.includes(context)) { + const toggled = isToggled('') + prefix = <> + + + if (!toggled) { + return [prefix, suffix, null] + } + } + const newCtx = (typeof value === 'object' && value !== null && node.default()?.pools) ? { ...ctx, loot: value?.type } : ctx const body = <> @@ -264,16 +276,6 @@ const renderHtml: RenderHook = { .filter(([_, child]) => child.enabled(path)) .map(([key, child]) => { const cPath = getChildModelPath(path, key) - const canToggle = child.type(cPath) === 'object' - const toggle = isToggled(key) - if (canToggle && (toggle === false || (toggle === undefined && (ctx.depth ?? 0) > 5))) { - return
- - - -
- } - const context = cPath.getContext().join('.') if (hiddenFields.includes(context)) return null const [cPrefix, cSuffix, cBody] = child.hook(this, cPath, value[key], lang, states, newCtx) diff --git a/src/styles/global.css b/src/styles/global.css index d1adc0a8..bb8c83f8 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -710,11 +710,10 @@ a.tool-card:hover { display: flex; flex-direction: column; border-top: 2px solid var(--background-1); - padding-top: 4px; + padding: 4px 8px; } .tool-body > .tool-card { - margin: 0 8px 8px; box-shadow: none; margin-bottom: 0; }