@reactful/create 0.0.57 → 0.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +39 -19
- package/package.json +6 -4
- package/bun.lockb +0 -0
- package/common/package.json +0 -22
- package/common/tsconfig.json +0 -24
- package/templates/empty/index.html +0 -12
- package/templates/empty/index.ts +0 -5
- package/templates/minimal/index.html +0 -12
- package/templates/minimal/index.ts +0 -5
- package/templates/sampling/apis/auth/db.ts +0 -15
- package/templates/sampling/apis/auth/index.ts +0 -28
- package/templates/sampling/apis/hello.ts +0 -3
- package/templates/sampling/apis/quotes.ts +0 -16
- package/templates/sampling/apis/sub/index.ts +0 -3
- package/templates/sampling/apis/sub/sub.ts +0 -3
- package/templates/sampling/assets/SLIDEME.png +0 -0
- package/templates/sampling/assets/default.css +0 -91
- package/templates/sampling/assets/favicon.ico +0 -0
- package/templates/sampling/assets/icon.png +0 -0
- package/templates/sampling/assets/icon.svg +0 -6
- package/templates/sampling/assets/logo-144.png +0 -0
- package/templates/sampling/assets/logo-168.png +0 -0
- package/templates/sampling/assets/logo-192.png +0 -0
- package/templates/sampling/assets/logo-48.png +0 -0
- package/templates/sampling/assets/logo-512.png +0 -0
- package/templates/sampling/assets/logo-72.png +0 -0
- package/templates/sampling/assets/logo-96.png +0 -0
- package/templates/sampling/assets/manifest.json +0 -57
- package/templates/sampling/assets/markdown.css +0 -274
- package/templates/sampling/assets/robots.txt +0 -1
- package/templates/sampling/assets/system.css +0 -7
- package/templates/sampling/builds/about.html +0 -27
- package/templates/sampling/builds/bundle.js +0 -13116
- package/templates/sampling/builds/bundle.ts +0 -25
- package/templates/sampling/builds/client.ts +0 -1
- package/templates/sampling/builds/clock.html +0 -30
- package/templates/sampling/builds/counter.html +0 -30
- package/templates/sampling/builds/forms/form.html +0 -48
- package/templates/sampling/builds/forms/index.html +0 -48
- package/templates/sampling/builds/hello.html +0 -60
- package/templates/sampling/builds/htmlx.html +0 -24
- package/templates/sampling/builds/htmlx.tsx +0 -13
- package/templates/sampling/builds/index.html +0 -98
- package/templates/sampling/builds/login.html +0 -45
- package/templates/sampling/builds/profile/index.html +0 -54
- package/templates/sampling/builds/quotes.html +0 -26
- package/templates/sampling/builds/shared.js +0 -76
- package/templates/sampling/builds/system.html +0 -27
- package/templates/sampling/components/header.tsx +0 -7
- package/templates/sampling/directives/index.ts +0 -1
- package/templates/sampling/directives/shown.ts +0 -6
- package/templates/sampling/index.html +0 -20
- package/templates/sampling/index.ts +0 -19
- package/templates/sampling/routes/about.html +0 -13
- package/templates/sampling/routes/clock.tsx +0 -35
- package/templates/sampling/routes/counter.tsx +0 -21
- package/templates/sampling/routes/forms/form.css +0 -19
- package/templates/sampling/routes/forms/form.tsx +0 -51
- package/templates/sampling/routes/forms/index.tsx +0 -3
- package/templates/sampling/routes/hello.tsx +0 -62
- package/templates/sampling/routes/htmlx.html +0 -15
- package/templates/sampling/routes/index.md +0 -15
- package/templates/sampling/routes/login.tsx +0 -36
- package/templates/sampling/routes/profile/detail.css +0 -13
- package/templates/sampling/routes/profile/detail.tsx +0 -48
- package/templates/sampling/routes/profile/index.tsx +0 -14
- package/templates/sampling/routes/profile/profile.css +0 -8
- package/templates/sampling/routes/profile/tester.tsx +0 -11
- package/templates/sampling/routes/quotes.tsx +0 -25
- package/templates/sampling/routes/system.tsx +0 -23
- package/templates/sampling/tests/access.spec.ts +0 -29
- package/templates/sampling/tests/counter.spec.ts +0 -19
- package/templates/sampling/tests/form.spec.ts +0 -51
- package/templates/sampling/tests/hello.spec.ts +0 -25
- package/templates/sampling/tests/path.test.ts +0 -20
- package/testings/apis/auth/db.ts +0 -15
- package/testings/apis/auth/index.ts +0 -28
- package/testings/apis/hello.ts +0 -3
- package/testings/apis/quotes.ts +0 -16
- package/testings/apis/sub/index.ts +0 -3
- package/testings/apis/sub/sub.ts +0 -3
- package/testings/assets/SLIDEME.png +0 -0
- package/testings/assets/default.css +0 -91
- package/testings/assets/favicon.ico +0 -0
- package/testings/assets/icon.png +0 -0
- package/testings/assets/icon.svg +0 -6
- package/testings/assets/logo-144.png +0 -0
- package/testings/assets/logo-168.png +0 -0
- package/testings/assets/logo-192.png +0 -0
- package/testings/assets/logo-48.png +0 -0
- package/testings/assets/logo-512.png +0 -0
- package/testings/assets/logo-72.png +0 -0
- package/testings/assets/logo-96.png +0 -0
- package/testings/assets/manifest.json +0 -57
- package/testings/assets/markdown.css +0 -274
- package/testings/assets/robots.txt +0 -1
- package/testings/assets/system.css +0 -7
- package/testings/builds/forms/form.html +0 -48
- package/testings/builds/forms/index.html +0 -48
- package/testings/builds/profile/index.html +0 -54
- package/testings/bun.lockb +0 -0
- package/testings/components/header.tsx +0 -7
- package/testings/directives/index.ts +0 -1
- package/testings/directives/shown.ts +0 -6
- package/testings/index.html +0 -20
- package/testings/index.ts +0 -19
- package/testings/package.json +0 -22
- package/testings/routes/about.html +0 -13
- package/testings/routes/clock.tsx +0 -35
- package/testings/routes/counter.tsx +0 -21
- package/testings/routes/forms/form.css +0 -19
- package/testings/routes/forms/form.tsx +0 -51
- package/testings/routes/forms/index.tsx +0 -3
- package/testings/routes/hello.tsx +0 -62
- package/testings/routes/htmlx.html +0 -15
- package/testings/routes/index.md +0 -15
- package/testings/routes/login.tsx +0 -36
- package/testings/routes/profile/detail.css +0 -13
- package/testings/routes/profile/detail.tsx +0 -48
- package/testings/routes/profile/index.tsx +0 -14
- package/testings/routes/profile/profile.css +0 -8
- package/testings/routes/profile/tester.tsx +0 -11
- package/testings/routes/quotes.tsx +0 -25
- package/testings/routes/system.tsx +0 -23
- package/testings/tests/access.spec.ts +0 -29
- package/testings/tests/counter.spec.ts +0 -19
- package/testings/tests/form.spec.ts +0 -51
- package/testings/tests/hello.spec.ts +0 -25
- package/testings/tests/path.test.ts +0 -20
- package/testings/tsconfig.json +0 -24
- package/tsconfig.json +0 -22
package/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { exec } from 'child_process'
|
|
4
4
|
import inquirer from 'inquirer'
|
|
5
|
+
import fetch from 'node-fetch'
|
|
5
6
|
import path from 'path'
|
|
6
7
|
import fs from 'fs'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const RESET = '\x1b[0m';
|
|
9
|
+
const GREEN = '\x1b[32m'
|
|
10
|
+
const RESET = '\x1b[0m'
|
|
11
11
|
const prefix = `${GREEN}+${RESET}`
|
|
12
12
|
const line = ' '.repeat(50)
|
|
13
13
|
const decor = '-'.repeat(15)
|
|
@@ -16,14 +16,7 @@ console.log(line)
|
|
|
16
16
|
console.log(`${decor}( ${GREEN}reactful${RESET}.js )${decor}`)
|
|
17
17
|
console.log(line)
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const templatePath = path.join(process.cwd(), nodeModulesPath, 'templates')
|
|
22
|
-
|
|
23
|
-
const templates = fs.readdirSync(templatePath)
|
|
24
|
-
.map(x => ({ name:x, path: `${templatePath}/${x}`}))
|
|
25
|
-
.filter(x => fs.statSync(x.path).isDirectory())
|
|
26
|
-
.map(x => ({ name: x.name, value: x.name }))
|
|
19
|
+
const templates = [ 'empty', 'minimal', 'sampling' ]
|
|
27
20
|
|
|
28
21
|
const questions = [
|
|
29
22
|
{
|
|
@@ -39,20 +32,24 @@ const questions = [
|
|
|
39
32
|
]
|
|
40
33
|
|
|
41
34
|
inquirer.prompt(questions).then(async function (answers) {
|
|
42
|
-
const fromTemplate = path.join(process.cwd(), base, 'templates', answers.template)
|
|
43
|
-
const
|
|
44
|
-
const fromCommon = path.join(process.cwd(), base, 'common')
|
|
35
|
+
// const fromTemplate = path.join(process.cwd(), base, 'templates', answers.template)
|
|
36
|
+
// const destination = path.join(process.cwd(), answers.project)
|
|
37
|
+
// const fromCommon = path.join(process.cwd(), base, 'common')
|
|
38
|
+
// copyFolder(fromTemplate, destination)
|
|
39
|
+
// copyFolder(fromCommon, destination)
|
|
45
40
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
const base = 'https://github.com/jsenaribeiro/reactful/installation/'
|
|
42
|
+
|
|
43
|
+
copyScaffold(`${base}/common`, destination)
|
|
44
|
+
copyScaffold(`${base}/templates/${answers.template}`, destination)
|
|
45
|
+
renamingJSON(destination, answers.project)
|
|
49
46
|
|
|
50
47
|
console.log('')
|
|
51
48
|
|
|
52
|
-
exec($`cd ${answers.project}
|
|
49
|
+
exec($`cd ${answers.project} bun install`)
|
|
53
50
|
})
|
|
54
51
|
|
|
55
|
-
function
|
|
52
|
+
function renamingJSON(directory, projectName) {
|
|
56
53
|
const url = `${directory}/package.json`
|
|
57
54
|
const txt = fs.readFileSync(url, { encoding:'utf-8' })
|
|
58
55
|
const obj = JSON.parse(txt)
|
|
@@ -80,3 +77,26 @@ function copyFolder(fromDir, destDir) {
|
|
|
80
77
|
else fs.copyFileSync(fromPath, destPath)
|
|
81
78
|
})
|
|
82
79
|
}
|
|
80
|
+
|
|
81
|
+
async function downloadRepo(url, destino) {
|
|
82
|
+
const resposta = await fetch(url)
|
|
83
|
+
const conteudo = await resposta.json()
|
|
84
|
+
|
|
85
|
+
for (const item of conteudo) {
|
|
86
|
+
if (item.type === 'file') {
|
|
87
|
+
const arquivoUrl = item.download_url
|
|
88
|
+
const arquivoNome = path.join(destino, item.name)
|
|
89
|
+
const arquivoResposta = await fetch(arquivoUrl)
|
|
90
|
+
const arquivoTexto = await arquivoResposta.text()
|
|
91
|
+
fs.writeFileSync(arquivoNome, arquivoTexto)
|
|
92
|
+
console.log(`Arquivo baixado: ${arquivoNome}`)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async function copyScaffold(destination) {
|
|
98
|
+
const url = 'https://github.com/jsenaribeiro/reactful/installation/'
|
|
99
|
+
|
|
100
|
+
try { await downloadRepo(url, destination) }
|
|
101
|
+
catch (error) { console.error(error) }
|
|
102
|
+
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactful/create",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.59",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "reactful scafold tool",
|
|
7
7
|
"author": "jonathan de sena ribeiro <jsenaribeiro@gmail.com>",
|
|
8
8
|
"license": "MIT",
|
|
9
|
-
"
|
|
9
|
+
"files": [ "index.js", "package.json" ],
|
|
10
|
+
"bin": { "@reactful/create": "index.js" },
|
|
10
11
|
"scripts": {
|
|
11
12
|
"deploy": "npm publish --access public"
|
|
12
13
|
},
|
|
13
14
|
"dependencies": {
|
|
14
15
|
"bun-types": "latest",
|
|
16
|
+
"fs": "^0.0.1-security",
|
|
15
17
|
"inquirer": "^9.2.13",
|
|
16
|
-
"
|
|
18
|
+
"node-fetch": "^3.3.2"
|
|
17
19
|
}
|
|
18
|
-
}
|
|
20
|
+
}
|
package/bun.lockb
DELETED
|
Binary file
|
package/common/package.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "module",
|
|
3
|
-
"name": "template",
|
|
4
|
-
"module": "index.ts",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"start": "bun --hot run index.ts",
|
|
7
|
-
"build": "rm -rf tsconfig.tsbuildinfo; bunx tsc -p tsconfig.json",
|
|
8
|
-
"clear": "rm -rf node_modules package-lock.json bun.lockb; bun i; bun run build"
|
|
9
|
-
},
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"react": "^18.2.0",
|
|
12
|
-
"react-dom": "^18.2.0",
|
|
13
|
-
"@reactful/extensions": "latest",
|
|
14
|
-
"@reactful/server": "latest",
|
|
15
|
-
"@reactful/web": "latest"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"bun-types": "^1.0.20",
|
|
19
|
-
"typescript": "^5.3.3",
|
|
20
|
-
"@types/react": "^18.2.57"
|
|
21
|
-
}
|
|
22
|
-
}
|
package/common/tsconfig.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"exclude": ["node_modules"],
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"rootDir": ".",
|
|
5
|
-
"jsx": "react",
|
|
6
|
-
"target": "esnext",
|
|
7
|
-
"module": "esnext",
|
|
8
|
-
"types": ["bun-types"],
|
|
9
|
-
"moduleDetection": "auto",
|
|
10
|
-
"moduleResolution": "bundler",
|
|
11
|
-
"noEmit": true,
|
|
12
|
-
"strict": false,
|
|
13
|
-
"allowJs": true,
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"composite": true,
|
|
16
|
-
"declaration": true,
|
|
17
|
-
"skipLibCheck": true,
|
|
18
|
-
"noImplicitAny": false,
|
|
19
|
-
"esModuleInterop": true,
|
|
20
|
-
"downlevelIteration": true,
|
|
21
|
-
"allowSyntheticDefaultImports": true,
|
|
22
|
-
"forceConsistentCasingInFileNames": true
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<meta name="description" content="Home page" >
|
|
7
|
-
<title>Welcome</title>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div id="root" ></div>
|
|
11
|
-
</body>
|
|
12
|
-
</html>
|
package/templates/empty/index.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<meta name="description" content="Home page" >
|
|
7
|
-
<title>Welcome</title>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div id="root" ></div>
|
|
11
|
-
</body>
|
|
12
|
-
</html>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const database = [
|
|
2
|
-
{ username: 'usr', password: 'pwd' },
|
|
3
|
-
{ username: 'test', password: '123' },
|
|
4
|
-
]
|
|
5
|
-
|
|
6
|
-
export const db = {
|
|
7
|
-
|
|
8
|
-
has(username, password) {
|
|
9
|
-
const contains = database
|
|
10
|
-
.filter(x => x.username == username)
|
|
11
|
-
.some(x => x.password == password)
|
|
12
|
-
|
|
13
|
-
return Promise.resolve(contains)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"user server"
|
|
2
|
-
|
|
3
|
-
import { delay } from '../../../commons/src'
|
|
4
|
-
import { db } from "./db"
|
|
5
|
-
|
|
6
|
-
const SECRET_KEY = '0123456789'
|
|
7
|
-
|
|
8
|
-
export async function post(request: Request) {
|
|
9
|
-
await delay(3000)
|
|
10
|
-
|
|
11
|
-
const AUTHORIZATION = request.headers.get('authorization')
|
|
12
|
-
const UNAUTHORIZED = { status: 401, headers: { 'Content-Type': 'text/plain' }}
|
|
13
|
-
const NO_HEADERS = 'Authorization header missing!'
|
|
14
|
-
const NOT_LOGIN = 'Authentication failed!'
|
|
15
|
-
|
|
16
|
-
if (!AUTHORIZATION?.startsWith('Basic '))
|
|
17
|
-
return new Response(NO_HEADERS, UNAUTHORIZED)
|
|
18
|
-
|
|
19
|
-
const auth = AUTHORIZATION.split(' ')[1]
|
|
20
|
-
const credential = Buffer.from(auth, 'base64').toString('utf-8')
|
|
21
|
-
const [ username, password ] = credential.split(':')
|
|
22
|
-
const exists = await db.has(username, password)
|
|
23
|
-
const settings = exists ? { } : UNAUTHORIZED
|
|
24
|
-
const access_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
|
|
25
|
-
const text = exists ? JSON.stringify({ access_token }) : NOT_LOGIN
|
|
26
|
-
|
|
27
|
-
return new Response(text, settings)
|
|
28
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function get(request: Request) {
|
|
2
|
-
function getRandomInt(max) { return Math.floor(Math.random() * max); }
|
|
3
|
-
|
|
4
|
-
const messages = [
|
|
5
|
-
"Man is the measure of all things (Protagoras)",
|
|
6
|
-
"The unexamined life is not worth living (Socrates)",
|
|
7
|
-
"One cannot step twice in the same river (Heraclitus)",
|
|
8
|
-
"Life must be understood backward. But it must be lived forward (Kierkegaard)",
|
|
9
|
-
"Science is what you know. Philosophy is what you don't know (Russell)",
|
|
10
|
-
"I can control my passions and emotions if I can understand their nature (Spinoza)"
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
const message = messages[getRandomInt(messages.length)]
|
|
14
|
-
|
|
15
|
-
return new Response(message)
|
|
16
|
-
}
|
|
Binary file
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
@import url('https://fonts.cdnfonts.com/css/share-tech');
|
|
2
|
-
|
|
3
|
-
body,
|
|
4
|
-
h1,
|
|
5
|
-
h2,
|
|
6
|
-
h3,
|
|
7
|
-
h4,
|
|
8
|
-
h5,
|
|
9
|
-
h6,
|
|
10
|
-
button,
|
|
11
|
-
textarea,
|
|
12
|
-
input,
|
|
13
|
-
select {
|
|
14
|
-
font-family: agave !important
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@media (prefers-color-scheme: dark) {
|
|
18
|
-
body {
|
|
19
|
-
background-color: #333;
|
|
20
|
-
color: #EEE;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
a {
|
|
24
|
-
color: wheat
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
a:hover {
|
|
28
|
-
color: yellow
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
button {
|
|
32
|
-
background-color: #AAA;
|
|
33
|
-
border-width: 1px;
|
|
34
|
-
padding: 10px 5px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
input,
|
|
38
|
-
textarea {
|
|
39
|
-
color: #EEE;
|
|
40
|
-
background-color: #444;
|
|
41
|
-
border-color: #555;
|
|
42
|
-
border-style: solid;
|
|
43
|
-
border-width: 1px;
|
|
44
|
-
outline: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
input:focus {
|
|
48
|
-
border-color: #AAA;
|
|
49
|
-
outline: none;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
input.Hello,
|
|
54
|
-
[bind='value'],
|
|
55
|
-
[own^='Sub'] {
|
|
56
|
-
width: 50px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
label.Hello {
|
|
60
|
-
margin-bottom: 20px;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
label.Hello code {
|
|
64
|
-
font-size: 12px;
|
|
65
|
-
color: silver;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
button.Detail {
|
|
69
|
-
padding: 10px;
|
|
70
|
-
margin: 10px;
|
|
71
|
-
cursor: pointer;
|
|
72
|
-
background-color: #ccc;
|
|
73
|
-
border: 1px solid #000;
|
|
74
|
-
transition: margin-top 0.2s ease-in-out, margin-bottom 0.2s ease-in-out;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
button.Detail:hover {
|
|
78
|
-
background-color: #ddd;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
button.Detail:active {
|
|
82
|
-
margin-top: 5px;
|
|
83
|
-
margin-bottom: 5px;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
button.Detail:active {
|
|
88
|
-
color: white;
|
|
89
|
-
background-color: #777;
|
|
90
|
-
transform: translate(2px, 2px);
|
|
91
|
-
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="263px" height="388px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
4
|
-
<g><path style="opacity:1" fill="#f4ddb2" d="M 74.5,-0.5 C 75.5,-0.5 76.5,-0.5 77.5,-0.5C 107.762,24.9817 138.096,50.4817 168.5,76C 122.614,121.98 103.114,177.48 110,242.5C 118.974,305.846 150.474,354.179 204.5,387.5C 201.5,387.5 198.5,387.5 195.5,387.5C 125.186,377.001 70.6858,342.001 32,282.5C 13.2853,251.287 2.45197,217.62 -0.5,181.5C -0.5,171.5 -0.5,161.5 -0.5,151.5C 5.05174,91.1449 30.0517,40.4783 74.5,-0.5 Z"/></g>
|
|
5
|
-
<g><path style="opacity:1" fill="#f4ddb2" d="M 262.5,175.5 C 262.5,180.833 262.5,186.167 262.5,191.5C 254.191,224.617 232.858,240.451 198.5,239C 177.426,234.92 162.593,223.087 154,203.5C 145.539,175.55 153.039,153.05 176.5,136C 202.655,122.121 226.488,125.288 248,145.5C 255.287,154.405 260.12,164.405 262.5,175.5 Z"/></g>
|
|
6
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "React Minus",
|
|
3
|
-
"start_url": ".",
|
|
4
|
-
"theme_color": "#333",
|
|
5
|
-
"short_name": "reactful",
|
|
6
|
-
"display": "standalone",
|
|
7
|
-
"background_color": "#333",
|
|
8
|
-
"description": "A sample app",
|
|
9
|
-
"icons": [
|
|
10
|
-
{
|
|
11
|
-
"src": "logo-48.png",
|
|
12
|
-
"sizes": "48x48",
|
|
13
|
-
"type": "image/png",
|
|
14
|
-
"purpose": "any maskable"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"src": "logo-72.png",
|
|
18
|
-
"sizes": "72x72",
|
|
19
|
-
"type": "image/png",
|
|
20
|
-
"purpose": "any maskable"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"src": "logo-96.png",
|
|
24
|
-
"sizes": "96x96",
|
|
25
|
-
"type": "image/png",
|
|
26
|
-
"purpose": "any maskable"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"src": "logo-144.png",
|
|
30
|
-
"sizes": "144x144",
|
|
31
|
-
"type": "image/png",
|
|
32
|
-
"purpose": "any maskable"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"src": "logo-168.png",
|
|
36
|
-
"sizes": "168x168",
|
|
37
|
-
"type": "image/png",
|
|
38
|
-
"purpose": "any maskable"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"src": "logo-192.png",
|
|
42
|
-
"sizes": "192x192",
|
|
43
|
-
"type": "image/png",
|
|
44
|
-
"purpose": "any maskable"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"src": "logo-512.png",
|
|
48
|
-
"sizes": "512x512",
|
|
49
|
-
"type": "image/png",
|
|
50
|
-
"purpose": "any maskable"
|
|
51
|
-
}
|
|
52
|
-
],
|
|
53
|
-
"related_applications": [{
|
|
54
|
-
"platform": "play",
|
|
55
|
-
"url": "https://play.google.com/store/apps/details?id=sample"
|
|
56
|
-
}]
|
|
57
|
-
}
|