diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000000000000000000000000000000000000..1056374baaed9a580bd7c9d3d3960d965f51beaf --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,73 @@ +*Last updated: 21. April 2021* + +# Roadmap + +## 0.4: Voice + +This update introduces voice support to REVOLT. + +Beta entry is now **closed** for this version as we have reached maximum capacity, if you do really want access, contact me directly through [https://insrt.uk](https://insrt.uk). + +### Release Features + +[x] Voice Chat +[ ] Deafening +[ ] Volume Sliders +[ ] Show Call Status Globally +[ ] Ringing + +### General Features + +[x] Ability to change username. +[x] Markdown User Profiles +[x] User Badges +[x] User Status + [x] Status Indicators +[x] Re-designed languages page in settings. +[x] Ability to change group name / description. +[x] Mention auto-complete. +[x] Emoji auto-complete. + +### Improvements + +[x] Combo box design. +[x] User selector design. +[x] Show participants on sidebar. +[x] Improve call design. +[ ] Use server configuration to determine endpoints for voso. + +## 0.4.1: CDN Rework + +This update aims to refine how the CDN works. + +### Features + +[x] Add support for S3. +[x] Remove EXIF data. +[ ] Link embeds. +[ ] Image proxy. +[x] Announce max file limit through server configuration. +[x] Save file size to database, and display it in client. +[x] Improve image / video detection, hence allow more file types. +[ ] Ability to change group icons. +[ ] Ability to change user profile picture. +[ ] Ability to change user profile background image. + +### Improvements + +[ ] Use combined environment file for docker deployment. +[x] Allow failed image / video uploads to be uploaded as a normal file. + +# 0.5: Servers + +### Features + +[ ] Ability to create a server. +[ ] Creating server channels. +[ ] Deleting server channels. +[ ] Ability to change server name. +[ ] Mini member pop out. +[ ] Bot support. +[ ] Permission editor. +[ ] Invites. +[ ] Webhooks for groups / guild channels. diff --git a/components/Footer.tsx b/components/Footer.tsx index 09fb5dd583169c08b8c9427a59ae1ff0775995e9..090407ff848ff428b8526fb9b6dbbf817add4714 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -24,7 +24,9 @@ export function Footer() { <div className={styles.column}> <b>App</b> <a href={URLs.App}>Open App</a> - <a href={URLs.Roadmap}>Roadmap</a> + <Link href="/roadmap"> + <a>Roadmap</a> + </Link> {/*<a>Download</a> <a>Features</a> <a>Branding</a>*/} diff --git a/components/Markdown.module.scss b/components/Markdown.module.scss index 0154eff88158d3dc782f9cd41ac8c7adcae272ae..caf4a7aee7863f59f940de06501ebf1f5a1a71fa 100644 --- a/components/Markdown.module.scss +++ b/components/Markdown.module.scss @@ -30,4 +30,41 @@ opacity: 0.8; } } + + input[type="checkbox"] { + opacity: 0; + margin-top: 12px; + pointer-events: none; + display: inline-block; + } + + label { + pointer-events: none; + } + + input[type="checkbox"] + label:before { + width: 32px; + height: 32px; + content: 'a'; + line-height: 32px; + position: relative; + border-radius: 6px; + background: white; + display: inline-block; + } + + input[type="checkbox"][checked="true"] + label:before { + content: '✓'; + align-items: center; + display: inline-flex; + justify-content: center; + background: var(--accent); + } + + input[type="checkbox"] + label { + top: -6px; + line-height: 20px; + padding-left: 6px; + position: relative; + } } diff --git a/components/Markdown.tsx b/components/Markdown.tsx index a49743ca73be1d321efed621a319e6e22a2961be..66e094d89d9f9a3ac16f4702370e9ed2cad29a55 100644 --- a/components/Markdown.tsx +++ b/components/Markdown.tsx @@ -1,9 +1,11 @@ import MarkdownIt from "markdown-it"; import styles from './Markdown.module.scss'; import MarkdownItAnchor from "markdown-it-anchor"; +import MarkdownItCheckbox from "markdown-it-checkbox"; export const md: MarkdownIt = MarkdownIt({ breaks: true, linkify: true }) - .use(MarkdownItAnchor, { level: 3 }); + .use(MarkdownItAnchor, { level: 3 }) + .use(MarkdownItCheckbox); interface Props { content?: string; diff --git a/components/Navbar.tsx b/components/Navbar.tsx index eef22784342e9d98e99a3febd928d57c057a2fcd..80bfa33c9d5f497960a0811c541040ac5782455f 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import { URLs } from '../urls'; import styles from './Navbar.module.scss'; import { Globe } from '@styled-icons/feather'; @@ -12,7 +11,9 @@ export function Navbar() { </a> </Link> <div className={styles.actions}> - <a href={URLs.Roadmap} target="_blank">Roadmap</a> + <Link href="/roadmap"> + <a>Roadmap</a> + </Link> {/* <a>Developers</a> */} {/* <a>Download</a> */} {/*<a><Globe size={28} strokeWidth={2} /></a>*/} diff --git a/package.json b/package.json index 556c59d232a41d8830f2c35a0cab92706049b523..ca9f4dc64533d91143d759beb11bb7cfcd6c0d06 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "classnames": "^2.3.1", "markdown-it": "^12.0.6", "markdown-it-anchor": "^7.1.0", + "markdown-it-checkbox": "^1.1.0", "sass": "^1.32.10", "styled-components": "^5.2.3", "typescript": "^4.2.4" diff --git a/pages/roadmap.tsx b/pages/roadmap.tsx index 99ba684ed9e536795b65840783ec4f82fb4f26fc..2c106e9f8167399af200a55b332a7921b9d0dffc 100644 --- a/pages/roadmap.tsx +++ b/pages/roadmap.tsx @@ -8,7 +8,7 @@ export default function Home({ content }: { content: string }) { return ( <div> <Head> - <title>About Revolt</title> + <title>Roadmap - Revolt</title> <link rel="icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, user-scalable=0" /> </Head> @@ -25,7 +25,7 @@ export default function Home({ content }: { content: string }) { export async function getStaticProps() { const { readFile } = require('fs/promises'); - const file = await readFile('./legal/About.md'); + const file = await readFile('./ROADMAP.md'); const content = file.toString(); return { props: { content } } diff --git a/urls.ts b/urls.ts index e3af57874fcddda2eea095f7e006853b63185e59..d3c983f36cd41fab467c225367b181a77bc5415b 100644 --- a/urls.ts +++ b/urls.ts @@ -1,7 +1,6 @@ export const URLs = { Apply: 'https://revolt.chat/beta', App: 'https://app.revolt.chat', - Roadmap: 'https://www.notion.so/Roadmap-d285602ba73543438bf1cdb0a4754514', Developers: 'https://developers.revolt.chat', Feedback: 'https://form.insrt.uk/form/607f276fed17160022857908', @@ -9,7 +8,5 @@ export const URLs = { Reddit: 'https://reddit.com/r/revoltchat', Twitter: 'https://twitter.com/revoltchat', - Translate: 'https://weblate.insrt.uk/engage/revolt/?utm_source=widget', - - AboutUs: 'https://www.notion.so/About-f12f76fcbb124e27824639bac5dbbf11' + Translate: 'https://weblate.insrt.uk/engage/revolt/?utm_source=widget' }; diff --git a/yarn.lock b/yarn.lock index c99137d257e9e4202da38db4a9b12a2b541caf13..6a4c10c7b3c6798ca0ea44659f9155ad72f1be5e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1284,6 +1284,13 @@ markdown-it-anchor@^7.1.0: resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-7.1.0.tgz#30fb21497bf59e83ff4d1ddc052d821962e2489e" integrity sha512-loQggrwsIkkP7TOrESvmYkV2ikbQNNKhHcWyqC7/C2CmfHl1tkUizJJU8C5aGgg7J6oXVQJx17gk7i47tNn/lQ== +markdown-it-checkbox@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/markdown-it-checkbox/-/markdown-it-checkbox-1.1.0.tgz#20cff97f33d77d172f9dcf1bcfc92cecc5330fac" + integrity sha1-IM/5fzPXfRcvnc8bz8ks7MUzD6w= + dependencies: + underscore "^1.8.2" + markdown-it@^12.0.6: version "12.0.6" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.6.tgz#adcc8e5fe020af292ccbdf161fe84f1961516138" @@ -2102,6 +2109,11 @@ unbox-primitive@^1.0.0: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +underscore@^1.8.2: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + unpipe@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"