diff --git a/src/ignitus-Routes/ignitus-UserInterfaceBookRoutes/index.tsx b/src/ignitus-Routes/ignitus-UserInterfaceBookRoutes/index.tsx index 9cd9a397..694aa870 100644 --- a/src/ignitus-Routes/ignitus-UserInterfaceBookRoutes/index.tsx +++ b/src/ignitus-Routes/ignitus-UserInterfaceBookRoutes/index.tsx @@ -32,6 +32,7 @@ import { interfaceFilters } from '../../ignitus-UserInterfaceBook/Components/Tem import { interfaceUserProfile } from '../../ignitus-UserInterfaceBook/Components/Organisms/interfaceUserProfile/Components'; import { InterfaceAvatar } from '../../ignitus-UserInterfaceBook/Components/Organisms/interfaceAvatar/Components'; import { interfaceSideProfile } from '../../ignitus-UserInterfaceBook/Components/Organisms/interfaceSideProfile/Components/index'; +import { InterfaceNotifications } from '../../ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/Components/index'; import { InterfaceProgress } from '../../ignitus-UserInterfaceBook/Components/Molecules/interfaceProgress/index'; import { interfaceSecondaryDropDown } from '../../ignitus-UserInterfaceBook/Components/Atoms/interfaceSecondaryDropdown/Components'; import { interfaceScrollBar } from '../../ignitus-UserInterfaceBook/Components/Molecules/interfaceScrollBar/Components'; @@ -154,6 +155,10 @@ export const UserInterfaceBookRoutes: React.FunctionComponent = () => ( + diff --git a/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/Components/index.tsx b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/Components/index.tsx new file mode 100644 index 00000000..6afc7151 --- /dev/null +++ b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/Components/index.tsx @@ -0,0 +1,35 @@ +/* eslint-disable import/extensions */ +/* eslint-disable jsx-a11y/accessible-emoji */ +import React from 'react'; +import * as S from '../styles'; +import { withErrorBoundary } from '../../../../ignitus-ErrorHandlingComponents/errorBoundary'; +import { AppIcon } from '../../../../types/iconsTypes/iconEnums'; +import * as C from '../../../ignitus-Atoms/colors'; +import { InputTypes } from '../types'; + +export const Notifications = withErrorBoundary( + ({ + textColor, + titleColor, + bgColor, + picture, + title, + textLeft, + textRight, + ...rest + }: InputTypes) => ( + + + {picture && } + {textLeft} +   {title}   + {textRight} + + + + + + + + ), +); diff --git a/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/styles.ts b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/styles.ts new file mode 100644 index 00000000..ebf44d73 --- /dev/null +++ b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/styles.ts @@ -0,0 +1,47 @@ +import styled from '@emotion/styled'; +import { Icon as I } from '../../../ignitus-Utilities/Components/icon'; +import { StyledTagProps } from './types'; +import { Paragraph } from '../../..'; +import { Bold } from '../../ignitus-Atoms/fonts'; + +export const Container = styled.span` + background: ${props => props.bgColor}; + color: ${props => props.color}; + border-radius: 0.5rem; + margin: 0.5rem; + cursor: pointer; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1); +`; + +export const IconContainer = styled.div` + display: flex; +`; + +export const Icon = styled(I)` + width: 1.5rem; + fill: ${props => props.color}; + transition: 0.3s; +`; + +export const Image = styled.img` + height: 3rem; + border-radius: 50%; + margin-right: 1rem; +`; + +export const Text = styled(Paragraph)` + font-weight: ${Bold}; + color: ${props => props.color}; +`; + +export const LeftContainer = styled.div` + display: flex; + flex-direction: row; + align-items: center; +`; + +export const RightContainer = styled.div``; diff --git a/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/types.ts b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/types.ts new file mode 100644 index 00000000..ad43bd69 --- /dev/null +++ b/src/ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/types.ts @@ -0,0 +1,14 @@ +export type InputTypes = { + textColor: string; + titleColor: string; + bgColor: string; + picture?: string; + title?: string; + textLeft?: string; + textRight?: string; +}; + +export type StyledTagProps = { + bgColor: string; + color: string; +}; diff --git a/src/ignitus-Shared/index.ts b/src/ignitus-Shared/index.ts index 90b51fd8..62a7df47 100644 --- a/src/ignitus-Shared/index.ts +++ b/src/ignitus-Shared/index.ts @@ -137,6 +137,9 @@ export { UserSettingsSideNavigation, } from './ignitus-DesignSystem/ignitus-Organisms/ignitus-SideNavigation/ignitus-UserSettingsSideNavigation/Components'; +export { + Notifications, +} from './ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/Components'; /** * ignitus-Templates */ diff --git a/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/Components/index.tsx b/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/Components/index.tsx new file mode 100644 index 00000000..4687d5a8 --- /dev/null +++ b/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/Components/index.tsx @@ -0,0 +1,68 @@ +import React from 'react'; + +import { Heading2, Heading4 } from '../../../../../ignitus-Shared'; +import * as C from '../../../../../ignitus-Shared/ignitus-DesignSystem/ignitus-Atoms/colors'; +import { Interface } from '../../../../styles'; +import * as S from '../style'; + +export const InterfaceNotifications: React.FC = () => ( + + Notifications +
+ Today + + + + + +
+
+
+ + Yesterday + + +
+); diff --git a/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/style.ts b/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/style.ts new file mode 100644 index 00000000..8959a022 --- /dev/null +++ b/src/ignitus-UserInterfaceBook/Components/Organisms/interfaceNotifications/style.ts @@ -0,0 +1,7 @@ +import styled from '@emotion/styled'; +import { Notifications } from '../../../../ignitus-Shared/ignitus-DesignSystem/ignitus-Organisms/ignitus-Notifications/Components'; + +export const StyledNotifications = styled(Notifications)` + padding: 1rem; + height: 2rem; +`; diff --git a/src/ignitus-UserInterfaceBook/InterfaceSideNavigation/constants.ts b/src/ignitus-UserInterfaceBook/InterfaceSideNavigation/constants.ts index 7e2dede5..270a7196 100644 --- a/src/ignitus-UserInterfaceBook/InterfaceSideNavigation/constants.ts +++ b/src/ignitus-UserInterfaceBook/InterfaceSideNavigation/constants.ts @@ -215,6 +215,10 @@ export const allEdges: Edges[] = [ title: 'Random Avatar', route: '/interface/avatar', }, + { + title: 'Notifications', + route: '/interface/notifications', + }, ], }, {