From 94f4ed63278d9d42cb2089c75be241f4eeffcedf Mon Sep 17 00:00:00 2001 From: Sonny Date: Sun, 24 Nov 2019 16:41:46 +0100 Subject: [PATCH] Redux refactor --- .../categories/components/CategoryCard.js | 2 +- .../js/pages/homepage/actions/categories.js | 17 ++- .../js/pages/homepage/actions/posts.js | 64 +++++------ .../js/pages/homepage/actions/rules.js | 10 +- .../js/pages/homepage/actions/selected.js | 41 ++++--- .../js/pages/homepage/components/PostModal.js | 6 +- .../homepage/components/feedlist/FeedList.js | 13 +-- .../homepage/components/feedlist/PostItem.js | 2 +- .../homepage/components/feedlist/RuleItem.js | 1 - .../homepage/components/feedlist/filters.js | 18 ++-- .../components/sidebar/CategoryItem.js | 17 ++- .../homepage/components/sidebar/RuleItem.js | 31 +++--- .../homepage/components/sidebar/Sidebar.js | 1 - .../homepage/components/sidebar/functions.js | 7 ++ src/newsreader/js/pages/homepage/constants.js | 2 + .../js/pages/homepage/reducers/categories.js | 101 +++++++----------- .../js/pages/homepage/reducers/posts.js | 22 ++-- .../js/pages/homepage/reducers/rules.js | 62 +++++++---- .../js/pages/homepage/reducers/selected.js | 34 ++++-- .../news/core/templates/core/category.html | 2 +- .../scss/components/body/_body.scss | 2 + src/newsreader/scss/elements/a/_a.scss | 3 + src/newsreader/scss/elements/a/index.scss | 1 + .../scss/elements/button/_button.scss | 6 +- src/newsreader/scss/elements/index.scss | 1 + src/newsreader/scss/elements/link/_link.scss | 1 + .../components/category/_category.scss | 5 +- .../components/post-block/_post-block.scss | 2 +- .../pages/homepage/components/post/_post.scss | 7 +- .../posts-header/_posts-header.scss | 6 +- .../homepage/components/posts/_posts.scss | 7 +- .../pages/homepage/components/rule/_rule.scss | 5 + .../homepage/components/rules/_rules.scss | 5 +- .../pages/homepage/elements/badge/_badge.scss | 5 +- src/newsreader/scss/partials/_colors.scss | 3 +- src/newsreader/static/icons/alarm.svg | 6 ++ src/newsreader/static/icons/apartment.svg | 30 ++++++ .../static/icons/arrow-down-circle.svg | 7 ++ src/newsreader/static/icons/arrow-down.svg | 6 ++ .../static/icons/arrow-left-circle.svg | 7 ++ src/newsreader/static/icons/arrow-left.svg | 12 +-- .../static/icons/arrow-right-circle.svg | 7 ++ src/newsreader/static/icons/arrow-right.svg | 6 ++ .../static/icons/arrow-up-circle.svg | 7 ++ src/newsreader/static/icons/arrow-up.svg | 6 ++ src/newsreader/static/icons/bicycle.svg | 9 ++ src/newsreader/static/icons/bold.svg | 8 ++ src/newsreader/static/icons/book.svg | 7 ++ src/newsreader/static/icons/bookmark.svg | 6 ++ src/newsreader/static/icons/briefcase.svg | 6 ++ src/newsreader/static/icons/bubble.svg | 6 ++ src/newsreader/static/icons/bug.svg | 6 ++ src/newsreader/static/icons/bullhorn.svg | 6 ++ src/newsreader/static/icons/bus.svg | 10 ++ src/newsreader/static/icons/calendar-full.svg | 25 +++++ src/newsreader/static/icons/camera-video.svg | 7 ++ src/newsreader/static/icons/camera.svg | 7 ++ src/newsreader/static/icons/car.svg | 8 ++ src/newsreader/static/icons/cart.svg | 8 ++ src/newsreader/static/icons/chart-bars.svg | 9 ++ .../static/icons/checkmark-circle.svg | 7 ++ .../static/icons/chevron-down-circle.svg | 7 ++ src/newsreader/static/icons/chevron-down.svg | 12 +-- .../static/icons/chevron-left-circle.svg | 7 ++ src/newsreader/static/icons/chevron-left.svg | 6 ++ .../static/icons/chevron-right-circle.svg | 7 ++ src/newsreader/static/icons/chevron-right.svg | 12 +-- .../static/icons/chevron-up-circle.svg | 7 ++ src/newsreader/static/icons/chevron-up.svg | 6 ++ src/newsreader/static/icons/circle-minus.svg | 7 ++ src/newsreader/static/icons/clock.svg | 7 ++ src/newsreader/static/icons/cloud-check.svg | 7 ++ .../static/icons/cloud-download.svg | 7 ++ src/newsreader/static/icons/cloud-sync.svg | 8 ++ src/newsreader/static/icons/cloud-upload.svg | 7 ++ src/newsreader/static/icons/cloud.svg | 6 ++ src/newsreader/static/icons/code.svg | 8 ++ src/newsreader/static/icons/coffee-cup.svg | 7 ++ src/newsreader/static/icons/cog.svg | 7 ++ src/newsreader/static/icons/construction.svg | 6 ++ src/newsreader/static/icons/crop.svg | 9 ++ src/newsreader/static/icons/cross-circle.svg | 7 ++ src/newsreader/static/icons/cross.svg | 6 ++ src/newsreader/static/icons/database.svg | 6 ++ src/newsreader/static/icons/diamond.svg | 6 ++ src/newsreader/static/icons/dice.svg | 12 +++ src/newsreader/static/icons/dinner.svg | 7 ++ src/newsreader/static/icons/direction-ltr.svg | 7 ++ src/newsreader/static/icons/direction-rtl.svg | 7 ++ src/newsreader/static/icons/download.svg | 7 ++ src/newsreader/static/icons/drop.svg | 6 ++ src/newsreader/static/icons/earth.svg | 6 ++ src/newsreader/static/icons/enter-down.svg | 7 ++ src/newsreader/static/icons/enter.svg | 7 ++ src/newsreader/static/icons/envelope.svg | 6 ++ src/newsreader/static/icons/exit-up.svg | 7 ++ src/newsreader/static/icons/exit.svg | 7 ++ src/newsreader/static/icons/eye.svg | 6 ++ src/newsreader/static/icons/file-add.svg | 7 ++ src/newsreader/static/icons/file-empty.svg | 6 ++ src/newsreader/static/icons/film-play.svg | 7 ++ src/newsreader/static/icons/flag.svg | 7 ++ .../static/icons/frame-contract.svg | 9 ++ src/newsreader/static/icons/frame-expand.svg | 9 ++ src/newsreader/static/icons/funnel.svg | 6 ++ src/newsreader/static/icons/gift.svg | 6 ++ .../static/icons/graduation-hat.svg | 6 ++ src/newsreader/static/icons/hand.svg | 6 ++ src/newsreader/static/icons/heart-pulse.svg | 8 ++ src/newsreader/static/icons/heart.svg | 6 ++ src/newsreader/static/icons/highlight.svg | 6 ++ src/newsreader/static/icons/history.svg | 7 ++ src/newsreader/static/icons/home.svg | 6 ++ src/newsreader/static/icons/hourglass.svg | 7 ++ src/newsreader/static/icons/inbox.svg | 6 ++ .../static/icons/indent-decrease.svg | 11 ++ .../static/icons/indent-increase.svg | 11 ++ src/newsreader/static/icons/italic.svg | 6 ++ src/newsreader/static/icons/keyboard.svg | 27 +++++ src/newsreader/static/icons/laptop-phone.svg | 9 ++ src/newsreader/static/icons/laptop.svg | 7 ++ src/newsreader/static/icons/layers.svg | 8 ++ src/newsreader/static/icons/leaf.svg | 6 ++ src/newsreader/static/icons/license.svg | 12 +++ src/newsreader/static/icons/lighter.svg | 7 ++ src/newsreader/static/icons/line-spacing.svg | 10 ++ src/newsreader/static/icons/linearicons.svg | 7 ++ src/newsreader/static/icons/link.svg | 8 +- src/newsreader/static/icons/list.svg | 11 ++ src/newsreader/static/icons/location.svg | 6 ++ src/newsreader/static/icons/lock.svg | 6 ++ src/newsreader/static/icons/magic-wand.svg | 10 ++ src/newsreader/static/icons/magnifier.svg | 6 ++ src/newsreader/static/icons/map-marker.svg | 7 ++ src/newsreader/static/icons/map.svg | 6 ++ src/newsreader/static/icons/menu-circle.svg | 9 ++ src/newsreader/static/icons/menu.svg | 8 ++ src/newsreader/static/icons/mic.svg | 7 ++ src/newsreader/static/icons/moon.svg | 6 ++ src/newsreader/static/icons/move.svg | 6 ++ src/newsreader/static/icons/music-note.svg | 6 ++ src/newsreader/static/icons/mustache.svg | 9 ++ src/newsreader/static/icons/neutral.svg | 9 ++ src/newsreader/static/icons/page-break.svg | 14 +++ src/newsreader/static/icons/paperclip.svg | 6 ++ src/newsreader/static/icons/paw.svg | 10 ++ src/newsreader/static/icons/pencil.svg | 6 ++ src/newsreader/static/icons/phone-handset.svg | 6 ++ src/newsreader/static/icons/phone.svg | 8 ++ src/newsreader/static/icons/picture.svg | 8 ++ src/newsreader/static/icons/pie-chart.svg | 7 ++ src/newsreader/static/icons/pilcrow.svg | 6 ++ src/newsreader/static/icons/plus-circle.svg | 7 ++ src/newsreader/static/icons/pointer-down.svg | 6 ++ src/newsreader/static/icons/pointer-left.svg | 6 ++ src/newsreader/static/icons/pointer-right.svg | 6 ++ src/newsreader/static/icons/pointer-up.svg | 6 ++ src/newsreader/static/icons/poop.svg | 6 ++ src/newsreader/static/icons/power-switch.svg | 7 ++ src/newsreader/static/icons/printer.svg | 10 ++ src/newsreader/static/icons/pushpin.svg | 6 ++ .../static/icons/question-circle.svg | 8 ++ src/newsreader/static/icons/redo.svg | 6 ++ src/newsreader/static/icons/rocket.svg | 8 ++ src/newsreader/static/icons/sad.svg | 9 ++ src/newsreader/static/icons/screen.svg | 6 ++ src/newsreader/static/icons/select.svg | 7 ++ src/newsreader/static/icons/shirt.svg | 6 ++ src/newsreader/static/icons/smartphone.svg | 8 ++ src/newsreader/static/icons/smile.svg | 9 ++ .../static/icons/sort-alpha-asc.svg | 8 ++ .../static/icons/sort-amount-asc.svg | 10 ++ src/newsreader/static/icons/spell-check.svg | 9 ++ src/newsreader/static/icons/star-empty.svg | 15 +++ src/newsreader/static/icons/star-half.svg | 10 ++ src/newsreader/static/icons/star.svg | 6 ++ src/newsreader/static/icons/store.svg | 10 ++ src/newsreader/static/icons/strikethrough.svg | 8 ++ src/newsreader/static/icons/sun.svg | 14 +++ src/newsreader/static/icons/sync.svg | 7 ++ src/newsreader/static/icons/tablet.svg | 8 ++ src/newsreader/static/icons/tag.svg | 7 ++ .../static/icons/text-align-center.svg | 10 ++ .../static/icons/text-align-justify.svg | 10 ++ .../static/icons/text-align-left.svg | 10 ++ .../static/icons/text-align-right.svg | 10 ++ .../static/icons/text-format-remove.svg | 8 ++ src/newsreader/static/icons/text-format.svg | 7 ++ src/newsreader/static/icons/text-size.svg | 7 ++ src/newsreader/static/icons/thumbs-down.svg | 6 ++ src/newsreader/static/icons/thumbs-up.svg | 6 ++ src/newsreader/static/icons/train.svg | 11 ++ src/newsreader/static/icons/trash.svg | 9 ++ src/newsreader/static/icons/underline.svg | 7 ++ src/newsreader/static/icons/undo.svg | 6 ++ src/newsreader/static/icons/unlink.svg | 13 +++ src/newsreader/static/icons/upload.svg | 7 ++ src/newsreader/static/icons/user.svg | 7 ++ src/newsreader/static/icons/users.svg | 9 ++ src/newsreader/static/icons/volume-high.svg | 9 ++ src/newsreader/static/icons/volume-low.svg | 7 ++ src/newsreader/static/icons/volume-medium.svg | 8 ++ src/newsreader/static/icons/volume.svg | 6 ++ src/newsreader/static/icons/warning.svg | 8 ++ src/newsreader/static/icons/wheelchair.svg | 7 ++ 205 files changed, 1610 insertions(+), 252 deletions(-) create mode 100644 src/newsreader/js/pages/homepage/components/sidebar/functions.js create mode 100644 src/newsreader/js/pages/homepage/constants.js create mode 100644 src/newsreader/scss/elements/a/_a.scss create mode 100644 src/newsreader/scss/elements/a/index.scss create mode 100755 src/newsreader/static/icons/alarm.svg create mode 100755 src/newsreader/static/icons/apartment.svg create mode 100755 src/newsreader/static/icons/arrow-down-circle.svg create mode 100755 src/newsreader/static/icons/arrow-down.svg create mode 100755 src/newsreader/static/icons/arrow-left-circle.svg create mode 100755 src/newsreader/static/icons/arrow-right-circle.svg create mode 100755 src/newsreader/static/icons/arrow-right.svg create mode 100755 src/newsreader/static/icons/arrow-up-circle.svg create mode 100755 src/newsreader/static/icons/arrow-up.svg create mode 100755 src/newsreader/static/icons/bicycle.svg create mode 100755 src/newsreader/static/icons/bold.svg create mode 100755 src/newsreader/static/icons/book.svg create mode 100755 src/newsreader/static/icons/bookmark.svg create mode 100755 src/newsreader/static/icons/briefcase.svg create mode 100755 src/newsreader/static/icons/bubble.svg create mode 100755 src/newsreader/static/icons/bug.svg create mode 100755 src/newsreader/static/icons/bullhorn.svg create mode 100755 src/newsreader/static/icons/bus.svg create mode 100755 src/newsreader/static/icons/calendar-full.svg create mode 100755 src/newsreader/static/icons/camera-video.svg create mode 100755 src/newsreader/static/icons/camera.svg create mode 100755 src/newsreader/static/icons/car.svg create mode 100755 src/newsreader/static/icons/cart.svg create mode 100755 src/newsreader/static/icons/chart-bars.svg create mode 100755 src/newsreader/static/icons/checkmark-circle.svg create mode 100755 src/newsreader/static/icons/chevron-down-circle.svg create mode 100755 src/newsreader/static/icons/chevron-left-circle.svg create mode 100755 src/newsreader/static/icons/chevron-left.svg create mode 100755 src/newsreader/static/icons/chevron-right-circle.svg create mode 100755 src/newsreader/static/icons/chevron-up-circle.svg create mode 100755 src/newsreader/static/icons/chevron-up.svg create mode 100755 src/newsreader/static/icons/circle-minus.svg create mode 100755 src/newsreader/static/icons/clock.svg create mode 100755 src/newsreader/static/icons/cloud-check.svg create mode 100755 src/newsreader/static/icons/cloud-download.svg create mode 100755 src/newsreader/static/icons/cloud-sync.svg create mode 100755 src/newsreader/static/icons/cloud-upload.svg create mode 100755 src/newsreader/static/icons/cloud.svg create mode 100755 src/newsreader/static/icons/code.svg create mode 100755 src/newsreader/static/icons/coffee-cup.svg create mode 100755 src/newsreader/static/icons/cog.svg create mode 100755 src/newsreader/static/icons/construction.svg create mode 100755 src/newsreader/static/icons/crop.svg create mode 100755 src/newsreader/static/icons/cross-circle.svg create mode 100755 src/newsreader/static/icons/cross.svg create mode 100755 src/newsreader/static/icons/database.svg create mode 100755 src/newsreader/static/icons/diamond.svg create mode 100755 src/newsreader/static/icons/dice.svg create mode 100755 src/newsreader/static/icons/dinner.svg create mode 100755 src/newsreader/static/icons/direction-ltr.svg create mode 100755 src/newsreader/static/icons/direction-rtl.svg create mode 100755 src/newsreader/static/icons/download.svg create mode 100755 src/newsreader/static/icons/drop.svg create mode 100755 src/newsreader/static/icons/earth.svg create mode 100755 src/newsreader/static/icons/enter-down.svg create mode 100755 src/newsreader/static/icons/enter.svg create mode 100755 src/newsreader/static/icons/envelope.svg create mode 100755 src/newsreader/static/icons/exit-up.svg create mode 100755 src/newsreader/static/icons/exit.svg create mode 100755 src/newsreader/static/icons/eye.svg create mode 100755 src/newsreader/static/icons/file-add.svg create mode 100755 src/newsreader/static/icons/file-empty.svg create mode 100755 src/newsreader/static/icons/film-play.svg create mode 100755 src/newsreader/static/icons/flag.svg create mode 100755 src/newsreader/static/icons/frame-contract.svg create mode 100755 src/newsreader/static/icons/frame-expand.svg create mode 100755 src/newsreader/static/icons/funnel.svg create mode 100755 src/newsreader/static/icons/gift.svg create mode 100755 src/newsreader/static/icons/graduation-hat.svg create mode 100755 src/newsreader/static/icons/hand.svg create mode 100755 src/newsreader/static/icons/heart-pulse.svg create mode 100755 src/newsreader/static/icons/heart.svg create mode 100755 src/newsreader/static/icons/highlight.svg create mode 100755 src/newsreader/static/icons/history.svg create mode 100755 src/newsreader/static/icons/home.svg create mode 100755 src/newsreader/static/icons/hourglass.svg create mode 100755 src/newsreader/static/icons/inbox.svg create mode 100755 src/newsreader/static/icons/indent-decrease.svg create mode 100755 src/newsreader/static/icons/indent-increase.svg create mode 100755 src/newsreader/static/icons/italic.svg create mode 100755 src/newsreader/static/icons/keyboard.svg create mode 100755 src/newsreader/static/icons/laptop-phone.svg create mode 100755 src/newsreader/static/icons/laptop.svg create mode 100755 src/newsreader/static/icons/layers.svg create mode 100755 src/newsreader/static/icons/leaf.svg create mode 100755 src/newsreader/static/icons/license.svg create mode 100755 src/newsreader/static/icons/lighter.svg create mode 100755 src/newsreader/static/icons/line-spacing.svg create mode 100755 src/newsreader/static/icons/linearicons.svg create mode 100755 src/newsreader/static/icons/list.svg create mode 100755 src/newsreader/static/icons/location.svg create mode 100755 src/newsreader/static/icons/lock.svg create mode 100755 src/newsreader/static/icons/magic-wand.svg create mode 100755 src/newsreader/static/icons/magnifier.svg create mode 100755 src/newsreader/static/icons/map-marker.svg create mode 100755 src/newsreader/static/icons/map.svg create mode 100755 src/newsreader/static/icons/menu-circle.svg create mode 100755 src/newsreader/static/icons/menu.svg create mode 100755 src/newsreader/static/icons/mic.svg create mode 100755 src/newsreader/static/icons/moon.svg create mode 100755 src/newsreader/static/icons/move.svg create mode 100755 src/newsreader/static/icons/music-note.svg create mode 100755 src/newsreader/static/icons/mustache.svg create mode 100755 src/newsreader/static/icons/neutral.svg create mode 100755 src/newsreader/static/icons/page-break.svg create mode 100755 src/newsreader/static/icons/paperclip.svg create mode 100755 src/newsreader/static/icons/paw.svg create mode 100755 src/newsreader/static/icons/pencil.svg create mode 100755 src/newsreader/static/icons/phone-handset.svg create mode 100755 src/newsreader/static/icons/phone.svg create mode 100755 src/newsreader/static/icons/picture.svg create mode 100755 src/newsreader/static/icons/pie-chart.svg create mode 100755 src/newsreader/static/icons/pilcrow.svg create mode 100755 src/newsreader/static/icons/plus-circle.svg create mode 100755 src/newsreader/static/icons/pointer-down.svg create mode 100755 src/newsreader/static/icons/pointer-left.svg create mode 100755 src/newsreader/static/icons/pointer-right.svg create mode 100755 src/newsreader/static/icons/pointer-up.svg create mode 100755 src/newsreader/static/icons/poop.svg create mode 100755 src/newsreader/static/icons/power-switch.svg create mode 100755 src/newsreader/static/icons/printer.svg create mode 100755 src/newsreader/static/icons/pushpin.svg create mode 100755 src/newsreader/static/icons/question-circle.svg create mode 100755 src/newsreader/static/icons/redo.svg create mode 100755 src/newsreader/static/icons/rocket.svg create mode 100755 src/newsreader/static/icons/sad.svg create mode 100755 src/newsreader/static/icons/screen.svg create mode 100755 src/newsreader/static/icons/select.svg create mode 100755 src/newsreader/static/icons/shirt.svg create mode 100755 src/newsreader/static/icons/smartphone.svg create mode 100755 src/newsreader/static/icons/smile.svg create mode 100755 src/newsreader/static/icons/sort-alpha-asc.svg create mode 100755 src/newsreader/static/icons/sort-amount-asc.svg create mode 100755 src/newsreader/static/icons/spell-check.svg create mode 100755 src/newsreader/static/icons/star-empty.svg create mode 100755 src/newsreader/static/icons/star-half.svg create mode 100755 src/newsreader/static/icons/star.svg create mode 100755 src/newsreader/static/icons/store.svg create mode 100755 src/newsreader/static/icons/strikethrough.svg create mode 100755 src/newsreader/static/icons/sun.svg create mode 100755 src/newsreader/static/icons/sync.svg create mode 100755 src/newsreader/static/icons/tablet.svg create mode 100755 src/newsreader/static/icons/tag.svg create mode 100755 src/newsreader/static/icons/text-align-center.svg create mode 100755 src/newsreader/static/icons/text-align-justify.svg create mode 100755 src/newsreader/static/icons/text-align-left.svg create mode 100755 src/newsreader/static/icons/text-align-right.svg create mode 100755 src/newsreader/static/icons/text-format-remove.svg create mode 100755 src/newsreader/static/icons/text-format.svg create mode 100755 src/newsreader/static/icons/text-size.svg create mode 100755 src/newsreader/static/icons/thumbs-down.svg create mode 100755 src/newsreader/static/icons/thumbs-up.svg create mode 100755 src/newsreader/static/icons/train.svg create mode 100755 src/newsreader/static/icons/trash.svg create mode 100755 src/newsreader/static/icons/underline.svg create mode 100755 src/newsreader/static/icons/undo.svg create mode 100755 src/newsreader/static/icons/unlink.svg create mode 100755 src/newsreader/static/icons/upload.svg create mode 100755 src/newsreader/static/icons/user.svg create mode 100755 src/newsreader/static/icons/users.svg create mode 100755 src/newsreader/static/icons/volume-high.svg create mode 100755 src/newsreader/static/icons/volume-low.svg create mode 100755 src/newsreader/static/icons/volume-medium.svg create mode 100755 src/newsreader/static/icons/volume.svg create mode 100755 src/newsreader/static/icons/warning.svg create mode 100755 src/newsreader/static/icons/wheelchair.svg diff --git a/src/newsreader/js/pages/categories/components/CategoryCard.js b/src/newsreader/js/pages/categories/components/CategoryCard.js index df5df70..04fccef 100644 --- a/src/newsreader/js/pages/categories/components/CategoryCard.js +++ b/src/newsreader/js/pages/categories/components/CategoryCard.js @@ -6,7 +6,7 @@ const CategoryCard = props => { const { category } = props; const categoryRules = category.rules.map(rule => { - const faviconUrl = rule.favicon ? rule.favicon : '/static/favicon-placeholder.svg'; + const faviconUrl = rule.favicon ? rule.favicon : '/static/picture.svg'; return (
  • diff --git a/src/newsreader/js/pages/homepage/actions/categories.js b/src/newsreader/js/pages/homepage/actions/categories.js index 07a1066..85772a6 100644 --- a/src/newsreader/js/pages/homepage/actions/categories.js +++ b/src/newsreader/js/pages/homepage/actions/categories.js @@ -1,5 +1,7 @@ import { requestRules, receiveRules, fetchRulesByCategory } from './rules.js'; +import { CATEGORY_TYPE } from '../constants.js'; + export const SELECT_CATEGORY = 'SELECT_CATEGORY'; export const RECEIVE_CATEGORY = 'RECEIVE_CATEGORY'; @@ -10,7 +12,7 @@ export const REQUEST_CATEGORIES = 'REQUEST_CATEGORIES'; export const selectCategory = category => ({ type: SELECT_CATEGORY, - item: category, + section: { ...category, type: CATEGORY_TYPE }, }); export const receiveCategory = category => ({ @@ -18,9 +20,9 @@ export const receiveCategory = category => ({ category, }); -export const receiveCategories = json => ({ +export const receiveCategories = categories => ({ type: RECEIVE_CATEGORIES, - categories: json, + categories, }); export const requestCategory = () => ({ type: REQUEST_CATEGORY }); @@ -70,7 +72,14 @@ export const fetchCategories = () => { }; export const fetchCategory = category => { - return dispatch => { + return (dispatch, getState) => { + const { selected } = getState(); + const selectedSection = { ...selected.item }; + + if (selectedSection.type === CATEGORY_TYPE && selectedSection.clicks <= 1) { + return; + } + dispatch(requestCategory()); return fetch(`/api/categories/${category.id}`) diff --git a/src/newsreader/js/pages/homepage/actions/posts.js b/src/newsreader/js/pages/homepage/actions/posts.js index 9951859..59229ab 100644 --- a/src/newsreader/js/pages/homepage/actions/posts.js +++ b/src/newsreader/js/pages/homepage/actions/posts.js @@ -1,3 +1,5 @@ +import { RULE_TYPE } from '../constants.js'; + export const SELECT_POST = 'SELECT_POST'; export const UNSELECT_POST = 'UNSELECT_POST'; @@ -16,17 +18,15 @@ export const unSelectPost = () => ({ type: UNSELECT_POST, }); -export const postRead = (post, rule, category) => ({ +export const postRead = (post, section) => ({ type: MARK_POST_READ, - category: category, - post: post, - rule: rule, + post, + section, }); export const markPostRead = (post, token) => { return (dispatch, getState) => { const { rules } = getState(); - const { categories } = getState(); const url = `/api/posts/${post.id}/`; const options = { @@ -38,17 +38,16 @@ export const markPostRead = (post, token) => { body: JSON.stringify({ read: true }), }; - const rule = rules.items[post.rule]; - const category = categories.items[rule.category]; + const section = { + ...rules.items[post.rule], + type: RULE_TYPE, + }; return fetch(url, options) .then(response => response.json()) .then(updatedPost => { - const updatedRule = { ...rule, unread: rule.unread - 1 }; - const updatedCategory = { ...category, unread: category.unread - 1 }; - dispatch(receivePost({ ...updatedPost })); - dispatch(postRead({ ...updatedPost }, updatedRule, updatedCategory)); + dispatch(postRead({ ...updatedPost }, section)); }); }; }; @@ -66,37 +65,24 @@ export const receivePost = post => ({ export const requestPosts = () => ({ type: REQUEST_POSTS }); -export const fetchPostsByCategory = (category, page = false) => { +export const fetchPostsBySection = (section, page = false) => { return dispatch => { + if (section.unread === 0) { + return; + } + dispatch(requestPosts()); - const url = page ? page : `/api/categories/${category.id}/posts/?read=false`; - return fetch(url) - .then(response => response.json()) - .then(json => { - const posts = {}; - - json.results.forEach(post => { - posts[post.id] = post; - }); - - dispatch(receivePosts({ items: posts, next: json.next })); - }) - .catch(error => { - if (error instanceof TypeError) { - console.log(`Unable to parse posts from request: ${error}`); - } - - dispatch(receivePosts({ items: {}, next: null })); - }); - }; -}; - -export const fetchPostsByRule = (rule, page = false) => { - return dispatch => { - dispatch(requestPosts()); - - const url = page ? page : `/api/rules/${rule.id}/posts/?read=false`; + let url = null; + + switch ('category' in section) { + case true: + url = page ? page : `/api/rules/${section.id}/posts/?read=false`; + break; + default: + url = page ? page : `/api/categories/${section.id}/posts/?read=false`; + } + return fetch(url) .then(response => response.json()) .then(json => { diff --git a/src/newsreader/js/pages/homepage/actions/rules.js b/src/newsreader/js/pages/homepage/actions/rules.js index 0b843f6..50c8f95 100644 --- a/src/newsreader/js/pages/homepage/actions/rules.js +++ b/src/newsreader/js/pages/homepage/actions/rules.js @@ -1,4 +1,5 @@ import { fetchCategory } from './categories.js'; +import { RULE_TYPE } from '../constants.js'; export const SELECT_RULE = 'SELECT_RULE'; export const SELECT_RULES = 'SELECT_RULES'; @@ -11,7 +12,7 @@ export const REQUEST_RULES = 'REQUEST_RULES'; export const selectRule = rule => ({ type: SELECT_RULE, - item: rule, + section: { ...rule, type: RULE_TYPE }, }); export const requestRule = () => ({ type: REQUEST_RULE }); @@ -29,6 +30,13 @@ export const receiveRules = rules => ({ export const fetchRule = rule => { return (dispatch, getState) => { + const { selected } = getState(); + const selectedSection = { ...selected.item }; + + if (selectedSection.type === RULE_TYPE && selectedSection.clicks <= 1) { + return; + } + dispatch(requestRule()); const { categories } = getState(); diff --git a/src/newsreader/js/pages/homepage/actions/selected.js b/src/newsreader/js/pages/homepage/actions/selected.js index 95b8603..0a69266 100644 --- a/src/newsreader/js/pages/homepage/actions/selected.js +++ b/src/newsreader/js/pages/homepage/actions/selected.js @@ -1,18 +1,28 @@ import { receiveCategory, requestCategory } from './categories.js'; import { receiveRule, requestRule } from './rules.js'; +import { CATEGORY_TYPE, RULE_TYPE } from '../constants.js'; export const MARK_SECTION_READ = 'MARK_SECTION_READ'; -export const markSectionRead = (category, rule = {}) => ({ - category: category, - rule: rule, +export const markSectionRead = section => ({ type: MARK_SECTION_READ, + section, }); const markCategoryRead = (category, token) => { - return dispatch => { + return (dispatch, getState) => { dispatch(requestCategory(category)); + const { rules } = getState(); + const categoryRules = Object.values({ ...rules.items }).filter(rule => { + return rule.category === category.id; + }); + const ruleMapping = {}; + + categoryRules.forEach(rule => { + ruleMapping[rule.id] = { ...rule }; + }); + const url = `/api/categories/${category.id}/read/`; const options = { method: 'POST', @@ -25,16 +35,20 @@ const markCategoryRead = (category, token) => { .then(response => response.json()) .then(updatedCategory => { dispatch(receiveCategory({ ...updatedCategory })); - dispatch(markSectionRead({ ...category, ...updatedCategory })); + dispatch( + markSectionRead({ + ...category, + ...updatedCategory, + rules: ruleMapping, + type: CATEGORY_TYPE, + }) + ); }); }; }; const markRuleRead = (rule, token) => { return (dispatch, getState) => { - const { categories } = getState(); - const category = categories.items[rule.category]; - dispatch(requestRule(rule)); const url = `/api/rules/${rule.id}/read/`; @@ -51,15 +65,16 @@ const markRuleRead = (rule, token) => { dispatch(receiveRule({ ...updatedRule })); // Use the old rule to decrement category with old unread count - dispatch(markSectionRead({ ...category }, { ...rule })); + dispatch(markSectionRead({ ...rule, type: RULE_TYPE })); }); }; }; export const markRead = (selected, token) => { - if ('category' in selected) { - return markRuleRead(selected, token); - } else { - return markCategoryRead(selected, token); + switch ('category' in selected) { + case true: + return markRuleRead(selected, token); + default: + return markCategoryRead(selected, token); } }; diff --git a/src/newsreader/js/pages/homepage/components/PostModal.js b/src/newsreader/js/pages/homepage/components/PostModal.js index 9e40a89..524a217 100644 --- a/src/newsreader/js/pages/homepage/components/PostModal.js +++ b/src/newsreader/js/pages/homepage/components/PostModal.js @@ -14,7 +14,7 @@ class PostModal extends React.Component { const token = Cookies.get('csrftoken'); if (!post.read) { - this.readTimer = setTimeout(markPostRead, 30000, post, token); + this.readTimer = setTimeout(markPostRead, 3000, post, token); } } @@ -40,7 +40,7 @@ class PostModal extends React.Component { > Close{' '} - +
    @@ -52,7 +52,7 @@ class PostModal extends React.Component { target="_blank" rel="noopener noreferrer" > - + {publicationDate} diff --git a/src/newsreader/js/pages/homepage/components/feedlist/FeedList.js b/src/newsreader/js/pages/homepage/components/feedlist/FeedList.js index d7bc94c..36966c8 100644 --- a/src/newsreader/js/pages/homepage/components/feedlist/FeedList.js +++ b/src/newsreader/js/pages/homepage/components/feedlist/FeedList.js @@ -2,7 +2,7 @@ import React from 'react'; import { connect } from 'react-redux'; import { isEqual } from 'lodash'; -import { fetchPostsByRule, fetchPostsByCategory } from '../../actions/posts.js'; +import { fetchPostsBySection } from '../../actions/posts.js'; import { filterPosts } from './filters.js'; import LoadingIndicator from '../../../../components/LoadingIndicator.js'; @@ -33,11 +33,7 @@ class FeedList extends React.Component { } paginate() { - if ('category' in this.props.selected) { - return this.props.fetchPostsByRule(this.props.selected, this.props.next); - } else { - return this.props.fetchPostsByCategory(this.props.selected, this.props.next); - } + this.props.fetchPostsBySection(this.props.selected, this.props.next); } render() { @@ -90,10 +86,7 @@ const mapStateToProps = state => ({ }); const mapDispatchToProps = dispatch => ({ - fetchPostsByRule: (rule, page = false) => dispatch(fetchPostsByRule(rule, page)), - fetchPostsByCategory: (category, page = false) => { - dispatch(fetchPostsByCategory(category, page)); - }, + fetchPostsBySection: (rule, page = false) => dispatch(fetchPostsBySection(rule, page)), }); export default connect( diff --git a/src/newsreader/js/pages/homepage/components/feedlist/PostItem.js b/src/newsreader/js/pages/homepage/components/feedlist/PostItem.js index 3e8a8cb..e226e9b 100644 --- a/src/newsreader/js/pages/homepage/components/feedlist/PostItem.js +++ b/src/newsreader/js/pages/homepage/components/feedlist/PostItem.js @@ -31,7 +31,7 @@ class PostItem extends React.Component { target="_blank" rel="noopener noreferrer" > - +
    {publicationDate} diff --git a/src/newsreader/js/pages/homepage/components/feedlist/RuleItem.js b/src/newsreader/js/pages/homepage/components/feedlist/RuleItem.js index 08cb3aa..f7a8a9b 100644 --- a/src/newsreader/js/pages/homepage/components/feedlist/RuleItem.js +++ b/src/newsreader/js/pages/homepage/components/feedlist/RuleItem.js @@ -15,7 +15,6 @@ class RuleItem extends React.Component { return (

    {this.props.rule.name}

    - {/* TODO: Add empty posts message */}
      {postItems}
    ); diff --git a/src/newsreader/js/pages/homepage/components/feedlist/filters.js b/src/newsreader/js/pages/homepage/components/feedlist/filters.js index c392775..a3ee886 100644 --- a/src/newsreader/js/pages/homepage/components/feedlist/filters.js +++ b/src/newsreader/js/pages/homepage/components/feedlist/filters.js @@ -1,10 +1,12 @@ +import { CATEGORY_TYPE, RULE_TYPE } from '../../constants.js'; + const isEmpty = (object = {}) => { return Object.keys(object).length === 0; }; export const filterPostsByRule = (rule = {}, posts = []) => { const filteredPosts = posts.filter(post => { - return post.rule === rule.id && !post.read; + return post.rule === rule.id; }); return filteredPosts.length > 0 ? [{ rule, posts: filteredPosts }] : []; @@ -17,7 +19,7 @@ export const filterPostsByCategory = (category = {}, rules = [], posts = []) => const filteredData = filteredRules.map(rule => { const filteredPosts = posts.filter(post => { - return post.rule === rule.id && !post.read; + return post.rule === rule.id; }); return { @@ -32,12 +34,12 @@ export const filterPostsByCategory = (category = {}, rules = [], posts = []) => export const filterPosts = state => { const posts = Object.values({ ...state.posts.items }); - if (!isEmpty(state.selected.item) && !('category' in state.selected.item)) { - const rules = Object.values({ ...state.rules.items }); - - return filterPostsByCategory({ ...state.selected.item }, rules, posts); - } else if ('category' in state.selected.item) { - return filterPostsByRule({ ...state.selected.item }, posts); + switch (state.selected.item.type) { + case CATEGORY_TYPE: + const rules = Object.values({ ...state.rules.items }); + return filterPostsByCategory({ ...state.selected.item }, rules, posts); + case RULE_TYPE: + return filterPostsByRule({ ...state.selected.item }, posts); } return []; diff --git a/src/newsreader/js/pages/homepage/components/sidebar/CategoryItem.js b/src/newsreader/js/pages/homepage/components/sidebar/CategoryItem.js index 7644fd7..36279ba 100644 --- a/src/newsreader/js/pages/homepage/components/sidebar/CategoryItem.js +++ b/src/newsreader/js/pages/homepage/components/sidebar/CategoryItem.js @@ -2,8 +2,10 @@ import React from 'react'; import { connect } from 'react-redux'; import { isEqual } from 'lodash'; +import { CATEGORY_TYPE } from '../../constants.js'; import { selectCategory, fetchCategory } from '../../actions/categories.js'; -import { fetchPostsByCategory } from '../../actions/posts.js'; +import { fetchPostsBySection } from '../../actions/posts.js'; +import { isSelected } from './functions.js'; import RuleItem from './RuleItem.js'; class CategoryItem extends React.Component { @@ -17,22 +19,19 @@ class CategoryItem extends React.Component { const category = this.props.category; this.props.selectCategory(category); - this.props.fetchPostsByCategory(category); - - if (category.unread === 0) { - this.props.fetchCategory(category); - } + this.props.fetchPostsBySection(category); + this.props.fetchCategory(category); } render() { const imageSrc = this.state.open ? '/static/chevron-down.svg' : '/static/chevron-right.svg'; - const selected = isEqual(this.props.category, this.props.selected); + const selected = isSelected(this.props.category, this.props.selected, CATEGORY_TYPE); const className = selected ? 'category category--selected' : 'category'; const ruleItems = this.props.rules.map(rule => { - return ; + return ; }); return ( @@ -58,7 +57,7 @@ class CategoryItem extends React.Component { const mapDispatchToProps = dispatch => ({ selectCategory: category => dispatch(selectCategory(category)), - fetchPostsByCategory: category => dispatch(fetchPostsByCategory(category)), + fetchPostsBySection: section => dispatch(fetchPostsBySection(section)), fetchCategory: category => dispatch(fetchCategory(category)), }); diff --git a/src/newsreader/js/pages/homepage/components/sidebar/RuleItem.js b/src/newsreader/js/pages/homepage/components/sidebar/RuleItem.js index 0a55aab..d93eb26 100644 --- a/src/newsreader/js/pages/homepage/components/sidebar/RuleItem.js +++ b/src/newsreader/js/pages/homepage/components/sidebar/RuleItem.js @@ -2,38 +2,33 @@ import React from 'react'; import { connect } from 'react-redux'; import { isEqual } from 'lodash'; +import { RULE_TYPE } from '../../constants.js'; import { selectRule, fetchRule } from '../../actions/rules.js'; -import { fetchPostsByRule } from '../../actions/posts.js'; +import { fetchPostsBySection } from '../../actions/posts.js'; +import { isSelected } from './functions.js'; class RuleItem extends React.Component { handleSelect() { const rule = { ...this.props.rule }; this.props.selectRule(rule); - this.props.fetchPostsByRule(rule); - - if (rule.unread === 0) { - this.props.fetchRule(rule); - } + this.props.fetchPostsBySection(rule); + this.props.fetchRule(rule); } render() { - const selected = isEqual(this.props.selected, this.props.rule); + const selected = isSelected(this.props.rule, this.props.selected, RULE_TYPE); const className = `rules__item ${selected ? 'rules__item--selected' : ''}`; + const favicon = this.props.rule.favicon + ? this.props.rule.favicon + : '/static/picture.svg'; return (
  • this.handleSelect()}>
    - {this.props.rule.favicon && ( - - - - )} + + +
    {this.props.rule.name}
    @@ -46,7 +41,7 @@ class RuleItem extends React.Component { const mapDispatchToProps = dispatch => ({ selectRule: rule => dispatch(selectRule(rule)), - fetchPostsByRule: rule => dispatch(fetchPostsByRule(rule)), + fetchPostsBySection: section => dispatch(fetchPostsBySection(section)), fetchRule: rule => dispatch(fetchRule(rule)), }); diff --git a/src/newsreader/js/pages/homepage/components/sidebar/Sidebar.js b/src/newsreader/js/pages/homepage/components/sidebar/Sidebar.js index cd73dbe..1721f03 100644 --- a/src/newsreader/js/pages/homepage/components/sidebar/Sidebar.js +++ b/src/newsreader/js/pages/homepage/components/sidebar/Sidebar.js @@ -22,7 +22,6 @@ class Sidebar extends React.Component { category={category} rules={rules} selected={this.props.selected.item} - selectedRule={this.props.selected.item} /> ); }); diff --git a/src/newsreader/js/pages/homepage/components/sidebar/functions.js b/src/newsreader/js/pages/homepage/components/sidebar/functions.js new file mode 100644 index 0000000..06ac716 --- /dev/null +++ b/src/newsreader/js/pages/homepage/components/sidebar/functions.js @@ -0,0 +1,7 @@ +export const isSelected = (section, selected, type) => { + if (!selected || selected.type != type) { + return false; + } + + return section.id === selected.id; +}; diff --git a/src/newsreader/js/pages/homepage/constants.js b/src/newsreader/js/pages/homepage/constants.js new file mode 100644 index 0000000..0e3f3d3 --- /dev/null +++ b/src/newsreader/js/pages/homepage/constants.js @@ -0,0 +1,2 @@ +export const RULE_TYPE = 'RULE'; +export const CATEGORY_TYPE = 'CATEGORY'; diff --git a/src/newsreader/js/pages/homepage/reducers/categories.js b/src/newsreader/js/pages/homepage/reducers/categories.js index f34930e..4fd391f 100644 --- a/src/newsreader/js/pages/homepage/reducers/categories.js +++ b/src/newsreader/js/pages/homepage/reducers/categories.js @@ -1,5 +1,7 @@ import { isEqual } from 'lodash'; +import { CATEGORY_TYPE, RULE_TYPE } from '../constants.js'; + import { RECEIVE_CATEGORY, RECEIVE_CATEGORIES, @@ -7,11 +9,36 @@ import { REQUEST_CATEGORIES, } from '../actions/categories.js'; -import { RECEIVE_RULE, RECEIVE_RULES } from '../actions/rules.js'; - import { MARK_POST_READ } from '../actions/posts.js'; import { MARK_SECTION_READ } from '../actions/selected.js'; +const markCategoryRead = (action, state) => { + const category = { ...state.items[action.section.id] }; + + return { + ...state, + items: { + ...state.items, + [category.id]: { ...category, unread: 0 }, + }, + }; +}; + +const markCategoryByRule = (action, state) => { + const category = { ...state.items[action.section.category] }; + + return { + ...state, + items: { + ...state.items, + [category.id]: { + ...category, + unread: category.unread - action.section.unread, + }, + }, + }; +}; + const defaultState = { items: {}, isFetching: false }; export const categories = (state = { ...defaultState }, action) => { @@ -21,7 +48,7 @@ export const categories = (state = { ...defaultState }, action) => { ...state, items: { ...state.items, - [action.category.id]: { ...action.category, rules: {} }, + [action.category.id]: { ...action.category }, }, isFetching: false, }; @@ -31,7 +58,6 @@ export const categories = (state = { ...defaultState }, action) => { Object.values({ ...action.categories }).forEach(category => { receivedCategories[category.id] = { ...category, - rules: {}, }; }); @@ -40,44 +66,6 @@ export const categories = (state = { ...defaultState }, action) => { items: { ...state.items, ...receivedCategories }, isFetching: false, }; - case RECEIVE_RULE: - const category = { ...state.items[action.rule.category] }; - - category['rules'][action.rule.id] = { ...action.rule }; - - return { - ...state, - items: { - ...state.items, - [category.id]: { ...category }, - }, - }; - case RECEIVE_RULES: - const relevantCategories = {}; - - Object.values({ ...action.rules }).forEach(rule => { - if (!(rule.category in relevantCategories)) { - const category = { ...state.items[rule.category] }; - - relevantCategories[rule.category] = { - ...category, - rules: { - ...category.rules, - [rule.id]: { ...rule }, - }, - }; - } else { - relevantCategories[rule.category]['rules'][rule.id] = { ...rule }; - } - }); - - return { - ...state, - items: { - ...state.items, - ...relevantCategories, - }, - }; case REQUEST_CATEGORIES: case REQUEST_CATEGORY: return { @@ -85,31 +73,24 @@ export const categories = (state = { ...defaultState }, action) => { isFetching: true, }; case MARK_POST_READ: - return { - ...state, - items: { ...state.items, [action.category.id]: { ...action.category } }, - }; - case MARK_SECTION_READ: - if (!isEqual(action.rule, {})) { - return { - ...state, - items: { - ...state.items, - [action.category.id]: { - ...action.category, - unread: action.category.unread - action.rule.unread, - }, - }, - }; - } + let category = { ...state.items[action.section.category] }; return { ...state, items: { ...state.items, - [action.category.id]: { ...action.category, unread: 0 }, + [category.id]: { ...category, unread: category.unread - 1 }, }, }; + case MARK_SECTION_READ: + switch (action.section.type) { + case CATEGORY_TYPE: + return markCategoryRead(action, state); + case RULE_TYPE: + return markCategoryByRule(action, state); + } + + return state; default: return state; } diff --git a/src/newsreader/js/pages/homepage/reducers/posts.js b/src/newsreader/js/pages/homepage/reducers/posts.js index 4f613ab..358b05b 100644 --- a/src/newsreader/js/pages/homepage/reducers/posts.js +++ b/src/newsreader/js/pages/homepage/reducers/posts.js @@ -1,4 +1,5 @@ import { isEqual } from 'lodash'; +import { CATEGORY_TYPE, RULE_TYPE } from '../constants.js'; import { SELECT_POST, @@ -39,14 +40,19 @@ export const posts = (state = { ...defaultState }, action) => { const updatedPosts = {}; let relatedPosts = []; - if (!isEqual(action.rule, {})) { - relatedPosts = Object.values({ ...state.items }).filter(post => { - return post.rule === action.rule.id; - }); - } else { - relatedPosts = Object.values({ ...state.items }).filter(post => { - return post.rule in { ...action.category.rules }; - }); + switch (action.section.type) { + case CATEGORY_TYPE: + relatedPosts = Object.values({ ...state.items }).filter(post => { + return post.rule in { ...action.section.rules }; + }); + + break; + case RULE_TYPE: + relatedPosts = Object.values({ ...state.items }).filter(post => { + return post.rule === action.section.id; + }); + + break; } relatedPosts.forEach(post => { diff --git a/src/newsreader/js/pages/homepage/reducers/rules.js b/src/newsreader/js/pages/homepage/reducers/rules.js index f23c98f..69cd703 100644 --- a/src/newsreader/js/pages/homepage/reducers/rules.js +++ b/src/newsreader/js/pages/homepage/reducers/rules.js @@ -1,5 +1,7 @@ import { isEqual } from 'lodash'; +import { CATEGORY_TYPE, RULE_TYPE } from '../constants.js'; + import { REQUEST_RULES, REQUEST_RULE, @@ -32,33 +34,47 @@ export const rules = (state = { ...defaultState }, action) => { isFetching: false, }; case MARK_POST_READ: + const rule = { ...state.items[action.section.id] }; + + return { + ...state, + items: { + ...state.items, + [rule.id]: { ...rule, unread: rule.unread - 1 }, + }, + }; case MARK_SECTION_READ: - if (!isEqual(action.rule, {})) { - return { - ...state, - items: { - ...state.items, - [action.rule.id]: { - ...action.rule, - unread: 0, + switch (action.section.type) { + case RULE_TYPE: + const rule = { ...state.items[action.section.id] }; + + return { + ...state, + items: { + ...state.items, + [rule.id]: { ...rule, unread: 0 }, }, - }, - }; + }; + case CATEGORY_TYPE: + const updatedRules = {}; + const categoryRules = Object.values({ ...state.items }).filter(rule => { + return rule.category === action.section.id; + }); + + categoryRules.forEach(rule => { + updatedRules[rule.id] = { ...rule, unread: 0 }; + }); + + return { + ...state, + items: { + ...state.items, + ...updatedRules, + }, + }; } - const updatedRules = {}; - Object.values({ ...state.items }).forEach(rule => { - if (rule.category === action.category.id) { - updatedRules[rule.id] = { - ...rule, - unread: 0, - }; - } else { - updatedRules[rule.id] = { ...rule }; - } - }); - - return { ...state, items: { ...updatedRules } }; + return state; default: return state; } diff --git a/src/newsreader/js/pages/homepage/reducers/selected.js b/src/newsreader/js/pages/homepage/reducers/selected.js index dea13db..0bef90c 100644 --- a/src/newsreader/js/pages/homepage/reducers/selected.js +++ b/src/newsreader/js/pages/homepage/reducers/selected.js @@ -17,9 +17,32 @@ export const selected = (state = { ...defaultState }, action) => { switch (action.type) { case SELECT_CATEGORY: case SELECT_RULE: + if (state.item) { + if ( + state.item.id === action.section.id && + state.item.type === action.section.type + ) { + if (state.item.clicks >= 2) { + return { + ...state, + item: { ...action.section, clicks: 0 }, + next: false, + lastReached: false, + }; + } + + return { + ...state, + item: { ...action.section, clicks: state.item.clicks + 1 }, + next: false, + lastReached: false, + }; + } + } + return { ...state, - item: action.item, + item: { ...action.section, clicks: 0 }, next: false, lastReached: false, }; @@ -53,16 +76,9 @@ export const selected = (state = { ...defaultState }, action) => { post: {}, }; case MARK_SECTION_READ: - if (!isEqual(action.rule, {})) { - return { - ...state, - item: { ...action.rule, unread: 0 }, - }; - } - return { ...state, - item: { ...action.category }, + item: { ...action.section, clicks: 0, unread: 0 }, }; default: return state; diff --git a/src/newsreader/news/core/templates/core/category.html b/src/newsreader/news/core/templates/core/category.html index afc5dee..1b0203c 100644 --- a/src/newsreader/news/core/templates/core/category.html +++ b/src/newsreader/news/core/templates/core/category.html @@ -34,7 +34,7 @@
  • {% block rule-input %}{% endblock %} + src="{% if rule.favicon %}{{ rule.favicon }}{% else %}/static/picture.svg{% endif %}" /> {{ rule.name }}
  • {% endfor %} diff --git a/src/newsreader/scss/components/body/_body.scss b/src/newsreader/scss/components/body/_body.scss index d5ede84..d4316d3 100644 --- a/src/newsreader/scss/components/body/_body.scss +++ b/src/newsreader/scss/components/body/_body.scss @@ -4,9 +4,11 @@ background-color: $gainsboro; font-family: $default-font; + color: $default-font-color; & * { margin: 0; padding: 0; + box-sizing: border-box; } } diff --git a/src/newsreader/scss/elements/a/_a.scss b/src/newsreader/scss/elements/a/_a.scss new file mode 100644 index 0000000..69113c5 --- /dev/null +++ b/src/newsreader/scss/elements/a/_a.scss @@ -0,0 +1,3 @@ +a { + @extend .link; +} diff --git a/src/newsreader/scss/elements/a/index.scss b/src/newsreader/scss/elements/a/index.scss new file mode 100644 index 0000000..1bf17d2 --- /dev/null +++ b/src/newsreader/scss/elements/a/index.scss @@ -0,0 +1 @@ +@import "a"; diff --git a/src/newsreader/scss/elements/button/_button.scss b/src/newsreader/scss/elements/button/_button.scss index 215029f..a6bec19 100644 --- a/src/newsreader/scss/elements/button/_button.scss +++ b/src/newsreader/scss/elements/button/_button.scss @@ -17,7 +17,7 @@ } &--success, &--confirm { - color: $white; + color: $white !important; background-color: $confirm-green; &:hover { @@ -26,7 +26,7 @@ } &--error, &--cancel { - color: $white; + color: $white !important; background-color: $error-red; &:hover { @@ -36,7 +36,7 @@ } &--primary { - color: $white; + color: $white !important; background-color: darken($azureish-white, +20%); &:hover { diff --git a/src/newsreader/scss/elements/index.scss b/src/newsreader/scss/elements/index.scss index 8cf91e9..cc587d8 100644 --- a/src/newsreader/scss/elements/index.scss +++ b/src/newsreader/scss/elements/index.scss @@ -1,5 +1,6 @@ @import "./button/index"; @import "link/index"; +@import "a/index"; @import "h1/index"; @import "h2/index"; @import "h3/index"; diff --git a/src/newsreader/scss/elements/link/_link.scss b/src/newsreader/scss/elements/link/_link.scss index 56d39c2..96f737f 100644 --- a/src/newsreader/scss/elements/link/_link.scss +++ b/src/newsreader/scss/elements/link/_link.scss @@ -1,4 +1,5 @@ .link { + color: darken($azureish-white, 30%); text-decoration: none; &:hover { diff --git a/src/newsreader/scss/pages/homepage/components/category/_category.scss b/src/newsreader/scss/pages/homepage/components/category/_category.scss index b272bb1..9d8451f 100644 --- a/src/newsreader/scss/pages/homepage/components/category/_category.scss +++ b/src/newsreader/scss/pages/homepage/components/category/_category.scss @@ -36,11 +36,10 @@ } &:hover { - background-color: darken($gainsboro, 10%); + background-color: darken($azureish-white, +10%); } &--selected { - color: $white; - background-color: darken($gainsboro, 10%); + background-color: darken($azureish-white, +10%); } } diff --git a/src/newsreader/scss/pages/homepage/components/post-block/_post-block.scss b/src/newsreader/scss/pages/homepage/components/post-block/_post-block.scss index e0d2dcd..ee30eb4 100644 --- a/src/newsreader/scss/pages/homepage/components/post-block/_post-block.scss +++ b/src/newsreader/scss/pages/homepage/components/post-block/_post-block.scss @@ -2,7 +2,7 @@ display: flex; flex-direction: column; - width: 60%; + width: 70%; margin: 0 0 2% 0; font-family: $article-font; diff --git a/src/newsreader/scss/pages/homepage/components/post/_post.scss b/src/newsreader/scss/pages/homepage/components/post/_post.scss index a0ddae4..51ac564 100644 --- a/src/newsreader/scss/pages/homepage/components/post/_post.scss +++ b/src/newsreader/scss/pages/homepage/components/post/_post.scss @@ -54,6 +54,7 @@ line-height: 1.5; font-family: $article-font; + font-size: 18px; & p { padding: 20px 0 0 0; @@ -80,7 +81,7 @@ margin: 0 0 0 5px; & img { - width: 10px; + width: 20px; } } @@ -99,7 +100,7 @@ width: 10%; font-family: $button-font; - color: $nickel; + color: lighten($default-font-color, +10%); & h5 { margin: 10px 0 0 0; @@ -119,7 +120,7 @@ } & h5:last-child { - background-color: $light-green; + background-color: $beige; } } } diff --git a/src/newsreader/scss/pages/homepage/components/posts-header/_posts-header.scss b/src/newsreader/scss/pages/homepage/components/posts-header/_posts-header.scss index 068c2b3..c0ea036 100644 --- a/src/newsreader/scss/pages/homepage/components/posts-header/_posts-header.scss +++ b/src/newsreader/scss/pages/homepage/components/posts-header/_posts-header.scss @@ -1,10 +1,12 @@ .posts-header { display: flex; + align-items: center; padding: 0 5px 0 0; width: 80%; &__link { + display: flex; padding: 0 0 0 5px; } @@ -12,10 +14,10 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-size: small; + font-size: 16px; &--read { - color: $gainsboro; + color: darken($gainsboro, +10%); } } } diff --git a/src/newsreader/scss/pages/homepage/components/posts/_posts.scss b/src/newsreader/scss/pages/homepage/components/posts/_posts.scss index 0734e77..9329a85 100644 --- a/src/newsreader/scss/pages/homepage/components/posts/_posts.scss +++ b/src/newsreader/scss/pages/homepage/components/posts/_posts.scss @@ -7,20 +7,19 @@ &__item { display: flex; justify-content: space-between; + align-items: center; - padding: 10px 0 0px 0; + padding: 10px 0 10px 0; border-radius: 2px; border-bottom: 2px solid $azureish-white; &:hover { cursor: pointer; - background-color: lighten($gainsboro, 10%); + background-color: $gainsboro; } & span { - width: 20%; - font-size: small; text-overflow: ellipsis; overflow: hidden; diff --git a/src/newsreader/scss/pages/homepage/components/rule/_rule.scss b/src/newsreader/scss/pages/homepage/components/rule/_rule.scss index dba7124..ba34bf6 100644 --- a/src/newsreader/scss/pages/homepage/components/rule/_rule.scss +++ b/src/newsreader/scss/pages/homepage/components/rule/_rule.scss @@ -1,5 +1,6 @@ .rule { display: flex; + align-items: center; width: 80%; &__title { @@ -7,4 +8,8 @@ text-overflow: ellipsis; white-space: nowrap; } + + & span { + display: flex; + } } diff --git a/src/newsreader/scss/pages/homepage/components/rules/_rules.scss b/src/newsreader/scss/pages/homepage/components/rules/_rules.scss index c8b261e..ca12c9c 100644 --- a/src/newsreader/scss/pages/homepage/components/rules/_rules.scss +++ b/src/newsreader/scss/pages/homepage/components/rules/_rules.scss @@ -18,12 +18,11 @@ &:hover { cursor: pointer; - background-color: darken($gainsboro, 10%); + background-color: darken($azureish-white, +10%); } &--selected { - color: $white; - background-color: darken($gainsboro, 10%); + background-color: darken($azureish-white, +10%); } } } diff --git a/src/newsreader/scss/pages/homepage/elements/badge/_badge.scss b/src/newsreader/scss/pages/homepage/elements/badge/_badge.scss index 6abab65..1e2db24 100644 --- a/src/newsreader/scss/pages/homepage/elements/badge/_badge.scss +++ b/src/newsreader/scss/pages/homepage/elements/badge/_badge.scss @@ -3,12 +3,11 @@ padding-left: 8px; padding-right: 8px; - border-radius: 20%; + border-radius: 2px; text-align: center; - background-color: darken($pink, 10%); - color: $white; + background-color: lighten($pewter-blue, +20%); font-family: $button-font; font-size: small; diff --git a/src/newsreader/scss/partials/_colors.scss b/src/newsreader/scss/partials/_colors.scss index 641afff..0259883 100644 --- a/src/newsreader/scss/partials/_colors.scss +++ b/src/newsreader/scss/partials/_colors.scss @@ -10,7 +10,7 @@ $azureish-white: rgba(205, 230, 245, 1); $pewter-blue: rgba(141, 167, 190, 1); // light gray -$gainsboro: rgba(224, 221, 220, 1); +$gainsboro: rgba(238, 238, 238, 1); // medium gray $roman-silver: rgba(135, 145, 158, 1); @@ -35,3 +35,4 @@ $cancel-red: $error-red; $border-gray: rgba(227, 227, 227, 1); $focus-blue: darken($azureish-white, +50%); +$default-font-color: rgba(48, 51, 53, 1); diff --git a/src/newsreader/static/icons/alarm.svg b/src/newsreader/static/icons/alarm.svg new file mode 100755 index 0000000..94c3105 --- /dev/null +++ b/src/newsreader/static/icons/alarm.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/apartment.svg b/src/newsreader/static/icons/apartment.svg new file mode 100755 index 0000000..ff14506 --- /dev/null +++ b/src/newsreader/static/icons/apartment.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/arrow-down-circle.svg b/src/newsreader/static/icons/arrow-down-circle.svg new file mode 100755 index 0000000..c09ee4e --- /dev/null +++ b/src/newsreader/static/icons/arrow-down-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/arrow-down.svg b/src/newsreader/static/icons/arrow-down.svg new file mode 100755 index 0000000..d802122 --- /dev/null +++ b/src/newsreader/static/icons/arrow-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/arrow-left-circle.svg b/src/newsreader/static/icons/arrow-left-circle.svg new file mode 100755 index 0000000..a135160 --- /dev/null +++ b/src/newsreader/static/icons/arrow-left-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/arrow-left.svg b/src/newsreader/static/icons/arrow-left.svg index 88526e8..c1168f6 100644 --- a/src/newsreader/static/icons/arrow-left.svg +++ b/src/newsreader/static/icons/arrow-left.svg @@ -1,6 +1,6 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/newsreader/static/icons/arrow-right-circle.svg b/src/newsreader/static/icons/arrow-right-circle.svg new file mode 100755 index 0000000..9b8d2f5 --- /dev/null +++ b/src/newsreader/static/icons/arrow-right-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/arrow-right.svg b/src/newsreader/static/icons/arrow-right.svg new file mode 100755 index 0000000..21c0a0c --- /dev/null +++ b/src/newsreader/static/icons/arrow-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/arrow-up-circle.svg b/src/newsreader/static/icons/arrow-up-circle.svg new file mode 100755 index 0000000..044fc48 --- /dev/null +++ b/src/newsreader/static/icons/arrow-up-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/arrow-up.svg b/src/newsreader/static/icons/arrow-up.svg new file mode 100755 index 0000000..fa2d12e --- /dev/null +++ b/src/newsreader/static/icons/arrow-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/bicycle.svg b/src/newsreader/static/icons/bicycle.svg new file mode 100755 index 0000000..2599f0d --- /dev/null +++ b/src/newsreader/static/icons/bicycle.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/bold.svg b/src/newsreader/static/icons/bold.svg new file mode 100755 index 0000000..86271f6 --- /dev/null +++ b/src/newsreader/static/icons/bold.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/book.svg b/src/newsreader/static/icons/book.svg new file mode 100755 index 0000000..cc4892e --- /dev/null +++ b/src/newsreader/static/icons/book.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/bookmark.svg b/src/newsreader/static/icons/bookmark.svg new file mode 100755 index 0000000..6057646 --- /dev/null +++ b/src/newsreader/static/icons/bookmark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/briefcase.svg b/src/newsreader/static/icons/briefcase.svg new file mode 100755 index 0000000..58d54b6 --- /dev/null +++ b/src/newsreader/static/icons/briefcase.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/bubble.svg b/src/newsreader/static/icons/bubble.svg new file mode 100755 index 0000000..87317cc --- /dev/null +++ b/src/newsreader/static/icons/bubble.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/bug.svg b/src/newsreader/static/icons/bug.svg new file mode 100755 index 0000000..7cedf5a --- /dev/null +++ b/src/newsreader/static/icons/bug.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/bullhorn.svg b/src/newsreader/static/icons/bullhorn.svg new file mode 100755 index 0000000..bc8ffcc --- /dev/null +++ b/src/newsreader/static/icons/bullhorn.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/bus.svg b/src/newsreader/static/icons/bus.svg new file mode 100755 index 0000000..1a3416f --- /dev/null +++ b/src/newsreader/static/icons/bus.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/calendar-full.svg b/src/newsreader/static/icons/calendar-full.svg new file mode 100755 index 0000000..c835eaa --- /dev/null +++ b/src/newsreader/static/icons/calendar-full.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/camera-video.svg b/src/newsreader/static/icons/camera-video.svg new file mode 100755 index 0000000..99e6ebe --- /dev/null +++ b/src/newsreader/static/icons/camera-video.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/camera.svg b/src/newsreader/static/icons/camera.svg new file mode 100755 index 0000000..b1e662a --- /dev/null +++ b/src/newsreader/static/icons/camera.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/car.svg b/src/newsreader/static/icons/car.svg new file mode 100755 index 0000000..dd9af01 --- /dev/null +++ b/src/newsreader/static/icons/car.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/cart.svg b/src/newsreader/static/icons/cart.svg new file mode 100755 index 0000000..cf0df35 --- /dev/null +++ b/src/newsreader/static/icons/cart.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/chart-bars.svg b/src/newsreader/static/icons/chart-bars.svg new file mode 100755 index 0000000..15b0f54 --- /dev/null +++ b/src/newsreader/static/icons/chart-bars.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/checkmark-circle.svg b/src/newsreader/static/icons/checkmark-circle.svg new file mode 100755 index 0000000..e46b93f --- /dev/null +++ b/src/newsreader/static/icons/checkmark-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/chevron-down-circle.svg b/src/newsreader/static/icons/chevron-down-circle.svg new file mode 100755 index 0000000..e530413 --- /dev/null +++ b/src/newsreader/static/icons/chevron-down-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/chevron-down.svg b/src/newsreader/static/icons/chevron-down.svg index 211fd17..5342155 100644 --- a/src/newsreader/static/icons/chevron-down.svg +++ b/src/newsreader/static/icons/chevron-down.svg @@ -1,6 +1,6 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/newsreader/static/icons/chevron-left-circle.svg b/src/newsreader/static/icons/chevron-left-circle.svg new file mode 100755 index 0000000..495f43b --- /dev/null +++ b/src/newsreader/static/icons/chevron-left-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/chevron-left.svg b/src/newsreader/static/icons/chevron-left.svg new file mode 100755 index 0000000..4117261 --- /dev/null +++ b/src/newsreader/static/icons/chevron-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/chevron-right-circle.svg b/src/newsreader/static/icons/chevron-right-circle.svg new file mode 100755 index 0000000..b5bd4d4 --- /dev/null +++ b/src/newsreader/static/icons/chevron-right-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/chevron-right.svg b/src/newsreader/static/icons/chevron-right.svg index ea2b601..14db8e8 100644 --- a/src/newsreader/static/icons/chevron-right.svg +++ b/src/newsreader/static/icons/chevron-right.svg @@ -1,6 +1,6 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/newsreader/static/icons/chevron-up-circle.svg b/src/newsreader/static/icons/chevron-up-circle.svg new file mode 100755 index 0000000..9e8acdd --- /dev/null +++ b/src/newsreader/static/icons/chevron-up-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/chevron-up.svg b/src/newsreader/static/icons/chevron-up.svg new file mode 100755 index 0000000..778bbaa --- /dev/null +++ b/src/newsreader/static/icons/chevron-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/circle-minus.svg b/src/newsreader/static/icons/circle-minus.svg new file mode 100755 index 0000000..1e4a8c9 --- /dev/null +++ b/src/newsreader/static/icons/circle-minus.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/clock.svg b/src/newsreader/static/icons/clock.svg new file mode 100755 index 0000000..55169fe --- /dev/null +++ b/src/newsreader/static/icons/clock.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cloud-check.svg b/src/newsreader/static/icons/cloud-check.svg new file mode 100755 index 0000000..253b386 --- /dev/null +++ b/src/newsreader/static/icons/cloud-check.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cloud-download.svg b/src/newsreader/static/icons/cloud-download.svg new file mode 100755 index 0000000..1cbe14c --- /dev/null +++ b/src/newsreader/static/icons/cloud-download.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cloud-sync.svg b/src/newsreader/static/icons/cloud-sync.svg new file mode 100755 index 0000000..c239e0d --- /dev/null +++ b/src/newsreader/static/icons/cloud-sync.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/cloud-upload.svg b/src/newsreader/static/icons/cloud-upload.svg new file mode 100755 index 0000000..9fcbabe --- /dev/null +++ b/src/newsreader/static/icons/cloud-upload.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cloud.svg b/src/newsreader/static/icons/cloud.svg new file mode 100755 index 0000000..24918b1 --- /dev/null +++ b/src/newsreader/static/icons/cloud.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/code.svg b/src/newsreader/static/icons/code.svg new file mode 100755 index 0000000..fbdfd39 --- /dev/null +++ b/src/newsreader/static/icons/code.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/coffee-cup.svg b/src/newsreader/static/icons/coffee-cup.svg new file mode 100755 index 0000000..478ee27 --- /dev/null +++ b/src/newsreader/static/icons/coffee-cup.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cog.svg b/src/newsreader/static/icons/cog.svg new file mode 100755 index 0000000..4b4948a --- /dev/null +++ b/src/newsreader/static/icons/cog.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/construction.svg b/src/newsreader/static/icons/construction.svg new file mode 100755 index 0000000..72726ff --- /dev/null +++ b/src/newsreader/static/icons/construction.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/crop.svg b/src/newsreader/static/icons/crop.svg new file mode 100755 index 0000000..1568611 --- /dev/null +++ b/src/newsreader/static/icons/crop.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/cross-circle.svg b/src/newsreader/static/icons/cross-circle.svg new file mode 100755 index 0000000..dbc08af --- /dev/null +++ b/src/newsreader/static/icons/cross-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/cross.svg b/src/newsreader/static/icons/cross.svg new file mode 100755 index 0000000..2edad61 --- /dev/null +++ b/src/newsreader/static/icons/cross.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/database.svg b/src/newsreader/static/icons/database.svg new file mode 100755 index 0000000..64236ad --- /dev/null +++ b/src/newsreader/static/icons/database.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/diamond.svg b/src/newsreader/static/icons/diamond.svg new file mode 100755 index 0000000..679df4a --- /dev/null +++ b/src/newsreader/static/icons/diamond.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/dice.svg b/src/newsreader/static/icons/dice.svg new file mode 100755 index 0000000..6859d8b --- /dev/null +++ b/src/newsreader/static/icons/dice.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/dinner.svg b/src/newsreader/static/icons/dinner.svg new file mode 100755 index 0000000..0cf54d6 --- /dev/null +++ b/src/newsreader/static/icons/dinner.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/direction-ltr.svg b/src/newsreader/static/icons/direction-ltr.svg new file mode 100755 index 0000000..827ada0 --- /dev/null +++ b/src/newsreader/static/icons/direction-ltr.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/direction-rtl.svg b/src/newsreader/static/icons/direction-rtl.svg new file mode 100755 index 0000000..47ce7d4 --- /dev/null +++ b/src/newsreader/static/icons/direction-rtl.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/download.svg b/src/newsreader/static/icons/download.svg new file mode 100755 index 0000000..51b561f --- /dev/null +++ b/src/newsreader/static/icons/download.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/drop.svg b/src/newsreader/static/icons/drop.svg new file mode 100755 index 0000000..d726f67 --- /dev/null +++ b/src/newsreader/static/icons/drop.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/earth.svg b/src/newsreader/static/icons/earth.svg new file mode 100755 index 0000000..411b22c --- /dev/null +++ b/src/newsreader/static/icons/earth.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/enter-down.svg b/src/newsreader/static/icons/enter-down.svg new file mode 100755 index 0000000..85794a1 --- /dev/null +++ b/src/newsreader/static/icons/enter-down.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/enter.svg b/src/newsreader/static/icons/enter.svg new file mode 100755 index 0000000..1130e28 --- /dev/null +++ b/src/newsreader/static/icons/enter.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/envelope.svg b/src/newsreader/static/icons/envelope.svg new file mode 100755 index 0000000..f030873 --- /dev/null +++ b/src/newsreader/static/icons/envelope.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/exit-up.svg b/src/newsreader/static/icons/exit-up.svg new file mode 100755 index 0000000..c67b28c --- /dev/null +++ b/src/newsreader/static/icons/exit-up.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/exit.svg b/src/newsreader/static/icons/exit.svg new file mode 100755 index 0000000..b54f4b5 --- /dev/null +++ b/src/newsreader/static/icons/exit.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/eye.svg b/src/newsreader/static/icons/eye.svg new file mode 100755 index 0000000..f67edba --- /dev/null +++ b/src/newsreader/static/icons/eye.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/file-add.svg b/src/newsreader/static/icons/file-add.svg new file mode 100755 index 0000000..5f0b06d --- /dev/null +++ b/src/newsreader/static/icons/file-add.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/file-empty.svg b/src/newsreader/static/icons/file-empty.svg new file mode 100755 index 0000000..c203b20 --- /dev/null +++ b/src/newsreader/static/icons/file-empty.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/film-play.svg b/src/newsreader/static/icons/film-play.svg new file mode 100755 index 0000000..d2a9db0 --- /dev/null +++ b/src/newsreader/static/icons/film-play.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/flag.svg b/src/newsreader/static/icons/flag.svg new file mode 100755 index 0000000..2f91d68 --- /dev/null +++ b/src/newsreader/static/icons/flag.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/frame-contract.svg b/src/newsreader/static/icons/frame-contract.svg new file mode 100755 index 0000000..3a70458 --- /dev/null +++ b/src/newsreader/static/icons/frame-contract.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/frame-expand.svg b/src/newsreader/static/icons/frame-expand.svg new file mode 100755 index 0000000..40f6af0 --- /dev/null +++ b/src/newsreader/static/icons/frame-expand.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/funnel.svg b/src/newsreader/static/icons/funnel.svg new file mode 100755 index 0000000..d2688f7 --- /dev/null +++ b/src/newsreader/static/icons/funnel.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/gift.svg b/src/newsreader/static/icons/gift.svg new file mode 100755 index 0000000..72c0bdc --- /dev/null +++ b/src/newsreader/static/icons/gift.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/graduation-hat.svg b/src/newsreader/static/icons/graduation-hat.svg new file mode 100755 index 0000000..abb6099 --- /dev/null +++ b/src/newsreader/static/icons/graduation-hat.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/hand.svg b/src/newsreader/static/icons/hand.svg new file mode 100755 index 0000000..1eacb25 --- /dev/null +++ b/src/newsreader/static/icons/hand.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/heart-pulse.svg b/src/newsreader/static/icons/heart-pulse.svg new file mode 100755 index 0000000..62e0c08 --- /dev/null +++ b/src/newsreader/static/icons/heart-pulse.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/heart.svg b/src/newsreader/static/icons/heart.svg new file mode 100755 index 0000000..660600b --- /dev/null +++ b/src/newsreader/static/icons/heart.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/highlight.svg b/src/newsreader/static/icons/highlight.svg new file mode 100755 index 0000000..eb706fa --- /dev/null +++ b/src/newsreader/static/icons/highlight.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/history.svg b/src/newsreader/static/icons/history.svg new file mode 100755 index 0000000..4acfb22 --- /dev/null +++ b/src/newsreader/static/icons/history.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/home.svg b/src/newsreader/static/icons/home.svg new file mode 100755 index 0000000..c259dc3 --- /dev/null +++ b/src/newsreader/static/icons/home.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/hourglass.svg b/src/newsreader/static/icons/hourglass.svg new file mode 100755 index 0000000..0e72fba --- /dev/null +++ b/src/newsreader/static/icons/hourglass.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/inbox.svg b/src/newsreader/static/icons/inbox.svg new file mode 100755 index 0000000..2e0a9f8 --- /dev/null +++ b/src/newsreader/static/icons/inbox.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/indent-decrease.svg b/src/newsreader/static/icons/indent-decrease.svg new file mode 100755 index 0000000..9443dcf --- /dev/null +++ b/src/newsreader/static/icons/indent-decrease.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/newsreader/static/icons/indent-increase.svg b/src/newsreader/static/icons/indent-increase.svg new file mode 100755 index 0000000..25666f4 --- /dev/null +++ b/src/newsreader/static/icons/indent-increase.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/newsreader/static/icons/italic.svg b/src/newsreader/static/icons/italic.svg new file mode 100755 index 0000000..6ddde14 --- /dev/null +++ b/src/newsreader/static/icons/italic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/keyboard.svg b/src/newsreader/static/icons/keyboard.svg new file mode 100755 index 0000000..ae51d9c --- /dev/null +++ b/src/newsreader/static/icons/keyboard.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/laptop-phone.svg b/src/newsreader/static/icons/laptop-phone.svg new file mode 100755 index 0000000..e67b5b3 --- /dev/null +++ b/src/newsreader/static/icons/laptop-phone.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/laptop.svg b/src/newsreader/static/icons/laptop.svg new file mode 100755 index 0000000..51fdb07 --- /dev/null +++ b/src/newsreader/static/icons/laptop.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/layers.svg b/src/newsreader/static/icons/layers.svg new file mode 100755 index 0000000..8cec392 --- /dev/null +++ b/src/newsreader/static/icons/layers.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/leaf.svg b/src/newsreader/static/icons/leaf.svg new file mode 100755 index 0000000..428a264 --- /dev/null +++ b/src/newsreader/static/icons/leaf.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/license.svg b/src/newsreader/static/icons/license.svg new file mode 100755 index 0000000..cf95671 --- /dev/null +++ b/src/newsreader/static/icons/license.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/lighter.svg b/src/newsreader/static/icons/lighter.svg new file mode 100755 index 0000000..09c5e0c --- /dev/null +++ b/src/newsreader/static/icons/lighter.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/line-spacing.svg b/src/newsreader/static/icons/line-spacing.svg new file mode 100755 index 0000000..8cf8f24 --- /dev/null +++ b/src/newsreader/static/icons/line-spacing.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/linearicons.svg b/src/newsreader/static/icons/linearicons.svg new file mode 100755 index 0000000..bbf2a26 --- /dev/null +++ b/src/newsreader/static/icons/linearicons.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/link.svg b/src/newsreader/static/icons/link.svg index 57caa9f..7bb4a0e 100644 --- a/src/newsreader/static/icons/link.svg +++ b/src/newsreader/static/icons/link.svg @@ -1 +1,7 @@ - \ No newline at end of file + + + + + + + diff --git a/src/newsreader/static/icons/list.svg b/src/newsreader/static/icons/list.svg new file mode 100755 index 0000000..6255ad9 --- /dev/null +++ b/src/newsreader/static/icons/list.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/newsreader/static/icons/location.svg b/src/newsreader/static/icons/location.svg new file mode 100755 index 0000000..272c1d9 --- /dev/null +++ b/src/newsreader/static/icons/location.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/lock.svg b/src/newsreader/static/icons/lock.svg new file mode 100755 index 0000000..76259cf --- /dev/null +++ b/src/newsreader/static/icons/lock.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/magic-wand.svg b/src/newsreader/static/icons/magic-wand.svg new file mode 100755 index 0000000..55753d8 --- /dev/null +++ b/src/newsreader/static/icons/magic-wand.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/magnifier.svg b/src/newsreader/static/icons/magnifier.svg new file mode 100755 index 0000000..9c26539 --- /dev/null +++ b/src/newsreader/static/icons/magnifier.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/map-marker.svg b/src/newsreader/static/icons/map-marker.svg new file mode 100755 index 0000000..3a20637 --- /dev/null +++ b/src/newsreader/static/icons/map-marker.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/map.svg b/src/newsreader/static/icons/map.svg new file mode 100755 index 0000000..319e300 --- /dev/null +++ b/src/newsreader/static/icons/map.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/menu-circle.svg b/src/newsreader/static/icons/menu-circle.svg new file mode 100755 index 0000000..f3544eb --- /dev/null +++ b/src/newsreader/static/icons/menu-circle.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/menu.svg b/src/newsreader/static/icons/menu.svg new file mode 100755 index 0000000..e0952e0 --- /dev/null +++ b/src/newsreader/static/icons/menu.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/mic.svg b/src/newsreader/static/icons/mic.svg new file mode 100755 index 0000000..9c08d2d --- /dev/null +++ b/src/newsreader/static/icons/mic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/moon.svg b/src/newsreader/static/icons/moon.svg new file mode 100755 index 0000000..3f150c6 --- /dev/null +++ b/src/newsreader/static/icons/moon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/move.svg b/src/newsreader/static/icons/move.svg new file mode 100755 index 0000000..86c223d --- /dev/null +++ b/src/newsreader/static/icons/move.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/music-note.svg b/src/newsreader/static/icons/music-note.svg new file mode 100755 index 0000000..a4ab001 --- /dev/null +++ b/src/newsreader/static/icons/music-note.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/mustache.svg b/src/newsreader/static/icons/mustache.svg new file mode 100755 index 0000000..8c12f70 --- /dev/null +++ b/src/newsreader/static/icons/mustache.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/neutral.svg b/src/newsreader/static/icons/neutral.svg new file mode 100755 index 0000000..4f55a69 --- /dev/null +++ b/src/newsreader/static/icons/neutral.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/page-break.svg b/src/newsreader/static/icons/page-break.svg new file mode 100755 index 0000000..493c248 --- /dev/null +++ b/src/newsreader/static/icons/page-break.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/paperclip.svg b/src/newsreader/static/icons/paperclip.svg new file mode 100755 index 0000000..2afa342 --- /dev/null +++ b/src/newsreader/static/icons/paperclip.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/paw.svg b/src/newsreader/static/icons/paw.svg new file mode 100755 index 0000000..4170890 --- /dev/null +++ b/src/newsreader/static/icons/paw.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/pencil.svg b/src/newsreader/static/icons/pencil.svg new file mode 100755 index 0000000..fb618b1 --- /dev/null +++ b/src/newsreader/static/icons/pencil.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/phone-handset.svg b/src/newsreader/static/icons/phone-handset.svg new file mode 100755 index 0000000..cdadbe5 --- /dev/null +++ b/src/newsreader/static/icons/phone-handset.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/phone.svg b/src/newsreader/static/icons/phone.svg new file mode 100755 index 0000000..2883bc8 --- /dev/null +++ b/src/newsreader/static/icons/phone.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/picture.svg b/src/newsreader/static/icons/picture.svg new file mode 100755 index 0000000..c927a37 --- /dev/null +++ b/src/newsreader/static/icons/picture.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/pie-chart.svg b/src/newsreader/static/icons/pie-chart.svg new file mode 100755 index 0000000..a02c1a5 --- /dev/null +++ b/src/newsreader/static/icons/pie-chart.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/pilcrow.svg b/src/newsreader/static/icons/pilcrow.svg new file mode 100755 index 0000000..1a61c76 --- /dev/null +++ b/src/newsreader/static/icons/pilcrow.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/plus-circle.svg b/src/newsreader/static/icons/plus-circle.svg new file mode 100755 index 0000000..a0cf6fa --- /dev/null +++ b/src/newsreader/static/icons/plus-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/pointer-down.svg b/src/newsreader/static/icons/pointer-down.svg new file mode 100755 index 0000000..e2321c6 --- /dev/null +++ b/src/newsreader/static/icons/pointer-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/pointer-left.svg b/src/newsreader/static/icons/pointer-left.svg new file mode 100755 index 0000000..e3aa356 --- /dev/null +++ b/src/newsreader/static/icons/pointer-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/pointer-right.svg b/src/newsreader/static/icons/pointer-right.svg new file mode 100755 index 0000000..011ffba --- /dev/null +++ b/src/newsreader/static/icons/pointer-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/pointer-up.svg b/src/newsreader/static/icons/pointer-up.svg new file mode 100755 index 0000000..08f82a1 --- /dev/null +++ b/src/newsreader/static/icons/pointer-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/poop.svg b/src/newsreader/static/icons/poop.svg new file mode 100755 index 0000000..570fade --- /dev/null +++ b/src/newsreader/static/icons/poop.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/power-switch.svg b/src/newsreader/static/icons/power-switch.svg new file mode 100755 index 0000000..9f47372 --- /dev/null +++ b/src/newsreader/static/icons/power-switch.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/printer.svg b/src/newsreader/static/icons/printer.svg new file mode 100755 index 0000000..d338626 --- /dev/null +++ b/src/newsreader/static/icons/printer.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/pushpin.svg b/src/newsreader/static/icons/pushpin.svg new file mode 100755 index 0000000..d88009d --- /dev/null +++ b/src/newsreader/static/icons/pushpin.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/question-circle.svg b/src/newsreader/static/icons/question-circle.svg new file mode 100755 index 0000000..45e5929 --- /dev/null +++ b/src/newsreader/static/icons/question-circle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/redo.svg b/src/newsreader/static/icons/redo.svg new file mode 100755 index 0000000..ec68693 --- /dev/null +++ b/src/newsreader/static/icons/redo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/rocket.svg b/src/newsreader/static/icons/rocket.svg new file mode 100755 index 0000000..552cbcc --- /dev/null +++ b/src/newsreader/static/icons/rocket.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/sad.svg b/src/newsreader/static/icons/sad.svg new file mode 100755 index 0000000..ed63b85 --- /dev/null +++ b/src/newsreader/static/icons/sad.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/screen.svg b/src/newsreader/static/icons/screen.svg new file mode 100755 index 0000000..057f0d9 --- /dev/null +++ b/src/newsreader/static/icons/screen.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/select.svg b/src/newsreader/static/icons/select.svg new file mode 100755 index 0000000..3e8cfee --- /dev/null +++ b/src/newsreader/static/icons/select.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/shirt.svg b/src/newsreader/static/icons/shirt.svg new file mode 100755 index 0000000..f6dd52d --- /dev/null +++ b/src/newsreader/static/icons/shirt.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/smartphone.svg b/src/newsreader/static/icons/smartphone.svg new file mode 100755 index 0000000..779f7d2 --- /dev/null +++ b/src/newsreader/static/icons/smartphone.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/smile.svg b/src/newsreader/static/icons/smile.svg new file mode 100755 index 0000000..a1a0a0a --- /dev/null +++ b/src/newsreader/static/icons/smile.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/sort-alpha-asc.svg b/src/newsreader/static/icons/sort-alpha-asc.svg new file mode 100755 index 0000000..56b8d3f --- /dev/null +++ b/src/newsreader/static/icons/sort-alpha-asc.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/sort-amount-asc.svg b/src/newsreader/static/icons/sort-amount-asc.svg new file mode 100755 index 0000000..d24c0e4 --- /dev/null +++ b/src/newsreader/static/icons/sort-amount-asc.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/spell-check.svg b/src/newsreader/static/icons/spell-check.svg new file mode 100755 index 0000000..1c4875c --- /dev/null +++ b/src/newsreader/static/icons/spell-check.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/star-empty.svg b/src/newsreader/static/icons/star-empty.svg new file mode 100755 index 0000000..fd5098c --- /dev/null +++ b/src/newsreader/static/icons/star-empty.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/star-half.svg b/src/newsreader/static/icons/star-half.svg new file mode 100755 index 0000000..c48aa79 --- /dev/null +++ b/src/newsreader/static/icons/star-half.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/star.svg b/src/newsreader/static/icons/star.svg new file mode 100755 index 0000000..3302123 --- /dev/null +++ b/src/newsreader/static/icons/star.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/store.svg b/src/newsreader/static/icons/store.svg new file mode 100755 index 0000000..9fce882 --- /dev/null +++ b/src/newsreader/static/icons/store.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/strikethrough.svg b/src/newsreader/static/icons/strikethrough.svg new file mode 100755 index 0000000..825d1d0 --- /dev/null +++ b/src/newsreader/static/icons/strikethrough.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/sun.svg b/src/newsreader/static/icons/sun.svg new file mode 100755 index 0000000..b9d9038 --- /dev/null +++ b/src/newsreader/static/icons/sun.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/sync.svg b/src/newsreader/static/icons/sync.svg new file mode 100755 index 0000000..982223f --- /dev/null +++ b/src/newsreader/static/icons/sync.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/tablet.svg b/src/newsreader/static/icons/tablet.svg new file mode 100755 index 0000000..8554d69 --- /dev/null +++ b/src/newsreader/static/icons/tablet.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/tag.svg b/src/newsreader/static/icons/tag.svg new file mode 100755 index 0000000..f2a207b --- /dev/null +++ b/src/newsreader/static/icons/tag.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/text-align-center.svg b/src/newsreader/static/icons/text-align-center.svg new file mode 100755 index 0000000..4ca60a9 --- /dev/null +++ b/src/newsreader/static/icons/text-align-center.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/text-align-justify.svg b/src/newsreader/static/icons/text-align-justify.svg new file mode 100755 index 0000000..814e51e --- /dev/null +++ b/src/newsreader/static/icons/text-align-justify.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/text-align-left.svg b/src/newsreader/static/icons/text-align-left.svg new file mode 100755 index 0000000..ee71585 --- /dev/null +++ b/src/newsreader/static/icons/text-align-left.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/text-align-right.svg b/src/newsreader/static/icons/text-align-right.svg new file mode 100755 index 0000000..4884054 --- /dev/null +++ b/src/newsreader/static/icons/text-align-right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/newsreader/static/icons/text-format-remove.svg b/src/newsreader/static/icons/text-format-remove.svg new file mode 100755 index 0000000..f472c8c --- /dev/null +++ b/src/newsreader/static/icons/text-format-remove.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/text-format.svg b/src/newsreader/static/icons/text-format.svg new file mode 100755 index 0000000..5fe551c --- /dev/null +++ b/src/newsreader/static/icons/text-format.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/text-size.svg b/src/newsreader/static/icons/text-size.svg new file mode 100755 index 0000000..aef49f1 --- /dev/null +++ b/src/newsreader/static/icons/text-size.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/thumbs-down.svg b/src/newsreader/static/icons/thumbs-down.svg new file mode 100755 index 0000000..efe684e --- /dev/null +++ b/src/newsreader/static/icons/thumbs-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/thumbs-up.svg b/src/newsreader/static/icons/thumbs-up.svg new file mode 100755 index 0000000..bcfaec2 --- /dev/null +++ b/src/newsreader/static/icons/thumbs-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/train.svg b/src/newsreader/static/icons/train.svg new file mode 100755 index 0000000..efdeef9 --- /dev/null +++ b/src/newsreader/static/icons/train.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/newsreader/static/icons/trash.svg b/src/newsreader/static/icons/trash.svg new file mode 100755 index 0000000..4b35080 --- /dev/null +++ b/src/newsreader/static/icons/trash.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/underline.svg b/src/newsreader/static/icons/underline.svg new file mode 100755 index 0000000..0d440e5 --- /dev/null +++ b/src/newsreader/static/icons/underline.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/undo.svg b/src/newsreader/static/icons/undo.svg new file mode 100755 index 0000000..ba812e0 --- /dev/null +++ b/src/newsreader/static/icons/undo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/unlink.svg b/src/newsreader/static/icons/unlink.svg new file mode 100755 index 0000000..2c176da --- /dev/null +++ b/src/newsreader/static/icons/unlink.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/newsreader/static/icons/upload.svg b/src/newsreader/static/icons/upload.svg new file mode 100755 index 0000000..12ac621 --- /dev/null +++ b/src/newsreader/static/icons/upload.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/user.svg b/src/newsreader/static/icons/user.svg new file mode 100755 index 0000000..5931e5f --- /dev/null +++ b/src/newsreader/static/icons/user.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/users.svg b/src/newsreader/static/icons/users.svg new file mode 100755 index 0000000..743ef13 --- /dev/null +++ b/src/newsreader/static/icons/users.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/volume-high.svg b/src/newsreader/static/icons/volume-high.svg new file mode 100755 index 0000000..7e891c2 --- /dev/null +++ b/src/newsreader/static/icons/volume-high.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/newsreader/static/icons/volume-low.svg b/src/newsreader/static/icons/volume-low.svg new file mode 100755 index 0000000..4872d97 --- /dev/null +++ b/src/newsreader/static/icons/volume-low.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/newsreader/static/icons/volume-medium.svg b/src/newsreader/static/icons/volume-medium.svg new file mode 100755 index 0000000..71b2fca --- /dev/null +++ b/src/newsreader/static/icons/volume-medium.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/volume.svg b/src/newsreader/static/icons/volume.svg new file mode 100755 index 0000000..edb1f6e --- /dev/null +++ b/src/newsreader/static/icons/volume.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/newsreader/static/icons/warning.svg b/src/newsreader/static/icons/warning.svg new file mode 100755 index 0000000..21f9e68 --- /dev/null +++ b/src/newsreader/static/icons/warning.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/newsreader/static/icons/wheelchair.svg b/src/newsreader/static/icons/wheelchair.svg new file mode 100755 index 0000000..25cdac0 --- /dev/null +++ b/src/newsreader/static/icons/wheelchair.svg @@ -0,0 +1,7 @@ + + + + + + +