|
16 | 16 | <input type="file" ref="bannerInput" @change="previewBannerImage">
|
17 | 17 | <img src="../../assets/icons/envio.png" alt="">
|
18 | 18 | </div>
|
19 |
| - <button v-show="modeBanner === 'edit'" @click="updateBannerImage" type="button"> |
| 19 | + <button v-show="modeBanner === 'edit' && $refs.bannerInput.value != []" |
| 20 | + @click="updateBannerImage" type="button"> |
20 | 21 | <img :src="imgVerificar">Salvar
|
21 | 22 | </button>
|
22 | 23 | <button v-show="modeBanner === 'edit'" @click="cancelBanner" type="button">
|
|
27 | 28 | <div class="infoProfile">
|
28 | 29 | <img v-if="aluno.imageUrl == 'default'" src="../../assets/icons/artwork.png" :alt="aluno.nome">
|
29 | 30 | <img v-else :src="aluno.imageUrl" :alt="aluno.nome">
|
| 31 | + <div class="inputUpload" v-show="modeImage === 'edit'"> |
| 32 | + <input type="file" ref="profileInput" v-show="modeImage === 'edit'" @change="previewProfileImage"> |
| 33 | + <img src="../../assets/icons/envio.png" alt=""> |
| 34 | + </div> |
30 | 35 | <div class="editButtons">
|
31 | 36 | <button v-show="modeImage === 'view'" @click="editModeImage" type="button">
|
32 | 37 | <img :src="imgLapis" alt="">Editar
|
33 | 38 | </button>
|
34 |
| - <input type="file" ref="profileInput" v-show="modeImage === 'edit'"> |
35 |
| - <button v-show="modeImage === 'edit'" @click="updateProfileImage" type="button"> |
| 39 | + <button v-show="modeImage === 'edit' && $refs.profileInput.value != []" |
| 40 | + @click="updateProfileImage" type="button"> |
36 | 41 | <img :src="imgVerificar">Salvar
|
37 | 42 | </button>
|
38 | 43 | <button v-show="modeImage === 'edit'" @click="cancelImage" type="button">
|
@@ -169,9 +174,13 @@ export default {
|
169 | 174 | this.editMode();
|
170 | 175 | },
|
171 | 176 | async cancelImage() {
|
| 177 | + await this.getCurriculoAluno(); |
| 178 | + this.$refs.profileInput.value = []; |
172 | 179 | this.editModeImage();
|
173 | 180 | },
|
174 | 181 | async cancelBanner() {
|
| 182 | + await this.getCurriculoAluno(); |
| 183 | + this.$refs.bannerInput.value = []; |
175 | 184 | this.editModeBanner();
|
176 | 185 | },
|
177 | 186 | calcularIdade(nascimento) {
|
@@ -229,6 +238,7 @@ export default {
|
229 | 238 | });
|
230 | 239 |
|
231 | 240 | if (responseBanner.status >= 200 && responseBanner.status < 300) {
|
| 241 | + console.log("Pegando o banner do aluno"); |
232 | 242 | this.aluno.bannerUrl = responseBanner.data.url;
|
233 | 243 | } else {
|
234 | 244 | console.log("Ops.. Algo deu errado ao recuperar a imagem de capa do perfil. 😕\n" + responseBanner.message);
|
@@ -273,6 +283,16 @@ export default {
|
273 | 283 | await this.getCurriculoAluno();
|
274 | 284 | this.editModeBanner();
|
275 | 285 | },
|
| 286 | + previewProfileImage(event){ |
| 287 | + const file = event.target.files[0]; |
| 288 | + if (!file) return; |
| 289 | +
|
| 290 | + const reader = new FileReader(); |
| 291 | + reader.onload = e => { |
| 292 | + this.aluno.imageUrl = e.target.result; |
| 293 | + }; |
| 294 | + reader.readAsDataURL(file); |
| 295 | + }, |
276 | 296 | previewBannerImage(event) {
|
277 | 297 | const file = event.target.files[0];
|
278 | 298 | if (!file) return;
|
|
0 commit comments