diff --git a/web/pages/components/main-layout.tsx b/web/pages/components/main-layout.tsx index cd031be3c..1e9aae6a8 100644 --- a/web/pages/components/main-layout.tsx +++ b/web/pages/components/main-layout.tsx @@ -13,7 +13,8 @@ import { ToolOutlined, PlayCircleFilled, MinusSquareFilled, - MessageOutlined, + QuestionCircleOutlined, + MessageOutlined } from '@ant-design/icons'; import classNames from 'classnames'; import { upgradeVersionAvailable } from "../../utils/apis"; @@ -149,6 +150,13 @@ export default function MainLayout(props) { + } + title="Help" + > + Help + diff --git a/web/pages/help.tsx b/web/pages/help.tsx new file mode 100644 index 000000000..218007561 --- /dev/null +++ b/web/pages/help.tsx @@ -0,0 +1,167 @@ +import { Button, Card, Col, Divider, Result, Row } from 'antd' +import Meta from 'antd/lib/card/Meta' +import Title from 'antd/lib/typography/Title' +import { + AlertOutlined, + ApiTwoTone, + BookOutlined, + BugTwoTone, + CameraTwoTone, + DatabaseTwoTone, + EditTwoTone, + Html5TwoTone, + LinkOutlined, + QuestionCircleTwoTone, + SettingTwoTone, + SlidersTwoTone, +} from '@ant-design/icons' +import React from 'react' + +interface Props { } + +export default function Help(props: Props) { + const questions = [ + { + icon: , + title: "I want to configure my owncast instance", + content: ( +
+ Learn more +
+ ) + }, + { + icon: , + title: "I need help configuring my broadcasting software", + content: ( +
+ Learn more +
+ ) + }, + { + icon: , + title: "I want to embed my stream into another site", + content: ( +
+ Learn more +
+ ) + }, + { + icon: , + title: "I want to customize my website", + content: ( +
+ Learn more +
+ ) + }, + { + icon: , + title: "I want to tweak my encoding", + content: ( + + ) + }, + { + icon: , + title: "I want to offload my video to an external storage provider", + content: ( + + ) + }, + ] + + const otherResources = [ + { + icon: , + title: "I found a bug", + content: ( +
+ If you found a bug, then report it in our + Github Issues +
+ ) + }, + { + icon: , + title: "I have a general question", + content: ( +
+ Most general questions are answered in our + FAQ +
+ ) + }, + { + icon: , + title: "I want to use the API", + content: ( +
+ You can view the API documentation for either the +  latest  + or +  development  + release. +
+ ) + } + ] + + return ( +
+ How can we help you? + + + + Troubleshooting + + + + + Documentation + + + + + Common tasks + + { + questions.map(question => ( + + + + + + )) + } + + + Other + + { + otherResources.map(question => ( + + + + + + )) + } + +
+ ) +}