Repository: louislam/uptime-kuma
File: src/pages/EditMonitor.vue (Vue)

Code before:
                            <!-- HTTP / Keyword only -->
                            <template
                                v-if="
                                    monitor.type === 'http' ||
                                    monitor.type === 'keyword' ||
                                    monitor.type === 'json-query' ||
                                    monitor.type === 'grpc-keyword'
                                "
                            >
                                <div class="my-3">
                                    <label for="maxRedirects" class="form-label">{{ $t("Max. Redirects") }}</label>
                                    <input
                                        id="maxRedirects"
                                        v-model="monitor.maxredirects"
                                        type="number"
                                        class="form-control"
                                        required
                                        min="0"
                                        step="1"
                                    />
                                    <div class="form-text">
                                        {{ $t("maxRedirectDescription") }}
                                    </div>
                                </div>

                                <div class="my-3">
                                    <div class="form-check">
                                        <input
                                            id="saveResponse"
                                            v-model="monitor.saveResponse"
                                            class="form-check-input"
                                            type="checkbox"
                                        />
                                        <label class="form-check-label" for="saveResponse">
                                            {{ $t("saveResponseForNotifications") }}
                                        </label>
                                    </div>
                                    <div class="form-text">
                                        <i18n-t keypath="saveResponseDescription" tag="div" class="form-text">
                                            <template #templateVariable>
                                                <code>heartbeatJSON.response</code>
                                            </template>
                                        </i18n-t>
                                    </div>
                                </div>

                                <div class="my-3">
                                    <div class="form-check">
                                        <input
                                            id="saveErrorResponse"
                                            v-model="monitor.saveErrorResponse"

Review comment (suggestion):
please add this markup, since otherwise this is enabled for grpc also

```suggestion
                                <div v-if="monitor.type === 'http' || monitor.type === 'keyword' || monitor.type === 'json-query'" class="my-3">
```

Code after:

                                    <div class="form-text">
                                        {{ $t("acceptedStatusCodesDescription") }}
                                    </div>
                                    <i18n-t tag="div" class="form-text" keypath="wsCodeDescription">
                                        <template #rfc6455>
                                            <a
                                                href="https://datatracker.ietf.org/doc/html/rfc6455#section-7.4"
                                                target="_blank"
                                                rel="noopener noreferrer"
                                            >
                                                RFC 6455
                                            </a>
                                        </template>
                                    </i18n-t>
                                </div>
                            </template>

                            <!-- HTTP / Keyword only -->
                            <template
                                v-if="
                                    monitor.type === 'http' ||
                                    monitor.type === 'keyword' ||
                                    monitor.type === 'json-query' ||
                                    monitor.type === 'grpc-keyword'
                                "
                            >
                                <div class="my-3">
                                    <label for="maxRedirects" class="form-label">{{ $t("Max. Redirects") }}</label>
                                    <input
                                        id="maxRedirects"
                                        v-model="monitor.maxredirects"
                                        type="number"
                                        class="form-control"
                                        required
                                        min="0"
                                        step="1"
                                    />
                                    <div class="form-text">
                                        {{ $t("maxRedirectDescription") }}
                                    </div>
                                </div>

                                <div
                                    v-if="
                                        monitor.type === 'http' ||
                                        monitor.type === 'keyword' ||
                                        monitor.type === 'json-query'
                                    "
                                    class="my-3"
                                >