Skip to content

Commit

Permalink
send created redirect
Browse files Browse the repository at this point in the history
  • Loading branch information
jaasen-livefront committed Sep 17, 2024
1 parent a151f40 commit 36711d5
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,9 @@ export class SendAddEditComponent {
* Handles the event when the send is saved.
*/
onSendSaved() {
this.location.back();
if (this.config.mode !== "add") {
this.location.back();
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
<main class="tw-top-0">
<popup-page>
<popup-header slot="header" [pageTitle]="'createdSend' | i18n" showBackButton>
<popup-header
slot="header"
[pageTitle]="'createdSend' | i18n"
showBackButton
[backAction]="close.bind(this)"
>
<ng-container slot="end">
<app-pop-out></app-pop-out>
</ng-container>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { CommonModule, Location } from "@angular/common";
import { CommonModule } from "@angular/common";
import { Component } from "@angular/core";
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { ActivatedRoute, RouterLink } from "@angular/router";
import { ActivatedRoute, Router, RouterLink, RouterModule } from "@angular/router";
import { firstValueFrom } from "rxjs";

import { JslibModule } from "@bitwarden/angular/jslib.module";
Expand Down Expand Up @@ -30,6 +30,7 @@ import { PopupPageComponent } from "../../../../platform/popup/layout/popup-page
PopupHeaderComponent,
PopupPageComponent,
RouterLink,
RouterModule,
PopupFooterComponent,
IconModule,
],
Expand All @@ -45,10 +46,11 @@ export class SendCreatedComponent {
private sendService: SendService,
private route: ActivatedRoute,
private toastService: ToastService,
private location: Location,
private router: Router,
private environmentService: EnvironmentService,
) {
const sendId = this.route.snapshot.queryParamMap.get("sendId");

this.sendService.sendViews$.pipe(takeUntilDestroyed()).subscribe((sendViews) => {
this.send = sendViews.find((s) => s.id === sendId);
if (this.send) {
Expand All @@ -62,8 +64,8 @@ export class SendCreatedComponent {
return Math.max(0, Math.ceil((send.deletionDate.getTime() - now) / (1000 * 60 * 60 * 24)));
}

close() {
this.location.back();
async close() {
await this.router.navigate(["/tabs/send"]);
}

async copyLink() {
Expand Down
3 changes: 2 additions & 1 deletion libs/common/src/tools/send/services/send-api.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,12 @@ export class SendApiService implements SendApiServiceAbstraction {
return this.apiService.send("DELETE", "/sends/" + id, null, true, false);
}

async save(sendData: [Send, EncArrayBuffer]): Promise<any> {
async save(sendData: [Send, EncArrayBuffer]): Promise<SendData> {
const response = await this.upload(sendData);

const data = new SendData(response);
await this.sendService.upsert(data);
return data;
}

async delete(id: string): Promise<any> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
} from "@angular/core";
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { FormBuilder, ReactiveFormsModule } from "@angular/forms";
import { Router } from "@angular/router";

import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { SendType } from "@bitwarden/common/tools/send/enums/send-type";
Expand Down Expand Up @@ -186,6 +187,7 @@ export class SendFormComponent implements AfterViewInit, OnInit, OnChanges, Send
private addEditFormService: SendFormService,
private toastService: ToastService,
private i18nService: I18nService,
private router: Router,
) {}

submit = async () => {
Expand All @@ -195,18 +197,24 @@ export class SendFormComponent implements AfterViewInit, OnInit, OnChanges, Send
}

// TODO: Add file handling
await this.addEditFormService.saveSend(this.updatedSendView, null, this.config);
const sendView = await this.addEditFormService.saveSend(
this.updatedSendView,
null,
this.config,
);

if (this.config.mode === "add") {
await this.router.navigate(["/send-created"], {
queryParams: { sendId: sendView.id },
});
return;
}

this.toastService.showToast({
variant: "success",
title: null,
message: this.i18nService.t(
this.config.mode === "edit" || this.config.mode === "partial-edit"
? "editedItem"
: "addedItem",
),
message: this.i18nService.t("editedItem"),
});

this.sendSaved.emit(this.updatedSendView);
};
}

0 comments on commit 36711d5

Please sign in to comment.