diff --git a/frontend/src/app/upload/upload.component.html b/frontend/src/app/upload/upload.component.html
index 335478d..f31c556 100644
--- a/frontend/src/app/upload/upload.component.html
+++ b/frontend/src/app/upload/upload.component.html
@@ -98,9 +98,12 @@
Your file is now securely stored on our servers.
-
-
-
+
+
+
@@ -109,5 +112,6 @@
diff --git a/frontend/src/app/upload/upload.component.ts b/frontend/src/app/upload/upload.component.ts
index 82568e4..fdc2c96 100644
--- a/frontend/src/app/upload/upload.component.ts
+++ b/frontend/src/app/upload/upload.component.ts
@@ -4,6 +4,7 @@ import {FormatFileSizePipePipe} from "../format-file-size-pipe.pipe";
import {FormsModule} from "@angular/forms";
import axios, {AxiosProgressEvent} from "axios";
import { DevelopmentStore } from '../../store/DevelopmentStore';
+import {RouterLink} from "@angular/router";
@Component({
selector: 'app-upload',
@@ -13,7 +14,8 @@ import { DevelopmentStore } from '../../store/DevelopmentStore';
FormatFileSizePipePipe,
FormsModule,
DecimalPipe,
- NgClass
+ NgClass,
+ RouterLink
],
templateUrl: './upload.component.html',
styleUrl: './upload.component.scss'
@@ -36,6 +38,7 @@ export class UploadComponent {
uploadData: FileDetails | null = null;
fileUrls: { downloadUrl: string, statusUrl: string, deleteUrl: string } | null = null;
+ urlCopied: boolean = false;
constructor(private developmentStore: DevelopmentStore) {
@@ -184,6 +187,17 @@ export class UploadComponent {
this.uploadProgress = this.targetUploadProgress;
}
}
+
+ copyUrlToClipboard(url: string | undefined) {
+ if(url) {
+ navigator.clipboard.writeText(url).then(() => {
+ this.urlCopied = true;
+ console.log('Text successfully copied to clipboard');
+ }).catch(err => {
+ console.error('Failed to copy text to clipboard', err);
+ });
+ }
+ }
}
interface FileDetails {
fileId: string;
diff --git a/frontend/src/assets/check-solid.svg b/frontend/src/assets/check-solid.svg
new file mode 100644
index 0000000..10da547
--- /dev/null
+++ b/frontend/src/assets/check-solid.svg
@@ -0,0 +1 @@
+
diff --git a/src/main/java/de/w665/sharepulse/service/FileService.java b/src/main/java/de/w665/sharepulse/service/FileService.java
index 7196442..57207e2 100644
--- a/src/main/java/de/w665/sharepulse/service/FileService.java
+++ b/src/main/java/de/w665/sharepulse/service/FileService.java
@@ -58,7 +58,10 @@ public class FileService {
String fileId = fileIdService.generateNewUniqueId();
- String password = fileSecurityService.generateFilePassword(); // TODO: generate password
+ String password = "";
+ if (passwordProtected) {
+ password = fileSecurityService.generateFilePassword();
+ }
FileUpload fileUpload = FileUpload.builder()
.fileId(fileId)