Repository: goauthentik/authentik
File: web/src/admin/lifecycle/LifecycleRuleForm.ts (TypeScript)

Code before:
                name="gracePeriod"
                required
                value="${this.instance?.gracePeriod || "days=30"}"
                input-hint="code"
                help=${msg("The duration of time before an open review is considered overdue.")}
                .bighelp=${html`<ak-utils-time-delta-help></ak-utils-time-delta-help>`}
            ></ak-text-input>

            <ak-form-element-horizontal label=${msg("Reviewer groups")} name="reviewerGroups">
                ${this.renderReviewerGroupsSelection()}
            </ak-form-element-horizontal>
            <ak-number-input
                label=${msg("Min reviewers")}
                min=${1}
                name="minReviewers"
                value="${this.instance?.minReviewers ?? 1}"
                help=${msg(
                    "Number of users from the selected reviewer groups that must approve the review.",
                )}
            ></ak-number-input>
            <ak-switch-input
                name="minReviewersIsPerGroup"
                ?checked=${this.instance?.minReviewersIsPerGroup ?? false}
                label=${msg("Min reviewers is per-group")}
                .bighelp=${html`<p class="pf-c-form__helper-text">
                    ${msg(
                        html`If checked, approving a review will require at least that many users
                            from <em>each</em> of the selected groups. When disabled, the value is a
                            total across all groups.`,
                    )}
                </p>`}
            >
            </ak-switch-input>

            <ak-form-element-horizontal label=${msg("Reviewers")} name="reviewers">
                ${this.renderReviewerUserSelection()}
            </ak-form-element-horizontal>
            ${this.renderTransportsSelection()} `;
    }

    protected renderContentTypeOptions(): SlottedTemplateResult {
        return html`<ak-radio-input
            @change=${this.#contentTypeChangeListener}
            label=${msg("Object type")}
            name="contentType"
            required
            .value=${this.instance?.contentType}
            .options=${createContentTypeOptions()}
        ></ak-radio-input>`;
    }


Review comment (suggestion):
This can be written `${msg(html ... ))`; no need to use `bighelp` for a single sentence with some markup.

Code after:
                name="gracePeriod"
                required
                value="${this.instance?.gracePeriod || "days=30"}"
                input-hint="code"
                help=${msg("The duration of time before an open review is considered overdue.")}
                .bighelp=${html`<ak-utils-time-delta-help></ak-utils-time-delta-help>`}
            ></ak-text-input>

            <ak-form-element-horizontal label=${msg("Reviewer groups")} name="reviewerGroups">
                ${this.renderReviewerGroupsSelection()}
            </ak-form-element-horizontal>
            <ak-number-input
                label=${msg("Min reviewers")}
                min=${1}
                name="minReviewers"
                value="${this.instance?.minReviewers ?? 1}"
                help=${msg(
                    "Number of users from the selected reviewer groups that must approve the review.",
                )}
            ></ak-number-input>
            <ak-switch-input
                name="minReviewersIsPerGroup"
                ?checked=${this.instance?.minReviewersIsPerGroup ?? false}
                label=${msg("Min reviewers is per-group")}
                .help=${msg(
                    html`If checked, approving a review will require at least that many users from
                        <em>each</em> of the selected groups. When disabled, the value is a total
                        across all groups.`,
                )}
            >
            </ak-switch-input>

            <ak-form-element-horizontal label=${msg("Reviewers")} name="reviewers">
                ${this.renderReviewerUserSelection()}
            </ak-form-element-horizontal>
            ${this.renderTransportsSelection()} `;
    }

    protected renderContentTypeOptions(): SlottedTemplateResult {
        return html`<ak-radio-input
            @change=${this.#contentTypeChangeListener}
            label=${msg("Object type")}
            name="contentType"
            required
            .value=${this.instance?.contentType}
            .options=${createContentTypeOptions()}
        ></ak-radio-input>`;
    }

    protected renderTargetSelection() {
        return keyed(