mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-10-31 00:53:08 +00:00 
			
		
		
		
	Adjust css
This commit is contained in:
		| @@ -81,8 +81,8 @@ | |||||||
|  |  | ||||||
|       > img, > video { |       > img, > video { | ||||||
|         width: 100% !important; |         width: 100% !important; | ||||||
|         object-fit: contain; |         object-fit: cover; | ||||||
|         height: auto; |         height: 100% !important; | ||||||
|         max-height: 100%; |         max-height: 100%; | ||||||
|       } |       } | ||||||
|  |  | ||||||
| @@ -98,23 +98,38 @@ | |||||||
|  |  | ||||||
|     &-edit { |     &-edit { | ||||||
|       display: flex; |       display: flex; | ||||||
|       flex-direction: column-reverse; |       flex-direction: column; | ||||||
|       align-items: center; |       align-items: center; | ||||||
|       justify-content: center; |       justify-content: center; | ||||||
|       width: 100%; |       width: 100%; | ||||||
|  |  | ||||||
|       > a { |       > div { | ||||||
|         margin-bottom: 15px; |         max-width: 100%; | ||||||
|       } |  | ||||||
|  |  | ||||||
|         > input { |         > input { | ||||||
|         font-size: .8em; |  | ||||||
|           font-weight: normal; |           font-weight: normal; | ||||||
|           cursor: pointer; |           cursor: pointer; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         > button { | ||||||
|  |           min-width: 30%; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         @media (min-width: 750px) { | ||||||
|  |           height: auto; | ||||||
|  |           align-items: center; | ||||||
|  |           display: inline-flex; | ||||||
|  |           overflow: hidden; | ||||||
|  |  | ||||||
|  |           > input { | ||||||
|  |             font-size: .6em; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |       } | ||||||
|  |  | ||||||
|       > p { |       > p { | ||||||
|         margin-bottom: 0; |         margin-bottom: 10px; | ||||||
|         text-align: left !important; |         text-align: left !important; | ||||||
|         min-height: 50px; |         min-height: 50px; | ||||||
|       } |       } | ||||||
|   | |||||||
| @@ -12,7 +12,6 @@ | |||||||
|   <div class="profile-picture" x-data="camera_{{ field_name }}" > |   <div class="profile-picture" x-data="camera_{{ field_name }}" > | ||||||
|     <div class="profile-picture-display" :aria-busy="loading" :class="{ 'camera-error': is_camera_error }"> |     <div class="profile-picture-display" :aria-busy="loading" :class="{ 'camera-error': is_camera_error }"> | ||||||
|       <img |       <img | ||||||
|         x-ref="img" |  | ||||||
|         x-show="!is_camera_enabled && !is_camera_error" |         x-show="!is_camera_enabled && !is_camera_error" | ||||||
|         :src="get_picture()" |         :src="get_picture()" | ||||||
|         alt="{%- trans -%}Profile{%- endtrans -%}" title="{%- trans -%}Profile{%- endtrans -%}" |         alt="{%- trans -%}Profile{%- endtrans -%}" title="{%- trans -%}Profile{%- endtrans -%}" | ||||||
| @@ -48,15 +47,17 @@ | |||||||
|     </div> |     </div> | ||||||
|     <div x-ref="form" class="profile-picture-edit"> |     <div x-ref="form" class="profile-picture-edit"> | ||||||
|       {%- if form[field_name] -%} |       {%- if form[field_name] -%} | ||||||
|         <p> |         <div> | ||||||
|           {{ form[field_name].label }} |  | ||||||
|         </p> |  | ||||||
|           {{ form[field_name] }} |           {{ form[field_name] }} | ||||||
|           {%- if user.is_root and form.instance[field_name] -%} |           {%- if user.is_root and form.instance[field_name] -%} | ||||||
|           <button class="btn btn-red" @click.prevent="window.open('{{ url('core:file_delete', file_id=form.instance[field_name].id, popup='') }}')"> |             <button class="btn btn-red" @click.prevent="window.open('{{ url('core:file_delete', file_id=form.instance[field_name].id, popup='') }}', '_self')"> | ||||||
|               {%- trans -%}Delete{%- endtrans -%} |               {%- trans -%}Delete{%- endtrans -%} | ||||||
|             </button> |             </button> | ||||||
|           {%- endif -%} |           {%- endif -%} | ||||||
|  |         </div> | ||||||
|  |         <p> | ||||||
|  |           {{ form[field_name].label }} | ||||||
|  |         </p> | ||||||
|       {%- else -%} |       {%- else -%} | ||||||
|         <em>{% trans %}To edit your profile picture, ask a member of the AE{% endtrans %}</em> |         <em>{% trans %}To edit your profile picture, ask a member of the AE{% endtrans %}</em> | ||||||
|       {%- endif -%} |       {%- endif -%} | ||||||
| @@ -67,17 +68,19 @@ | |||||||
|       Alpine.data("camera_{{ field_name }}", () => ({ |       Alpine.data("camera_{{ field_name }}", () => ({ | ||||||
|         can_edit_picture: false, |         can_edit_picture: false, | ||||||
|  |  | ||||||
|  |         /* Those values are based on the unknwon.jpg file */ | ||||||
|  |         width: 417, | ||||||
|  |         height: 434, | ||||||
|  |  | ||||||
|         loading: false, |         loading: false, | ||||||
|         is_camera_enabled: false, |         is_camera_enabled: false, | ||||||
|         is_camera_error: false, |         is_camera_error: false, | ||||||
|         picture: null, |         picture: null, | ||||||
|         video: null, |         video: null, | ||||||
|         img: null, |  | ||||||
|         picture_form: null, |         picture_form: null, | ||||||
|  |  | ||||||
|         init() { |         init() { | ||||||
|           this.video = this.$refs.video; |           this.video = this.$refs.video; | ||||||
|           this.img = this.$refs.img; |  | ||||||
|           this.picture_form = this.$refs.form.getElementsByTagName("input"); |           this.picture_form = this.$refs.form.getElementsByTagName("input"); | ||||||
|           if (this.picture_form.length > 0){ |           if (this.picture_form.length > 0){ | ||||||
|             this.picture_form = this.picture_form[0]; |             this.picture_form = this.picture_form[0]; | ||||||
| @@ -106,9 +109,9 @@ | |||||||
|             .then((stream) => { |             .then((stream) => { | ||||||
|               this.loading = false; |               this.loading = false; | ||||||
|               this.is_camera_enabled = true; |               this.is_camera_enabled = true; | ||||||
|               this.video.width = this.img.width; |  | ||||||
|               this.video.height = this.img.height; |  | ||||||
|               this.video.srcObject = stream; |               this.video.srcObject = stream; | ||||||
|  |               this.video.width = 320; | ||||||
|  |               this.video.height = 240; | ||||||
|               this.video.play(); |               this.video.play(); | ||||||
|             }) |             }) | ||||||
|             .catch((err) => { |             .catch((err) => { | ||||||
| @@ -121,6 +124,12 @@ | |||||||
|           let canvas = document.createElement("canvas") |           let canvas = document.createElement("canvas") | ||||||
|           const context = canvas.getContext("2d"); |           const context = canvas.getContext("2d"); | ||||||
|  |  | ||||||
|  |           /* Create the image */ | ||||||
|  |           canvas.width = this.video.width; | ||||||
|  |           canvas.height = this.video.height; | ||||||
|  |           context.drawImage(this.video, 0, 0, canvas.width, canvas.height); | ||||||
|  |           this.picture = canvas.toDataURL("image/png"); | ||||||
|  |  | ||||||
|           /* Stop camera */ |           /* Stop camera */ | ||||||
|           this.video.pause() |           this.video.pause() | ||||||
|           this.video.srcObject.getTracks().forEach((track) => { |           this.video.srcObject.getTracks().forEach((track) => { | ||||||
| @@ -129,11 +138,6 @@ | |||||||
|             } |             } | ||||||
|           }); |           }); | ||||||
|  |  | ||||||
|           canvas.width = this.video.width; |  | ||||||
|           canvas.height = this.video.height; |  | ||||||
|           context.drawImage(this.video, 0, 0, this.video.width, this.video.height); |  | ||||||
|           this.picture = canvas.toDataURL("image/png"); |  | ||||||
|  |  | ||||||
|           canvas.toBlob((blob) => { |           canvas.toBlob((blob) => { | ||||||
|             let file = new File( |             let file = new File( | ||||||
|               [blob], |               [blob], | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user