<!--
SPDX-FileCopyrightText: WTF Kooperative eG <https://wtf-eg.de/>

SPDX-License-Identifier: AGPL-3.0-or-later
-->

<template>
  <div class="container">
    <h1>Profil bearbeiten</h1>
    <form @submit.prevent="submitFormEdit()">
      <div class="row">
        <div class="col">
          <input
            type="radio"
            id="false"
            :value="false"
            v-model="profile.visible"
            class="mr-2"
          />
          <label for="false" class="m-2 fw-bold"> Nicht öffentlich</label>
        </div>
        <div class="col">
          <input
            type="radio"
            id="true"
            :value="true"
            v-model="profile.visible"
          />
          <label for="true" class="m-2 fw-bold"> Öffentlich</label>
        </div>
      </div>
      <div id="visibilityHelp" class="form-text">
        Erst wenn du dein Profil Öffentlich stellst, können andere Genoss:innen
        darauf zugreifen oder es in der Suche finden.
      </div>
      <div class="row">
        <div class="col-6 col-xs-12">
          <label for="nickname" class="form-label fw-bold">Nickname:</label>
          <input
            type="text"
            class="form-control"
            id="nickname"
            v-model="profile.nickname"
            required
          />
        </div>
        <div class="col-6 col-xs-12">
          <label for="pronouns" class="form-label fw-bold">Pronomen:</label>
          <input
            type="text"
            class="form-control"
            id="pronouns"
            v-model="profile.pronouns"
          />
          <div for="pronouns" class="form-text">
            Z.B.: Er/Ihn, Sie/Ihr, Es etc..
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-12 col-xs-12">
          <label for="freetext" class="form-label fw-bold">Vorstellung:</label>
          <textarea
            class="form-control"
            id="freetext"
            rows="3"
            v-model="profile.freetext"
          ></textarea>
        </div>
        <div class="col-12 col-xs-12">
          <label for="volunteerwork" class="form-label fw-bold"
            >Ehrenamtliche Arbeit:</label
          >
          <textarea
            class="form-control"
            id="volunteerwork"
            rows="3"
            v-model="profile.volunteerwork"
          ></textarea>
        </div>
      </div>
      <auto-complete
        type="skill"
        label="Deine Fähigkeiten"
        :values="profile.skills"
        @update-values="profile.skills = $event"
      ></auto-complete>
      <auto-complete
        type="language"
        label="Deine Sprachen"
        :values="profile.languages"
        @update-values="profile.languages = $event"
      ></auto-complete>
      <auto-complete
        type="skill"
        label="Ich suche"
        :values="profile.searchtopics"
        @update-values="profile.searchtopics = $event"
      ></auto-complete>

      <div class="col-12 col-xs-12">
        <label for="availability" class="form-label fw-bold"
          >Ich bin für Anfragen verfügbar:</label
        >
        <textarea
          class="form-control"
          id="availability"
          rows="3"
          v-model="profile.availability"
        ></textarea>
      </div>

      <auto-complete
        type="contacttype"
        label="Kontaktmöglichkeiten"
        :values="profile.contacts"
        @update-values="profile.contacts = $event"
      ></auto-complete>

      <div class="row">
        <div class="col">
          <label for="pzl" class="form-label fw-bold">PLZ</label>
          <input
            type="text"
            class="form-control"
            id="pzl"
            v-model="profile.address.postcode"
          />
        </div>
        <div class="col">
          <label for="city" class="form-label fw-bold">Stadt</label>
          <input
            type="text"
            class="form-control"
            id="city"
            v-model="profile.address.city"
          />
        </div>
        <div class="col">
          <label for="country" class="form-label fw-bold">Land</label>
          <input
            type="text"
            class="form-control"
            id="country"
            v-model="profile.address.country"
          />
        </div>
      </div>

      <button type="submit" class="btn btn-outline-success mb-4 mt-4 col-12">
        Speichern
      </button>
      <div
        class="alert alert-danger mb-4 mt-4"
        role="alert"
        v-if="showErrorMessage"
      >
        Es ist Fehler aufgetreten
      </div>
      <div
        class="alert alert-success mb-4 mt-4"
        role="alert"
        v-if="showSuccessMessage"
      >
        Deine Änderungen wurden erfolgreich gespeichert
      </div>
    </form>
  </div>
</template>
<script>
import RequestMixin from "@/mixins/request.mixin"

import AutoComplete from "@/components/AutoComplete";

export default {
  name: "profileEdit",
  mixins: [RequestMixin],
  components: {
    AutoComplete,
  },
  data() {
    return {
      showErrorMessage: false,
      showSuccessMessage: false,
      profile: {
        visible: false,
        nickname: "",
        pronouns: "",
        volunteerwork: "",
        freetext: "",
        availability: "",
        address: {
          postcode: "",
          city: "",
          country: "",
        },
        skills: [],
        languages: [],
        searchtopics: [],
        contacts: [],
      },
    };
  },
  async created() {
    await this.initEditPage();
  },
};
</script>
