import { Component } from "preact";
import { DefaultPageProps } from "../../../../types/DefaultPageProps";
import { SecretTitleElement } from "../SecretTitleElement";
import { kvListURL, kvViewURL } from "../../pageLinks";
import { route } from "preact-router";
import i18next from "i18next";

export class KeyValueDelete extends Component<DefaultPageProps> {
  render() {
    const baseMount = this.props.matches["baseMount"];
    const secretPath = this.props.matches["secretPath"].split("/");
    const item = this.props.matches["item"];
    const version = this.props.matches["version"];

    return (
      <>
        <SecretTitleElement
          type="kv"
          baseMount={baseMount}
          secretPath={secretPath}
          item={item}
          suffix={i18next.t("kv_delete_suffix")}
        />
        <div>
          <h5>{i18next.t("kv_delete_text")}</h5>
          <button
            class="uk-button uk-button-danger"
            onClick={async () => {
              await this.props.api.deleteSecret(baseMount, secretPath, item, version);
              if (version == "null") {
                route(kvListURL(baseMount, secretPath));
              } else {
                route(kvViewURL(baseMount, secretPath, item, "null"));
              }
            }}
          >
            {i18next.t("common_delete")}
          </button>
        </div>
      </>
    );
  }
}