Skip to content

Commit e61c827

Browse files
committed
feat: add create news method in news service
1 parent e6f5a2d commit e61c827

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

src/app/core/services/news.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,13 @@ export class NewsService {
3333
}
3434

3535
createNews(news: NewsRequest): Observable<News> {
36+
const formNewsData: FormData = new FormData();
37+
38+
formNewsData.append("title", news.title);
39+
formNewsData.append("body", news.body);
40+
formNewsData.append("image", news.image);
41+
3642
return this.httpClient
37-
.post<News>(`${this.serverUrl}/api/user/news`, news);
43+
.post<News>(`${this.serverUrl}/api/user/news`, formNewsData);
3844
}
3945
}

src/app/pages/user/create-news-page/create-news-page.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ <h2>Crear Noticia</h2>
5252
<input
5353
(change)="onImageChange($event)"
5454
accept="image/jpeg, image/png"
55+
class="sr-only"
5556
id="file-upload"
5657
name="file-upload"
5758
type="file"
@@ -75,7 +76,7 @@ <h2>Crear Noticia</h2>
7576
Cancelar
7677
</button>
7778
</a>
78-
<button type="submit" class="btn-success">
79+
<button [disabled]="newsForm.invalid" type="submit" class="btn-success disabled:bg-indigo-500">
7980
Guardar
8081
</button>
8182
</div>

src/app/pages/user/create-news-page/create-news-page.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Component, inject } from "@angular/core";
22
import { FormBuilder, FormGroup, Validators } from "@angular/forms";
3+
import { Router } from "@angular/router";
34
import { ToastrService } from "ngx-toastr";
45

56
import { NewsService } from "../../../core/services/news.service";
@@ -11,6 +12,7 @@ import { NewsService } from "../../../core/services/news.service";
1112
})
1213
export class CreateNewsPageComponent {
1314
private formBuilder = inject(FormBuilder);
15+
private router = inject(Router);
1416
private toastrService = inject(ToastrService);
1517

1618
public imageUrl: string = "";
@@ -40,6 +42,7 @@ export class CreateNewsPageComponent {
4042
.subscribe({
4143
next: (res) => {
4244
this.toastrService.success("La noticia se creó exitosamente");
45+
this.router.navigateByUrl("/user/news");
4346
}
4447
});
4548
}

0 commit comments

Comments
 (0)