mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
temporary delete wrapper
This commit is contained in:
parent
0e6889e676
commit
6ca8e69e96
BIN
packages/wrapper/.DS_Store
vendored
BIN
packages/wrapper/.DS_Store
vendored
Binary file not shown.
@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"private": true,
|
|
||||||
"globalGit": "https://github.com/srgooglo/comty",
|
|
||||||
"gitRepo": "srgooglo/comty",
|
|
||||||
"scripts": {
|
|
||||||
"start": "umi dev",
|
|
||||||
"build": "umi build"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@nodecorejs/utils": "^0.14.7",
|
|
||||||
"@umijs/preset-react": "^1.8.7",
|
|
||||||
"antd": "^4.15.5",
|
|
||||||
"axios": "^0.21.1",
|
|
||||||
"classnames": "^2.2.6",
|
|
||||||
"feather-reactjs": "^2.0.13",
|
|
||||||
"hosted-git-info": "4.0.2",
|
|
||||||
"lint-staged": "^10.0.7",
|
|
||||||
"moment": "^2.29.0",
|
|
||||||
"prettier": "^1.19.1",
|
|
||||||
"radium": "^0.26.1",
|
|
||||||
"react-animation": "^1.2.2",
|
|
||||||
"react-dom": "^16.13.1",
|
|
||||||
"react-google-recaptcha": "^2.1.0",
|
|
||||||
"react-helmet": "^6.1.0",
|
|
||||||
"react-perfect-scrollbar": "^1.5.8",
|
|
||||||
"react-reveal": "^1.2.2",
|
|
||||||
"store": "^2.0.12",
|
|
||||||
"styled-components": "^5.2.0",
|
|
||||||
"umi": "^3.4.20",
|
|
||||||
"yorkie": "^2.0.0"
|
|
||||||
},
|
|
||||||
"version": "0.13.0"
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
export default () => {
|
|
||||||
return(
|
|
||||||
<div className="landing_footer">
|
|
||||||
bruh bruh
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import * as antd from "antd";
|
|
||||||
import * as Icons from 'feather-reactjs'
|
|
||||||
|
|
||||||
export default () => {
|
|
||||||
return(
|
|
||||||
<div className="landing_header">
|
|
||||||
<div className="header_brand">
|
|
||||||
</div>
|
|
||||||
<div className="header_links">
|
|
||||||
<div className="header_linksBtn"><Icons.Activity /> Status </div>
|
|
||||||
<div className="header_linksBtn"><Icons.GitCommit /> Changelogs </div>
|
|
||||||
<div className="header_linksBtn"><Icons.Info /> About </div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
import Header from './header'
|
|
||||||
import Footer from './footer'
|
|
||||||
import LastestVersion from './lastestVersion'
|
|
||||||
import RemoteActions from './remoteActions'
|
|
||||||
|
|
||||||
export { Header, Footer, LastestVersion, RemoteActions }
|
|
@ -1,76 +0,0 @@
|
|||||||
import * as antd from "antd";
|
|
||||||
import * as Icons from 'feather-reactjs'
|
|
||||||
import { connect } from 'umi'
|
|
||||||
import { objectToArrayMap } from '@nodecorejs/utils'
|
|
||||||
|
|
||||||
const stageToColor = {
|
|
||||||
undefined: "red",
|
|
||||||
"alpha": "green",
|
|
||||||
"beta": "blue",
|
|
||||||
"dev": "red"
|
|
||||||
}
|
|
||||||
|
|
||||||
@connect(({ app }) => ({ app }))
|
|
||||||
export default class LastestVersion extends React.Component {
|
|
||||||
selectVersionModal = null
|
|
||||||
|
|
||||||
state = {
|
|
||||||
selectedId: null
|
|
||||||
}
|
|
||||||
|
|
||||||
handleSelectRelease(id) {
|
|
||||||
console.log("selected =>", id)
|
|
||||||
this.setState({ selectedId: id })
|
|
||||||
this.selectVersionModal.update({
|
|
||||||
okText: id,
|
|
||||||
okButtonProps: { disabled: false }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
handleOpenModal() {
|
|
||||||
const genMenu = () => {
|
|
||||||
return (
|
|
||||||
this.props.app.versions.map(id => {
|
|
||||||
const element = this.props.app.releases[id]
|
|
||||||
return (
|
|
||||||
<antd.Menu.Item key={element.id}>
|
|
||||||
v{element.tag_name}[{element.name}]
|
|
||||||
</antd.Menu.Item>
|
|
||||||
)
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
this.selectVersionModal = antd.Modal.confirm({
|
|
||||||
okText: "Select an version",
|
|
||||||
okButtonProps: { disabled: true },
|
|
||||||
onOk: () => {
|
|
||||||
this.props.dispatch({
|
|
||||||
type: "app/selectFromId",
|
|
||||||
id: this.state.selectedId
|
|
||||||
})
|
|
||||||
},
|
|
||||||
icon: <div style={{ width: "fit-content", fontSize: "18px", justifyContent: "center", display: "flex", lineHeight: "32px" }}><Icons.Package style={{ color: "#faad14", fontSize: "28px", marginRight: "12px" }} />Select an release</div>,
|
|
||||||
content: <antd.Menu onSelect={(e) => { this.handleSelectRelease(e.key) }} >{genMenu()}</antd.Menu>
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { selected } = this.props.app
|
|
||||||
|
|
||||||
if (this.props.app.loading) {
|
|
||||||
return <antd.Tag> {"Getting version..."} </antd.Tag>
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
return <>
|
|
||||||
<antd.Tooltip title={selected.prerelease ? "Development build" : "Stable"} color={selected.prerelease ? "gold" : "#87d068"}>
|
|
||||||
<antd.Tag onDoubleClick={() => this.handleOpenModal()} color={stageToColor[selected.packagejson.stage]} ><Icons.Package />v{selected.tag_name}</antd.Tag>
|
|
||||||
</antd.Tooltip>
|
|
||||||
<antd.Tag><Icons.Radio />{selected.packagejson.stage}</antd.Tag>
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
import React from 'react'
|
|
||||||
import * as antd from "antd";
|
|
||||||
import * as Icons from 'feather-reactjs'
|
|
||||||
import { connect } from 'umi'
|
|
||||||
|
|
||||||
@connect(({ app }) => ({ app }))
|
|
||||||
export default class RemoteActions extends React.Component{
|
|
||||||
render(){
|
|
||||||
const { selected, releases } = this.props.app
|
|
||||||
|
|
||||||
const nonStableVersion = <p><Icons.Triangle /> This version of the application is a development build, so it is not stable, its use is discouraged</p>
|
|
||||||
const errorGather = <p> <Icons.AlertCircle /> It seems that a problem has occurred when searching for a version of the application, check the status of the servers.</p>
|
|
||||||
|
|
||||||
if (!releases || releases.length == 0) {
|
|
||||||
return errorGather
|
|
||||||
}
|
|
||||||
|
|
||||||
if(selected.packagejson.stage == "dev"){
|
|
||||||
return <div>
|
|
||||||
<p>
|
|
||||||
<Icons.Triangle /> We can't seem to find a compatible stable version for you.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
|
|
||||||
return(
|
|
||||||
<div>
|
|
||||||
{ selected.prerelease? nonStableVersion : null }
|
|
||||||
<div className="container_actions" >
|
|
||||||
<div><antd.Button type="dashed" >Open on browser</antd.Button></div>
|
|
||||||
<div><antd.Button icon={<Icons.Download />} type="primary" >Download app</antd.Button></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
import { Helmet } from 'react-helmet'
|
|
||||||
import { withRouter } from 'umi'
|
|
||||||
import { Header, Footer } from 'components'
|
|
||||||
|
|
||||||
@withRouter
|
|
||||||
class BaseLayout extends React.Component {
|
|
||||||
render() {
|
|
||||||
const { children } = this.props
|
|
||||||
return (
|
|
||||||
<React.Fragment>
|
|
||||||
<Helmet>
|
|
||||||
<title>Comty Wrapper</title>
|
|
||||||
</Helmet>
|
|
||||||
<div className="landing_wrapper">
|
|
||||||
<div className="animation_shapes_wrapper">
|
|
||||||
<div className="animation-shape shape-ring animation--rotating-diagonal">
|
|
||||||
<div></div>
|
|
||||||
</div>
|
|
||||||
<div className="animation-shape shape-circle animation--clockwise">
|
|
||||||
<div></div>
|
|
||||||
</div>
|
|
||||||
<div className="animation-shape shape-triangle animation--anti-clockwise">
|
|
||||||
<div className="animation--rotating"></div>
|
|
||||||
</div>
|
|
||||||
<div className="animation-shape shape-diamond animation--anti-clockwise">
|
|
||||||
<div className="animation--rotating"></div>
|
|
||||||
</div>
|
|
||||||
<div className="static-shape shape-ring-1"></div>
|
|
||||||
<div className="static-shape shape-ring-2"></div>
|
|
||||||
<div className="static-shape shape-circle-1"></div>
|
|
||||||
<div className="static-shape pattern-dots-1"></div>
|
|
||||||
<div className="static-shape pattern-dots-2"></div>
|
|
||||||
<div className="static-shape ghost-shape ghost-shape-1"></div>
|
|
||||||
</div>
|
|
||||||
<Header />
|
|
||||||
{children}
|
|
||||||
</div>
|
|
||||||
</React.Fragment>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default BaseLayout
|
|
@ -1,2 +0,0 @@
|
|||||||
@import url("https://api.ragestudio.net/fonts/einaBold/index.css");
|
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap');
|
|
@ -1,15 +0,0 @@
|
|||||||
import React from 'react'
|
|
||||||
import BaseLayout from './BaseLayout'
|
|
||||||
import { withRouter } from 'umi'
|
|
||||||
import './index.less'
|
|
||||||
|
|
||||||
@withRouter
|
|
||||||
export default class Layout extends React.Component {
|
|
||||||
render() {
|
|
||||||
const { children } = this.props
|
|
||||||
return (
|
|
||||||
<BaseLayout>{children}</BaseLayout>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,539 +0,0 @@
|
|||||||
@import './fonts.css';
|
|
||||||
|
|
||||||
@default_trasition: all 150ms ease-in-out;
|
|
||||||
@header_btn_width: auto;
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
position: absolute;
|
|
||||||
width: 14px;
|
|
||||||
height: 18px;
|
|
||||||
}
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
height: 6px;
|
|
||||||
border: 4px solid rgba(0, 0, 0, 0);
|
|
||||||
background-clip: padding-box;
|
|
||||||
margin: 5px 10px 5px 5px;
|
|
||||||
-webkit-border-radius: 7px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
|
||||||
-webkit-box-shadow: inset -1px -1px 0 rgba(0, 0, 0, 0.05), inset 1px 1px 0 rgba(0, 0, 0, 0.05);
|
|
||||||
}
|
|
||||||
::-webkit-scrollbar-button {
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
::-webkit-scrollbar-corner {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Lato,sans-serif;
|
|
||||||
font-size: 1rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.5;
|
|
||||||
overflow-y: overlay;
|
|
||||||
overflow-x: hidden!important;
|
|
||||||
background-color: transparent;
|
|
||||||
height: 100vh;
|
|
||||||
width: 100vw;
|
|
||||||
margin: 0;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
text-rendering: optimizelegibility;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.links_launcher {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 700;
|
|
||||||
width: fit-content!important;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
> div {
|
|
||||||
transition: @default_trasition;
|
|
||||||
color: #181715!important;
|
|
||||||
}
|
|
||||||
> div:hover{
|
|
||||||
transform: translate(2px, -2px);
|
|
||||||
color: #3d3d3d!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_footer{
|
|
||||||
bottom: 0;
|
|
||||||
background-color: #fff;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_header{
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 55px;
|
|
||||||
background-color: transparent;
|
|
||||||
padding: 5px 50px;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header_brand {
|
|
||||||
float: left;
|
|
||||||
position: relative;
|
|
||||||
height: 100%;
|
|
||||||
img{
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.header_links {
|
|
||||||
display: flex;
|
|
||||||
float: right;
|
|
||||||
> div {
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header_linksBtn {
|
|
||||||
width: @header_btn_width;
|
|
||||||
cursor: pointer;
|
|
||||||
transition: @default_trasition;
|
|
||||||
backdrop-filter: blur(8px);
|
|
||||||
background-color: rgba(255, 255, 255, 0.1);
|
|
||||||
color: rgb(51, 51, 51);
|
|
||||||
border-radius: 12px;
|
|
||||||
padding: 5px 12px;
|
|
||||||
}
|
|
||||||
.header_linksBtn:hover {
|
|
||||||
background-color: rgba(51, 51, 51, 0.4);
|
|
||||||
transform: translateY(4px);
|
|
||||||
border-radius: 4px;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_wrapper {
|
|
||||||
background-color: transparent;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container_wrapper {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
max-width: 1024px;
|
|
||||||
margin: auto;
|
|
||||||
justify-content: center;
|
|
||||||
width: 100%;
|
|
||||||
> div {
|
|
||||||
margin-bottom: 25px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating_card{
|
|
||||||
color: #fff;
|
|
||||||
padding: 54px 34px 34px 34px;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 38px;
|
|
||||||
line-height: 25px;
|
|
||||||
backdrop-filter: blur(8px);
|
|
||||||
background-color: rgba(255, 255, 255, 0.1);
|
|
||||||
h1 {
|
|
||||||
font-weight: 900;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
h4 {
|
|
||||||
font-weight: 400;
|
|
||||||
color: #333;
|
|
||||||
letter-spacing: -0.03em;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
font-size: 16px;
|
|
||||||
letter-spacing: -0.03em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-btn-dashed{
|
|
||||||
background: rgba(93, 93, 93, 0.3);
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.container_actions {
|
|
||||||
display: flex;
|
|
||||||
> div {
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.float_divider{
|
|
||||||
display: flex;
|
|
||||||
> div {
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.features_wrapper {
|
|
||||||
margin: auto;
|
|
||||||
width: 100%;
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
|
||||||
grid-template-rows: 1fr 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature_titles {
|
|
||||||
font-family: 'Poppins', sans-serif;
|
|
||||||
line-height: 64px;
|
|
||||||
h2 {
|
|
||||||
color: #fff;
|
|
||||||
font-size: 65px;
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
color: rgb(211, 211, 211);
|
|
||||||
font-size: 35px;
|
|
||||||
font-weight: 300;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature_card {
|
|
||||||
font-family: 'Poppins', sans-serif;
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
text-align: center;
|
|
||||||
align-content: center;
|
|
||||||
padding: 54px;
|
|
||||||
border-radius: 8px;
|
|
||||||
color: #fff;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
h1{
|
|
||||||
color: #fff;
|
|
||||||
font-weight: 200;
|
|
||||||
font-size: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature_icon{
|
|
||||||
margin: auto;
|
|
||||||
color: #333;
|
|
||||||
background-color: #fff;
|
|
||||||
border-radius: 24px;
|
|
||||||
width: 75%;
|
|
||||||
padding: 42px;
|
|
||||||
svg {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.container_top{
|
|
||||||
background-color: transparent;
|
|
||||||
height: 90vh;
|
|
||||||
padding: 60px 90px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container_1{
|
|
||||||
color: #fff!important;
|
|
||||||
background-color: #333;
|
|
||||||
width: 100%;
|
|
||||||
padding-top: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper{
|
|
||||||
background-image: linear-gradient(45deg,#fe2983 0,#ff6f61 50%,#fc9e21 110%);
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: absolute;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape {
|
|
||||||
position: absolute
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle {
|
|
||||||
top: 50%;
|
|
||||||
left: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle div {
|
|
||||||
opacity: .1;
|
|
||||||
position: relative;
|
|
||||||
background-color: #fff;
|
|
||||||
text-align: left;
|
|
||||||
-webkit-transform: rotate(-60deg) skewX(-30deg) scale(1,.866);
|
|
||||||
transform: rotate(-60deg) skewX(-30deg) scale(1,.866)
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle div:after,.animation_shapes_wrapper .animation-shape.shape-triangle div:before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
background-color: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle div,.animation_shapes_wrapper .animation-shape.shape-triangle div:after,.animation_shapes_wrapper .animation-shape.shape-triangle div:before {
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
border-top-right-radius: 30%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle div:before {
|
|
||||||
-webkit-transform: rotate(-135deg) skewX(-45deg) scale(1.414,.707) translate(0,-50%);
|
|
||||||
transform: rotate(-135deg) skewX(-45deg) scale(1.414,.707) translate(0,-50%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-triangle div:after {
|
|
||||||
-webkit-transform: rotate(135deg) skewY(-45deg) scale(.707,1.414) translate(50%);
|
|
||||||
transform: rotate(135deg) skewY(-45deg) scale(.707,1.414) translate(50%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-ring {
|
|
||||||
top: 75%;
|
|
||||||
left: 25%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-ring div {
|
|
||||||
border-radius: 50%;
|
|
||||||
height: 20px;
|
|
||||||
width: 20px;
|
|
||||||
border: 5px solid #ff6f61
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-circle {
|
|
||||||
top: 20%;
|
|
||||||
left: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-circle div {
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
background: rgba(237,244,248,.3);
|
|
||||||
border-radius: 50%;
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-diamond {
|
|
||||||
top: 35%;
|
|
||||||
left: 25%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-diamond div {
|
|
||||||
opacity: .5;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border: 10px solid transparent;
|
|
||||||
border-bottom-color: #007cb7;
|
|
||||||
position: relative;
|
|
||||||
top: -10px
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .animation-shape.shape-diamond div:after {
|
|
||||||
content: '';
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
position: absolute;
|
|
||||||
left: -10px;
|
|
||||||
top: 10px;
|
|
||||||
border: 10px solid transparent;
|
|
||||||
border-top-color: #007cb7
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape {
|
|
||||||
position: absolute
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.shape-ring-1 {
|
|
||||||
border-radius: 50%;
|
|
||||||
height: 80px;
|
|
||||||
width: 80px;
|
|
||||||
border: 15px solid rgba(255,255,255,.5);
|
|
||||||
top: 15%;
|
|
||||||
left: 0;
|
|
||||||
-webkit-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.shape-ring-2 {
|
|
||||||
border-radius: 50%;
|
|
||||||
height: 120px;
|
|
||||||
width: 120px;
|
|
||||||
border: 15px solid rgba(255,255,255,.5);
|
|
||||||
top: 5%;
|
|
||||||
right: 0;
|
|
||||||
-webkit-transform: translateX(50%);
|
|
||||||
transform: translateX(50%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.shape-circle-1 {
|
|
||||||
width: 120px;
|
|
||||||
height: 120px;
|
|
||||||
background: rgba(255,255,255,.09);
|
|
||||||
border-radius: 50%;
|
|
||||||
margin: 0;
|
|
||||||
top: 22%;
|
|
||||||
left: 22%
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.pattern-dots-1 {
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 250px;
|
|
||||||
height: 50%;
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: radial-gradient(rgba(255,255,255,.1) 3px,transparent 3px);
|
|
||||||
background-size: 30px 30px
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.pattern-dots-2 {
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
width: 150px;
|
|
||||||
height: 20%;
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: radial-gradient(rgba(255,255,255,.1) 3px,transparent 3px);
|
|
||||||
background-size: 30px 30px
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.ghost-shape {
|
|
||||||
opacity: .3;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: block;
|
|
||||||
border-radius: 120px
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation_shapes_wrapper .static-shape.ghost-shape-1 {
|
|
||||||
top: 0;
|
|
||||||
-webkit-transform: translate3D(30%,-93%,0) skewX(35deg) rotate(-12deg);
|
|
||||||
transform: translate3D(30%,-93%,0) skewX(35deg) rotate(-12deg);
|
|
||||||
background-color: #e56357;
|
|
||||||
max-height: 560px;
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes clockwise {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0) translate(-165px) rotate(0);
|
|
||||||
transform: rotate(0) translate(-165px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg) translate(-165px) rotate(-360deg);
|
|
||||||
transform: rotate(360deg) translate(-165px) rotate(-360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes clockwise {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0) translate(-165px) rotate(0);
|
|
||||||
transform: rotate(0) translate(-165px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg) translate(-165px) rotate(-360deg);
|
|
||||||
transform: rotate(360deg) translate(-165px) rotate(-360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes anti-clockwise {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0) translate(165px) rotate(0);
|
|
||||||
transform: rotate(0) translate(165px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg) translate(165px) rotate(360deg);
|
|
||||||
transform: rotate(-360deg) translate(165px) rotate(360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes anti-clockwise {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0) translate(165px) rotate(0);
|
|
||||||
transform: rotate(0) translate(165px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg) translate(165px) rotate(360deg);
|
|
||||||
transform: rotate(-360deg) translate(165px) rotate(360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes rotating {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0);
|
|
||||||
transform: rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg);
|
|
||||||
transform: rotate(-360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes rotating {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0);
|
|
||||||
transform: rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(-360deg);
|
|
||||||
transform: rotate(-360deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes rotating-diagonal {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: translate(-300px,150px) rotate(0);
|
|
||||||
transform: translate(-300px,150px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: translate(300px,-150px) rotate(180deg);
|
|
||||||
transform: translate(300px,-150px) rotate(180deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes rotating-diagonal {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: translate(-300px,150px) rotate(0);
|
|
||||||
transform: translate(-300px,150px) rotate(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: translate(300px,-150px) rotate(180deg);
|
|
||||||
transform: translate(300px,-150px) rotate(180deg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation--clockwise {
|
|
||||||
-webkit-animation: clockwise 30s linear infinite normal;
|
|
||||||
animation: clockwise 30s linear infinite normal
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation--anti-clockwise {
|
|
||||||
-webkit-animation: anti-clockwise 30s linear infinite normal;
|
|
||||||
animation: anti-clockwise 30s linear infinite normal
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation--rotating {
|
|
||||||
-webkit-animation: rotating 15s linear infinite normal;
|
|
||||||
animation: rotating 15s linear infinite normal
|
|
||||||
}
|
|
||||||
|
|
||||||
.animation--rotating-diagonal {
|
|
||||||
-webkit-animation: rotating-diagonal 15s linear infinite alternate;
|
|
||||||
animation: rotating-diagonal 15s linear infinite alternate
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
import packagejson from 'packageJson'
|
|
||||||
import { verbosity } from '@nodecorejs/utils'
|
|
||||||
import axios from 'axios'
|
|
||||||
|
|
||||||
const getDataFromBuilds = (state, res) => {
|
|
||||||
let setState = {
|
|
||||||
versions: [],
|
|
||||||
releases: {},
|
|
||||||
lastestId: res[0].id
|
|
||||||
}
|
|
||||||
return new Promise(async (resolve) => {
|
|
||||||
try {
|
|
||||||
const forLength = res.length
|
|
||||||
for (let i = 0; i < forLength; i++) {
|
|
||||||
const element = res[i]
|
|
||||||
let newRelease = element
|
|
||||||
const regEx = new RegExp(/\(([^)]+)\)/).exec(element.body)[1]
|
|
||||||
if (regEx != null) {
|
|
||||||
newRelease.fromCommit = `https://github.com/${state.repo}/commit/${regEx}`
|
|
||||||
newRelease.rawPackage = `https://raw.githubusercontent.com/${state.repo}/${regEx}/package.json`
|
|
||||||
const packageFromRaw = await axios.get(newRelease.rawPackage)
|
|
||||||
|
|
||||||
newRelease.packagejson = packageFromRaw.data
|
|
||||||
setState.versions[i] = element.id
|
|
||||||
setState.releases[element.id] = newRelease
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i == (forLength - 1)) {
|
|
||||||
resolve(setState)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
verbosity.log(error)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
|
||||||
namespace: 'app',
|
|
||||||
state: {
|
|
||||||
loading: true,
|
|
||||||
selected: {},
|
|
||||||
repo: packagejson.gitRepo,
|
|
||||||
releases: null,
|
|
||||||
lastestId: null,
|
|
||||||
systemOS: window.navigator.platform
|
|
||||||
},
|
|
||||||
subscriptions: {
|
|
||||||
setup({ dispatch }) {
|
|
||||||
dispatch({
|
|
||||||
type: 'getAllReleases', callback: (res) => {
|
|
||||||
verbosity.log("All Releases >", res)
|
|
||||||
dispatch({
|
|
||||||
type: 'updateState', payload: {
|
|
||||||
...res, selected: res.releases[res.lastestId]
|
|
||||||
}
|
|
||||||
})
|
|
||||||
dispatch({ type: 'query' })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
},
|
|
||||||
effects: {
|
|
||||||
*query({ payload }, { call, put, select }) {
|
|
||||||
const state = yield select(state => state.app)
|
|
||||||
|
|
||||||
yield put({ type: "updateState", payload: { loading: false } })
|
|
||||||
verbosity.log(state)
|
|
||||||
},
|
|
||||||
*getAllReleases({ callback }, { call, put, select }) {
|
|
||||||
const state = yield select(state => state.app)
|
|
||||||
const endpoint = `https://api.github.com/repos/${state.repo}/releases`
|
|
||||||
|
|
||||||
fetch(endpoint).then(response => response.json())
|
|
||||||
.then(async (res) => {
|
|
||||||
callback(await getDataFromBuilds(state, res))
|
|
||||||
})
|
|
||||||
},
|
|
||||||
*getRelease({ id, callback }, { call, put, select }) {
|
|
||||||
const state = yield select(state => state.app)
|
|
||||||
const endpoint = `https://api.github.com/repos/${state.repo}/releases/${id}`
|
|
||||||
|
|
||||||
fetch(endpoint).then(response => response.json())
|
|
||||||
.then(async (res) => {
|
|
||||||
callback(await getDataFromBuilds(state, [res]))
|
|
||||||
})
|
|
||||||
},
|
|
||||||
*selectFromId({ id }, { call, put, select }) {
|
|
||||||
const state = yield select(state => state.app)
|
|
||||||
yield put({ type: "updateState", payload: { selected: state.releases[id] } })
|
|
||||||
},
|
|
||||||
},
|
|
||||||
reducers: {
|
|
||||||
updateState(state, { payload }) {
|
|
||||||
return {
|
|
||||||
...state,
|
|
||||||
...payload,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
import * as antd from "antd";
|
|
||||||
import * as Icons from 'feather-reactjs'
|
|
||||||
import { LastestVersion, RemoteActions } from 'components'
|
|
||||||
import packagejson from 'packageJson'
|
|
||||||
import React from 'react'
|
|
||||||
|
|
||||||
export default class Landing extends React.Component{
|
|
||||||
render(){
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div className="container_top">
|
|
||||||
<div className="container_wrapper" >
|
|
||||||
|
|
||||||
<div className="floating_card">
|
|
||||||
<h1>Your new</h1>
|
|
||||||
<h4>prototype of an social network.</h4>
|
|
||||||
<div className="links_launcher" style={{ marginTop: "30px" }}>
|
|
||||||
<div><p onClick={() => window.open(packagejson.globalGit) }><Icons.GitHub /> Also it`s open source !</p></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="floating_card">
|
|
||||||
<div className="float_divider">
|
|
||||||
<div>
|
|
||||||
<p style={{ fontSize: "18px" }}>Comty is an extensible & modular platform depends on your needs, you can find many functions and features, discover how!</p>
|
|
||||||
<antd.Button type="ghost" shape="round" >Tell me more</antd.Button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<RemoteActions />
|
|
||||||
<LastestVersion />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "esnext",
|
|
||||||
"module": "esnext",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"importHelpers": true,
|
|
||||||
"jsx": "react",
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"sourceMap": true,
|
|
||||||
"baseUrl": "./",
|
|
||||||
"strict": true,
|
|
||||||
"paths": {
|
|
||||||
"@/*": ["src/*"],
|
|
||||||
"@@/*": ["src/.umi/*"]
|
|
||||||
},
|
|
||||||
"allowSyntheticDefaultImports": true
|
|
||||||
},
|
|
||||||
"include": [
|
|
||||||
"mock/**/*",
|
|
||||||
"src/**/*",
|
|
||||||
"config/**/*",
|
|
||||||
".umirc.js",
|
|
||||||
"typings.d.ts"
|
|
||||||
]
|
|
||||||
}
|
|
8
packages/wrapper/typings.d.ts
vendored
8
packages/wrapper/typings.d.ts
vendored
@ -1,8 +0,0 @@
|
|||||||
declare module '*.css';
|
|
||||||
declare module '*.less';
|
|
||||||
declare module "*.png";
|
|
||||||
declare module '*.svg' {
|
|
||||||
export function ReactComponent(props: React.SVGProps<SVGSVGElement>): React.ReactElement
|
|
||||||
const url: string
|
|
||||||
export default url
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user