Add default icon to feeds

Every feed has an icon. If not set by the user, the database
automatically sets the default icon to media/default-icon-svg.
This commit is contained in:
Tobias Eidelpes 2021-05-03 17:19:50 +02:00
parent af628a1727
commit f9a4331cb1
4 changed files with 5 additions and 7 deletions

2
backend/.gitignore vendored
View File

@ -1,7 +1,7 @@
venv venv
*.pyc *.pyc
staticfiles staticfiles
media media/feed-icons
.env .env
*.sqlite3 *.sqlite3
*.sqlite *.sqlite

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -9,7 +9,7 @@ class User(models.Model):
class Feed(models.Model): class Feed(models.Model):
url = models.TextField(blank=False, null=False, validators=[URLValidator(['http', 'https'])]) url = models.TextField(blank=False, null=False, validators=[URLValidator(['http', 'https'])])
active = models.BooleanField() active = models.BooleanField()
icon = models.FileField(upload_to='feed-icons', blank=True, null=True, icon = models.FileField(upload_to='feed-icons', blank=True, null=False, default='default-icon.svg',
validators=[FileExtensionValidator(['png', 'svg'])]) validators=[FileExtensionValidator(['png', 'svg'])])
keywords = models.TextField(blank=False, null=False) keywords = models.TextField(blank=False, null=False)
match_all_keywords = models.BooleanField(blank=True, default=False) match_all_keywords = models.BooleanField(blank=True, default=False)

View File

@ -1,11 +1,11 @@
import {Component, OnInit} from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {HttpClient} from '@angular/common/http'; import {HttpClient} from '@angular/common/http';
import {Observable, throwError} from 'rxjs'; import {throwError} from 'rxjs';
import {MatSnackBar} from '@angular/material/snack-bar'; import {MatSnackBar} from '@angular/material/snack-bar';
import {NGXLogger} from 'ngx-logger'; import {NGXLogger} from 'ngx-logger';
import {IFeed} from '../../interfaces/feed.interface'; import {IFeed} from '../../interfaces/feed.interface';
import {FeedService} from '../../services/feed.service'; import {FeedService} from '../../services/feed.service';
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router'; import {ActivatedRoute} from '@angular/router';
@Component({ @Component({
selector: 'app-einstellungen', selector: 'app-einstellungen',
@ -22,10 +22,8 @@ export class EinstellungenComponent implements OnInit {
private _snackbar: MatSnackBar, private _snackbar: MatSnackBar,
private _logger: NGXLogger, private _logger: NGXLogger,
private _feedService: FeedService, private _feedService: FeedService,
private _route: ActivatedRoute, private _route: ActivatedRoute) {
private _router: Router) {
this.icon = 'assets/logo.svg'; this.icon = 'assets/logo.svg';
this._router.routeReuseStrategy.shouldReuseRoute = () => false;
this._feedService.getFeeds().toPromise().then(data => this.feeds = data).catch(err => this._logger.error(err)); this._feedService.getFeeds().toPromise().then(data => this.feeds = data).catch(err => this._logger.error(err));
} }