new shout creation flow WIP
This commit is contained in:
parent
cfb744c0a0
commit
e6ce826e56
326
package-lock.json
generated
326
package-lock.json
generated
|
@ -19,7 +19,7 @@
|
||||||
"node-fetch": "3.3.1"
|
"node-fetch": "3.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.21.5",
|
"@babel/core": "7.21.8",
|
||||||
"@graphql-codegen/cli": "3.2.2",
|
"@graphql-codegen/cli": "3.2.2",
|
||||||
"@graphql-codegen/typescript": "3.0.4",
|
"@graphql-codegen/typescript": "3.0.4",
|
||||||
"@graphql-codegen/typescript-operations": "3.0.4",
|
"@graphql-codegen/typescript-operations": "3.0.4",
|
||||||
|
@ -68,12 +68,12 @@
|
||||||
"@types/express": "4.17.17",
|
"@types/express": "4.17.17",
|
||||||
"@types/node": "18.16.3",
|
"@types/node": "18.16.3",
|
||||||
"@types/uuid": "9.0.1",
|
"@types/uuid": "9.0.1",
|
||||||
"@typescript-eslint/eslint-plugin": "5.59.1",
|
"@typescript-eslint/eslint-plugin": "5.59.2",
|
||||||
"@typescript-eslint/parser": "5.59.1",
|
"@typescript-eslint/parser": "5.59.2",
|
||||||
"@urql/core": "3.2.2",
|
"@urql/core": "3.2.2",
|
||||||
"@urql/devtools": "2.0.3",
|
"@urql/devtools": "2.0.3",
|
||||||
"@urql/exchange-graphcache": "5.2.0",
|
"@urql/exchange-graphcache": "5.2.0",
|
||||||
"babel-preset-solid": "1.7.3",
|
"babel-preset-solid": "1.7.4",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"bootstrap": "5.2.3",
|
"bootstrap": "5.2.3",
|
||||||
"clsx": "1.2.1",
|
"clsx": "1.2.1",
|
||||||
|
@ -126,14 +126,14 @@
|
||||||
"prosemirror-schema-list": "1.2.2",
|
"prosemirror-schema-list": "1.2.2",
|
||||||
"prosemirror-state": "1.4.2",
|
"prosemirror-state": "1.4.2",
|
||||||
"prosemirror-view": "1.30.2",
|
"prosemirror-view": "1.30.2",
|
||||||
"rollup": "3.21.2",
|
"rollup": "3.21.3",
|
||||||
"rollup-plugin-visualizer": "5.9.0",
|
"rollup-plugin-visualizer": "5.9.0",
|
||||||
"sass": "1.62.1",
|
"sass": "1.62.1",
|
||||||
"solid-js": "1.7.3",
|
"solid-js": "1.7.3",
|
||||||
"solid-tiptap": "0.6.0",
|
"solid-tiptap": "0.6.0",
|
||||||
"solid-transition-group": "0.2.2",
|
"solid-transition-group": "0.2.2",
|
||||||
"sort-package-json": "2.4.1",
|
"sort-package-json": "2.4.1",
|
||||||
"stylelint": "15.6.0",
|
"stylelint": "15.6.1",
|
||||||
"stylelint-config-standard-scss": "9.0.0",
|
"stylelint-config-standard-scss": "9.0.0",
|
||||||
"stylelint-order": "6.0.3",
|
"stylelint-order": "6.0.3",
|
||||||
"stylelint-scss": "5.0.0",
|
"stylelint-scss": "5.0.0",
|
||||||
|
@ -144,10 +144,10 @@
|
||||||
"uniqolor": "1.1.0",
|
"uniqolor": "1.1.0",
|
||||||
"unique-names-generator": "4.7.1",
|
"unique-names-generator": "4.7.1",
|
||||||
"uuid": "9.0.0",
|
"uuid": "9.0.0",
|
||||||
"vite": "4.3.3",
|
"vite": "4.3.4",
|
||||||
"vite-plugin-sass-dts": "1.3.4",
|
"vite-plugin-sass-dts": "1.3.4",
|
||||||
"vite-plugin-solid": "2.7.0",
|
"vite-plugin-solid": "2.7.0",
|
||||||
"vite-plugin-ssr": "0.4.120",
|
"vite-plugin-ssr": "0.4.121",
|
||||||
"wonka": "6.3.1",
|
"wonka": "6.3.1",
|
||||||
"ws": "8.13.0",
|
"ws": "8.13.0",
|
||||||
"y-indexeddb": "9.0.10",
|
"y-indexeddb": "9.0.10",
|
||||||
|
@ -1809,9 +1809,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/core": {
|
"node_modules/@babel/core": {
|
||||||
"version": "7.21.5",
|
"version": "7.21.8",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz",
|
||||||
"integrity": "sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==",
|
"integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
|
@ -1820,7 +1820,7 @@
|
||||||
"@babel/helper-compilation-targets": "^7.21.5",
|
"@babel/helper-compilation-targets": "^7.21.5",
|
||||||
"@babel/helper-module-transforms": "^7.21.5",
|
"@babel/helper-module-transforms": "^7.21.5",
|
||||||
"@babel/helpers": "^7.21.5",
|
"@babel/helpers": "^7.21.5",
|
||||||
"@babel/parser": "^7.21.5",
|
"@babel/parser": "^7.21.8",
|
||||||
"@babel/template": "^7.20.7",
|
"@babel/template": "^7.20.7",
|
||||||
"@babel/traverse": "^7.21.5",
|
"@babel/traverse": "^7.21.5",
|
||||||
"@babel/types": "^7.21.5",
|
"@babel/types": "^7.21.5",
|
||||||
|
@ -2139,9 +2139,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.21.5",
|
"version": "7.21.8",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
|
||||||
"integrity": "sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ==",
|
"integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
|
@ -6500,15 +6500,15 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
|
||||||
"integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==",
|
"integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.4.0",
|
"@eslint-community/regexpp": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/type-utils": "5.59.1",
|
"@typescript-eslint/type-utils": "5.59.2",
|
||||||
"@typescript-eslint/utils": "5.59.1",
|
"@typescript-eslint/utils": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"grapheme-splitter": "^1.0.4",
|
"grapheme-splitter": "^1.0.4",
|
||||||
"ignore": "^5.2.0",
|
"ignore": "^5.2.0",
|
||||||
|
@ -6567,14 +6567,14 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
|
||||||
"integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==",
|
"integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -6594,13 +6594,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
|
||||||
"integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==",
|
"integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/visitor-keys": "5.59.1"
|
"@typescript-eslint/visitor-keys": "5.59.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
|
@ -6611,13 +6611,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
|
||||||
"integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==",
|
"integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"@typescript-eslint/utils": "5.59.1",
|
"@typescript-eslint/utils": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"tsutils": "^3.21.0"
|
"tsutils": "^3.21.0"
|
||||||
},
|
},
|
||||||
|
@ -6638,9 +6638,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
|
||||||
"integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==",
|
"integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
|
@ -6651,13 +6651,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
|
||||||
"integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==",
|
"integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/visitor-keys": "5.59.1",
|
"@typescript-eslint/visitor-keys": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
|
@ -6711,17 +6711,17 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
|
||||||
"integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==",
|
"integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@types/json-schema": "^7.0.9",
|
"@types/json-schema": "^7.0.9",
|
||||||
"@types/semver": "^7.3.12",
|
"@types/semver": "^7.3.12",
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"eslint-scope": "^5.1.1",
|
"eslint-scope": "^5.1.1",
|
||||||
"semver": "^7.3.7"
|
"semver": "^7.3.7"
|
||||||
},
|
},
|
||||||
|
@ -6770,12 +6770,12 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
|
||||||
"integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==",
|
"integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -7471,12 +7471,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-preset-solid": {
|
"node_modules/babel-preset-solid": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.7.4.tgz",
|
||||||
"integrity": "sha512-HOdyrij99zo+CBrmtDxSexBAl54vCBCfBoyueLBvcfVniaEXNd4ftKqSN6XQcLvFfCY28UFO+DHaigXzWKOfzg==",
|
"integrity": "sha512-0mbHNYkbOVYhH6L95VlHVkBEVQjOXSzUqLDiFxUcsg/tU4yTM/qx7FI8C+kmos9LHckQBSm3wtwoe1BZLNJR1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"babel-plugin-jsx-dom-expressions": "^0.36.9"
|
"babel-plugin-jsx-dom-expressions": "^0.36.10"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.0.0"
|
"@babel/core": "^7.0.0"
|
||||||
|
@ -16960,9 +16960,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-selector-parser": {
|
"node_modules/postcss-selector-parser": {
|
||||||
"version": "6.0.11",
|
"version": "6.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz",
|
||||||
"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
|
"integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
|
@ -17870,9 +17870,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "3.21.2",
|
"version": "3.21.3",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.3.tgz",
|
||||||
"integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==",
|
"integrity": "sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"rollup": "dist/bin/rollup"
|
"rollup": "dist/bin/rollup"
|
||||||
|
@ -18723,9 +18723,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/stylelint": {
|
"node_modules/stylelint": {
|
||||||
"version": "15.6.0",
|
"version": "15.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.1.tgz",
|
||||||
"integrity": "sha512-Cqzpc8tvJm77KaM8qUbhpJ/UYK55Ia0whQXj4b9IId9dlPICO7J8Lyo15SZWiHxKjlvy3p5FQor/3n6i8ignXg==",
|
"integrity": "sha512-d8icFBlVl93Elf3Z5ABQNOCe4nx69is3D/NZhDLAie1eyYnpxfeKe7pCfqzT5W4F8vxHCLSDfV8nKNJzogvV2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@csstools/css-parser-algorithms": "^2.1.1",
|
"@csstools/css-parser-algorithms": "^2.1.1",
|
||||||
|
@ -18755,11 +18755,11 @@
|
||||||
"micromatch": "^4.0.5",
|
"micromatch": "^4.0.5",
|
||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"postcss": "^8.4.22",
|
"postcss": "^8.4.23",
|
||||||
"postcss-media-query-parser": "^0.2.3",
|
"postcss-media-query-parser": "^0.2.3",
|
||||||
"postcss-resolve-nested-selector": "^0.1.1",
|
"postcss-resolve-nested-selector": "^0.1.1",
|
||||||
"postcss-safe-parser": "^6.0.0",
|
"postcss-safe-parser": "^6.0.0",
|
||||||
"postcss-selector-parser": "^6.0.11",
|
"postcss-selector-parser": "^6.0.12",
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"resolve-from": "^5.0.0",
|
"resolve-from": "^5.0.0",
|
||||||
"string-width": "^4.2.3",
|
"string-width": "^4.2.3",
|
||||||
|
@ -18769,7 +18769,7 @@
|
||||||
"svg-tags": "^1.0.0",
|
"svg-tags": "^1.0.0",
|
||||||
"table": "^6.8.1",
|
"table": "^6.8.1",
|
||||||
"v8-compile-cache": "^2.3.0",
|
"v8-compile-cache": "^2.3.0",
|
||||||
"write-file-atomic": "^5.0.0"
|
"write-file-atomic": "^5.0.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"stylelint": "bin/stylelint.js"
|
"stylelint": "bin/stylelint.js"
|
||||||
|
@ -18939,6 +18939,18 @@
|
||||||
"integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
|
"integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/stylelint/node_modules/signal-exit": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/stylelint/node_modules/string-width": {
|
"node_modules/stylelint/node_modules/string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
@ -18966,13 +18978,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/stylelint/node_modules/write-file-atomic": {
|
"node_modules/stylelint/node_modules/write-file-atomic": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
|
||||||
"integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==",
|
"integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"imurmurhash": "^0.1.4",
|
"imurmurhash": "^0.1.4",
|
||||||
"signal-exit": "^3.0.7"
|
"signal-exit": "^4.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||||
|
@ -19823,9 +19835,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.4.tgz",
|
||||||
"integrity": "sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==",
|
"integrity": "sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.17.5",
|
"esbuild": "^0.17.5",
|
||||||
|
@ -19908,9 +19920,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-plugin-ssr": {
|
"node_modules/vite-plugin-ssr": {
|
||||||
"version": "0.4.120",
|
"version": "0.4.121",
|
||||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.120.tgz",
|
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.121.tgz",
|
||||||
"integrity": "sha512-crttExXYt98bEVeLJgqlJ6peaMgzN7YrL0TNIAWEjabWHaXgpQUO+pRXOf0MIyI/xcNh13e6kvalSPo9UEpPxQ==",
|
"integrity": "sha512-6hJXWH8JAcBjRVwZeuI/yIk5gwJrdllZaBTBGXHH0Py0o0cJ1i8p7KZ3hht0SzY63pt0apekXKxnqW/brODung==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@brillout/import": "0.2.3",
|
"@brillout/import": "0.2.3",
|
||||||
|
@ -21912,9 +21924,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@babel/core": {
|
"@babel/core": {
|
||||||
"version": "7.21.5",
|
"version": "7.21.8",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz",
|
||||||
"integrity": "sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==",
|
"integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
|
@ -21923,7 +21935,7 @@
|
||||||
"@babel/helper-compilation-targets": "^7.21.5",
|
"@babel/helper-compilation-targets": "^7.21.5",
|
||||||
"@babel/helper-module-transforms": "^7.21.5",
|
"@babel/helper-module-transforms": "^7.21.5",
|
||||||
"@babel/helpers": "^7.21.5",
|
"@babel/helpers": "^7.21.5",
|
||||||
"@babel/parser": "^7.21.5",
|
"@babel/parser": "^7.21.8",
|
||||||
"@babel/template": "^7.20.7",
|
"@babel/template": "^7.20.7",
|
||||||
"@babel/traverse": "^7.21.5",
|
"@babel/traverse": "^7.21.5",
|
||||||
"@babel/types": "^7.21.5",
|
"@babel/types": "^7.21.5",
|
||||||
|
@ -22164,9 +22176,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/parser": {
|
"@babel/parser": {
|
||||||
"version": "7.21.5",
|
"version": "7.21.8",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
|
||||||
"integrity": "sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ==",
|
"integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@babel/plugin-proposal-class-properties": {
|
"@babel/plugin-proposal-class-properties": {
|
||||||
|
@ -25345,15 +25357,15 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/eslint-plugin": {
|
"@typescript-eslint/eslint-plugin": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
|
||||||
"integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==",
|
"integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/regexpp": "^4.4.0",
|
"@eslint-community/regexpp": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/type-utils": "5.59.1",
|
"@typescript-eslint/type-utils": "5.59.2",
|
||||||
"@typescript-eslint/utils": "5.59.1",
|
"@typescript-eslint/utils": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"grapheme-splitter": "^1.0.4",
|
"grapheme-splitter": "^1.0.4",
|
||||||
"ignore": "^5.2.0",
|
"ignore": "^5.2.0",
|
||||||
|
@ -25389,53 +25401,53 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/parser": {
|
"@typescript-eslint/parser": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
|
||||||
"integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==",
|
"integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/scope-manager": {
|
"@typescript-eslint/scope-manager": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
|
||||||
"integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==",
|
"integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/visitor-keys": "5.59.1"
|
"@typescript-eslint/visitor-keys": "5.59.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/type-utils": {
|
"@typescript-eslint/type-utils": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
|
||||||
"integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==",
|
"integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"@typescript-eslint/utils": "5.59.1",
|
"@typescript-eslint/utils": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"tsutils": "^3.21.0"
|
"tsutils": "^3.21.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/types": {
|
"@typescript-eslint/types": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
|
||||||
"integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==",
|
"integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/typescript-estree": {
|
"@typescript-eslint/typescript-estree": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
|
||||||
"integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==",
|
"integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/visitor-keys": "5.59.1",
|
"@typescript-eslint/visitor-keys": "5.59.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
|
@ -25470,17 +25482,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/utils": {
|
"@typescript-eslint/utils": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
|
||||||
"integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==",
|
"integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@types/json-schema": "^7.0.9",
|
"@types/json-schema": "^7.0.9",
|
||||||
"@types/semver": "^7.3.12",
|
"@types/semver": "^7.3.12",
|
||||||
"@typescript-eslint/scope-manager": "5.59.1",
|
"@typescript-eslint/scope-manager": "5.59.2",
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"@typescript-eslint/typescript-estree": "5.59.1",
|
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||||
"eslint-scope": "^5.1.1",
|
"eslint-scope": "^5.1.1",
|
||||||
"semver": "^7.3.7"
|
"semver": "^7.3.7"
|
||||||
},
|
},
|
||||||
|
@ -25512,12 +25524,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/visitor-keys": {
|
"@typescript-eslint/visitor-keys": {
|
||||||
"version": "5.59.1",
|
"version": "5.59.2",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
|
||||||
"integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==",
|
"integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "5.59.1",
|
"@typescript-eslint/types": "5.59.2",
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -26047,12 +26059,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-preset-solid": {
|
"babel-preset-solid": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.7.4.tgz",
|
||||||
"integrity": "sha512-HOdyrij99zo+CBrmtDxSexBAl54vCBCfBoyueLBvcfVniaEXNd4ftKqSN6XQcLvFfCY28UFO+DHaigXzWKOfzg==",
|
"integrity": "sha512-0mbHNYkbOVYhH6L95VlHVkBEVQjOXSzUqLDiFxUcsg/tU4yTM/qx7FI8C+kmos9LHckQBSm3wtwoe1BZLNJR1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"babel-plugin-jsx-dom-expressions": "^0.36.9"
|
"babel-plugin-jsx-dom-expressions": "^0.36.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
|
@ -33023,9 +33035,9 @@
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"postcss-selector-parser": {
|
"postcss-selector-parser": {
|
||||||
"version": "6.0.11",
|
"version": "6.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz",
|
||||||
"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
|
"integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
|
@ -33745,9 +33757,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rollup": {
|
"rollup": {
|
||||||
"version": "3.21.2",
|
"version": "3.21.3",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.3.tgz",
|
||||||
"integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==",
|
"integrity": "sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
|
@ -34382,9 +34394,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stylelint": {
|
"stylelint": {
|
||||||
"version": "15.6.0",
|
"version": "15.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.1.tgz",
|
||||||
"integrity": "sha512-Cqzpc8tvJm77KaM8qUbhpJ/UYK55Ia0whQXj4b9IId9dlPICO7J8Lyo15SZWiHxKjlvy3p5FQor/3n6i8ignXg==",
|
"integrity": "sha512-d8icFBlVl93Elf3Z5ABQNOCe4nx69is3D/NZhDLAie1eyYnpxfeKe7pCfqzT5W4F8vxHCLSDfV8nKNJzogvV2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@csstools/css-parser-algorithms": "^2.1.1",
|
"@csstools/css-parser-algorithms": "^2.1.1",
|
||||||
|
@ -34414,11 +34426,11 @@
|
||||||
"micromatch": "^4.0.5",
|
"micromatch": "^4.0.5",
|
||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"postcss": "^8.4.22",
|
"postcss": "^8.4.23",
|
||||||
"postcss-media-query-parser": "^0.2.3",
|
"postcss-media-query-parser": "^0.2.3",
|
||||||
"postcss-resolve-nested-selector": "^0.1.1",
|
"postcss-resolve-nested-selector": "^0.1.1",
|
||||||
"postcss-safe-parser": "^6.0.0",
|
"postcss-safe-parser": "^6.0.0",
|
||||||
"postcss-selector-parser": "^6.0.11",
|
"postcss-selector-parser": "^6.0.12",
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"resolve-from": "^5.0.0",
|
"resolve-from": "^5.0.0",
|
||||||
"string-width": "^4.2.3",
|
"string-width": "^4.2.3",
|
||||||
|
@ -34428,7 +34440,7 @@
|
||||||
"svg-tags": "^1.0.0",
|
"svg-tags": "^1.0.0",
|
||||||
"table": "^6.8.1",
|
"table": "^6.8.1",
|
||||||
"v8-compile-cache": "^2.3.0",
|
"v8-compile-cache": "^2.3.0",
|
||||||
"write-file-atomic": "^5.0.0"
|
"write-file-atomic": "^5.0.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
|
@ -34473,6 +34485,12 @@
|
||||||
"integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
|
"integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"signal-exit": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"string-width": {
|
"string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
@ -34494,13 +34512,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"write-file-atomic": {
|
"write-file-atomic": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
|
||||||
"integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==",
|
"integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"imurmurhash": "^0.1.4",
|
"imurmurhash": "^0.1.4",
|
||||||
"signal-exit": "^3.0.7"
|
"signal-exit": "^4.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35209,9 +35227,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"vite": {
|
"vite": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.4.tgz",
|
||||||
"integrity": "sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==",
|
"integrity": "sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"esbuild": "^0.17.5",
|
"esbuild": "^0.17.5",
|
||||||
|
@ -35245,9 +35263,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vite-plugin-ssr": {
|
"vite-plugin-ssr": {
|
||||||
"version": "0.4.120",
|
"version": "0.4.121",
|
||||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.120.tgz",
|
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.121.tgz",
|
||||||
"integrity": "sha512-crttExXYt98bEVeLJgqlJ6peaMgzN7YrL0TNIAWEjabWHaXgpQUO+pRXOf0MIyI/xcNh13e6kvalSPo9UEpPxQ==",
|
"integrity": "sha512-6hJXWH8JAcBjRVwZeuI/yIk5gwJrdllZaBTBGXHH0Py0o0cJ1i8p7KZ3hht0SzY63pt0apekXKxnqW/brODung==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@brillout/import": "0.2.3",
|
"@brillout/import": "0.2.3",
|
||||||
|
|
16
package.json
16
package.json
|
@ -39,7 +39,7 @@
|
||||||
"node-fetch": "3.3.1"
|
"node-fetch": "3.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.21.5",
|
"@babel/core": "7.21.8",
|
||||||
"@graphql-codegen/cli": "3.2.2",
|
"@graphql-codegen/cli": "3.2.2",
|
||||||
"@graphql-codegen/typescript": "3.0.4",
|
"@graphql-codegen/typescript": "3.0.4",
|
||||||
"@graphql-codegen/typescript-operations": "3.0.4",
|
"@graphql-codegen/typescript-operations": "3.0.4",
|
||||||
|
@ -88,12 +88,12 @@
|
||||||
"@types/express": "4.17.17",
|
"@types/express": "4.17.17",
|
||||||
"@types/node": "18.16.3",
|
"@types/node": "18.16.3",
|
||||||
"@types/uuid": "9.0.1",
|
"@types/uuid": "9.0.1",
|
||||||
"@typescript-eslint/eslint-plugin": "5.59.1",
|
"@typescript-eslint/eslint-plugin": "5.59.2",
|
||||||
"@typescript-eslint/parser": "5.59.1",
|
"@typescript-eslint/parser": "5.59.2",
|
||||||
"@urql/core": "3.2.2",
|
"@urql/core": "3.2.2",
|
||||||
"@urql/devtools": "2.0.3",
|
"@urql/devtools": "2.0.3",
|
||||||
"@urql/exchange-graphcache": "5.2.0",
|
"@urql/exchange-graphcache": "5.2.0",
|
||||||
"babel-preset-solid": "1.7.3",
|
"babel-preset-solid": "1.7.4",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"bootstrap": "5.2.3",
|
"bootstrap": "5.2.3",
|
||||||
"clsx": "1.2.1",
|
"clsx": "1.2.1",
|
||||||
|
@ -146,14 +146,14 @@
|
||||||
"prosemirror-schema-list": "1.2.2",
|
"prosemirror-schema-list": "1.2.2",
|
||||||
"prosemirror-state": "1.4.2",
|
"prosemirror-state": "1.4.2",
|
||||||
"prosemirror-view": "1.30.2",
|
"prosemirror-view": "1.30.2",
|
||||||
"rollup": "3.21.2",
|
"rollup": "3.21.3",
|
||||||
"rollup-plugin-visualizer": "5.9.0",
|
"rollup-plugin-visualizer": "5.9.0",
|
||||||
"sass": "1.62.1",
|
"sass": "1.62.1",
|
||||||
"solid-js": "1.7.3",
|
"solid-js": "1.7.3",
|
||||||
"solid-tiptap": "0.6.0",
|
"solid-tiptap": "0.6.0",
|
||||||
"solid-transition-group": "0.2.2",
|
"solid-transition-group": "0.2.2",
|
||||||
"sort-package-json": "2.4.1",
|
"sort-package-json": "2.4.1",
|
||||||
"stylelint": "15.6.0",
|
"stylelint": "15.6.1",
|
||||||
"stylelint-config-standard-scss": "9.0.0",
|
"stylelint-config-standard-scss": "9.0.0",
|
||||||
"stylelint-order": "6.0.3",
|
"stylelint-order": "6.0.3",
|
||||||
"stylelint-scss": "5.0.0",
|
"stylelint-scss": "5.0.0",
|
||||||
|
@ -164,10 +164,10 @@
|
||||||
"uniqolor": "1.1.0",
|
"uniqolor": "1.1.0",
|
||||||
"unique-names-generator": "4.7.1",
|
"unique-names-generator": "4.7.1",
|
||||||
"uuid": "9.0.0",
|
"uuid": "9.0.0",
|
||||||
"vite": "4.3.3",
|
"vite": "4.3.4",
|
||||||
"vite-plugin-sass-dts": "1.3.4",
|
"vite-plugin-sass-dts": "1.3.4",
|
||||||
"vite-plugin-solid": "2.7.0",
|
"vite-plugin-solid": "2.7.0",
|
||||||
"vite-plugin-ssr": "0.4.120",
|
"vite-plugin-ssr": "0.4.121",
|
||||||
"wonka": "6.3.1",
|
"wonka": "6.3.1",
|
||||||
"ws": "8.13.0",
|
"ws": "8.13.0",
|
||||||
"y-indexeddb": "9.0.10",
|
"y-indexeddb": "9.0.10",
|
||||||
|
|
|
@ -56,18 +56,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttonWithIcon {
|
.linkWithIcon {
|
||||||
margin-left: -1.6rem;
|
margin-left: -1.6rem;
|
||||||
|
|
||||||
.icon {
|
|
||||||
filter: invert(0.5);
|
|
||||||
margin-right: 0.3em;
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.stats {
|
.stats {
|
||||||
|
@ -91,4 +81,15 @@
|
||||||
&.hidden {
|
&.hidden {
|
||||||
transform: translateX(100%);
|
transform: translateX(100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: inline-block;
|
||||||
|
filter: invert(0.5);
|
||||||
|
margin-right: 0.3em;
|
||||||
|
width: 1em;
|
||||||
|
|
||||||
|
img {
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
import { Show } from 'solid-js'
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { Button } from '../../_shared/Button'
|
import { Button } from '../../_shared/Button'
|
||||||
import { Icon } from '../../_shared/Icon'
|
import { Icon } from '../../_shared/Icon'
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '../../../context/localize'
|
||||||
import styles from './Panel.module.scss'
|
import styles from './Panel.module.scss'
|
||||||
import { useEditorContext } from '../../../context/editor'
|
import { useEditorContext } from '../../../context/editor'
|
||||||
|
import { useOutsideClickHandler } from '../../../utils/useOutsideClickHandler'
|
||||||
|
import { useEscKeyDownHandler } from '../../../utils/useEscKeyDownHandler'
|
||||||
|
import { getPagePath } from '@nanostores/router'
|
||||||
|
import { router } from '../../../stores/router'
|
||||||
|
|
||||||
// type Props = {
|
type PanelProps = {
|
||||||
// // isVisible: boolean
|
shoutSlug: string
|
||||||
// }
|
}
|
||||||
|
|
||||||
export const Panel = () => {
|
export const Panel = (props: PanelProps) => {
|
||||||
const { t } = useLocalize()
|
const { t } = useLocalize()
|
||||||
const {
|
const {
|
||||||
isEditorPanelVisible,
|
isEditorPanelVisible,
|
||||||
|
@ -18,8 +21,27 @@ export const Panel = () => {
|
||||||
actions: { toggleEditorPanel }
|
actions: { toggleEditorPanel }
|
||||||
} = useEditorContext()
|
} = useEditorContext()
|
||||||
|
|
||||||
|
const containerRef: { current: HTMLElement } = {
|
||||||
|
current: null
|
||||||
|
}
|
||||||
|
|
||||||
|
useOutsideClickHandler({
|
||||||
|
containerRef,
|
||||||
|
predicate: () => isEditorPanelVisible(),
|
||||||
|
handler: () => toggleEditorPanel()
|
||||||
|
})
|
||||||
|
|
||||||
|
useEscKeyDownHandler(() => {
|
||||||
|
if (isEditorPanelVisible()) {
|
||||||
|
toggleEditorPanel()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<aside class={clsx('col-md-6', styles.Panel, { [styles.hidden]: !isEditorPanelVisible() })}>
|
<aside
|
||||||
|
ref={(el) => (containerRef.current = el)}
|
||||||
|
class={clsx('col-md-6', styles.Panel, { [styles.hidden]: !isEditorPanelVisible() })}
|
||||||
|
>
|
||||||
<div class={styles.actionsHolder}>
|
<div class={styles.actionsHolder}>
|
||||||
<Button
|
<Button
|
||||||
value={<Icon name="close" />}
|
value={<Icon name="close" />}
|
||||||
|
@ -30,47 +52,50 @@ export const Panel = () => {
|
||||||
</div>
|
</div>
|
||||||
<div class={clsx(styles.actionsHolder, styles.scrolled)}>
|
<div class={clsx(styles.actionsHolder, styles.scrolled)}>
|
||||||
<section>
|
<section>
|
||||||
<Button value={t('Publish')} variant={'inline'} class={styles.button} />
|
<p>
|
||||||
<Button value={t('Save draft')} variant={'inline'} class={styles.button} />
|
<a>{t('Publish')}</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a>{t('Save draft')}</a>
|
||||||
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<Button
|
<p>
|
||||||
value={
|
<a class={styles.linkWithIcon}>
|
||||||
<>
|
|
||||||
<Icon name="eye" class={styles.icon} />
|
<Icon name="eye" class={styles.icon} />
|
||||||
{t('Preview')}
|
{t('Preview')}
|
||||||
</>
|
</a>
|
||||||
}
|
</p>
|
||||||
variant={'inline'}
|
<p>
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
<a
|
||||||
/>
|
class={styles.linkWithIcon}
|
||||||
<Button
|
href={getPagePath(router, 'edit', { shoutSlug: props.shoutSlug })}
|
||||||
value={
|
>
|
||||||
<>
|
|
||||||
<Icon name="pencil-outline" class={styles.icon} />
|
<Icon name="pencil-outline" class={styles.icon} />
|
||||||
{t('Editing')}
|
{t('Editing')}
|
||||||
</>
|
</a>
|
||||||
}
|
</p>
|
||||||
variant={'inline'}
|
<p>
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
<a class={styles.linkWithIcon}>
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
<Icon name="feed-discussion" class={styles.icon} />
|
<Icon name="feed-discussion" class={styles.icon} />
|
||||||
{t('FAQ')}
|
{t('FAQ')}
|
||||||
</>
|
</a>
|
||||||
}
|
</p>
|
||||||
variant={'inline'}
|
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
|
||||||
/>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<Button value={t('Invite co-authors')} variant={'inline'} class={styles.button} />
|
<p>
|
||||||
<Button value={t('Publication settings')} variant={'inline'} class={styles.button} />
|
<a>{t('Invite co-authors')}</a>
|
||||||
<Button value={t('Corrections history')} variant={'inline'} class={styles.button} />
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href={getPagePath(router, 'editSettings', { shoutSlug: props.shoutSlug })}>
|
||||||
|
{t('Publication settings')}
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a>{t('Corrections history')}</a>
|
||||||
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
@ -92,14 +117,9 @@ export const Panel = () => {
|
||||||
<div>
|
<div>
|
||||||
{t('Words')}: <em>{wordCounter().words}</em>
|
{t('Words')}: <em>{wordCounter().words}</em>
|
||||||
</div>
|
</div>
|
||||||
<Show when={wordCounter().paragraphs}>
|
{/*<div>*/}
|
||||||
<div>
|
{/* {t('Last rev.')}: <em>22.03.22 в 18:20</em>*/}
|
||||||
{t('Paragraphs')}: <em>{wordCounter().paragraphs}</em>
|
{/*</div>*/}
|
||||||
</div>
|
|
||||||
</Show>
|
|
||||||
<div>
|
|
||||||
{t('Last rev.')}: <em>22.03.22 в 18:20</em>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
|
@ -13,7 +13,7 @@ import { useSession } from '../../context/session'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '../../context/localize'
|
||||||
import { getPagePath } from '@nanostores/router'
|
import { getPagePath } from '@nanostores/router'
|
||||||
import { Button } from '../_shared/Button'
|
import { Button } from '../_shared/Button'
|
||||||
// import { useEditorContext } from '../../context/editor'
|
import { useEditorContext } from '../../context/editor'
|
||||||
|
|
||||||
type HeaderAuthProps = {
|
type HeaderAuthProps = {
|
||||||
setIsProfilePopupVisible: (value: boolean) => void
|
setIsProfilePopupVisible: (value: boolean) => void
|
||||||
|
@ -27,9 +27,9 @@ export const HeaderAuth = (props: HeaderAuthProps) => {
|
||||||
|
|
||||||
const { session, isSessionLoaded, isAuthenticated } = useSession()
|
const { session, isSessionLoaded, isAuthenticated } = useSession()
|
||||||
|
|
||||||
// const {
|
const {
|
||||||
// actions: { toggleEditorPanel }
|
actions: { toggleEditorPanel }
|
||||||
// } = useEditorContext()
|
} = useEditorContext()
|
||||||
|
|
||||||
const toggleWarnings = () => setVisibleWarnings(!visibleWarnings())
|
const toggleWarnings = () => setVisibleWarnings(!visibleWarnings())
|
||||||
|
|
||||||
|
@ -43,16 +43,16 @@ export const HeaderAuth = (props: HeaderAuthProps) => {
|
||||||
toggleWarnings()
|
toggleWarnings()
|
||||||
}
|
}
|
||||||
|
|
||||||
const isEditorPage = createMemo(() => page().route === 'create' || page().route === 'edit')
|
const isEditorPage = createMemo(
|
||||||
|
() => page().route === 'create' || page().route === 'edit' || page().route === 'editSettings'
|
||||||
|
)
|
||||||
|
|
||||||
const showNotifications = createMemo(() => isAuthenticated() && !isEditorPage())
|
const showNotifications = createMemo(() => isAuthenticated() && !isEditorPage())
|
||||||
const showSaveButton = createMemo(() => isAuthenticated() && isEditorPage())
|
const showSaveButton = createMemo(() => isAuthenticated() && isEditorPage())
|
||||||
const showCreatePostButton = createMemo(() => isAuthenticated() && !isEditorPage())
|
const showCreatePostButton = createMemo(() => isAuthenticated() && !isEditorPage())
|
||||||
|
|
||||||
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
||||||
const handleBurgerButtonClick = () => {
|
const handleBurgerButtonClick = () => {
|
||||||
// TODO: implement me
|
toggleEditorPanel()
|
||||||
console.log('Burger clicked')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -12,22 +12,6 @@
|
||||||
padding: 0 4rem;
|
padding: 0 4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.saveBlock {
|
|
||||||
background: #f1f1f1;
|
|
||||||
line-height: 1.4;
|
|
||||||
margin-top: 6.4rem;
|
|
||||||
padding: 1.6rem 3.2rem;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
@include media-breakpoint-up(md) {
|
|
||||||
padding: 3.2rem 8rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.button {
|
|
||||||
margin: 0 divide($container-padding-x, 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
.titleInput,
|
.titleInput,
|
||||||
.subtitleInput {
|
.subtitleInput {
|
||||||
|
@ -103,28 +87,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttonWithIcon {
|
|
||||||
margin-left: -1.6rem;
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
filter: invert(0.5);
|
|
||||||
margin-right: 0.3em;
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.stats {
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-end;
|
|
||||||
margin-top: 3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: rgb(255 255 255 / 35%);
|
color: rgb(255 255 255 / 35%);
|
||||||
font-weight: normal !important;
|
font-weight: normal !important;
|
||||||
|
@ -135,7 +97,3 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.asidePanelHidden {
|
|
||||||
transform: translateX(100%);
|
|
||||||
}
|
|
||||||
|
|
|
@ -8,11 +8,10 @@ import type { Shout, Topic } from '../../graphql/types.gen'
|
||||||
import { apiClient } from '../../utils/apiClient'
|
import { apiClient } from '../../utils/apiClient'
|
||||||
import { TopicSelect } from '../Editor/TopicSelect/TopicSelect'
|
import { TopicSelect } from '../Editor/TopicSelect/TopicSelect'
|
||||||
import { router, useRouter } from '../../stores/router'
|
import { router, useRouter } from '../../stores/router'
|
||||||
import { getPagePath, openPage } from '@nanostores/router'
|
import { openPage } from '@nanostores/router'
|
||||||
import { translit } from '../../utils/ru2en'
|
import { translit } from '../../utils/ru2en'
|
||||||
import { Editor } from '../Editor/Editor'
|
import { Editor } from '../Editor/Editor'
|
||||||
import { Button } from '../_shared/Button'
|
import { Panel } from '../Editor/Panel'
|
||||||
import { Icon } from '../_shared/Icon'
|
|
||||||
|
|
||||||
type ShoutForm = {
|
type ShoutForm = {
|
||||||
slug: string
|
slug: string
|
||||||
|
@ -35,7 +34,6 @@ export const EditView = (props: EditViewProps) => {
|
||||||
const { page } = useRouter()
|
const { page } = useRouter()
|
||||||
|
|
||||||
const [isSlugChanged, setIsSlugChanged] = createSignal(false)
|
const [isSlugChanged, setIsSlugChanged] = createSignal(false)
|
||||||
const [isEditorPanelOPened, setIsEditorPanelOPened] = createSignal(false)
|
|
||||||
|
|
||||||
const [form, setForm] = createStore<ShoutForm>({
|
const [form, setForm] = createStore<ShoutForm>({
|
||||||
slug: props.shout.slug,
|
slug: props.shout.slug,
|
||||||
|
@ -79,10 +77,6 @@ export const EditView = (props: EditViewProps) => {
|
||||||
setForm('slug', slug)
|
setForm('slug', slug)
|
||||||
}
|
}
|
||||||
|
|
||||||
const toggleEditorPanel = () => {
|
|
||||||
setIsEditorPanelOPened(!isEditorPanelOPened())
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleSaveButtonClick = async (e) => {
|
const handleSaveButtonClick = async (e) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
|
@ -137,16 +131,9 @@ export const EditView = (props: EditViewProps) => {
|
||||||
|
|
||||||
<Editor
|
<Editor
|
||||||
shoutSlug={props.shout.slug}
|
shoutSlug={props.shout.slug}
|
||||||
initialContent={form.body}
|
initialContent={props.shout.body}
|
||||||
onChange={(body) => setForm('body', body)}
|
onChange={(body) => setForm('body', body)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class={styles.saveBlock}>
|
|
||||||
{/*<button class={clsx('button button--outline', styles.button)}>Сохранить</button>*/}
|
|
||||||
<a href={getPagePath(router, 'editSettings', { shoutSlug: props.shout.slug })}>
|
|
||||||
Настройки
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class={clsx(styles.editSettings, {
|
class={clsx(styles.editSettings, {
|
||||||
|
@ -225,113 +212,13 @@ export const EditView = (props: EditViewProps) => {
|
||||||
выглядеть на главной странице
|
выглядеть на главной странице
|
||||||
</p>
|
</p>
|
||||||
<div class={styles.articlePreview} />
|
<div class={styles.articlePreview} />
|
||||||
|
|
||||||
<div class={styles.saveBlock}>
|
|
||||||
<p>
|
|
||||||
Проверьте ещё раз введённые данные, если всё верно, вы можете сохранить или
|
|
||||||
опубликовать ваш текст
|
|
||||||
</p>
|
|
||||||
<a href={getPagePath(router, 'edit', { shoutSlug: props.shout.slug })}>Назад</a>
|
|
||||||
<button
|
|
||||||
onClick={handleSaveButtonClick}
|
|
||||||
class={clsx('button button--outline', styles.button)}
|
|
||||||
>
|
|
||||||
Сохранить
|
|
||||||
</button>
|
|
||||||
<button type="submit" class={clsx('button button--submit', styles.button)}>
|
|
||||||
Опубликовать
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
<Panel shoutSlug={props.shout.slug} />
|
||||||
<aside
|
|
||||||
class={clsx('col-md-6', styles.asidePanel, { [styles.asidePanelHidden]: !isEditorPanelOPened() })}
|
|
||||||
>
|
|
||||||
<div>
|
|
||||||
<Button
|
|
||||||
value={<Icon name="close" />}
|
|
||||||
variant={'inline'}
|
|
||||||
class={styles.close}
|
|
||||||
onClick={toggleEditorPanel}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<Button value={t('Publish')} variant={'inline'} class={styles.button} />
|
|
||||||
<Button value={t('Save draft')} variant={'inline'} class={styles.button} />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<Button
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
<Icon name="eye" class={styles.icon} />
|
|
||||||
{t('Preview')}
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
variant={'inline'}
|
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
<Icon name="pencil-outline" class={styles.icon} />
|
|
||||||
{t('Editing')}
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
variant={'inline'}
|
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
<Icon name="feed-discussion" class={styles.icon} />
|
|
||||||
{t('FAQ')}
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
variant={'inline'}
|
|
||||||
class={clsx(styles.button, styles.buttonWithIcon)}
|
|
||||||
/>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<Button value={t('Invite co-authors')} variant={'inline'} class={styles.button} />
|
|
||||||
<Button value={t('Publication settings')} variant={'inline'} class={styles.button} />
|
|
||||||
<Button value={t('Corrections history')} variant={'inline'} class={styles.button} />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<p>
|
|
||||||
<a href="/how-to-write-a-good-article">Как написать хорошую статью</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="#">Горячие клавиши</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="#">Помощь</a>
|
|
||||||
</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class={styles.stats}>
|
|
||||||
<div>
|
|
||||||
Знаков: <em>2345</em>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
Слов: <em>215</em>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
Абзацев: <em>300</em>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
Посл. изм.: <em>22.03.22 в 18:20</em>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</aside>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import { Accessor, createContext, createSignal, useContext } from 'solid-js'
|
||||||
type WordCounter = {
|
type WordCounter = {
|
||||||
characters: number
|
characters: number
|
||||||
words: number
|
words: number
|
||||||
paragraphs?: number
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type EditorContextType = {
|
type EditorContextType = {
|
||||||
|
@ -23,12 +22,12 @@ export function useEditorContext() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const EditorProvider = (props: { children: JSX.Element }) => {
|
export const EditorProvider = (props: { children: JSX.Element }) => {
|
||||||
const [isEditorPanelVisible, setEditorPanelVisible] = createSignal<boolean>(false)
|
const [isEditorPanelVisible, setIsEditorPanelVisible] = createSignal<boolean>(false)
|
||||||
const [wordCounter, setWordCounter] = createSignal<WordCounter>({
|
const [wordCounter, setWordCounter] = createSignal<WordCounter>({
|
||||||
characters: 0,
|
characters: 0,
|
||||||
words: 0
|
words: 0
|
||||||
})
|
})
|
||||||
const toggleEditorPanel = () => setEditorPanelVisible(!isEditorPanelVisible())
|
const toggleEditorPanel = () => setIsEditorPanelVisible((value) => !value)
|
||||||
const countWords = (value) => setWordCounter(value)
|
const countWords = (value) => setWordCounter(value)
|
||||||
const actions = {
|
const actions = {
|
||||||
toggleEditorPanel,
|
toggleEditorPanel,
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import { onCleanup, onMount } from 'solid-js'
|
import { onCleanup, onMount } from 'solid-js'
|
||||||
|
|
||||||
type Options = {
|
type Options = {
|
||||||
predicate?: () => boolean
|
|
||||||
containerRef: { current: HTMLElement }
|
containerRef: { current: HTMLElement }
|
||||||
handler: () => void
|
handler: () => void
|
||||||
|
// if predicate is present
|
||||||
|
// handler is called only if predicate function returns true
|
||||||
|
predicate?: () => boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useOutsideClickHandler = (options: Options) => {
|
export const useOutsideClickHandler = (options: Options) => {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user