Add frontend stub
This commit is contained in:
parent
038fbc43f1
commit
283863c390
15 changed files with 10407 additions and 5 deletions
|
@ -1,15 +1,13 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.py]
|
||||
max_line_length = 99
|
||||
|
||||
[*.{yaml,yml,py}]
|
||||
indent_style = space
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
|
|
0
maubot/management/api/__init__.py
Normal file
0
maubot/management/api/__init__.py
Normal file
70
maubot/management/frontend/.eslintrc.json
Normal file
70
maubot/management/frontend/.eslintrc.json
Normal file
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
"extends": "react-app",
|
||||
"plugins": [
|
||||
"import"
|
||||
],
|
||||
"rules": {
|
||||
"indent": ["error", 4, {
|
||||
"ignoredNodes": [
|
||||
"JSXAttribute",
|
||||
"JSXSpreadAttribute"
|
||||
],
|
||||
"FunctionDeclaration": {"parameters": "first"},
|
||||
"FunctionExpression": {"parameters": "first"},
|
||||
"CallExpression": {"arguments": "first"},
|
||||
"ArrayExpression": "first",
|
||||
"ObjectExpression": "first",
|
||||
"ImportDeclaration": "first"
|
||||
}],
|
||||
"react/jsx-indent-props": ["error", "first"],
|
||||
"object-curly-newline": ["error", {
|
||||
"consistent": true
|
||||
}],
|
||||
"object-curly-spacing": ["error", "always", {
|
||||
"arraysInObjects": false,
|
||||
"objectsInObjects": false
|
||||
}],
|
||||
"array-bracket-spacing": ["error", "never"],
|
||||
"one-var": ["error", {
|
||||
"initialized": "never",
|
||||
"uninitialized": "always"
|
||||
}],
|
||||
"one-var-declaration-per-line": ["error", "initializations"],
|
||||
"quotes": ["error", "double"],
|
||||
"semi": ["error", "never"],
|
||||
"comma-dangle": ["error", "always-multiline"],
|
||||
"max-len": ["warn", 100],
|
||||
"camelcase": ["error", {
|
||||
"properties": "always"
|
||||
}],
|
||||
"space-before-function-paren": ["error", {
|
||||
"anonymous": "never",
|
||||
"named": "never",
|
||||
"asyncArrow": "always"
|
||||
}],
|
||||
"func-style": ["warn", "declaration", {"allowArrowFunctions": true}],
|
||||
"id-length": ["warn", {"max": 40, "exceptions": ["i", "j", "x", "y", "_"]}],
|
||||
"arrow-body-style": ["error", "as-needed"],
|
||||
"new-cap": ["warn", {
|
||||
"newIsCap": true,
|
||||
"capIsNew": true
|
||||
}],
|
||||
"no-empty": ["error", {
|
||||
"allowEmptyCatch": true
|
||||
}],
|
||||
"eol-last": ["error", "always"],
|
||||
"no-console": "off",
|
||||
"import/no-nodejs-modules": "error",
|
||||
"import/order": ["warn", {
|
||||
"groups": [
|
||||
"builtin",
|
||||
"external",
|
||||
"internal",
|
||||
"parent",
|
||||
"sibling",
|
||||
"index"
|
||||
],
|
||||
"newlines-between": "never"
|
||||
}]
|
||||
}
|
||||
}
|
5
maubot/management/frontend/.gitignore
vendored
Normal file
5
maubot/management/frontend/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
/node_modules
|
||||
/build
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
25
maubot/management/frontend/package.json
Normal file
25
maubot/management/frontend/package.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "maubot-manager",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"node-sass": "^4.9.4",
|
||||
"react": "^16.6.0",
|
||||
"react-dom": "^16.6.0",
|
||||
"react-scripts": "2.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"browserslist": [
|
||||
"last 5 firefox versions",
|
||||
"last 3 and_ff versions",
|
||||
"last 5 chrome versions",
|
||||
"last 3 and_chr versions",
|
||||
"last 2 safari versions",
|
||||
"last 2 ios_saf versions"
|
||||
]
|
||||
}
|
BIN
maubot/management/frontend/public/favicon.ico
Normal file
BIN
maubot/management/frontend/public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
maubot/management/frontend/public/favicon.png
Normal file
BIN
maubot/management/frontend/public/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
34
maubot/management/frontend/public/index.html
Normal file
34
maubot/management/frontend/public/index.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!--
|
||||
maubot - A plugin-based Matrix bot system.
|
||||
Copyright (C) 2018 Tulir Asokan
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#50D367">
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
|
||||
<title>Maubot Manager</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
You need to enable JavaScript to run this app.
|
||||
</noscript>
|
||||
<div id="root"></div>
|
||||
</body>
|
||||
</html>
|
15
maubot/management/frontend/public/manifest.json
Normal file
15
maubot/management/frontend/public/manifest.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"short_name": "Maubot",
|
||||
"name": "Maubot Manager",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 48x48 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#50D367",
|
||||
"background_color": "#FAFAFA"
|
||||
}
|
33
maubot/management/frontend/src/MaubotManager.js
Normal file
33
maubot/management/frontend/src/MaubotManager.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
// maubot - A plugin-based Matrix bot system.
|
||||
// Copyright (C) 2018 Tulir Asokan
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
import React, { Component } from "react"
|
||||
|
||||
class MaubotManager extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div className="maubot-manager">
|
||||
<header>
|
||||
|
||||
</header>
|
||||
<main>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default MaubotManager
|
21
maubot/management/frontend/src/index.js
Normal file
21
maubot/management/frontend/src/index.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
// maubot - A plugin-based Matrix bot system.
|
||||
// Copyright (C) 2018 Tulir Asokan
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
import React from "react"
|
||||
import ReactDOM from "react-dom"
|
||||
import "./style/base"
|
||||
import MaubotManager from "./MaubotManager"
|
||||
|
||||
ReactDOM.render(<MaubotManager/>, document.getElementById("root"))
|
53
maubot/management/frontend/src/style/base/body.sass
Normal file
53
maubot/management/frontend/src/style/base/body.sass
Normal file
|
@ -0,0 +1,53 @@
|
|||
// maubot - A plugin-based Matrix bot system.
|
||||
// Copyright (C) 2018 Tulir Asokan
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
body
|
||||
font-family: $font-stack
|
||||
margin: 0
|
||||
padding: 0
|
||||
font-size: 16px
|
||||
background-color: $background-color
|
||||
|
||||
#root
|
||||
position: fixed
|
||||
top: 0
|
||||
bottom: 0
|
||||
right: 0
|
||||
left: 0
|
||||
|
||||
//.lindeb
|
||||
> header
|
||||
position: absolute
|
||||
top: 0
|
||||
height: $header-height
|
||||
left: 0
|
||||
right: 0
|
||||
|
||||
> main
|
||||
position: absolute
|
||||
top: $header-height
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
|
||||
text-align: center
|
||||
|
||||
> .lindeb-content
|
||||
text-align: left
|
||||
display: inline-block
|
||||
width: 100%
|
||||
max-width: $max-width
|
||||
box-sizing: border-box
|
||||
padding: 0 1rem
|
28
maubot/management/frontend/src/style/base/vars.sass
Normal file
28
maubot/management/frontend/src/style/base/vars.sass
Normal file
|
@ -0,0 +1,28 @@
|
|||
// maubot - A plugin-based Matrix bot system.
|
||||
// Copyright (C) 2018 Tulir Asokan
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
$main-color: darken(#50D367, 10%)
|
||||
$dark-color: darken($main-color, 10%)
|
||||
$light-color: lighten($main-color, 10%)
|
||||
$alt-color: darken(#47B9D7, 10%)
|
||||
$dark-alt-color: darken($alt-color, 10%)
|
||||
$border-color: #CCC
|
||||
$error-color: #D35067
|
||||
$text-color: #212121
|
||||
$background-color: #FAFAFA
|
||||
$inverted-text-color: $background-color
|
||||
$font-stack: sans-serif
|
||||
$max-width: 42.5rem
|
||||
$header-height: 3.5rem
|
17
maubot/management/frontend/src/style/index.sass
Normal file
17
maubot/management/frontend/src/style/index.sass
Normal file
|
@ -0,0 +1,17 @@
|
|||
// maubot - A plugin-based Matrix bot system.
|
||||
// Copyright (C) 2018 Tulir Asokan
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
@import base/vars
|
||||
@import base/body
|
10103
maubot/management/frontend/yarn.lock
Normal file
10103
maubot/management/frontend/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue