-
+ { icon &&
}
+ { image &&
+
+ }
-
+
{title}
+ { count > 0 &&
+
+ {count}
+
+ }
)
diff --git a/app/javascript/gabsocial/components/icon/icon.js b/app/javascript/gabsocial/components/icon/icon.js
index 88e669aa..9f19698c 100644
--- a/app/javascript/gabsocial/components/icon/icon.js
+++ b/app/javascript/gabsocial/components/icon/icon.js
@@ -1,19 +1,26 @@
+import AppsIcon from './svgs/apps_icon'
import BackIcon from './svgs/back_icon'
import CalendarIcon from './svgs/calendar_icon'
+import ChatIcon from './svgs/chat_icon'
import CloseIcon from './svgs/close_icon'
import CommentIcon from './svgs/comment_icon'
+import DissenterIcon from './svgs/dissenter_icon'
import EllipsisIcon from './svgs/ellipsis_icon'
import GlobeIcon from './svgs/globe_icon'
import GroupIcon from './svgs/group_icon'
import HomeIcon from './svgs/home_icon'
import LikeIcon from './svgs/like_icon'
+import ListIcon from './svgs/list_icon'
import LoadingIcon from './svgs/loading_icon'
import MediaIcon from './svgs/media_icon'
+import MoreIcon from './svgs/more_icon'
import NotificationsIcon from './svgs/notifications_icon'
import PollIcon from './svgs/poll_icon'
import RepostIcon from './svgs/repost_icon'
import SearchIcon from './svgs/search_icon'
import ShareIcon from './svgs/share_icon'
+import ShopIcon from './svgs/shop_icon'
+import TrendsIcon from './svgs/trends_icon'
import VerifiedIcon from './svgs/verified_icon'
import WarningIcon from './svgs/warning_icon'
@@ -30,14 +37,20 @@ export default class Icon extends PureComponent {
const { id, ...options } = this.props
switch (id) {
+ case 'apps':
+ return
case 'back':
return
case 'calendar':
return
+ case 'chat':
+ return
case 'close':
return
case 'comment':
return
+ case 'dissenter':
+ return
case 'ellipsis':
return
case 'globe':
@@ -48,8 +61,12 @@ export default class Icon extends PureComponent {
return
case 'like':
return
+ case 'list':
+ return
case 'loading':
return
+ case 'more':
+ return
case 'media':
return
case 'notifications':
@@ -62,10 +79,14 @@ export default class Icon extends PureComponent {
return
case 'share':
return
+ case 'shop':
+ return
+ case 'trends':
+ return
case 'verified':
return
case 'warning':
- return
+ return
default:
return
}
diff --git a/app/javascript/gabsocial/components/icon/svgs/apps_icon.js b/app/javascript/gabsocial/components/icon/svgs/apps_icon.js
new file mode 100644
index 00000000..40b03e85
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/apps_icon.js
@@ -0,0 +1,35 @@
+const AppsIcon = ({
+ className = '',
+ width = '16px',
+ height = '16px',
+ viewBox = '0 0 80 80',
+ title = 'Apps',
+}) => (
+
+
+)
+
+export default AppsIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/chat_icon.js b/app/javascript/gabsocial/components/icon/svgs/chat_icon.js
new file mode 100644
index 00000000..15496017
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/chat_icon.js
@@ -0,0 +1,27 @@
+const ChatIcon = ({
+ className = '',
+ width = '16px',
+ height = '16px',
+ viewBox = '0 0 64 64',
+ title = 'Chat',
+}) => (
+
+)
+
+export default ChatIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/dissenter_icon.js b/app/javascript/gabsocial/components/icon/svgs/dissenter_icon.js
new file mode 100644
index 00000000..4cb5b122
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/dissenter_icon.js
@@ -0,0 +1,29 @@
+const DissenterIcon = ({
+ className = '',
+ width = '32px',
+ height = '32px',
+ viewBox = '0 0 64 64',
+ title = 'Dissenter',
+}) => (
+
+)
+
+export default DissenterIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/list_icon.js b/app/javascript/gabsocial/components/icon/svgs/list_icon.js
new file mode 100644
index 00000000..5989d4b8
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/list_icon.js
@@ -0,0 +1,26 @@
+const ListIcon = ({
+ className = '',
+ width = '26px',
+ height = '26px',
+ viewBox = '0 0 64 64',
+ title = 'List',
+}) => (
+
+)
+
+export default ListIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/more_icon.js b/app/javascript/gabsocial/components/icon/svgs/more_icon.js
new file mode 100644
index 00000000..013fdd0b
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/more_icon.js
@@ -0,0 +1,27 @@
+const MoreIcon = ({
+ className = '',
+ width = '16px',
+ height = '16px',
+ viewBox = '0 0 64 64',
+ title = 'More',
+}) => (
+
+
+)
+
+export default MoreIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/shop_icon.js b/app/javascript/gabsocial/components/icon/svgs/shop_icon.js
new file mode 100644
index 00000000..68979815
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/shop_icon.js
@@ -0,0 +1,27 @@
+const ShopIcon = ({
+ className = '',
+ width = '26px',
+ height = '26px',
+ viewBox = '0 0 64 64',
+ title = 'Shop',
+}) => (
+
+)
+
+export default ShopIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/icon/svgs/trends_icon.js b/app/javascript/gabsocial/components/icon/svgs/trends_icon.js
new file mode 100644
index 00000000..f4ce5ee7
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/svgs/trends_icon.js
@@ -0,0 +1,32 @@
+const TrendsIcon = ({
+ className = '',
+ width = '32px',
+ height = '32px',
+ viewBox = '0 0 80 80',
+ title = 'Trends',
+}) => (
+
+
+)
+
+export default TrendsIcon
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/page_layout.js b/app/javascript/gabsocial/components/layouts/default_layout.js
similarity index 86%
rename from app/javascript/gabsocial/components/page_layout.js
rename to app/javascript/gabsocial/components/layouts/default_layout.js
index 9557cd29..ec54cd66 100644
--- a/app/javascript/gabsocial/components/page_layout.js
+++ b/app/javascript/gabsocial/components/layouts/default_layout.js
@@ -1,7 +1,8 @@
-import ColumnHeader from './column_header'
-import Header from './header'
+import Search from '../search'
+import ColumnHeader from '../column_header'
+import Header from '../header'
-export default class PageLayout extends PureComponent {
+export default class DefaultLayout extends PureComponent {
static propTypes = {
layout: PropTypes.object,
title: PropTypes.string,
@@ -11,9 +12,6 @@ export default class PageLayout extends PureComponent {
render() {
const { children, title, showBackBtn, layout } = this.props
- const right = layout.RIGHT || null
- const headerRight = layout.HEADER_RIGHT || null
-
return (
@@ -27,7 +25,7 @@ export default class PageLayout extends PureComponent {
- { headerRight }
+
@@ -43,7 +41,7 @@ export default class PageLayout extends PureComponent {