diff --git a/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.module.scss b/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.module.scss
new file mode 100644
index 000000000..766a1f7e8
--- /dev/null
+++ b/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.module.scss
@@ -0,0 +1,22 @@
+.contentbutton {
+ background-color: transparent;
+ border: none;
+ text-align: left;
+ cursor: pointer;
+}
+
+.closebutton {
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ background-color: transparent;
+ border: none;
+ font-size: 20px;
+ cursor: pointer;
+}
+
+.title {
+ border-bottom: none;
+ font-weight: bold;
+ padding-left: 5px;
+}
\ No newline at end of file
diff --git a/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.tsx b/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.tsx
index 59a07aaed..99c1b73ea 100644
--- a/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.tsx
+++ b/web/components/ui/NotifyReminderPopup/NotifyReminderPopup.tsx
@@ -1,6 +1,60 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
-interface Props {}
+import { Popover } from 'antd';
+import { CloseOutlined } from '@ant-design/icons';
+import React, { useState } from 'react';
+import s from './NotifyReminderPopup.module.scss';
+
+interface Props {
+ visible: boolean;
+ children: React.ReactNode[];
+ notificationClicked: () => void;
+ notificationClosed: () => void;
+}
export default function NotifyReminderPopup(props: Props) {
- return
Popup reminder goes here
;
+ const { children, visible, notificationClicked, notificationClosed } = props;
+ const [visiblePopup, setVisiblePopup] = useState(visible);
+
+ const title = Stay updated!
;
+ const popupStyle = {
+ borderRadius: '5px',
+ cursor: 'pointer',
+ paddingTop: '10px',
+ paddingRight: '10px',
+ fontSize: '16px',
+ };
+
+ const popupClicked = e => {
+ e.stopPropagation();
+ notificationClicked();
+ };
+
+ const popupClosed = e => {
+ e.stopPropagation();
+ setVisiblePopup(false);
+ notificationClosed();
+ };
+
+ const content = (
+
+ );
+ return (
+
+ {children}
+
+ );
}
diff --git a/web/stories/NotifyReminder.stories.tsx b/web/stories/NotifyReminder.stories.tsx
index 758133068..f47b014f5 100644
--- a/web/stories/NotifyReminder.stories.tsx
+++ b/web/stories/NotifyReminder.stories.tsx
@@ -1,8 +1,17 @@
+/* eslint-disable no-alert */
import React from 'react';
import { ComponentStory, ComponentMeta } from '@storybook/react';
import NotifyReminder from '../components/ui/NotifyReminderPopup/NotifyReminderPopup';
import Mock from './assets/mocks/notify-popup.png';
+const Example = args => (
+
+
+ notify button
+
+
+);
+
export default {
title: 'owncast/Notify Reminder',
component: NotifyReminder,
@@ -14,13 +23,26 @@ export default {
docs: {
description: {
component: `After visiting the page three times this popup reminding you that you can register for live stream notifications shows up.
-Clicking it will make the notificaiton modal display. Clicking the "X" will hide the modal and make it never show again.`,
+Clicking it will make the notification modal display. Clicking the "X" will hide the modal and make it never show again.`,
},
},
},
} as ComponentMeta;
-const Template: ComponentStory = args => ;
+const Template: ComponentStory = args => ;
-export const Example = Template.bind({});
-Example.args = {};
+export const Active = Template.bind({});
+Active.args = {
+ visible: true,
+ notificationClicked: () => {
+ alert('notification clicked');
+ },
+ notificationClosed: () => {
+ alert('notification closed');
+ },
+};
+
+export const InActive = Template.bind({});
+InActive.args = {
+ visible: false,
+};
diff --git a/web/style-definitions/tokens/color/antd-overrides.yaml b/web/style-definitions/tokens/color/antd-overrides.yaml
index fbb6917c4..24c4a858d 100644
--- a/web/style-definitions/tokens/color/antd-overrides.yaml
+++ b/web/style-definitions/tokens/color/antd-overrides.yaml
@@ -9,7 +9,7 @@ text-color-secondry:
link-color:
value: 'var(--theme-link-color)'
popover-background:
- value: 'var(--theme-background)'
+ value: '{color.owncast.purple.700.value}'
background-color-light:
value: 'var(--theme-background-secondary)'
diff --git a/web/styles/ant-overrides.scss b/web/styles/ant-overrides.scss
index c0fab6750..02abe3cb0 100644
--- a/web/styles/ant-overrides.scss
+++ b/web/styles/ant-overrides.scss
@@ -536,3 +536,4 @@ textarea.ant-input {
display: block;
}
}
+
diff --git a/web/styles/theme.less b/web/styles/theme.less
index 57f2f2e0a..9a0d954f5 100644
--- a/web/styles/theme.less
+++ b/web/styles/theme.less
@@ -1,10 +1,11 @@
+
// Do not edit directly
-// Generated on Sat, 07 May 2022 17:24:18 GMT
+// Generated on Tue, 17 May 2022 02:47:26 GMT
@text-color: var(--theme-text-color);
@text-color-secondry: var(--theme-text-color-secondary);
@link-color: var(--theme-link-color);
-@popover-background: var(--theme-background);
+@popover-background: #6941c6;
@background-color-light: var(--theme-background-secondary);
@primary-color: #9e77ed;
@info-color: #667085;
@@ -19,12 +20,10 @@
@theme-text-color: #d0d5dd; // The color of the text in the application.
@theme-text-color-secondary: #667085;
@theme-link-color: #9e77ed;
-@theme-font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
- 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
- 'Segoe UI Symbol', 'Noto Color Emoji';
+@theme-font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
@theme-background: #1b1a26; // The main background color of the page.
@theme-background-secondary: #16151f; // A secondary background color used in sections and controls.
-@theme-rounded-corners: 5px; // The radius of rounded corners.
+@theme-rounded-corners: 5px; // The radius of rounded corners used in places.
@theme-success-color: #12b76a;
@theme-info-color: #d6bbfb;
@theme-warning-color: #f79009;
@@ -59,9 +58,7 @@
@color-owncast-logo-blue: #2086e1;
@color-owncast-background: #1b1a26;
@color-owncast-background-secondary: #16151f;
-@font-owncast-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
- 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
- 'Segoe UI Symbol', 'Noto Color Emoji';
+@font-owncast-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
@owncast-purple: #7871ff;
@owncast-purple-25: rgba(120, 113, 255, 0.25);
@owncast-purple-50: rgba(120, 113, 255, 0.5);
@@ -74,4 +71,4 @@
@purple-dark: #42307d;
@default-link-color: #6941c6;
@default-bg-color: #1b1a26;
-@default-text-color: #f2f4f7;
+@default-text-color: #f2f4f7;
\ No newline at end of file
diff --git a/web/styles/variables.css b/web/styles/variables.css
index 81936e003..7e81709ee 100644
--- a/web/styles/variables.css
+++ b/web/styles/variables.css
@@ -1,13 +1,13 @@
/**
* Do not edit directly
- * Generated on Sat, 07 May 2022 17:24:18 GMT
+ * Generated on Tue, 17 May 2022 02:47:26 GMT
*/
:root {
--text-color: var(--theme-text-color);
--text-color-secondry: var(--theme-text-color-secondary);
--link-color: var(--theme-link-color);
- --popover-background: var(--theme-background);
+ --popover-background: #6941c6;
--background-color-light: var(--theme-background-secondary);
--primary-color: #9e77ed;
--info-color: #667085;
@@ -27,7 +27,7 @@
'Segoe UI Symbol', 'Noto Color Emoji';
--theme-background: #1b1a26; /* The main background color of the page. */
--theme-background-secondary: #16151f; /* A secondary background color used in sections and controls. */
- --theme-rounded-corners: 5px; /* The radius of rounded corners. */
+ --theme-rounded-corners: 5px; /* The radius of rounded corners used in places. */
--theme-success-color: #12b76a;
--theme-info-color: #d6bbfb;
--theme-warning-color: #f79009;