-
+ >
);
}
diff --git a/web/pages/config-social-items.tsx b/web/pages/config-social-items.tsx
new file mode 100644
index 000000000..6161ba5f8
--- /dev/null
+++ b/web/pages/config-social-items.tsx
@@ -0,0 +1,20 @@
+import React from 'react';
+import { Typography } from 'antd';
+import EditSocialLinks from './components/config/edit-social-links';
+import EditInstanceTags from './components/config/edit-tags';
+import EditDirectoryDetails from './components/config/edit-directory';
+
+const { Title } = Typography;
+
+export default function ConfigSocialThings() {
+ return (
+
+
Social Items
+
+
+
+
+
+ );
+}
+
diff --git a/web/styles/ant-overrides.scss b/web/styles/ant-overrides.scss
new file mode 100644
index 000000000..0b41e7def
--- /dev/null
+++ b/web/styles/ant-overrides.scss
@@ -0,0 +1,95 @@
+// GENERAL ANT OVERRIDES
+.ant-layout,
+.ant-layout-footer,
+.ant-menu,
+.ant-menu.ant-menu-dark {
+ background-color: transparent;
+}
+.owncast-layout .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {
+ background-color: var(--owncast-purple);
+}
+
+// LAYOUT
+.ant-layout-header,
+.ant-layout-sider {
+ background-color: #07050d;
+}
+
+// MENU
+.ant-menu-dark .ant-menu-inline.ant-menu-sub {
+ // background-color: rgba(255,255,255,.05);
+ background-color: #140028;
+}
+
+// CARD
+.ant-card {
+ border-radius: .5em;
+}
+
+// INPUT
+.ant-input-affix-wrapper {
+ border-radius: 5px;
+ background-color: rgba(255,255,255,.1);
+
+ textarea {
+ border-radius: 5px;
+ }
+ input {
+ background-color: transparent;
+ }
+}
+
+// BUTTON
+.ant-btn-primary:hover, .ant-btn-primary:focus {
+ background-color: white;
+ color: #40a9ff;
+}
+.ant-btn.ant-btn-primary:focus {
+ border-color: white;
+
+}
+.ant-input-affix-wrapper,
+.ant-btn {
+ transition-delay: 0s;
+ transition-duration: 0.15s;
+}
+
+// TABLE
+.ant-table-thead > tr > th,
+.ant-table-small .ant-table-thead > tr > th {
+ background-color: #000;
+}
+
+// MODAL
+.ant-modal-content {
+ border-radius: 6px;
+}
+.ant-modal-header {
+ background-color: #1c173d;
+ border-radius: 6px 6px 0 0;
+}
+.ant-modal-title {
+ font-weight: bold;
+ font-size: 1.5em;
+}
+.ant-modal-body {
+ background-color: #33333c;
+}
+.ant-modal-footer {
+ background-color: #222229;
+}
+
+// SELECT
+.ant-select-dropdown {
+ background-color: #334;
+}
+
+
+// SLIDER
+.ant-slider-with-marks {
+ margin-right: 2em;
+}
+.ant-slider-mark-text {
+ font-size: .85em;
+ white-space: nowrap;
+}
\ No newline at end of file
diff --git a/web/styles/config-pages.module.scss b/web/styles/config-pages.module.scss
new file mode 100644
index 000000000..4024444f5
--- /dev/null
+++ b/web/styles/config-pages.module.scss
@@ -0,0 +1,33 @@
+.publicDetailsContainer {
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ flex-wrap: wrap;
+
+ .textFieldsSection {
+ margin-right: 2rem;
+ }
+}
+
+
+
+.socialLinksEditor {
+ width: 20rem;
+ margin: 2em 0;
+}
+
+
+
+.tag-editor-container,
+.config-directory-details-form {
+ border-radius: 1em;
+ background-color: rgba(128,99,255,.1);
+ padding: 1.5em;
+ margin-bottom: 1em;
+}
+
+//////////////////////////////
+// common?
+.dataTable {
+
+}
\ No newline at end of file
diff --git a/web/styles/config.scss b/web/styles/config.scss
index 7f3e1c8d9..d59d00ce3 100644
--- a/web/styles/config.scss
+++ b/web/styles/config.scss
@@ -26,13 +26,6 @@
margin-bottom: 1em;
}
-.ant-slider-with-marks {
- margin-right: 2em;
-}
-.ant-slider-mark-text {
- font-size: .85em;
- white-space: nowrap;
-}
.status-message {
margin: 1rem 0;
diff --git a/web/styles/globals.scss b/web/styles/globals.scss
index bc7931a20..eeef239d5 100644
--- a/web/styles/globals.scss
+++ b/web/styles/globals.scss
@@ -1,7 +1,5 @@
@import "~antd/dist/antd.dark";
-$owncast-purple: rgba(90,103,216,1);
-
html,
body {
padding: 0;
@@ -37,84 +35,12 @@ code {
color: var(--owncast-purple);
}
-.owncast-layout .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {
- background-color: $owncast-purple;
-}
-// GENERAL ANT FORM OVERRIDES
-.ant-layout,
-.ant-layout-footer,
-.ant-menu,
-.ant-menu.ant-menu-dark {
- background-color: transparent;
-}
-.ant-layout-header,
-.ant-layout-sider {
- background-color: #07050d;
-}
-.ant-menu-dark .ant-menu-inline.ant-menu-sub {
- // background-color: rgba(255,255,255,.05);
- background-color: #140028;
-}
-.ant-card {
- border-radius: .5em;
-}
-.ant-input-affix-wrapper {
- border-radius: 5px;
- background-color: rgba(255,255,255,.1);
-
- textarea {
- border-radius: 5px;
- }
- input {
- background-color: transparent;
- }
-}
-.ant-btn-primary:hover, .ant-btn-primary:focus {
- background-color: white;
- color: #40a9ff;
-}
-.ant-btn.ant-btn-primary:focus {
- border-color: white;
-
-}
-.ant-input-affix-wrapper,
-.ant-btn {
- transition-delay: 0s;
- transition-duration: 0.15s;
-}
-.ant-table-thead > tr > th,
-.ant-table-small .ant-table-thead > tr > th {
- background-color: #000;
-}
-.ant-modal-content {
- border-radius: 6px;
-}
-.ant-modal-header {
- background-color: #1c173d;
- border-radius: 6px 6px 0 0;
-}
-.ant-modal-title {
- font-weight: bold;
- font-size: 1.5em;
-}
-.ant-modal-body {
- background-color: #33333c;
-}
-.ant-modal-footer {
- background-color: #222229;
-}
-
-
-.ant-select-dropdown {
- background-color: #334;
-}
-.rc-virtual-list-scrollbar {
- display: block !important;
-}
-
// markdown editor overrides
+.rc-virtual-list-scrollbar {
+ display: block !important;
+}
.rc-md-editor {
// Set the background color of the preview container
.editor-container {
@@ -126,7 +52,7 @@ code {
.markdown-editor-preview-pane {
// color:lightgrey;
a {
- color: $owncast-purple;
+ color: var(--owncast-purple);;
}
h1 {
font-size: 2em;
@@ -150,4 +76,4 @@ code {
.button-type-undo, .button-type-redo, .button-type-clear, .button-type-image, .button-type-wrap, .button-type-quote, .button-type-strikethrough, .button-type-code-inline, .button-type-code-block {
display: none !important;
}
-}
\ No newline at end of file
+}
diff --git a/web/utils/apis.ts b/web/utils/apis.ts
index 39acf45a7..d25679bb1 100644
--- a/web/utils/apis.ts
+++ b/web/utils/apis.ts
@@ -74,7 +74,7 @@ interface FetchOptions {
auth?: boolean;
};
-export async function fetchData(url: string, options?: object) {
+export async function fetchData(url: string, options?: FetchOptions) {
const {
data,
method = 'GET',
@@ -129,23 +129,6 @@ export async function getGithubRelease() {
return {};
}
-// Make a request to the server status API and the Github releases API
-// and return a release if it's newer than the server version.
-export async function upgradeVersionAvailable(currentVersion) {
- const recentRelease = await getGithubRelease();
- let recentReleaseVersion = recentRelease.tag_name;
-
- if (recentReleaseVersion.substr(0, 1) === 'v') {
- recentReleaseVersion = recentReleaseVersion.substr(1)
- }
-
- if (!upToDate(currentVersion, recentReleaseVersion)) {
- return recentReleaseVersion
- }
-
- return null;
-}
-
// Stolen from https://gist.github.com/prenagha/98bbb03e27163bc2f5e4
const VPAT = /^\d+(\.\d+){0,2}$/;
function upToDate(local, remote) {
@@ -171,6 +154,22 @@ function upToDate(local, remote) {
}
return true;
}
- return local >= remote;
-
+ return local >= remote;
}
+
+// Make a request to the server status API and the Github releases API
+// and return a release if it's newer than the server version.
+export async function upgradeVersionAvailable(currentVersion) {
+ const recentRelease = await getGithubRelease();
+ let recentReleaseVersion = recentRelease.tag_name;
+
+ if (recentReleaseVersion.substr(0, 1) === 'v') {
+ recentReleaseVersion = recentReleaseVersion.substr(1)
+ }
+
+ if (!upToDate(currentVersion, recentReleaseVersion)) {
+ return recentReleaseVersion
+ }
+
+ return null;
+}
\ No newline at end of file