Skip to content
Snippets Groups Projects
FormPersonalInfo.vue 3.63 KiB
<template>
  <div class="q-pa-md">
    <p>Fill in your personal details, you will be able to review them in your personal dashboard before publishing</p>
    <div class="row">
      <div class="col-12 col-md">
        <q-form
          class="q-py-md col q-gutter-md"
          style="max-width: 80vw; width: 700px"
        >
          <div class="row q-pb-md q-gutter-sm">
            <div class="col-12 col-md-auto">
              <p class="text-caption">Salutation</p>
              <q-select
                v-model="salutation"
                :options="titles"
                outlined=""
                dense=""
                style="max-width: 200px;"
              />
            </div>
            <div class="col-12 col-md-auto">
              <p class="text-caption">Name (*)</p>
              <div class="row q-gutter-sm">
                <q-input
                  dense=""
                  outlined=""
                  type="text"
                  label="Name"
                />

              </div>
            </div>
            <div class="col-12 col-md-auto">
              <p class="text-caption">Surname (*)</p>
              <div class="row q-gutter-sm">

                <q-input
                  dense=""
                  outlined
                  type="text"
                  label="Surname"
                />
              </div>
            </div>

          </div>
          <div class="row  q-gutter-sm">
            <div class="col-12 col-md-auto">
              <p class="text-caption">Date of birth (*)</p>
              <q-input
                outlined=""
                dense=""
                v-model="date"
                mask="date"
                :rules="['date']"
                style="width: 200px"
              >
                <template v-slot:append>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                  >
                    <q-popup-proxy
                      ref="qDateProxy"
                      transition-show="scale"
                      transition-hide="scale"
                    >
                      <q-date
                        v-model="date"
                        @input="() => $refs.qDateProxy.hide()"
                      />
                    </q-popup-proxy>
                  </q-icon>
                </template>
              </q-input>
            </div>

            <div class="col-12 col-md">
              <p class="text-caption">Nationality (*)</p>
              <q-select
                dense=""
                outlined=""
                v-model="nationality"
                :options="countries"
                style="max-width: 200px;"
              />

            </div>
          </div>
          <div class="row q-pb-md q-gutter-sm">
            <div class="col-12 col-md-auto">
              <p class="text-caption">Profile picture</p>
              <q-uploader
                label="Upload a picture"
                multiple
                accept=".jpg, .png"
                style="max-width: 300px"
                auto-upload=""
                :filter="checkFileSize"
              />
              <div class="text-caption text-grey">Allowed file types: .jpg and .png<br>Max upload size 1Mb</div>
            </div>
          </div>
        </q-form>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  // name: 'ComponentName',
  data () {
    return { salutation: "Mr.", nationality: "USA", countries: ['USA'], date: '2001/01/01', titles: ['Mr', 'Mrs', 'Ms'] };
  },
  methods: {
    checkFileSize (files) {
      return files.filter(file => file.size < 1024 * 1024)
    },
  }
};
</script>

<style>
</style>