mirror of https://gitlab.com/ecentrics/concordia
Apostolos Fanakis
4 years ago
4 changed files with 61 additions and 9 deletions
@ -0,0 +1,27 @@ |
|||
# About Concordia |
|||
|
|||
## What |
|||
|
|||
Concordia is a forum platform (remember forums? 🤩) that focuses on user privacy and direct democratic voting. It is a |
|||
FOSS distributed via its Gitlab [repository][concordia-repository] and Docker [repository][concordia-docker-hub] under |
|||
the [MIT][concordia-license] license. |
|||
|
|||
## Why |
|||
|
|||
Values of privacy and freedom are diminishing in modern software. Even more so in social media software. Users are now |
|||
called to decide between being the product of companies that sell their personal information for gain and being shut out |
|||
of the modern, digital society. |
|||
|
|||
Concordia, much like other projects of this kind, provides an alternative to this predicament. |
|||
|
|||
## How |
|||
|
|||
TODO |
|||
|
|||
## Who |
|||
|
|||
TODO |
|||
|
|||
[concordia-repository]: https://gitlab.com/ecentrics/apella |
|||
[concordia-docker-hub]: https://hub.docker.com/repository/docker/ecentrics/apella-app |
|||
[concordia-license]: https://gitlab.com/ecentrics/apella/-/blob/master/LICENSE.md |
@ -1,12 +1,38 @@ |
|||
import React, { |
|||
memo, useMemo, |
|||
memo, useEffect, useState, |
|||
} from 'react'; |
|||
import ReactMarkdown from 'react-markdown'; |
|||
import { Container } from 'semantic-ui-react'; |
|||
import AboutMd from '../../assets/About.md'; |
|||
|
|||
const About = () => useMemo(() => ( |
|||
<Container id="about-container" textAlign="center"> |
|||
TODO |
|||
</Container> |
|||
), []); |
|||
const targetBlank = () => ({ href, children }) => ( |
|||
<a href={href} target="_blank" rel="noopener noreferrer"> |
|||
{children} |
|||
</a> |
|||
); |
|||
|
|||
const About = () => { |
|||
const [aboutMd, setAboutMd] = useState(''); |
|||
|
|||
useEffect(() => { |
|||
fetch(AboutMd) |
|||
.then((response) => response.text()) |
|||
.then((text) => { |
|||
setAboutMd(text); |
|||
}); |
|||
}, []); |
|||
|
|||
return ( |
|||
<Container id="about-container"> |
|||
<ReactMarkdown |
|||
source={aboutMd} |
|||
renderers={{ |
|||
link: targetBlank(), |
|||
linkReference: targetBlank(), |
|||
}} |
|||
/> |
|||
</Container> |
|||
); |
|||
}; |
|||
|
|||
export default memo(About); |
|||
|
Loading…
Reference in new issue