diff --git a/src/app/qr-code/img-input/img-input.component.html b/src/app/qr-code/img-input/img-input.component.html
new file mode 100644
index 0000000..c2b404b
--- /dev/null
+++ b/src/app/qr-code/img-input/img-input.component.html
@@ -0,0 +1,13 @@
+
diff --git a/src/app/qr-code/img-input/img-input.component.scss b/src/app/qr-code/img-input/img-input.component.scss
new file mode 100644
index 0000000..b052328
--- /dev/null
+++ b/src/app/qr-code/img-input/img-input.component.scss
@@ -0,0 +1,31 @@
+.input-img{
+ display: flex;
+ gap: 24px;
+ align-items: end;
+
+ .input-img-area{
+ display: inline-flex;
+ border: 1px solid var(--clr-gr);
+ border-radius: 12px;
+ padding: 12px;
+ }
+ }
+
+ input[type="file"]{
+ width: 240px;
+ height: 100px;
+ overflow: hidden ;
+ background: center no-repeat;
+ background-size: contain;
+ display: block;
+ &::file-selector-button {
+ width: 240px;
+ height: 100px;
+ color: transparent;
+ background-color: transparent;
+ padding: 10px 20px;
+
+ border: none;
+ cursor: pointer;
+ }
+ }
\ No newline at end of file
diff --git a/src/app/qr-code/img-input/img-input.component.ts b/src/app/qr-code/img-input/img-input.component.ts
new file mode 100644
index 0000000..1e16430
--- /dev/null
+++ b/src/app/qr-code/img-input/img-input.component.ts
@@ -0,0 +1,50 @@
+import { NgIf } from '@angular/common';
+import { Component, EventEmitter, Output} from '@angular/core';
+import { AssetsService } from '../../_services/assets.service';
+import {HttpEventType, HttpResponse} from "@angular/common/http";
+
+@Component({
+ selector: 'img-input',
+ standalone: true,
+ imports: [NgIf],
+ templateUrl: './img-input.component.html',
+ styleUrl: './img-input.component.scss'
+})
+export class ImgInputComponent {
+ public upload: any = {file: null, progress: 0};
+ public asset: any;
+ public value: any;
+ @Output() change = new EventEmitter()
+
+ constructor(private assetsService: AssetsService){}
+
+
+ get backGround(){
+ return this.value?.links?'url('+this.value.links.thumb+')':'url(assets/img/nir_logo_top.svg)'
+ }
+
+ clear() {
+ this.value = null;
+ this.setValue();
+ }
+
+ onFileInput(event: any) {
+ let file = event.target.files[0];
+ this.upload.file = file;
+ this.assetsService.upload(file).subscribe((result) => {
+ if (result.type === HttpEventType.UploadProgress) {
+ this.upload.progress = Math.round(100 * result.loaded / result.total);
+ } else if (result instanceof HttpResponse) {
+ this.upload = {file: null, progress: 0};
+ this.value = result.body.data;
+ this.setValue();
+ }
+ })
+ event.target.value = null;
+ }
+
+ setValue(){
+ this.change.emit(this.value)
+ }
+
+}
diff --git a/src/app/qr-code/qr-code.component.html b/src/app/qr-code/qr-code.component.html
index a5d3b6a..a8d4508 100644
--- a/src/app/qr-code/qr-code.component.html
+++ b/src/app/qr-code/qr-code.component.html
@@ -1,200 +1,106 @@
-