diff --git a/mocks/feed.mock.ts b/mocks/feed.mock.ts new file mode 100644 index 000000000..3a18e88eb --- /dev/null +++ b/mocks/feed.mock.ts @@ -0,0 +1,81 @@ +import { FeedCard } from 'src/app/core/models/feed-card.model'; +import { FeedBook } from 'src/app/core/models/feed-book.model'; +import { FeedEvent } from 'src/app/core/models/feed-event.model'; +import { FeedNews } from 'src/app/core/models/feed-news.model'; +import { FeedRecommandation } from 'src/app/core/models/feed-recommandation.model'; + +export const feedMock: FeedCard[] = [ + { + id: 1, + cardTitle: 'BESTSELLER', + type: 'BOOK', + books: { + id: 1, + firstBookAuthor: 'Michelle Obama', + firstBookTitle: 'Becoming Meine Geschichte', + firstBookType: 'B', + firstBookLanguage: 'Englisch', + firstBookPrice: '26,00 €', + firstBookIcon: 'Book1.png', + secondBookAuthor: 'Dörte Hansen', + secondBookTitle: 'Mittagsstunde', + secondBookType: 'B', + secondBookLanguage: 'Deutsch', + secondBookPrice: '22,00 €', + secondBookIcon: 'Book2.png', + } + }, + { + id: 2, + cardTitle: 'EVENT', + type: 'EVENT', + event: { + id: 1, + title: 'Lesung Manfred Bomm', + // tslint:disable-next-line:max-line-length + content: 'Möchten Sie an der Lesung des Krimiautors Manfred Bomm „Himmelsfelsen“ teilnehmen? Die Lesung findet am Dienstag, den 11.12.18 in der Filliale am Stachus in unserem große…' + } + }, + { + id: 3, + cardTitle: 'NEWS', + type: 'NEWS', + news: { + id: 1, + title: 'Neueröffnung am Stachus in München', + // tslint:disable-next-line:max-line-length + content: 'Sie sind das erste Mal nach der Neueröffnung in unserem Store? Entdecken Sie unsere neue Lesewelten, sowie neue interessante Veranstaltungen b…' + } + }, + { + id: 4, + cardTitle: 'EMPFEHLUNG', + type: 'REC', + recommandation: { + id: 1, + title: 'Hugendubel Geschenkkarte', + // tslint:disable-next-line:max-line-length + content: 'Sie haben noch kein Weihnachtsgeschenk und Ihre Lieben lesen gerne? Mit der Hugendubel Geschenkkarte machen Sie Groß und Klein glücklich.' + } + }, + { + id: 5, + cardTitle: 'BESTSELLER', + type: 'BOOK', + books: { + id: 1, + firstBookAuthor: 'Joanne K. Rowling', + firstBookTitle: 'Grindelwalds verbrechen', + firstBookType: 'B', + firstBookLanguage: 'Deutsch', + firstBookPrice: '19,99 €', + firstBookIcon: 'Book3.png', + secondBookAuthor: 'Michael Ende', + secondBookTitle: 'MOMO', + secondBookType: 'B', + secondBookLanguage: 'Deutsch', + secondBookPrice: '15,00 €', + secondBookIcon: 'Book4.png', + } + } +]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 87f1f083a..bd76697a1 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -7,10 +7,12 @@ import { ComponentsModule } from './modules/components.module'; import { processReducer } from './core/reducers/process.reducer'; import { StoreModule } from '@ngrx/store'; import { breadcrumbReducer } from './core/reducers/breadcrumb.reducer'; +import { feedReducer } from './core/reducers/feed.reducer'; const rootReducer = { processes: processReducer, - breadcrumbs: breadcrumbReducer + breadcrumbs: breadcrumbReducer, + feed: feedReducer }; @NgModule({ diff --git a/src/app/app.state.ts b/src/app/app.state.ts index 376a67341..56139acd1 100644 --- a/src/app/app.state.ts +++ b/src/app/app.state.ts @@ -1,7 +1,9 @@ import { Process } from './core/models/process.model'; import { Breadcrumb } from './core/models/breadcrumb.model'; +import { FeedCard } from './core/models/feed-card.model'; export class AppState { readonly processes: Process[]; readonly breadcrumbs: Breadcrumb[]; + readonly feed: FeedCard[]; } diff --git a/mocks/index.ts b/src/app/core/actions/feed.actions.ts similarity index 100% rename from mocks/index.ts rename to src/app/core/actions/feed.actions.ts diff --git a/src/app/core/models/feed-book.model.ts b/src/app/core/models/feed-book.model.ts new file mode 100644 index 000000000..0e96934c8 --- /dev/null +++ b/src/app/core/models/feed-book.model.ts @@ -0,0 +1,15 @@ +export interface FeedBook { + id: number; + firstBookAuthor: string; + firstBookTitle: string; + firstBookType: string; + firstBookLanguage: string; + firstBookPrice: string; + firstBookIcon: string; + secondBookAuthor: string; + secondBookTitle: string; + secondBookType: string; + secondBookLanguage: string; + secondBookPrice: string; + secondBookIcon: string; +} diff --git a/src/app/core/models/feed-card.model.ts b/src/app/core/models/feed-card.model.ts new file mode 100644 index 000000000..052045218 --- /dev/null +++ b/src/app/core/models/feed-card.model.ts @@ -0,0 +1,14 @@ +import { FeedBook } from './feed-book.model'; +import { FeedEvent } from './feed-event.model'; +import { FeedNews } from './feed-news.model'; +import { FeedRecommandation } from './feed-recommandation.model'; + +export interface FeedCard { + id: number; + cardTitle: string; + type: string; + books: FeedBook; + event: FeedEvent; + news: FeedNews; + recommandation: FeedRecommandation; +} diff --git a/src/app/core/models/feed-event.model.ts b/src/app/core/models/feed-event.model.ts new file mode 100644 index 000000000..81e3e1407 --- /dev/null +++ b/src/app/core/models/feed-event.model.ts @@ -0,0 +1,5 @@ +export interface FeedEvent { + id: number; + title: string; + content: string; +} diff --git a/src/app/core/models/feed-news.model.ts b/src/app/core/models/feed-news.model.ts new file mode 100644 index 000000000..b1cc30a94 --- /dev/null +++ b/src/app/core/models/feed-news.model.ts @@ -0,0 +1,6 @@ +export interface FeedNews { + id: number; + title: string; + content: string; + icon: string; +} diff --git a/src/app/core/models/feed-recommandation.model.ts b/src/app/core/models/feed-recommandation.model.ts new file mode 100644 index 000000000..a43699196 --- /dev/null +++ b/src/app/core/models/feed-recommandation.model.ts @@ -0,0 +1,5 @@ +export interface FeedRecommandation { + id: number; + title: string; + content: string; +} diff --git a/src/app/core/reducers/feed.reducer.ts b/src/app/core/reducers/feed.reducer.ts new file mode 100644 index 000000000..a391da472 --- /dev/null +++ b/src/app/core/reducers/feed.reducer.ts @@ -0,0 +1,6 @@ +import { FeedCard } from '../models/feed-card.model'; +import { feedMock } from 'mocks/feed.mock'; + +export function feedReducer(feed: FeedCard[] = feedMock, action: any) { + return feed; +} diff --git a/src/assets/images/Book1.png b/src/assets/images/Book1.png new file mode 100644 index 000000000..017d04b2d Binary files /dev/null and b/src/assets/images/Book1.png differ diff --git a/src/assets/images/Book2.png b/src/assets/images/Book2.png new file mode 100644 index 000000000..ee82fb5f5 Binary files /dev/null and b/src/assets/images/Book2.png differ diff --git a/src/assets/images/Book3.png b/src/assets/images/Book3.png new file mode 100644 index 000000000..4ac0db9be Binary files /dev/null and b/src/assets/images/Book3.png differ diff --git a/src/assets/images/Book4.png b/src/assets/images/Book4.png new file mode 100644 index 000000000..9cbc156d8 Binary files /dev/null and b/src/assets/images/Book4.png differ diff --git a/src/assets/images/Empfehlungen_Icon.svg b/src/assets/images/Empfehlungen_Icon.svg new file mode 100644 index 000000000..42937460f --- /dev/null +++ b/src/assets/images/Empfehlungen_Icon.svg @@ -0,0 +1,11 @@ + + + + Empfehlungen_Icon + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/src/assets/images/Icon_Book.svg b/src/assets/images/Icon_Book.svg new file mode 100644 index 000000000..671e37e3b --- /dev/null +++ b/src/assets/images/Icon_Book.svg @@ -0,0 +1,11 @@ + + + + Icon_Book + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/src/assets/scss/_variables.scss b/src/assets/scss/_variables.scss index 0055e272e..b760f1372 100644 --- a/src/assets/scss/_variables.scss +++ b/src/assets/scss/_variables.scss @@ -3,4 +3,5 @@ $color-active: #172062; $color-inactive: #acbcce; $hima-content-color: #E9EDF9; $hima-content-shadow-color: #dde5ec; -$hima-color-red: #EA0000; \ No newline at end of file +$hima-color-red: #EA0000; +$important-notification: #172062; \ No newline at end of file