diff --git a/README.md b/README.md index 555299d7..a4cafcaa 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ -### My empty react project template +This is [vault48.org](https://vault48.org) frontend. -Includes: -* react -* react-redux -* react-router -* connected-react-router -* redux-saga -* redux-persist -* less, sass (modular) -* reduxsauce -* typescript +### Installation +1. Clone this repo `git clone git@github.com:muerwre/vault-frontend.git` +2. Run `yarn install` +3. Copy `.env_example` to `.env` +4. Set it up. You can use https://staging.vault48.org as playground + +### Starting +`yarn start` + +### Building +1. Run `yarn build` +2. Copy `./dist/*` somewhere diff --git a/package.json b/package.json index 1eb3a54a..179d2b4a 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "http-errors": "~1.6.2", "less": "^3.10.3", "less-middleware": "~2.2.1", - "lodash": "^4.17.10", + "lodash": "^4.17.19", "node-sass": "^4.11.0", "photoswipe": "^4.1.3", "raleway-cyrillic": "^4.0.2", diff --git a/src/components/boris/BorisStatsGitCard/styles.module.scss b/src/components/boris/BorisStatsGitCard/styles.module.scss index 0aac62af..c1d94c51 100644 --- a/src/components/boris/BorisStatsGitCard/styles.module.scss +++ b/src/components/boris/BorisStatsGitCard/styles.module.scss @@ -15,4 +15,5 @@ .subject { font: $font_14_regular; + word-break: break-word; } diff --git a/src/components/comment/CommentEmbedBlock/styles.scss b/src/components/comment/CommentEmbedBlock/styles.scss index 9503311c..56c0e880 100644 --- a/src/components/comment/CommentEmbedBlock/styles.scss +++ b/src/components/comment/CommentEmbedBlock/styles.scss @@ -25,7 +25,7 @@ left: 0; width: 100%; height: 100%; - z-index: 7; + z-index: 5; } svg { diff --git a/src/components/flow/Cell/index.tsx b/src/components/flow/Cell/index.tsx index b52d0b16..07b5a323 100644 --- a/src/components/flow/Cell/index.tsx +++ b/src/components/flow/Cell/index.tsx @@ -134,7 +134,7 @@ const Cell: FC = ({
- {title && !text &&
{title}
} + {!text &&
{title || '...'}
} {!!text && !!thumbnail && (
diff --git a/src/components/flow/Cell/styles.scss b/src/components/flow/Cell/styles.scss index afad87d3..8f215692 100644 --- a/src/components/flow/Cell/styles.scss +++ b/src/components/flow/Cell/styles.scss @@ -30,8 +30,8 @@ } .title { - opacity: 0; - transform: translate(0, 10px); + //opacity: 0; + //transform: translate(-3px, 3px); } } @include outer_shadow(); diff --git a/src/components/flow/FlowRecentItem/index.tsx b/src/components/flow/FlowRecentItem/index.tsx index f4a17ef1..471718e2 100644 --- a/src/components/flow/FlowRecentItem/index.tsx +++ b/src/components/flow/FlowRecentItem/index.tsx @@ -20,7 +20,7 @@ const FlowRecentItem: FC = ({ node, has_new }) => {
-
{node.title}
+
{node.title || '...'}
{getPrettyDate(node.created_at)}
diff --git a/src/constants/api.ts b/src/constants/api.ts index 0ddd6f62..cd090318 100644 --- a/src/constants/api.ts +++ b/src/constants/api.ts @@ -11,7 +11,6 @@ export const API = { MESSAGE_SEND: (username: string) => `/user/user/${username}/messages`, GET_UPDATES: '/user/updates', REQUEST_CODE: (code?: string) => `/user/restore/${code || ''}`, - UPLOAD: (target, type) => `/upload/${target}/${type}`, }, NODE: { diff --git a/src/containers/flow/FlowLayout/styles.scss b/src/containers/flow/FlowLayout/styles.scss index f0f4485c..24835389 100644 --- a/src/containers/flow/FlowLayout/styles.scss +++ b/src/containers/flow/FlowLayout/styles.scss @@ -44,14 +44,15 @@ $cols: $content_width / $cell; grid-template-columns: repeat(2, 1fr); grid-template-rows: 40vh 50vw; grid-auto-rows: 50vw; + grid-column-gap: $gap / 2; + grid-row-gap: $gap / 2; + padding: 0 $gap / 2; } @media (max-width: $cell * 2) { grid-template-columns: repeat(2, 1fr); grid-template-rows: 40vh 50vw; grid-auto-rows: 50vw; - grid-column-gap: $gap; - grid-row-gap: $gap; } } diff --git a/src/styles/global.scss b/src/styles/global.scss index 4b112c1a..98ac2bfa 100644 --- a/src/styles/global.scss +++ b/src/styles/global.scss @@ -49,9 +49,11 @@ body { &:global(.double) { height: $spc * 2; } + &:global(.quadro) { height: $spc * 4; } + &:global(.sixty) { height: $spc * 6; } @@ -83,6 +85,24 @@ body { color: #555555; } +:global { + .todo, .done { + color: #333333; + border-radius: 3px; + padding: 0 2px; + font: $font_14_semibold; + text-transform: uppercase; + } + + .todo { + background-color: $red; + } + + .done { + background-color: $green; + } +} + :global(h2) { font: $font_24_bold; } diff --git a/src/utils/dom.ts b/src/utils/dom.ts index 428b9d79..b8fb3b32 100644 --- a/src/utils/dom.ts +++ b/src/utils/dom.ts @@ -94,6 +94,8 @@ export const formatText = (text: string): string => ) .replace(/:\/\//gim, ':|--|') .replace(/(\/\/[^\n]+)/gim, '$1') + .replace(/\/\/\s*(todo|туду):?\s*([^\n]+)/gim, '// $1 $2') + .replace(/\/\/\s*(done|сделано|сделал|готово|fixed|пофикшено|фиксед):?\s*([^\n]+)/gim, '// $1 $2') .replace(/(\*\*[\s\S]*?\*\*)/gim, '$1') .replace(/(\_\_[\s\S]*?\_\_)/gim, '$1') .replace(/(\!\![\s\S]*?(\!\!|\n|$))/gim, '$1') diff --git a/yarn.lock b/yarn.lock index b213a395..52ef08c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5991,10 +5991,10 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== log-symbols@^2.1.0: version "2.2.0" @@ -10208,9 +10208,9 @@ websocket-driver@>=0.5.1: websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== whet.extend@~0.9.9: version "0.9.9"