From 17eb6c9268e51962e5caa1ea206dcd80500d1e5b Mon Sep 17 00:00:00 2001 From: airosso Date: Sun, 5 May 2019 20:41:44 +0300 Subject: [PATCH 1/9] typescript and css modules --- package-lock.json | 202 ++-- package.json | 10 +- src/app/app.css | 27 - src/app/app.jsx | 25 - src/app/app.test.jsx | 11 - src/app/index.js | 1 - src/components/Finder/Finder.module.css | 40 + src/components/Finder/Finder.tsx | 14 + src/components/Hamburger/Hamburger.module.css | 14 + src/components/Hamburger/Hamburger.tsx | 12 + src/components/Inbox/Inbox.module.css | 136 +++ src/components/Inbox/Inbox.tsx | 35 + src/components/Inbox/InboxFooter.tsx | 13 + src/components/Inbox/InboxFooterItem.tsx | 11 + src/components/Inbox/InboxHeader.tsx | 27 + src/components/Inbox/InboxHeaderButton.tsx | 15 + src/components/Inbox/Story.tsx | 31 + src/components/Letter/Letter.module.css | 108 ++ src/components/Letter/Letter.tsx | 92 ++ src/components/Letter/letter-animations.css | 34 + src/components/MailList/MailList.module.css | 8 + src/components/MailList/MailList.tsx | 24 + src/components/Main/Main.module.css | 10 + src/components/Main/Main.tsx | 16 + src/components/Menu/Menu.module.css | 84 ++ src/components/Menu/Menu.tsx | 29 + src/components/Menu/MenuButton.tsx | 26 + src/components/app.tsx | 177 ++++ src/components/data.ts | 959 ++++++++++++++++++ src/images/avatar.jpg | Bin 0 -> 88277 bytes src/images/christmas.jpg | Bin 0 -> 135843 bytes src/images/logoYandex.png | Bin 0 -> 7842 bytes src/index.css | 13 +- src/index.jsx | 2 +- src/react-app-env.d.ts | 1 + tsconfig.json | 19 + 36 files changed, 2085 insertions(+), 141 deletions(-) delete mode 100644 src/app/app.css delete mode 100644 src/app/app.jsx delete mode 100644 src/app/app.test.jsx delete mode 100644 src/app/index.js create mode 100644 src/components/Finder/Finder.module.css create mode 100644 src/components/Finder/Finder.tsx create mode 100644 src/components/Hamburger/Hamburger.module.css create mode 100644 src/components/Hamburger/Hamburger.tsx create mode 100644 src/components/Inbox/Inbox.module.css create mode 100644 src/components/Inbox/Inbox.tsx create mode 100644 src/components/Inbox/InboxFooter.tsx create mode 100644 src/components/Inbox/InboxFooterItem.tsx create mode 100644 src/components/Inbox/InboxHeader.tsx create mode 100644 src/components/Inbox/InboxHeaderButton.tsx create mode 100644 src/components/Inbox/Story.tsx create mode 100644 src/components/Letter/Letter.module.css create mode 100644 src/components/Letter/Letter.tsx create mode 100644 src/components/Letter/letter-animations.css create mode 100644 src/components/MailList/MailList.module.css create mode 100644 src/components/MailList/MailList.tsx create mode 100644 src/components/Main/Main.module.css create mode 100644 src/components/Main/Main.tsx create mode 100644 src/components/Menu/Menu.module.css create mode 100644 src/components/Menu/Menu.tsx create mode 100644 src/components/Menu/MenuButton.tsx create mode 100644 src/components/app.tsx create mode 100644 src/components/data.ts create mode 100644 src/images/avatar.jpg create mode 100644 src/images/christmas.jpg create mode 100644 src/images/logoYandex.png create mode 100644 src/react-app-env.d.ts create mode 100644 tsconfig.json diff --git a/package-lock.json b/package-lock.json index 937a670..1c7ccff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -949,7 +949,6 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", - "dev": true, "requires": { "regenerator-runtime": "^0.12.0" }, @@ -957,8 +956,7 @@ "regenerator-runtime": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", - "dev": true + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" } } }, @@ -1022,6 +1020,41 @@ "eslint-plugin-jsx-a11y": "6.1.2", "eslint-plugin-prettier": "3.0.1", "eslint-plugin-react": "7.12.4" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.6.0.tgz", + "integrity": "sha512-U224c29E2lo861TQZs6GSmyC0OYeRNg6bE9UVIiFBxN2MlA0nq2dCrgIVyyRbC05UOcrgf2Wk/CF2gGOPQKUSQ==", + "dev": true, + "requires": { + "@typescript-eslint/parser": "1.6.0", + "@typescript-eslint/typescript-estree": "1.6.0", + "requireindex": "^1.2.0", + "tsutils": "^3.7.0" + } + }, + "@typescript-eslint/parser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.6.0.tgz", + "integrity": "sha512-VB9xmSbfafI+/kI4gUK3PfrkGmrJQfh0N4EScT1gZXSZyUxpsBirPL99EWZg9MmPG0pzq/gMtgkk7/rAHj4aQw==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "1.6.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.6.0.tgz", + "integrity": "sha512-A4CanUwfaG4oXobD5y7EXbsOHjCwn8tj1RDd820etpPAjH+Icjc2K9e/DQM1Hac5zH2BSy+u6bjvvF2wwREvYA==", + "dev": true, + "requires": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + } + } } }, "@hellroot/stylelint-config": { @@ -1233,6 +1266,19 @@ "@types/node": "*" } }, + "@types/jest": { + "version": "24.0.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.12.tgz", + "integrity": "sha512-60sjqMhat7i7XntZckcSGV8iREJyXXI6yFHZkSZvCPUeOnEJ/VP1rU/WpEWQ56mvoh8NhC+sfKAuJRTyGtCOow==", + "requires": { + "@types/jest-diff": "*" + } + }, + "@types/jest-diff": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz", + "integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==" + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -1246,10 +1292,14 @@ "dev": true }, "@types/node": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.5.tgz", - "integrity": "sha512-/OMMBnjVtDuwX1tg2pkYVSqRIDSmNTnvVvmvP/2xiMAAWf4a5+JozrApCrO4WCAILmXVxfNoQ3E+0HJbNpFVGg==", - "dev": true + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz", + "integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==" + }, + "@types/prop-types": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" }, "@types/q": { "version": "1.5.2", @@ -1257,6 +1307,31 @@ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", "dev": true }, + "@types/react": { + "version": "16.8.16", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.16.tgz", + "integrity": "sha512-A0+6kS6zwPtvubOLiCJmZ8li5bm3wKIkoKV0h3RdMDOnCj9cYkUnj3bWbE03/lcICdQmwBmUfoFiHeNhbFiyHQ==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-dom": { + "version": "16.8.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.4.tgz", + "integrity": "sha512-eIRpEW73DCzPIMaNBDP5pPIpK1KXyZwNgfxiVagb5iGiz6da+9A5hslSX6GAQKdO7SayVCS/Fr2kjqprgAvkfA==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.1.tgz", + "integrity": "sha512-1usq4DRUVBFnxc9KGJAlJO9EpQrLZGDDEC8wDOn2+2ODSyudYo8FiIzPDRaX/hfQjHqGeeoNaNdA2bj0l35hZQ==", + "requires": { + "@types/react": "*" + } + }, "@types/tapable": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.2.tgz", @@ -1291,33 +1366,32 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.6.0.tgz", - "integrity": "sha512-U224c29E2lo861TQZs6GSmyC0OYeRNg6bE9UVIiFBxN2MlA0nq2dCrgIVyyRbC05UOcrgf2Wk/CF2gGOPQKUSQ==", - "dev": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.7.0.tgz", + "integrity": "sha512-NUSz1aTlIzzTjFFVFyzrbo8oFjHg3K/M9MzYByqbMCxeFdErhLAcGITVfXzSz+Yvp5OOpMu3HkIttB0NyKl54Q==", "requires": { - "@typescript-eslint/parser": "1.6.0", - "@typescript-eslint/typescript-estree": "1.6.0", + "@typescript-eslint/parser": "1.7.0", + "@typescript-eslint/typescript-estree": "1.7.0", + "eslint-utils": "^1.3.1", + "regexpp": "^2.0.1", "requireindex": "^1.2.0", "tsutils": "^3.7.0" } }, "@typescript-eslint/parser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.6.0.tgz", - "integrity": "sha512-VB9xmSbfafI+/kI4gUK3PfrkGmrJQfh0N4EScT1gZXSZyUxpsBirPL99EWZg9MmPG0pzq/gMtgkk7/rAHj4aQw==", - "dev": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.7.0.tgz", + "integrity": "sha512-1QFKxs2V940372srm12ovSE683afqc1jB6zF/f8iKhgLz1yoSjYeGHipasao33VXKI+0a/ob9okeogGdKGvvlg==", "requires": { - "@typescript-eslint/typescript-estree": "1.6.0", + "@typescript-eslint/typescript-estree": "1.7.0", "eslint-scope": "^4.0.0", "eslint-visitor-keys": "^1.0.0" } }, "@typescript-eslint/typescript-estree": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.6.0.tgz", - "integrity": "sha512-A4CanUwfaG4oXobD5y7EXbsOHjCwn8tj1RDd820etpPAjH+Icjc2K9e/DQM1Hac5zH2BSy+u6bjvvF2wwREvYA==", - "dev": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.7.0.tgz", + "integrity": "sha512-K5uedUxVmlYrVkFbyV3htDipvLqTE3QMOUQEHYJaKtgzxj6r7c5Ca/DG1tGgFxX+fsbi9nDIrf4arq7Ib7H/Yw==", "requires": { "lodash.unescape": "4.0.1", "semver": "5.5.0" @@ -4890,6 +4964,11 @@ "cssom": "0.3.x" } }, + "csstype": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.4.tgz", + "integrity": "sha512-lAJUJP3M6HxFXbqtGRc0iZrdyeN+WzOWeY0q/VnFzI+kqVrYIzC7bWlKqCW7oCIdzoPkvfp82EVvrTlQ8zsWQg==" + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -5317,6 +5396,14 @@ "utila": "~0.4" } }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, "dom-serializer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", @@ -5874,7 +5961,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -5883,14 +5969,12 @@ "eslint-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==" }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==" }, "espree": { "version": "5.0.1", @@ -5922,7 +6006,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -5930,8 +6013,7 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "esutils": { "version": "2.0.2", @@ -7306,8 +7388,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -7350,8 +7431,7 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", @@ -7362,8 +7442,7 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -7480,8 +7559,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -7493,7 +7571,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7508,7 +7585,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7516,14 +7592,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -7542,7 +7616,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -7623,8 +7696,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -7636,7 +7708,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -7722,8 +7793,7 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -7759,7 +7829,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7779,7 +7848,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7823,14 +7891,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -10502,8 +10568,7 @@ "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", - "dev": true + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" }, "lodash.uniq": { "version": "4.5.0", @@ -13705,6 +13770,16 @@ } } }, + "react-transition-group": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.0.0.tgz", + "integrity": "sha512-b+uvkr15Pb80mqcsz5WAB+d53zS8/pTp3wDEsOiqpea93G8BqfsMFcPv2XZR0owqU13BJWoJvd17VjOPEY/9aA==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -14149,8 +14224,7 @@ "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, "regexpu-core": { "version": "4.5.4", @@ -14434,8 +14508,7 @@ "requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", - "dev": true + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==" }, "requires-port": { "version": "1.0.0", @@ -15002,8 +15075,7 @@ "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "send": { "version": "0.16.2", @@ -16638,14 +16710,12 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tsutils": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.10.0.tgz", "integrity": "sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q==", - "dev": true, "requires": { "tslib": "^1.8.1" } diff --git a/package.json b/package.json index 9ede333..9edb750 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,16 @@ "not op_mini all" ], "dependencies": { + "@types/jest": "24.0.12", + "@types/node": "12.0.0", + "@types/react": "16.8.16", + "@types/react-dom": "16.8.4", + "@types/react-transition-group": "2.9.1", + "@typescript-eslint/eslint-plugin": "1.7.0", + "@typescript-eslint/parser": "1.7.0", "react": "16.8.6", - "react-dom": "16.8.6" + "react-dom": "16.8.6", + "react-transition-group": "4.0.0" }, "devDependencies": { "@hellroot/eslint-config": "1.8.0", diff --git a/src/app/app.css b/src/app/app.css deleted file mode 100644 index 1c4d511..0000000 --- a/src/app/app.css +++ /dev/null @@ -1,27 +0,0 @@ -.app { - text-align: center; -} - -.app-header { - display: flex; - min-height: 100vh; - flex-direction: column; - align-items: center; - justify-content: center; - background-color: #282c34; - color: #fff; - font-size: calc(10px + 2vmin); -} - -.app-link { - color: #61dafb; -} - -@keyframes app-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/app/app.jsx b/src/app/app.jsx deleted file mode 100644 index f759eed..0000000 --- a/src/app/app.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React, { Component } from 'react'; - -import './app.css'; - -export class App extends Component { - render() { - return ( -
-
-

- Edit src/app/app.jsx and save to reload. -

- - Learn React - -
-
- ); - } -} diff --git a/src/app/app.test.jsx b/src/app/app.test.jsx deleted file mode 100644 index 81be6fa..0000000 --- a/src/app/app.test.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; - -import { App } from './app'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - - ReactDOM.render(, div); - ReactDOM.unmountComponentAtNode(div); -}); diff --git a/src/app/index.js b/src/app/index.js deleted file mode 100644 index 665a3d9..0000000 --- a/src/app/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './app'; diff --git a/src/components/Finder/Finder.module.css b/src/components/Finder/Finder.module.css new file mode 100644 index 0000000..45913b6 --- /dev/null +++ b/src/components/Finder/Finder.module.css @@ -0,0 +1,40 @@ +.finder { + width: 100%; + height: 36px; + padding: 14px 0; +} + +.buttonClose { + position: relative; + + width: 10px; + padding-left: 0; + margin: auto auto auto -25px; + + border: none; + background-color: inherit; + border-radius: 3px; + color: #bcbcbc; + font-size: 16px; + text-align: start; +} + +.buttonClose:hover { + color: #dadada; + cursor: pointer; +} + +.input { + position: relative; + + width: 40%; + height: 32px; + padding-right: 20px; + padding-left: 4px; + margin-left: 30%; + background-color: #ffffff; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); + color: #a5a5a5; + font-size: 16px; + opacity: 0.5; +} diff --git a/src/components/Finder/Finder.tsx b/src/components/Finder/Finder.tsx new file mode 100644 index 0000000..ec9567f --- /dev/null +++ b/src/components/Finder/Finder.tsx @@ -0,0 +1,14 @@ +import React from 'react'; + +import style from './Finder.module.css'; + +export const Finder = () => { + return ( +
+ + +
+ ); +}; diff --git a/src/components/Hamburger/Hamburger.module.css b/src/components/Hamburger/Hamburger.module.css new file mode 100644 index 0000000..73b710d --- /dev/null +++ b/src/components/Hamburger/Hamburger.module.css @@ -0,0 +1,14 @@ +.hamburger { + width: 20px; + height: 30px; + padding-top: 8px; + float: left; +} + +.slice { + width: 20px; + height: 2px; + min-height: 2px; + margin-bottom: 5px; + background-color: #000; +} diff --git a/src/components/Hamburger/Hamburger.tsx b/src/components/Hamburger/Hamburger.tsx new file mode 100644 index 0000000..6372871 --- /dev/null +++ b/src/components/Hamburger/Hamburger.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import style from './Hamburger.module.css'; + +export const Hamburger = () => { + return ( +
+
+
+
+
+ ); +}; diff --git a/src/components/Inbox/Inbox.module.css b/src/components/Inbox/Inbox.module.css new file mode 100644 index 0000000..41d6fe5 --- /dev/null +++ b/src/components/Inbox/Inbox.module.css @@ -0,0 +1,136 @@ +.inbox { + position: relative; + + width: 100%; + height: 100%; + box-sizing: border-box; + padding-bottom: 30px; + background-color: white; + border-radius: 3px; + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.34); +} + +.closeStoryButton { + margin-right: 10px; + + border: none; + background: white; + float: right; + font-size: 28px; +} + +.closeStoryButton:hover { + cursor: pointer; +} + +.footer { + position: absolute; + bottom: 0; + + overflow: hidden; + width: 100%; + height: 30px; + margin-top: 2px; + + border-top: solid 1px #e2e2e2; + font-size: 12px; +} + +.footerLink { + display: block; + margin-top: 9px; + margin-right: 20px; + + border: none; + background: unset; + color: #ccc; + float: right; + font-size: 12px; + font-weight: 500; +} + +.footerLink:hover { + color: #000; + cursor: pointer; +} + +.header { + display: block; + height: 40px; + box-sizing: border-box; + padding: 5px 0; + + border-bottom: solid 1px #e2e2e2; +} + +.headerButton { + margin-top: 7px; + margin-left: 20px; + + border: none; + background: unset; + color: #ccc; + float: left; + font-size: 14px; + font-weight: 500; +} + +.headerButton:hover { + color: #000; + cursor: pointer; +} + +.headerCheckbox { + width: 16px; + height: 16px; + margin-top: 7px; + margin-left: 10px; + + border: solid 1px rgba(0, 0, 0, 0.15); + background-color: #fff; + border-radius: 3px; + float: left; +} + +.storyCirclePicture { + width: 150px; + clip-path: circle(40%); + float: right; + shape-outside: circle(40%); +} + +.wrapper { + height: calc(100% - 40px); + overflow-x: hidden; + overflow-y: overlay; +} + +.story { + width: 100%; + min-height: 400px; + box-sizing: border-box; + padding: 10px 10px; + background-color: white; + font-size: 14px; + font-weight: 300; +} + +.showStoryCheckbox { + display: none; +} + +.showStoryCheckbox:not(:checked) ~ .wrapper { + display: block; +} + +.showStoryCheckbox:checked ~ .wrapper { + display: none; +} + +.showStoryCheckbox:not(:checked) ~ .story { + display: none; +} + +.showStoryCheckbox:checked ~ .story { + display: block; +} diff --git a/src/components/Inbox/Inbox.tsx b/src/components/Inbox/Inbox.tsx new file mode 100644 index 0000000..6211d11 --- /dev/null +++ b/src/components/Inbox/Inbox.tsx @@ -0,0 +1,35 @@ +import * as React from 'react'; + +import style from './Inbox.module.css'; +import '../../index.css'; +import { InboxFooter } from './InboxFooter'; +import { InboxHeader } from './InboxHeader'; +import { MailList } from '../MailList/MailList'; +import { ILetter } from '../app' +import { Story } from './Story'; + +export interface InboxProps { + letters: ILetter[]; + deleteSelected: () => void; + toggleAll: () => void; + toggleLetter: (id: number) => void; + allSelected: boolean +} + +export const Inbox = ({ letters, deleteSelected, toggleAll, toggleLetter, allSelected }: InboxProps) => { + return ( +
+ + + +
+ +
+ +
+ ); +}; diff --git a/src/components/Inbox/InboxFooter.tsx b/src/components/Inbox/InboxFooter.tsx new file mode 100644 index 0000000..395cae8 --- /dev/null +++ b/src/components/Inbox/InboxFooter.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import style from './Inbox.module.css'; +import { InboxFooterLink } from './InboxFooterItem'; + +export const InboxFooter = () => { + return ( +
+ + + +
+ ); +}; diff --git a/src/components/Inbox/InboxFooterItem.tsx b/src/components/Inbox/InboxFooterItem.tsx new file mode 100644 index 0000000..0b3772c --- /dev/null +++ b/src/components/Inbox/InboxFooterItem.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; + +import style from './Inbox.module.css'; + +export const InboxFooterLink = ({ name }: { name: string }) => { + return ( + + ); +}; diff --git a/src/components/Inbox/InboxHeader.tsx b/src/components/Inbox/InboxHeader.tsx new file mode 100644 index 0000000..a389a91 --- /dev/null +++ b/src/components/Inbox/InboxHeader.tsx @@ -0,0 +1,27 @@ +import * as React from 'react'; + +import style from './Inbox.module.css'; +import { InboxHeaderButton } from './InboxHeaderButton'; + +interface InboxHeaderProps { + deleteSelected: () => void; + toggleAll: () => void; + allSelected: boolean +} + +export const InboxHeader = ({ toggleAll, deleteSelected, allSelected }: InboxHeaderProps) => { + return ( +
+ + + + + +
+ ); +}; diff --git a/src/components/Inbox/InboxHeaderButton.tsx b/src/components/Inbox/InboxHeaderButton.tsx new file mode 100644 index 0000000..263b333 --- /dev/null +++ b/src/components/Inbox/InboxHeaderButton.tsx @@ -0,0 +1,15 @@ +import * as React from 'react'; +import style from './Inbox.module.css'; + +interface InboxHeaderButtonProps { + action?: () => void; + name: string +} + +export const InboxHeaderButton = ({ action, name }: InboxHeaderButtonProps) => { + return ( + + ); +}; diff --git a/src/components/Inbox/Story.tsx b/src/components/Inbox/Story.tsx new file mode 100644 index 0000000..a1f50df --- /dev/null +++ b/src/components/Inbox/Story.tsx @@ -0,0 +1,31 @@ +import * as React from 'react'; + +import style from './Inbox.module.css'; +import christmas from '../../images/christmas.jpg'; + +export const Story = () => { + return ( +
+ + Венок + Рождественский венок — типичное украшение в домах в предрождественское время в форме венка из еловых + веток с + четырьмя свечами, закрепляемое вертикально или устанавливаемое на стол. В первое из четырёх воскресений + адвента зажигается первая свеча, на следующей неделе — вторая и т. д. + Рождественский венок был введён в рождественские традиции гамбургским лютеранским теологом Иоганном + Хинрихом + Вихерном, взявшим на воспитание нескольких детей из семей бедняков. В адвент дети постоянно спрашивали + воспитателя, когда же наступит Рождество. Чтобы дети могли отсчитывать дни до Рождества, в + 1839 году Вихерн смастерил из старого деревянного колеса венок, украшенный двадцатью четырьмя малыми + красными и четырьмя большими белыми свечами. Каждое утро в этом венке зажигалось по одной маленькой + свечке, + к которым по воскресеньям добавлялась большая свеча. + В Европе венок нес особый смысл – это символ радости и веры. Рождественский венок, как со свечей, так и + без + нее, все равно нес в себе особое значение и его могли повесить на дверь или просто на стену. На двери он + говорил всем приходящим о гостеприимстве хозяев и готовности к празднику, а на стене был просто + украшением и + напоминал о приближении Рождества. +
+ ) +}; diff --git a/src/components/Letter/Letter.module.css b/src/components/Letter/Letter.module.css new file mode 100644 index 0000000..cbf6370 --- /dev/null +++ b/src/components/Letter/Letter.module.css @@ -0,0 +1,108 @@ +.letter { + position: relative; + + display: block; + height: 40px; + box-sizing: border-box; + + border-bottom: solid 1px #e2e2e2; + font-size: 13px; +} + +.letter:hover { + cursor: pointer; +} + +.new { + background-color: #61a2e7; +} + +.unread { + font-weight: bold; +} + +.author { + position: absolute; + + height: 16px; + padding-top: 12px; + margin-left: 80px; +} + +.avatar { + width: 100%; + height: 100%; + clip-path: circle(); +} + +.checkbox { + width: 16px; + height: 16px; + margin-top: 12px; + margin-left: 10px; + + border: solid 1px rgba(0, 0, 0, 0.15); + background-color: #fff; + border-radius: 3px; + float: left; +} + +.date { + position: relative; + + width: 50px; + padding-top: 12px; + padding-left: 5px; + margin-right: 20px; + margin-left: auto; + color: #9b9b9b; + font-weight: normal; +} + +.icon { + width: 30px; + height: 30px; + margin-top: 5px; + margin-left: 10px; + background-color: #ff3333; + border-radius: 50%; + color: white; + float: left; + font-size: 22px; + font-weight: normal; + line-height: 30px; + text-align: center; +} + +.specialLetter { + font-weight: bold; +} + +.specialLetter:hover { + cursor: pointer; +} + +.title { + position: absolute; + + overflow: hidden; + max-width: calc(100% - 370px); + padding-top: 12px; + margin-left: 280px; + text-overflow: ellipsis; + white-space: nowrap; +} + +.unreadIndicator { + position: absolute; + top: calc(50% - 5px); + + width: 10px; + height: 10px; + margin-left: 260px; + border-radius: 50%; +} + +.unreadIndicator_active { + background-color: #6287bd; +} diff --git a/src/components/Letter/Letter.tsx b/src/components/Letter/Letter.tsx new file mode 100644 index 0000000..188fc23 --- /dev/null +++ b/src/components/Letter/Letter.tsx @@ -0,0 +1,92 @@ +import * as React from 'react' +import { useEffect, useState } from 'react'; +import { CSSTransition } from 'react-transition-group'; + +import style from './Letter.module.css'; +import avatar from '../../images/avatar.jpg'; +import './letter-animations.css'; + +import { ILetter } from '../app'; + +interface LetterProps { + letter: ILetter; + toggleLetter: (id: number) => void; +} + +export const Letter = ({ letter, toggleLetter }: LetterProps) => { + const [inProp, setIn] = useState(false); + useEffect(() => { + if (letter.new) { + setTimeout(() => setIn(true), 1); + } + }, []); + const { icon } = letter; + const indicatorClassList = [style.unreadIndicator]; + const liClassList = [style.letter]; + if (letter.unread) { + indicatorClassList.push(style.unreadIndicator_active); + liClassList.push(style.unread); + } + if (letter.new) { + liClassList.push(style.new); + } + let iconJSX; + if (icon) { + const color = letter.color ? letter.color : '#ff3333'; + iconJSX = ( +
+ {icon} +
+ ); + } else if (letter.avatar) { + iconJSX = ( +
+ avatar +
+ ); + } + const toggleThisLetter = () => toggleLetter(letter.key); + + const innerJsx = ( +
+ + {iconJSX} +
{letter.author}
+
+
{letter.title}
+
{letter.date}
+
+ ); + + let letterJSX; + if (letter.story) { + letterJSX = ( +
  • + +
  • + ); + } else { + letterJSX = ( +
  • + {innerJsx} +
  • + ); + } + + return ( + + {letterJSX} + + ); +}; diff --git a/src/components/Letter/letter-animations.css b/src/components/Letter/letter-animations.css new file mode 100644 index 0000000..7f704f4 --- /dev/null +++ b/src/components/Letter/letter-animations.css @@ -0,0 +1,34 @@ +.letter-enter { + height: 40px; + background-color: #61a2e7; +} + +.letter-enter-done { + height: 40px; + background-color: #fff !important; +} + +.letter-enter.letter-enter-active { + background-color: #fff; + transition: background-color 2s ease-in; +} + +.letter-exit { + height: 40px; + background-color: #fff; +} + +.letter-exit.letter-exit-active { + overflow: hidden; + height: 0; + + border: unset; + transition: height 0.5s ease-in; +} + +.letter-exit-done { + overflow: hidden; + height: 0; + + border: unset; +} diff --git a/src/components/MailList/MailList.module.css b/src/components/MailList/MailList.module.css new file mode 100644 index 0000000..fd15ca9 --- /dev/null +++ b/src/components/MailList/MailList.module.css @@ -0,0 +1,8 @@ +.mailList { + overflow: hidden; + min-height: calc(100% - 40px); + max-height: calc(40px * 30); + box-sizing: border-box; + padding: 0; + margin: 0; +} diff --git a/src/components/MailList/MailList.tsx b/src/components/MailList/MailList.tsx new file mode 100644 index 0000000..2736d61 --- /dev/null +++ b/src/components/MailList/MailList.tsx @@ -0,0 +1,24 @@ +import * as React from 'react'; +import { Letter } from '../Letter/Letter'; + +import style from './MailList.module.css'; +import { ILetter } from '../app'; + +interface MailListProps { + letters: ILetter[]; + toggleLetter: (id: number) => void; +} + +export const MailList = ({ letters, toggleLetter }: MailListProps) => { + return ( +
      + {letters.map(letter => { + if (letter.new) { + return ; + } + + return ; + })} +
    + ); +}; diff --git a/src/components/Main/Main.module.css b/src/components/Main/Main.module.css new file mode 100644 index 0000000..3d9b9cf --- /dev/null +++ b/src/components/Main/Main.module.css @@ -0,0 +1,10 @@ +.main { + height: 100vh; + margin: 0 10px 0 190px; +} + +.inboxContainer { + height: calc(100% - 90px); + min-height: calc(100% - 90px); + padding-bottom: 20px; +} diff --git a/src/components/Main/Main.tsx b/src/components/Main/Main.tsx new file mode 100644 index 0000000..f905598 --- /dev/null +++ b/src/components/Main/Main.tsx @@ -0,0 +1,16 @@ +import * as React from 'react'; + +import style from './Main.module.css'; +import { Inbox, InboxProps } from '../Inbox/Inbox'; +import { Finder } from '../Finder/Finder'; + +export const Main = ({ ...props }: InboxProps) => { + return ( +
    + +
    + +
    +
    + ); +}; diff --git a/src/components/Menu/Menu.module.css b/src/components/Menu/Menu.module.css new file mode 100644 index 0000000..f4d493a --- /dev/null +++ b/src/components/Menu/Menu.module.css @@ -0,0 +1,84 @@ +.menu { + position: absolute; + + width: 150px; + height: 100%; + margin: 0 10px 0 20px; +} + +.button { + width: 100%; + height: 22px; + padding: 0 7px; + margin-bottom: 3px; + + border: none; + background: none; + border-radius: 3px; + color: #707070; + font-family: HelveticaNeue-Medium, sans-serif; + font-size: 11px; + text-align: start; +} + +.button:hover { + background-color: #cdd6e4; + cursor: pointer; +} + +.buttonCurrent { + width: 100%; + height: 22px; + margin-bottom: 3px; + + border: none; + background-color: #cdd6e4; + border-radius: 3px; + color: #555555; + font-family: HelveticaNeue-Bold, sans-serif; + font-size: 11px; + text-align: start; +} + +.buttonCurrent:hover { + cursor: pointer; +} + +.buttonSpecial { + width: 100%; + height: 32px; + margin-bottom: 8px; + + border: none; + background-color: #6287bd; + border-radius: 3px; + color: #ffffff; + font-family: HelveticaNeue-Medium, sans-serif; + font-size: 12px; + font-weight: 500; +} + +.buttonSpecial:hover { + cursor: pointer; +} + +.buttonSpecial:active { + border-top: solid 2px #50709d; + border-left: solid 2px #50709d; + cursor: pointer; +} + +.header { + width: 100%; + height: 35px; + padding: 14px 0; +} + +.logo { + margin-left: 30px; +} + +.picture { + width: 152px; + height: 30px; +} diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx new file mode 100644 index 0000000..decab43 --- /dev/null +++ b/src/components/Menu/Menu.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import style from './Menu.module.css'; +import { Hamburger } from '../Hamburger/Hamburger'; +import { MenuButton } from './MenuButton'; +import logo from '../../images/logoYandex.png'; + +interface MenuProps { + newMail: () => void; +} + +export const Menu = ({ newMail }: MenuProps) => { + return ( +
    +
    + +
    + Яндекс.Почта +
    +
    + + + + + + + +
    + ); +}; diff --git a/src/components/Menu/MenuButton.tsx b/src/components/Menu/MenuButton.tsx new file mode 100644 index 0000000..82e7ced --- /dev/null +++ b/src/components/Menu/MenuButton.tsx @@ -0,0 +1,26 @@ +import * as React from 'react'; +import css from './Menu.module.css'; + +interface MenuButtonProps { + name: string; + current?: boolean; + special?: boolean; + action?: () => void; +} + +export const MenuButton = ({ name, current, special, action }: MenuButtonProps) => { + let style; + if (current) { + style = css.buttonCurrent; + } else if (special) { + style = css.buttonSpecial; + } else { + style = css.button; + } + + return ( + + ); +}; diff --git a/src/components/app.tsx b/src/components/app.tsx new file mode 100644 index 0000000..98e2298 --- /dev/null +++ b/src/components/app.tsx @@ -0,0 +1,177 @@ +import * as React from 'react'; +import { Component } from 'react'; +import { data, months } from './data'; +import { Menu } from './Menu/Menu'; +import { Main } from './Main/Main' +import { Color } from 'csstype'; + +export interface ILetter { + key: number; + story?: boolean; + icon?: string; + author: string; + title: string; + date: string; + unread?: boolean; + selected?: boolean; + avatar?: string; + new?: boolean; + deleted?: boolean; + color?: Color; +} + +interface AppState { + letters: ILetter[] +} + +export class App extends Component<{}, AppState> { + readonly state: AppState = { + letters: [ + { + key: 0, + story: true, + icon: 'Я', + unread: true, + author: 'Яндекс.Паспорт', + title: 'Доступ восстановлен', + date: '9 мар' + }, + { + key: 1, + avatar: '../images/avatar.JPG', + author: 'Мама', + title: 'Рецепт борща', + date: '9 мар' + }, + { + key: 2, + icon: 'И', + unread: true, + author: 'Иванов Иван', + title: + 'Дипломная работа на тему "Социально педагогическая работа по развитию социальной активности старшеклассников в условиях общеобразовательного учреждения"', + date: '7 мар' + }, + { + key: 3, + author: 'Абракадабра', + title: 'Заклинание', + date: '5 мар' + } + ] + }; + + componentDidMount() { + const this2 = this; + (function sendEmails([time1, time2]: [number, number]) { + const minute = (x: number) => x * 60 * 1000; + const ms = (x: number) => x; + + let delay = Math.random() * minute(10) + ms(10); + const time3 = new Date().getTime() + delay; + if (time3 - time1 < minute(5)) { + delay = minute(5); + } + setTimeout(() => { + this2.newMail(); + sendEmails([time2, new Date().getTime()]); + }, delay); + })([0, 0]); + } + + allSelected = () => { + return this.state.letters.every(x => x.selected ? x.selected : false); + }; + + toggleAll = () => { + const cur = this.allSelected(); + this.setState(({ letters }) => { + const allSelected = letters.map(({ selected, ...fields }) => { + return { + selected: !cur, + ...fields + }; + }); + return { letters: allSelected }; + }); + }; + + deleteSelected = () => { + const deletedKeys = this.state.letters.filter(x => !!x.selected).map(x => x.key); + this.setState(({ letters }) => { + const after = letters.map(({ selected, ...rest }) => { + if (selected) { + return { + deleted: true, + ...rest + }; + } + return { + ...rest + }; + }); + return { letters: after }; + }); + setTimeout(() => { + this.setState(({ letters }) => { + const newLetters = letters.filter(({ key }) => !deletedKeys.includes(key)); + return { letters: newLetters }; + }); + }, 2000); + }; + + newMail = () => { + const sample = data[Math.floor(Math.random() * data.length)]; + this.setState(({ letters: [...oldLetters] }) => { + const newLetter = { + key: Math.random() * 2100000000, + author: sample.name, + title: sample.phrase, + unread: Math.random() < 0.5, + icon: sample.name[0], + color: `#${(((1 << 24) * Math.random()) | 0).toString(16)}`, + date: `${Math.floor(28 * Math.random() + 1)} ${months[Math.floor(Math.random() * 12)]}`, + new: true + }; + return { + letters: [newLetter, ...oldLetters] + }; + }); + }; + + toggleLetter = (id: number) => { + this.setState(({ letters }) => { + return { + letters: letters.map(({ key, selected, ...rest }) => { + if (key === id) { + return { + key, + selected: !selected, + ...rest + }; + } + return { + key, + selected, + ...rest + }; + }) + }; + }); + }; + + render() { + return ( +
    + +
    +
    + ); + } +} diff --git a/src/components/data.ts b/src/components/data.ts new file mode 100644 index 0000000..f3a9472 --- /dev/null +++ b/src/components/data.ts @@ -0,0 +1,959 @@ +export const months = [ + 'янв', + 'фев', + 'мар', + 'апр', + 'май', + 'июн', + 'июл', + 'авг', + 'сен', + 'окт', + 'ноя', + 'дек' +]; + +export const data: {name: string, phrase: string}[] = [ + { name: 'Лопахин', phrase: ' Пришел поезд, слава богу. Который час?' }, + { name: 'Дуняша', phrase: ' Скоро два. (Тушит свечу.) Уже светло.' }, + { + name: 'Лопахин', + phrase: + ' На сколько же это опоздал поезд? Часа на два по крайней мере. (Зевает и потягивается.) Я-то хорош, какого дурака свалял! Нарочно приехал сюда, чтобы на станции встретить, и вдруг проспал… Сидя уснул. Досада… Хоть бы ты меня разбудила.' + }, + { name: 'Дуняша', phrase: ' Я думала, что вы уехали. (Прислушивается.) Вот, кажется, уже едут.' }, + { name: 'Дуняша', phrase: ' А собаки всю ночь не спали, чуют, что хозяева едут.' }, + { name: 'Лопахин', phrase: ' Что ты, Дуняша, такая…' }, + { name: 'Дуняша', phrase: ' Руки трясутся. Я в обморок упаду.' }, + { + name: 'Лопахин', + phrase: + ' Очень уж ты нежная, Дуняша. И одеваешься, как барышня, и прическа тоже. Так нельзя. Надо себя помнить.' + }, + { name: 'Лопахин', phrase: ' И квасу мне принесешь.' }, + { name: 'Дуняша', phrase: ' Слушаю. (Уходит.)' }, + { + name: 'Епиходов', + phrase: + ' Сейчас утренник, мороз в три градуса, а вишня вся в цвету. Не могу одобрить нашего климата. (Вздыхает.) Не могу. Наш климат не может способствовать в самый раз. Вот, Ермолай Алексеич, позвольте вам присовокупить, купил я себе третьего дня сапоги, а они, смею вас уверить, скрипят так, что нет никакой возможности. Чем бы смазать?' + }, + { name: 'Лопахин', phrase: ' Отстань. Надоел.' }, + { + name: 'Епиходов', + phrase: + ' Каждый день случается со мной какое-нибудь несчастье. И я не ропщу, привык и даже улыбаюсь.' + }, + { name: 'Дуняша', phrase: ' А мне, Ермолай Алексеич, признаться, Епиходов предложение сделал.' }, + { name: 'Лопахин', phrase: ' А!' }, + { + name: 'Дуняша', + phrase: + ' Не знаю уж как… Человек он смирный, а только иной раз как начнет говорить, ничего не поймешь. И хорошо, и чувствительно, только непонятно. Мне он как будто и нравится. Он меня любит безумно. Человек он несчастливый, каждый день что-нибудь. Его так и дразнят у нас: двадцать два несчастья…' + }, + { name: 'Дуняша', phrase: ' Едут! Что ж это со мной… похолодела вся.' }, + { + name: 'Лопахин', + phrase: ' Едут, в самом деле. Пойдем встречать. Узнает ли она меня? Пять лет не видались.' + }, + { name: 'Аня', phrase: ' Пройдемте здесь. Ты, мама, помнишь, какая это комната?' }, + { + name: 'Варя', + phrase: + ' Как холодно, у меня руки закоченели. (Любови Андреевне.) Ваши комнаты, белая и фиолетовая, такими же и остались, мамочка.' + }, + { name: 'Гаев', phrase: ' Поезд опоздал на два часа. Каково? Каковы порядки?' }, + { name: 'Дуняша', phrase: ' Заждались мы… (Снимает с Ани пальто, шляпу.)' }, + { name: 'Аня', phrase: ' Я не спала в дороге четыре ночи… теперь озябла очень.' }, + { + name: 'Дуняша', + phrase: + ' Вы уехали в Великом посту, тогда был снег, был мороз, а теперь? Милая моя! (Смеется, целует ее.) Заждалась вас, радость моя, светик… Я скажу вам сейчас, одной минутки не могу утерпеть…' + }, + { name: 'Дуняша', phrase: ' Конторщик Епиходов после Святой мне предложение сделал.' }, + { + name: 'Аня', + phrase: + ' Ты все об одном… (Поправляя волосы.) Я растеряла все шпильки… (Она очень утомлена, даже пошатывается.)' + }, + { name: 'Дуняша', phrase: ' Уж я не знаю, что и думать. Он меня любит, так любит!' }, + { name: 'Дуняша', phrase: ' Третьего дня Петр Сергеич приехали.' }, + { + name: 'Дуняша', + phrase: + ' В бане спят, там и живут. Боюсь, говорят, стеснить. (Взглянув на свои карманные часы.) Надо бы их разбудить, да Варвара Михайловна не велела. Ты, говорит, его не буди.' + }, + { name: 'Варя', phrase: ' Дуняша, кофе поскорей… Мамочка кофе просит.' }, + { name: 'Дуняша', phrase: ' Сию минуточку. (Уходит.)' }, + { + name: 'Варя', + phrase: + ' Ну слава богу, приехали. Опять ты дома. (Ласкаясь.) Душечка моя приехала! Красавица приехала!' + }, + { name: 'Аня', phrase: ' Натерпелась я.' }, + { name: 'Варя', phrase: ' Воображаю!' }, + { + name: 'Аня', + phrase: + ' Выехала я на Страстной неделе, тогда было холодно. Шарлотта всю дорогу говорит, представляет фокусы. И зачем ты навязала мне Шарлотту…' + }, + { name: 'Варя', phrase: ' Нельзя же тебе одной ехать, душечка. В семнадцать лет!' }, + { + name: 'Аня', + phrase: + ' Приезжаем в Париж, там холодно, снег. По-французски говорю я ужасно. Мама живет на пятом этаже, прихожу к ней, у нее какие-то французы, дамы, старый патер с книжкой, и накурено, неуютно. Мне вдруг стало жаль мамы, так жаль, я обняла ее голову, сжала руками и не могу выпустить. Мама потом все ласкалась, плакала…' + }, + { + name: 'Аня', + phrase: + ' Дачу свою около Ментоны она уже продала, у нее ничего не осталось, ничего. У меня тоже не осталось ни копейки, едва доехали. И мама не понимает! Сядем на вокзале обедать, и она требует самое дорогое и на чай лакеям дает по рублю. Шарлотта тоже. Яша тоже требует себе порцию, просто ужасно. Ведь у мамы лакей Яша, мы привезли его сюда…' + }, + { name: 'Варя', phrase: ' Видела подлеца.' }, + { name: 'Аня', phrase: ' Ну что, как? Заплатили проценты?' }, + { name: 'Варя', phrase: ' Где там.' }, + { name: 'Аня', phrase: ' Боже мой, боже мой…' }, + { name: 'Варя', phrase: ' В августе будут продавать имение…' }, + { name: 'Аня', phrase: ' Боже мой…' }, + { + name: 'Варя', + phrase: + ' Я так думаю, ничего у нас не выйдет. У него дела много, ему не до меня… и внимания не обращает. Бог с ним совсем, тяжело мне его видеть… Все говорят о нашей свадьбе, все поздравляют, а на самом деле ничего нет, всё как сон… (Другим тоном.) У тебя брошка вроде как пчелка.' + }, + { name: 'Варя', phrase: ' Душечка моя приехала! Красавица приехала!' }, + { name: 'Аня', phrase: ' Птицы поют в саду. Который теперь час?' }, + { + name: 'Варя', + phrase: ' Должно, третий. Тебе пора спать, душечка. (Входя в комнату к Ане.) Благолепие!' + }, + { name: 'Дуняша', phrase: ' И не узнаешь вас, Яша. Какой вы стали за границей.' }, + { name: 'Яша', phrase: ' Гм… А вы кто?' }, + { + name: 'Дуняша', + phrase: + ' Когда вы уезжали отсюда, я была этакой… (Показывает от пола.) Дуняша, Федора Козоедова дочь. Вы не помните!' + }, + { + name: 'Яша', + phrase: + ' Гм… Огурчик! (Оглядывается и обнимает ее; она вскрикивает и роняет блюдечко. Яша быстро уходит.)' + }, + { name: 'Варя', phrase: ' Это к добру.' }, + { name: 'Варя', phrase: ' Я приказала его не будить.' }, + { name: 'Дуняша', phrase: ' Ах, боже мой… (Быстро уходит.)' }, + { name: 'Варя', phrase: ' Фирс, ты о чем?' }, + { + name: 'Фирс', + phrase: + ' Чего изволите? (Радостно.) Барыня моя приехала! Дождался! Теперь хоть и помереть… (Плачет от радости.)' + }, + { + name: 'Гаев', + phrase: + ' Режу в угол! Когда-то мы с тобой, сестра, спали вот в этой самой комнате, а теперь мне уже пятьдесят один год, как это ни странно…' + }, + { name: 'Лопахин', phrase: ' Да, время идет.' }, + { name: 'Гаев', phrase: ' Кого?' }, + { name: 'Лопахин', phrase: ' Время, говорю, идет.' }, + { name: 'Гаев', phrase: ' А здесь пачулями пахнет.' }, + { name: 'Аня', phrase: ' Я спать пойду. Спокойной ночи, мама. (Целует мать.)' }, + { name: 'Аня', phrase: ' Прощай, дядя.' }, + { name: 'Пищик', phrase: ' Дорога, небось, длинная.' }, + { name: 'Варя', phrase: ' Поглядеть, все ли вещи привезли… (Уходит.)' }, + { name: 'Фирс', phrase: ' Позавчера.' }, + { name: 'Гаев', phrase: ' Он плохо слышит.' }, + { + name: 'Лопахин', + phrase: + ' Мне сейчас, в пятом часу утра, в Харьков ехать. Такая досада! Хотелось поглядеть на вас, поговорить… Вы все такая же великолепная.' + }, + { + name: 'Лопахин', + phrase: + ' Ваш брат, вот Леонид Андреич, говорит про меня, что я хам, я кулак, но это мне решительно все равно. Пускай говорит. Хотелось бы только, чтобы вы мне верили по-прежнему, чтобы ваши удивительные, трогательные глаза глядели на меня, как прежде. Боже милосердный! Мой отец был крепостным у вашего деда и отца, но вы, собственно вы, сделали для меня когда-то так много, что я забыл все и люблю вас, как родную… больше, чем родную.' + }, + { name: 'Гаев', phrase: ' А без тебя тут няня умерла.' }, + { + name: 'Гаев', + phrase: + ' И Анастасий умер. Петрушка Косой от меня ушел и теперь в городе у пристава живет. (Вынимает из кармана коробку с леденцами, сосет.)' + }, + { name: 'Пищик', phrase: ' Дочка моя, Дашенька… вам кланяется…' }, + { + name: 'Лопахин', + phrase: + ' Мне хочется сказать вам что-нибудь очень приятное, веселое. (Взглянув на часы.) Сейчас уеду, некогда разговаривать… ну, да я в двух-трех словах. Вам уже известно, вишневый сад ваш продается за долги, на двадцать второе августа назначены торги, но вы не беспокоитесь, моя дорогая, спите себе спокойно, выход есть… Вот мой проект. Прошу внимания! Ваше имение находится только в двадцати верстах от города, возле прошла железная дорога, и если вишневый сад и землю по реке разбить на дачные участки и отдавать потом в аренду под дачи, то вы будете иметь самое малое двадцать пять тысяч в год дохода.' + }, + { name: 'Гаев', phrase: ' Извините, какая чепуха!' }, + { + name: 'Лопахин', + phrase: + ' Вы будете брать с дачников самое малое по двадцать пять рублей в год за десятину, и если теперь же объявите, то, я ручаюсь чем угодно, у вас до осени не останется ни одного свободного клочка, все разберут. Одним словом, поздравляю, вы спасены. Местоположение чудесное, река глубокая. Только, конечно, нужно поубрать, почистить, например, скажем, снести все старые постройки, вот этот дом, который уже никуда не годится, вырубить старый вишневый сад…' + }, + { + name: 'Лопахин', + phrase: + ' Замечательного в этом саду только то, что он очень большой. Вишня родится раз в два года, да и ту девать некуда, никто не покупает.' + }, + { name: 'Гаев', phrase: ' И в «Энциклопедическом словаре» упоминается про этот сад.' }, + { + name: 'Фирс', + phrase: + ' В прежнее время, лет сорок—пятьдесят назад, вишню сушили, мочили, мариновали, варенье варили, и, бывало…' + }, + { name: 'Гаев', phrase: ' Помолчи, Фирс.' }, + { + name: 'Фирс', + phrase: + ' И бывало, сушеную вишню возами отправляли в Москву и в Харьков. Денег было! И сушеная вишня тогда была мягкая, сочная, сладкая, душистая… Способ тогда знали…' + }, + { name: 'Фирс', phrase: ' Забыли. Никто не помнит' }, + { name: 'Пищик', phrase: ' Вы подумайте…' }, + { + name: 'Лопахин', + phrase: + ' До сих пор в деревне были только господа и мужики, а теперь появились еще дачники. Все города, даже самые небольшие, окружены теперь дачами. И можно сказать, дачник лет через двадцать размножится до необычайности. Теперь он только чаи пьет на балконе, но ведь может случиться, что на своей одной десятине он займется хозяйством, и тогда ваш вишневый сад станет счастливым, богатым, роскошным…' + }, + { + name: 'Варя', + phrase: + ' Тут, мамочка, вам две телеграммы. (Выбирает ключ и со звоном отпирает старинный шкаф.) Вот они.' + }, + { + name: 'Гаев', + phrase: + ' А ты знаешь, Люба, сколько этому шкафу лет? Неделю назад я выдвинул нижний ящик, гляжу, а там выжжены цифры. Шкаф сделан ровно сто лет тому назад. Каково? А? Можно было бы юбилей отпраздновать. Предмет неодушевленный, а все-таки, как-никак, книжный шкаф.' + }, + { + name: 'Гаев', + phrase: + ' Да… Это вещь… (Ощупав шкаф.) Дорогой, многоуважаемый шкаф! Приветствую твое существование, которое вот уже больше ста лет было направлено к светлым идеалам добра и справедливости; твой молчаливый призыв к плодотворной работе не ослабевал в течение ста лет, поддерживая (сквозь слезы) в поколениях нашего рода бодрость, веру в лучшее будущее и воспитывая в нас идеалы добра и общественного самосознания.' + }, + { name: 'Лопахин', phrase: ' Да…' }, + { + name: 'Пищик', + phrase: + ' Не надо принимать медикаменты, милейшая… от них ни вреда, ни пользы… Дайте-ка сюда… многоуважаемая. (Берет пилюли, высыпает их себе на ладонь, дует на них, кладет в рот и запивает квасом.) Вот!' + }, + { name: 'Пищик', phrase: ' Все пилюли принял.' }, + { name: 'Лопахин', phrase: ' Экая прорва.' }, + { name: 'Фирс', phrase: ' Они были у нас на Святой, полведра огурцов скушали… (Бормочет.)' }, + { name: 'Варя', phrase: ' Уж три года так бормочет. Мы привыкли.' }, + { name: 'Яша', phrase: ' Преклонный возраст.' }, + { + name: 'Лопахин', + phrase: + ' Простите, Шарлотта Ивановна, я не успел еще поздороваться с вами. (Хочет поцеловать у нее руку.)' + }, + { name: 'Лопахин', phrase: ' Не везет мне сегодня.' }, + { name: 'Шарлотта', phrase: ' Не надо. Я спать желаю. (Уходит.)' }, + { + name: 'Лопахин', + phrase: + ' Через три недели увидимся. (Целует Любови Андреевне руку.) Пока прощайте. Пора. (Гаеву.) До свиданция. (Целуется с Пищиком.) До свиданция. (Подает руку Варе, потом Фирсу и Яше.) Не хочется уезжать. (Любови Андреевне.) Ежели надумаете насчет дач и решите, тогда дайте знать, я взаймы тысяч пятьдесят достану. Серьезно подумайте.' + }, + { name: 'Лопахин', phrase: ' Ухожу, ухожу… (Уходит.)' }, + { name: 'Гаев', phrase: ' Хам. Впрочем, пардон… Варя выходит за него замуж, это Варин женишок.' }, + { name: 'Варя', phrase: ' Не говорите, дядечка, лишнего.' }, + { + name: 'Пищик', + phrase: + ' Человек, надо правду говорить… достойнейший… И моя Дашенька… тоже говорит, что… разные слова говорит. (Храпит, но тотчас же просыпается.) А все-таки, многоуважаемая, одолжите мне… взаймы двести сорок рублей… завтра по закладной проценты платить…' + }, + { + name: 'Пищик', + phrase: + ' Найдутся. (Смеется.) Не теряю никогда надежды. Вот, думаю, уж все пропало, погиб, ан глядь, — железная дорога по моей земле прошла, и… мне заплатили. А там, гляди, еще что-нибудь случится не сегодня-завтра… Двести тысяч выиграет Дашенька… у нее билет есть.' + }, + { name: 'Гаев', phrase: ' Да, и сад продадут за долги, как это ни странно…' }, + { name: 'Гаев', phrase: ' Где?' }, + { name: 'Варя', phrase: ' Господь с вами, мамочка.' }, + { name: 'Трофимов', phrase: ' Любовь Андреевна!' }, + { + name: 'Трофимов', + phrase: ' Петя Трофимов, бывший учитель вашего Гриши… Неужели я так изменился?' + }, + { name: 'Варя', phrase: ' Что же делать, мамочка. Воля божья.' }, + { name: 'Трофимов', phrase: ' Меня в вагоне одна баба назвала так: облезлый барин.' }, + { name: 'Трофимов', phrase: ' Должно быть, я буду вечным студентом.' }, + { name: 'Гаев', phrase: ' А этот все свое.' }, + { name: 'Пищик', phrase: ' Двести сорок рублей… проценты по закладной платить.' }, + { name: 'Пищик', phrase: ' Отдам, милая… Сумма пустяшная…' }, + { name: 'Гаев', phrase: ' Дам я ему, держи карман.' }, + { + name: 'Гаев', + phrase: + ' Сестра не отвыкла еще сорить деньгами. (Яше.) Отойди, любезный, от тебя курицей пахнет.' + }, + { name: 'Гаев', phrase: ' Кого? (Варе.) Что он сказал?' }, + { name: 'Яша', phrase: ' Бог с ней совсем!' }, + { name: 'Варя', phrase: ' Ах бесстыдник!' }, + { name: 'Яша', phrase: ' Очень нужно. Могла бы и завтра прийти. (Уходит.)' }, + { + name: 'Варя', + phrase: + ' Мамочка такая же, как была, нисколько не изменилась. Если бы ей волю, она бы все раздала.' + }, + { name: 'Гаев', phrase: ' Да…' }, + { + name: 'Гаев', + phrase: + ' Не реви. Тетка очень богата, но нас она не любит. Сестра, во-первых, вышла замуж за присяжного поверенного, не дворянина…' + }, + { name: 'Гаев', phrase: ' Кого?' }, + { name: 'Варя', phrase: ' Что же ты не спишь, Аня?' }, + { name: 'Аня', phrase: ' Не спится. Не могу.' }, + { + name: 'Гаев', + phrase: + ' Крошка моя. (Целует Ане лицо, руки.) Дитя мое… (Сквозь слезы.) Ты не племянница, ты мой ангел, ты для меня все. Верь мне, верь…' + }, + { + name: 'Аня', + phrase: + ' Я верю тебе, дядя. Тебя все любят, уважают… но, милый дядя, тебе надо молчать, только молчать. Что ты говорил только что про мою маму, про свою сестру? Для чего ты это говорил?' + }, + { + name: 'Гаев', + phrase: + ' Да, да… (Ее рукой закрывает себе лицо.) В самом деле, это ужасно! Боже мой! Боже, спаси меня! И сегодня я речь говорил перед шкафом… так глупо! И только когда кончил, понял, что глупо.' + }, + { name: 'Варя', phrase: ' Правда, дядечка, вам надо бы молчать. Молчите себе, и все.' }, + { name: 'Аня', phrase: ' Если будешь молчать, то тебе же самому будет покойнее.' }, + { + name: 'Гаев', + phrase: + ' Молчу. (Целует Ане и Варе руки.) Молчу. Только вот о деле. В четверг я был в окружном суде, ну, сошлась компания, начался разговор о том о сем, пятое-десятое, и, кажется, вот можно будет устроить заем под векселя, чтобы заплатить проценты в банк.' + }, + { name: 'Варя', phrase: ' Если бы господь помог!' }, + { + name: 'Гаев', + phrase: + ' Во вторник поеду, еще раз поговорю. (Варе.) Не реви. (Ане.) Твоя мама поговорит с Лопахиным; он, конечно, ей не откажет… А ты, как отдохнешь, поедешь в Ярославль к графине, твоей бабушке. Вот так и будем действовать с трех концов — и дело наше в шляпе. Проценты мы заплатим, я убежден… (Кладет в рот леденец.) Честью моей, чем хочешь, клянусь, имение не будет продано! (Возбужденно.) Счастьем моим клянусь! Вот тебе моя рука, назови меня тогда дрянным, бесчестным человеком, если я допущу до аукциона! Всем существом моим клянусь!' + }, + { + name: 'Гаев', + phrase: + ' Сейчас, сейчас. Ты уходи, Фирс. Я уж, так и быть, сам разденусь. Ну, детки, бай-бай… Подробности завтра, а теперь идите спать. (Целует Аню и Варю.) Я человек восьмидесятых годов… Не хвалят это время, но все же могу сказать, за убеждения мне доставалось немало в жизни. Недаром меня мужик любит. Мужика надо знать! Надо знать, с какой…' + }, + { name: 'Аня', phrase: ' Опять ты, дядя!' }, + { name: 'Варя', phrase: ' Вы, дядечка, молчите.' }, + { + name: 'Гаев', + phrase: + ' Иду, иду… Ложитесь. От двух бортов в середину! Кладу чистого… (Уходит, за ним семенит Фирс.)' + }, + { + name: 'Аня', + phrase: + ' Я теперь покойна. В Ярославль ехать не хочется, я не люблю бабушку, но все же я покойна. Спасибо дяде. (Садится.)' + }, + { + name: 'Варя', + phrase: + ' Надо спать. Пойду. А тут без тебя было неудовольствие. В старой людской, как тебе известно, живут одни старые слуги: Ефимьюшка, Поля, Евстигней, ну и Карп. Стали они пускать к себе ночевать каких-то проходимцев — я промолчала. Только вот, слышу, распустили слух, будто я велела кормить их одним только горохом. От скупости, видишь ли… И это все Евстигней… Хорошо, думаю. Коли так, думаю, то погоди же. Зову я Евстигнея… (Зевает.) Приходит… Как же ты, говорю, Евстигней… дурак ты этакой… (Поглядев на Аню.) Анечка!..' + }, + { name: 'Варя', phrase: ' Пойдем, родная, пойдем… (Уходит в комнату Ани.)' }, + { + name: 'Поле', + phrase: + ' Старая, покривившаяся, давно заброшенная часовенка, возле нее колодец, большие камни, когда-то бывшие, по-видимому, могильными плитами, и старая скамья. Видна дорога в усадьбу Гаева. В стороне, возвышаясь, темнеют тополи: там начинается вишневый сад. Вдали ряд телеграфных столбов, и далеко-далеко на горизонте неясно обозначается большой город, который бывает виден только в очень хорошую, ясную погоду. Скоро сядет солнце. Шарлотта, Яша и Дуняша сидят на скамье; Епиходов стоит возле и играет на гитаре; все сидят задумавшись. Шарлотта в старой фуражке: она сняла с плеч ружье и поправляет пряжку на ремне.' + }, + { name: 'Дуняша', phrase: ' Это гитара, а не мандолина. (Глядится в зеркальце и пудрится.)' }, + { + name: 'Епиходов', + phrase: + ' Для безумца, который влюблен, это мандолина… (Напевает.) «Было бы сердце согрето жаром взаимной любви…»' + }, + { name: 'Шарлотта', phrase: ' Ужасно поют эти люди… фуй! Как шакалы.' }, + { + name: 'Яша', + phrase: ' Да, конечно. Не могу с вами не согласиться. (Зевает, потом закуривает сигару.)' + }, + { name: 'Епиходов', phrase: ' Понятное дело. За границей все давно уж в полной комплекции.' }, + { name: 'Яша', phrase: ' Само собой.' }, + { + name: 'Епиходов', + phrase: + ' Я развитой человек, читаю разные замечательные книги, но никак не могу понять направления, чего мне собственно хочется, жить мне или застрелиться, собственно говоря, но тем не менее я всегда ношу при себе револьвер. Вот он… (Показывает револьвер.)' + }, + { + name: 'Шарлотта', + phrase: + ' Кончила. Теперь пойду. (Надевает ружье.) Ты, Епиходов, очень умный человек и очень страшный; тебя должны безумно любить женщины. Бррр! (Идет.) Эти умники все такие глупые, не с кем мне поговорить… Все одна, одна, никого у меня нет и… и кто я, зачем я, неизвестно… (Уходит не спеша.)' + }, + { + name: 'Епиходов', + phrase: + ' Собственно говоря, не касаясь других предметов, я должен выразиться о себе, между прочим, что судьба относится ко мне без сожаления, как буря к небольшому кораблю. Если, допустим, я ошибаюсь, тогда зачем же сегодня утром я просыпаюсь, к примеру сказать, гляжу, а у меня на груди страшной величины паук… Вот такой. (Показывает обеими руками.) И тоже квасу возьмешь, чтобы напиться, а там, глядишь, что-нибудь в высшей степени неприличное, вроде таракана.' + }, + { name: 'Дуняша', phrase: ' Говорите.' }, + { name: 'Епиходов', phrase: ' Мне бы желательно с вами наедине… (Вздыхает.)' }, + { + name: 'Епиходов', + phrase: + ' Хорошо-с… принесу-с… Теперь я знаю, что мне делать с моим револьвером… (Берет гитару и уходит, наигрывая.)' + }, + { name: 'Яша', phrase: ' Двадцать два несчастья! Глупый человек, между нами говоря. (Зевает.)' }, + { name: 'Дуняша', phrase: ' Не дай бог, застрелится.' }, + { + name: 'Дуняша', + phrase: ' Я страстно полюбила вас, вы образованный, можете обо всем рассуждать.' + }, + { + name: 'Лопахин', + phrase: + ' Надо окончательно решить — время не ждет. Вопрос ведь совсем пустой. Согласны вы отдать землю под дачи или нет? Ответьте одно слово: да или нет? Только одно слово!' + }, + { + name: 'Гаев', + phrase: + ' Вот железную дорогу построили, и стало удобно. (Садится.) Съездили в город и позавтракали… желтого в середину! Мне бы сначала пойти в дом, сыграть одну партию…' + }, + { name: 'Лопахин', phrase: ' Только одно слово! (Умоляюще.) Дайте же мне ответ!' }, + { name: 'Яша', phrase: ' Позвольте, я сейчас подберу. (Собирает монеты.)' }, + { name: 'Лопахин', phrase: ' Да.' }, + { + name: 'Лопахин', + phrase: ' Ваше имение собирается купить богач Дериганов. На торги, говорят, приедет сам лично.' + }, + { name: 'Лопахин', phrase: ' В городе говорят.' }, + { + name: 'Гаев', + phrase: ' Ярославская тетушка обещала прислать, а когда и сколько пришлет, неизвестно…' + }, + { name: 'Лопахин', phrase: ' Сколько она пришлет? Тысяч сто? Двести?' }, + { + name: 'Лопахин', + phrase: + ' Простите, таких легкомысленных людей, как вы, господа, таких неделовых, странных, я еще не встречал. Вам говорят русским языком, имение ваше продается, а вы точно не понимаете.' + }, + { + name: 'Лопахин', + phrase: + ' Я вас каждый день учу. Каждый день я говорю все одно и то же. И вишневый сад и землю необходимо отдать в аренду под дачи, сделать это теперь же, поскорее — аукцион на носу! Поймите! Раз окончательно решите, чтобы были дачи, так денег вам дадут сколько угодно, и вы тогда спасены.' + }, + { name: 'Гаев', phrase: ' Совершенно с тобой согласен.' }, + { + name: 'Лопахин', + phrase: + ' Я или зарыдаю, или закричу, или в обморок упаду. Не могу! Вы меня замучили! (Гаеву.) Баба вы!' + }, + { name: 'Гаев', phrase: ' Кого?' }, + { name: 'Лопахин', phrase: ' Баба! (Хочет уйти.)' }, + { name: 'Лопахин', phrase: ' О чем тут думать!' }, + { name: 'Лопахин', phrase: ' Какие у вас грехи…' }, + { + name: 'Гаев', + phrase: ' Это наш знаменитый еврейский оркестр. Помнишь, четыре скрипки, флейта и контрабас.' + }, + { name: 'Лопахин', phrase: ' Это правда. Надо прямо говорить, жизнь у нас дурацкая…' }, + { name: 'Лопахин', phrase: ' Да… Это правда.' }, + { name: 'Лопахин', phrase: ' Да.' }, + { name: 'Лопахин', phrase: ' Что же? Я не прочь… Она хорошая девушка.' }, + { name: 'Гаев', phrase: ' Мне предлагают место в банке. Шесть тысяч в год… Слыхала?' }, + { name: 'Фирс', phrase: ' Нечего там… Утром уехали, не сказавшись. (Оглядывает его.)' }, + { name: 'Фирс', phrase: ' Чего изволите?' }, + { name: 'Лопахин', phrase: ' Говорят, ты постарел очень!' }, + { + name: 'Фирс', + phrase: + ' Живу давно. Меня женить собирались, а вашего папаши еще на свете не было… (Смеется.) А воля вышла, я уже старшим камердинером был. Тогда я не согласился на волю, остался при господах…' + }, + { name: 'Лопахин', phrase: ' Прежде очень хорошо было. По крайней мере драли.' }, + { + name: 'Гаев', + phrase: + ' Помолчи, Фирс. Завтра мне нужно в город. Обещали познакомить с одним генералом, который может дать под вексель.' + }, + { + name: 'Лопахин', + phrase: ' Ничего у вас не выйдет. И не заплатите вы процентов, будьте покойны.' + }, + { name: 'Гаев', phrase: ' А вот и наши идут.' }, + { name: 'Аня', phrase: ' Мама сидит.' }, + { name: 'Лопахин', phrase: ' Наш вечный студент все с барышнями ходит.' }, + { name: 'Трофимов', phrase: ' Не ваше дело.' }, + { name: 'Лопахин', phrase: ' Ему пятьдесят лет скоро, а он все еще студент.' }, + { name: 'Трофимов', phrase: ' Оставьте ваши дурацкие шутки.' }, + { name: 'Лопахин', phrase: ' Что же ты, чудак, сердишься?' }, + { name: 'Трофимов', phrase: ' А ты не приставай.' }, + { + name: 'Трофимов', + phrase: + ' Я, Ермолай Алексеич, так понимаю: вы богатый человек, будете скоро миллионером. Вот как в смысле обмена веществ нужен хищный зверь, который съедает все, что попадается ему на пути, так и ты нужен.' + }, + { name: 'Варя', phrase: ' Вы, Петя, расскажите лучше о планетах.' }, + { name: 'Трофимов', phrase: ' О чем это?' }, + { name: 'Гаев', phrase: ' О гордом человеке.' }, + { + name: 'Трофимов', + phrase: + ' Мы вчера говорили долго, но ни к чему не пришли. В гордом человеке, в вашем смысле, есть что-то мистическое. Быть может, вы и правы по-своему, но если рассуждать попросту, без затей, то какая там гордость, есть ли в ней смысл, если человек физиологически устроен неважно, если в своем громадном большинстве он груб, неумен, глубоко несчастлив. Надо перестать восхищаться собой. Надо бы только работать.' + }, + { name: 'Гаев', phrase: ' Все равно умрешь.' }, + { + name: 'Трофимов', + phrase: + ' Кто знает? И что значит — умрешь? Быть может, у человека сто чувств и со смертью погибают только пять, известных нам, а остальные девяносто пять остаются живы.' + }, + { + name: 'Трофимов', + phrase: + ' Человечество идет вперед, совершенствуя свои силы. Все, что недосягаемо для него теперь, когда-нибудь станет близким, понятным, только вот надо работать, помогать всеми силами тем, кто ищет истину. У нас, в России, работают пока очень немногие. Громадное большинство той интеллигенции, какую я знаю, ничего не ищет, ничего не делает и к труду пока не способно. Называют себя интеллигенцией, а прислуге говорят «ты», с мужиками обращаются, как с животными, учатся плохо, серьезно ничего не читают, ровно ничего не делают, о науках только говорят, в искусстве понимают мало. Все серьезны, у всех строгие лица, все говорят только о важном, философствуют, а между тем у всех на глазах рабочие едят отвратительно, спят без подушек, по тридцати, по сорока в одной комнате, везде клопы, смрад, сырость, нравственная нечистота… И, очевидно, все хорошие разговоры у нас для того только, чтобы отвести глаза себе и другим. Укажите мне, где у нас ясли, о которых говорят так много и часто, где читальни? О них только в романах пишут, на деле же их нет совсем. Есть только грязь, пошлость, азиатчина… Я боюсь и не люблю очень серьезных физиономий, боюсь серьезных разговоров. Лучше помолчим!' + }, + { + name: 'Лопахин', + phrase: + ' Знаете, я встаю в пятом часу утра, работаю с утра до вечера, ну, у меня постоянно деньги свои и чужие, и я вижу, какие кругом люди. Надо только начать делать что-нибудь, чтобы понять, как мало честных, порядочных людей. Иной раз, когда не спится, я думаю: господи, ты дал нам громадные леса, необъятные поля, глубочайшие горизонты, и, живя тут, мы сами должны бы по-настоящему быть великанами…' + }, + { name: 'Гаев', phrase: ' Солнце село, господа.' }, + { name: 'Трофимов', phrase: ' Да.' }, + { name: 'Аня', phrase: ' Дядя, ты опять!' }, + { name: 'Трофимов', phrase: ' Вы лучше желтого в середину дуплетом.' }, + { name: 'Гаев', phrase: ' Я молчу, молчу.' }, + { + name: 'Лопахин', + phrase: ' Не знаю. Где-нибудь далеко в шахтах сорвалась бадья. Но где-нибудь очень далеко.' + }, + { name: 'Гаев', phrase: ' А может быть, птица какая-нибудь… вроде цапли.' }, + { name: 'Трофимов', phrase: ' Или филин…' }, + { + name: 'Фирс', + phrase: ' Перед несчастьем то же было: и сова кричала, и самовар гудел бесперечь.' + }, + { name: 'Гаев', phrase: ' Перед каким несчастьем?' }, + { name: 'Фирс', phrase: ' Перед волей.' }, + { name: 'Аня', phrase: ' Это так, мама. Ничего.' }, + { name: 'Трофимов', phrase: ' Кто-то идет.' }, + { name: 'Прохожий', phrase: ' Позвольте вас спросить, могу ли я пройти здесь прямо на станцию?' }, + { name: 'Гаев', phrase: ' Можете. Идите по этой дороге.' }, + { + name: 'Прохожий', + phrase: + ' Чувствительно вам благодарен. (Кашлянув.) Погода превосходная… (Декламирует.) Брат мой, страдающий брат… выдь на Волгу, чей стон… (Варе.) Мадемуазель, позвольте голодному россиянину копеек тридцать…' + }, + { name: 'Прохожий', phrase: ' Чувствительно вам благодарен! (Уходит.)' }, + { name: 'Лопахин', phrase: ' Слушаю.' }, + { name: 'Лопахин', phrase: ' Охмелия, иди в монастырь…' }, + { name: 'Гаев', phrase: ' А у меня дрожат руки: давно не играл на бильярде.' }, + { name: 'Лопахин', phrase: ' Охмелия, о нимфа, помяни меня в твоих молитвах!' }, + { name: 'Варя', phrase: ' Напугал он меня. Сердце так и стучит.' }, + { + name: 'Лопахин', + phrase: + ' Напоминаю вам, господа: двадцать второго августа будет продаваться вишневый сад. Думайте об этом!.. Думайте!..' + }, + { + name: 'Трофимов', + phrase: + ' Варя боится, а вдруг мы полюбим друг друга, и целые дни не отходит от нас. Она своей узкой головой не может понять, что мы выше любви. Обойти то мелкое и призрачное, что мешает быть свободным и счастливым, — вот цель и смысл нашей жизни. Вперед! Мы идем неудержимо к яркой звезде, которая горит там вдали! Вперед! Не отставай, друзья!' + }, + { name: 'Трофимов', phrase: ' Да, погода удивительная.' }, + { + name: 'Аня', + phrase: + ' Что вы со мной сделали, Петя, отчего я уже не люблю вишневого сада, как прежде. Я любила его так нежно, мне казалось, на земле нет лучше места, как наш сад.' + }, + { + name: 'Трофимов', + phrase: ' Вся Россия наш сад. Земля велика и прекрасна, есть на ней много чудесных мест.' + }, + { + name: 'Аня', + phrase: ' Дом, в котором мы живем, давно уже не наш дом, и я уйду, даю вам слово.' + }, + { + name: 'Трофимов', + phrase: + ' Если у вас есть ключи от хозяйства, то бросьте их в колодец и уходите. Будьте свободны, как ветер.' + }, + { + name: 'Трофимов', + phrase: + ' Верьте мне, Аня, верьте! Мне еще нет тридцати, я молод, я еще студент, но я уже столько вынес! Как зима, так я голоден, болен, встревожен, беден, как нищий, и — куда только судьба не гоняла меня, где я только не был! И все же душа моя всегда, во всякую минуту, и днем и ночью, была полна неизъяснимых предчувствий. Я предчувствую счастье, Аня, я уже вижу его…' + }, + { name: 'Трофимов', phrase: ' Да, восходит луна.' }, + { name: 'Аня', phrase: ' Что ж? Пойдемте к реке. Там хорошо.' }, + { name: 'Трофимов', phrase: ' Пойдемте.' }, + { + name: 'Пищик', + phrase: + ' Я полнокровный, со мной уже два раза удар был, танцевать трудно, но, как говорится, попал в стаю, лай не лай, а хвостом виляй. Здоровье-то у меня лошадиное. Мой покойный родитель, шутник, царство небесное, насчет нашего происхождения говорил так, будто древний род наш Симеоновых-Пищиков происходит будто бы от той самой лошади, которую Калигула посадил в сенате… (Садится.) Но вот беда: денег нет! Голодная собака верует только в мясо… (Храпит и тотчас же просыпается.) Так и я… могу только про деньги…' + }, + { name: 'Трофимов', phrase: ' А у вас в фигуре в самом деле есть что-то лошадиное.' }, + { name: 'Пищик', phrase: ' Что ж… лошадь хороший зверь… лошадь продать можно…' }, + { name: 'Трофимов', phrase: ' Да, я облезлый барин и горжусь этим!' }, + { + name: 'Пищик', + phrase: + ' Ницше… философ… величайший, знаменитейший… громадного ума человек, говорит в своих сочинениях, будто фальшивые бумажки делать можно.' + }, + { name: 'Трофимов', phrase: ' А вы читали Ницше?' }, + { + name: 'Пищик', + phrase: + ' Ну… Мне Дашенька говорила. А я теперь в таком положении, что хоть фальшивые бумажки делай… Послезавтра триста десять рублей платить… Сто тридцать уже достал… (Ощупывает карманы, встревоженно.) Деньги пропали! Потерял деньги! (Сквозь слезы.) Где деньги? (Радостно). Вот они, за подкладкой… Даже в пот ударило…' + }, + { name: 'Трофимов', phrase: ' Торги не состоялись, по всей вероятности.' }, + { name: 'Пищик', phrase: ' Задумал.' }, + { + name: 'Шарлотта', + phrase: + ' Тасуйте теперь колоду. Очень хорошо. Дайте сюда, о мой милый господин Пищик. Ein, zwei, drei![2 - Раз, два, три! (нем.).] Теперь поищите, она у вас в боковом кармане…' + }, + { name: 'Трофимов', phrase: ' Что ж? Ну, дама пик.' }, + { name: 'Шарлотта', phrase: ' Есть! (Пищику.) Ну? Какая карта сверху?' }, + { name: 'Пищик', phrase: ' Туз червовый.' }, + { + name: 'Шарлотта', + phrase: ' Есть!.. (Бьет по ладони, колода карт исчезает.) А какая сегодня хорошая погода!' + }, + { + name: 'Шарлотта', + phrase: + ' Влюблен? (Пожав плечами.) Разве вы можете любить? Guter Mensch, aber schlechter Musikant.[3 - Хороший человек, но плохой музыкант (нем.).]' + }, + { + name: 'Шарлотта', + phrase: + ' Прошу внимания, еще один фокус. (Берет со стула плед.) Вот очень хороший плед, я желаю продавать… (Встряхивает.) Не желает ли кто покупать?' + }, + { name: 'Шарлотта', phrase: ' Ein, zwei, drei! (Быстро поднимает опущенный плед.)' }, + { name: 'Шарлотта', phrase: ' Теперь еще! Ein, zwei, drei.' }, + { + name: 'Шарлотта', + phrase: ' Конец! (Бросает плед на Пищика, делает реверанс и убегает в залу.)' + }, + { + name: 'Варя', + phrase: + ' Бабушка прислала ему доверенность, чтобы он купил на ее имя с переводом долга. Это она для Ани. И я уверена, бог поможет, дядечка купит.' + }, + { + name: 'Варя', + phrase: + ' Я смотрю на это дело серьезно, мамочка, надо прямо говорить. Он хороший человек, мне нравится.' + }, + { + name: 'Варя', + phrase: + ' Мамочка, не могу же я сама делать ему предложение. Вот уже два года все мне говорят про него, все говорят, а он или молчит, или шутит. Я понимаю. Он богатеет, занят делом, ему не до меня. Если бы были деньги, хоть немного, хоть бы сто рублей, бросила бы я все, ушла бы подальше. В монастырь бы ушла.' + }, + { name: 'Трофимов', phrase: ' Благолепие!' }, + { + name: 'Варя', + phrase: + ' Зачем же Епиходов здесь? Кто ему позволил на бильярде играть? Не понимаю этих людей… (Уходит.)' + }, + { + name: 'Трофимов', + phrase: + ' Уж очень она усердная, не в свое дело суется. Все лето не давала покоя ни мне, ни Ане, боялась, как бы у нас романа не вышло. Какое ей дело? И к тому же я вида не подавал, я так далек от пошлости. Мы выше любви!' + }, + { + name: 'Трофимов', + phrase: + ' Продано ли сегодня имение или не продано — не все ли равно? С ним давно уже покончено, нет поворота назад, заросла дорожка. Успокойтесь, дорогая. Не надо обманывать себя, надо хоть раз в жизни взглянуть правде прямо в глаза.' + }, + { name: 'Трофимов', phrase: ' Вы знаете, я сочувствую всей душой.' }, + { + name: 'Трофимов', + phrase: ' Ведь он негодяй, только вы одна не знаете этого! Он мелкий негодяй, ничтожество…' + }, + { name: 'Трофимов', phrase: ' Пусть!' }, + { name: 'Яша', phrase: ' Что, дедушка?' }, + { + name: 'Фирс', + phrase: + ' Нездоровится. Прежде у нас на балах танцевали генералы, бароны, адмиралы, а теперь посылаем за почтовым чиновником и начальником станции, да и те не в охотку идут. Что-то ослабел я. Барин покойный, дедушка, всех сургучом пользовал, от всех болезней. Я сургуч принимаю каждый день уже лет двадцать, а то и больше; может, я от него и жив.' + }, + { name: 'Яша', phrase: ' Надоел ты, дед. (Зевает.) Хоть бы ты поскорее подох.' }, + { name: 'Фирс', phrase: ' Эх ты… недотёпа! (Бормочет.)' }, + { name: 'Аня', phrase: ' Не сказал, кому. Ушел. (Танцует с Трофимовым, оба уходят в зал.)' }, + { name: 'Яша', phrase: ' Это там какой-то старик болтал. Чужой.' }, + { + name: 'Фирс', + phrase: + ' А Леонида Андреича еще нет, не приехал. Пальто на нем легкое, демисезон, того гляди простудится. Эх, молодо-зелено.' + }, + { name: 'Яша', phrase: ' Да он давно ушел, старик-то. (Смеется.)' }, + { name: 'Яша', phrase: ' Очень уж Епиходов смешной. Пустой человек. Двадцать два несчастья.' }, + { name: 'Фирс', phrase: ' Куда прикажете, туда и пойду.' }, + { + name: 'Фирс', + phrase: + ' Да… (С усмешкой.) Я уйду спать, а без меня тут кто подаст, кто распорядится? Один на весь дом.' + }, + { + name: 'Пищик', + phrase: + ' Позвольте просить вас… на вальсишку, прекраснейшая… (Любовь Андреевна идет с ним.) Очаровательная, все-таки сто восемьдесят рубликов я возьму у вас… Возьму… (Танцует.) Сто восемьдесят рубликов…' + }, + { name: 'Фирс', phrase: ' Что же он тебе сказал?' }, + { name: 'Дуняша', phrase: ' Вы, говорит, как цветок.' }, + { name: 'Дуняша', phrase: ' Как цветок… Я такая деликатная девушка, ужасно люблю нежные слова.' }, + { name: 'Фирс', phrase: ' Закрутишься ты.' }, + { + name: 'Епиходов', + phrase: + ' Вы, Авдотья Федоровна, не желаете меня видеть… как будто я какое насекомое. (Вздыхает.) Эх, жизнь!' + }, + { name: 'Дуняша', phrase: ' Что вам угодно?' }, + { + name: 'Епиходов', + phrase: + ' Несомненно, может, вы и правы. (Вздыхает.) Но, конечно, если взглянуть с точки зрения, то вы, позволю себе так выразиться, извините за откровенность, совершенно привели меня в состояние духа. Я знаю свою фортуну, каждый день со мной случается какое-нибудь несчастье, и к этому я давно уже привык, так что с улыбкой гляжу на свою судьбу. Вы дали мне слово, и хотя я…' + }, + { + name: 'Дуняша', + phrase: + ' Прошу вас, после поговорим, а теперь оставьте меня в покое. Теперь я мечтаю. (Играет веером.)' + }, + { + name: 'Епиходов', + phrase: + ' У меня несчастье каждый день, и я, позволю себе так выразиться, только улыбаюсь, даже смеюсь.' + }, + { + name: 'Варя', + phrase: + ' Ты все еще не ушел, Семен? Какой же ты, право, неуважительный человек. (Дуняше.) Ступай отсюда, Дуняша. (Епиходову.) То на бильярде играешь и кий сломал, то по гостиной расхаживаешь, как гость.' + }, + { name: 'Епиходов', phrase: ' С меня взыскивать, позвольте вам выразиться, вы не можете.' }, + { + name: 'Варя', + phrase: + ' Я не взыскиваю с тебя, а говорю. Только и знаешь, что ходишь с места на место, а делом не занимаешься. Конторщика держим, а неизвестно — для чего.' + }, + { + name: 'Варя', + phrase: + ' Ты смеешь мне говорить это! (Вспылив.) Ты смеешь? Значит, я ничего не понимаю? Убирайся же вон отсюда! Сию минуту!' + }, + { name: 'Лопахин', phrase: ' Покорнейше благодарю.' }, + { name: 'Лопахин', phrase: ' Ничего-с. Покорно благодарю за приятное угощение.' }, + { + name: 'Варя', + phrase: + ' Не стоит благодарности. (Отходит, потом оглядывается и спрашивает мягко.) Я вас не ушибла?' + }, + { name: 'Лопахин', phrase: ' Нет, ничего. Шишка, однако, вскочит огромадная.' }, + { + name: 'Пищик', + phrase: + ' Видом видать, слыхом слыхать… (Целуется с Лопахиным.) Коньячком от тебя попахивает, милый мой, душа моя. А мы тут тоже веселимся.' + }, + { name: 'Лопахин', phrase: ' Леонид Андреич со мной приехал, он идет…' }, + { name: 'Пищик', phrase: ' Что на торгах? Рассказывай же!' }, + { name: 'Лопахин', phrase: ' Продан.' }, + { name: 'Лопахин', phrase: ' Я купил.' }, + { + name: 'Лопахин', + phrase: + ' Что ж такое? Музыка, играй отчетливо! Пускай всё, как я желаю! (С иронией.) Идет новый помещик, владелец вишневого сада! (Толкнул нечаянно столик, едва не опрокинул канделябры.) За все могу заплатить! (Уходит с Пищиком.)' + }, + { + name: 'Аня', + phrase: + ' Мама!.. Мама, ты плачешь? Милая, добрая, хорошая моя мама, моя прекрасная, я люблю тебя… я благословляю тебя. Вишневый сад продан, его уже нет, это правда, правда, но не плачь, мама, у тебя осталась жизнь впереди, осталась твоя хорошая, чистая душа… Пойдем со мной, пойдем, милая, отсюда, пойдем!.. Мы насадим новый сад, роскошнее этого, ты увидишь его, поймешь, и радость, тихая, глубокая радость опустится на твою душу, как солнце в вечерний час, и ты улыбнешься, мама! Пойдем, милая! Пойдем!..' + }, + { + name: 'Яша', + phrase: + ' Простой народ прощаться пришел. Я такого мнения, Ермолай Алексеич: народ добрый, но мало понимает.' + }, + { name: 'Гаев', phrase: ' Ты отдала им свой кошелек, Люба. Так нельзя! Так нельзя!' }, + { + name: 'Яша', + phrase: + ' С отъезжающими! Счастливо оставаться! (Пьет.) Это шампанское не настоящее, могу вас уверить.' + }, + { name: 'Лопахин', phrase: ' Восемь рублей бутылка.' }, + { name: 'Яша', phrase: ' Не топили сегодня, все равно уезжаем. (Смеется.)' }, + { name: 'Лопахин', phrase: ' Что ты?' }, + { name: 'Яша', phrase: ' От удовольствия.' }, + { + name: 'Лопахин', + phrase: + ' На дворе октябрь, а солнечно и тихо, как летом. Строиться хорошо. (Поглядев на часы в дверь.) Господа, имейте в виду, до поезда осталось всего сорок шесть минут! Значит, через двадцать минут на станцию ехать. Поторапливайтесь.' + }, + { + name: 'Трофимов', + phrase: + ' Мне кажется, ехать уже пора. Лошади поданы. Черт его знает, где мои калоши. Пропали. (В дверь.) Аня, нет моих калош! Не нашел!' + }, + { + name: 'Лопахин', + phrase: + ' А мне в Харьков надо. Поеду с вами в одном поезде. В Харькове проживу всю зиму. Я все болтался с вами, замучился без дела. Не могу без работы, не знаю, что вот делать с руками; болтаются как-то странно, точно чужие.' + }, + { name: 'Трофимов', phrase: ' Сейчас уедем, и вы опять приметесь за свой полезный труд.' }, + { name: 'Лопахин', phrase: ' Выпей-ка стаканчик.' }, + { name: 'Трофимов', phrase: ' Не стану.' }, + { name: 'Лопахин', phrase: ' Значит, в Москву теперь?' }, + { name: 'Трофимов', phrase: ' Да, провожу их в город, а завтра в Москву.' }, + { + name: 'Лопахин', + phrase: ' Да… Что ж, профессора не читают лекций, небось всё ждут, когда приедешь!' + }, + { name: 'Трофимов', phrase: ' Не твое дело.' }, + { name: 'Лопахин', phrase: ' Сколько лет, как ты в университете учишься?' }, + { + name: 'Трофимов', + phrase: + ' Придумай что-нибудь поновее. Это старо и плоско. (Ищет калоши.) Знаешь, мы, пожалуй, не увидимся больше, так вот позволь мне дать тебе на прощанье один совет: не размахивай руками! Отвыкни от этой привычки — размахивать. И тоже вот строить дачи, рассчитывать, что из дачников со временем выйдут отдельные хозяева, рассчитывать так — это тоже значит размахивать… Как-никак, все-таки я тебя люблю. У тебя тонкие, нежные пальцы, как у артиста, у тебя тонкая, нежная душа…' + }, + { name: 'Трофимов', phrase: ' Для чего мне? Не нужно.' }, + { name: 'Лопахин', phrase: ' Ведь у вас нет!' }, + { + name: 'Трофимов', + phrase: + ' Есть. Благодарю вас. Я за перевод получил. Вот они тут, в кармане. (Тревожно.) А калош моих нет!' + }, + { name: 'Трофимов', phrase: ' Что же вы сердитесь, Варя? Гм… Да это не мои калоши!' }, + { + name: 'Лопахин', + phrase: + ' Я весной посеял маку тысячу десятин, и теперь заработал сорок тысяч чистого. А когда мой мак цвел, что это была за картина! Так вот я, говорю, заработал сорок тысяч и, значит, предлагаю тебе взаймы, потому что могу. Зачем же нос драть? Я мужик… попросту.' + }, + { + name: 'Трофимов', + phrase: ' Твой отец был мужик, мой — аптекарь, и из этого не следует решительно ничего.' + }, + { name: 'Лопахин', phrase: ' Дойдешь?' }, + { name: 'Трофимов', phrase: ' Дойду.' }, + { + name: 'Лопахин', + phrase: + ' Ну, прощай, голубчик. Пора ехать. Мы друг перед другом нос дерем, а жизнь знай себе проходит. Когда я работаю подолгу, без устали, тогда мысли полегче, и кажется, будто мне тоже известно, для чего я существую. А сколько, брат, в России людей, которые существуют неизвестно для чего. Ну, все равно, циркуляция дела не в этом. Леонид Андреич, говорят, принял место, будет в банке, шесть тысяч в год… Только ведь не усидит, ленив очень…' + }, + { name: 'Трофимов', phrase: ' В самом деле, неужели не хватает такта… (Уходит через переднюю.)' }, + { name: 'Лопахин', phrase: ' Сейчас, сейчас… Экие, право. (Уходит за ним.)' }, + { name: 'Аня', phrase: ' Фирса отправили в больницу?' }, + { name: 'Яша', phrase: ' Я утром говорил. Отправили, надо думать.' }, + { + name: 'Епиходов', + phrase: + ' Долголетний Фирс, по моему окончательному мнению, в починку не годится, ему надо к праотцам. А я могу ему только завидовать. (Положил чемодан на картонку со шляпой и раздавил.) Ну, вот, конечно. Так и знал. (Уходит.)' + }, + { name: 'Аня', phrase: ' Отвезли.' }, + { name: 'Варя', phrase: ' Отчего же письмо не взяли к доктору?' }, + { name: 'Аня', phrase: ' Так надо послать вдогонку… (Уходит.)' }, + { + name: 'Дуняша', + phrase: + ' Хоть бы взглянули разочек, Яша. Вы уезжаете… меня покидаете… (Плачет и бросается ему на шею.)' + }, + { + name: 'Яша', + phrase: + ' Что ж плакать? (Пьет шампанское.) Через шесть дней я опять в Париже. Завтра сядем в курьерский поезд и закатим, только нас и видели. Даже как-то не верится. Вив ла Франс!..[4 - Да здравствует Франция! (фр. Vive la France!)] Здесь не по мне, не могу жить… ничего не поделаешь. Насмотрелся на невежество — будет с меня. (Пьет шампанское.) Что ж плакать? Ведите себя прилично, тогда не будете плакать.' + }, + { name: 'Яша', phrase: ' Идут сюда. (Хлопочет около чемоданов, тихо напевает.)' }, + { + name: 'Гаев', + phrase: ' Ехать бы нам. Уже немного осталось. (Глядя на Яшу.) От кого это селедкой пахнет?' + }, + { name: 'Аня', phrase: ' Очень! Начинается новая жизнь, мама!' }, + { + name: 'Аня', + phrase: + ' Ты, мама, вернешься скоро, скоро… не правда ли? Я подготовлюсь, выдержу экзамен в гимназии и потом буду работать, тебе помогать. Мы, мама, будем вместе читать разные книги… Не правда ли? (Целует матери руки.) Мы будем читать в осенние вечера, прочтем много книг, и перед нами откроется новый, чудесный мир… (Мечтает.) Мама, приезжай…' + }, + { name: 'Гаев', phrase: ' Счастливая Шарлотта: поет!' }, + { name: 'Лопахин', phrase: ' Найдем, Шарлотта Ивановна, не беспокойтесь.' }, + { name: 'Гаев', phrase: ' Все нас бросают, Варя уходит… мы стали вдруг не нужны.' }, + { name: 'Шарлотта', phrase: ' В городе мне жить негде. Надо уходить… (Напевает.) Все равно…' }, + { name: 'Лопахин', phrase: ' Чудо природы!..' }, + { name: 'Гаев', phrase: ' За деньгами небось? Слуга покорный, ухожу от греха… (Уходит.)' }, + { + name: 'Пищик', + phrase: + ' Давненько не был у вас… прекраснейшая… (Лопахину.) Ты здесь… рад тебя видеть… громаднейшего ума человек… возьми… получи… (Подает Лопахину деньги.) Четыреста рублей… За мной остается восемьсот сорок.' + }, + { + name: 'Пищик', + phrase: + ' Постой… Жарко… Событие необычайнейшее. Приехали ко мне англичане и нашли в земле какую-то белую глину… (Любови Андреевне.) И вам четыреста… прекрасная, удивительная… (Подает деньги.) Остальные потом. (Пьет воду.) Сейчас один молодой человек рассказывал в вагоне, будто какой-то… великий философ советует прыгать с крыш… «Прыгай!», говорит, и в этом вся задача. (Удивленно.) Вы подумайте! Воды!..' + }, + { name: 'Лопахин', phrase: ' Какие же это англичане?' }, + { + name: 'Пищик', + phrase: + ' Сдал им участок с глиной на двадцать четыре года… А теперь, извините, некогда… надо скакать дальше… Поеду к Знойкову… к Кардамонову… Всем должен… (Пьет.) Желаю здравствовать… В четверг заеду…' + }, + { + name: 'Пищик', + phrase: + ' Как? (Встревоженно.) Почему в город? То-то я гляжу на мебель… чемоданы… Ну, ничего… (Сквозь слезы.) Ничего… Величайшего ума люди… эти англичане… Ничего… Будьте счастливы… Бог поможет вам… Ничего… Всему на этом свете бывает конец… (Целует руку Любови Андреевне.) А дойдет до вас слух, что мне конец пришел, вспомните вот эту самую… лошадь и скажите: «Был на свете такой, сякой… Симеонов-Пищик… царство ему небесное»… Замечательнейшая погода… Да… (Уходит в сильном смущении, но тотчас же возвращается и говорит в дверях.) Кланялась вам Дашенька! (Уходит.)' + }, + { name: 'Аня', phrase: ' Мама, Фирса уже отправили в больницу. Яша отправил утром.' }, + { + name: 'Лопахин', + phrase: + ' Я сам тоже не понимаю, признаться. Как-то странно все… Если есть еще время, то я хоть сейчас готов… Покончим сразу — и баста, а без вас я, чувствую, не сделаю предложения.' + }, + { + name: 'Лопахин', + phrase: ' Кстати и шампанское есть. (Поглядев на стаканчики.) Пустые, кто-то уже выпил.' + }, + { name: 'Лопахин', phrase: ' Что вы ищете?' }, + { name: 'Варя', phrase: ' Сама уложила и не помню.' }, + { name: 'Лопахин', phrase: ' Вы куда же теперь, Варвара Михайловна?' }, + { + name: 'Варя', + phrase: ' Я? К Рагулиным… Договорилась к ним смотреть за хозяйством… в экономки, что ли.' + }, + { name: 'Лопахин', phrase: ' Это в Яшнево? Верст семьдесят будет.' }, + { + name: 'Лопахин', + phrase: + ' А я в Харьков уезжаю сейчас… вот с этим поездом. Дела много. А тут во дворе оставляю Епиходова… Я его нанял.' + }, + { name: 'Варя', phrase: ' Что ж!' }, + { + name: 'Лопахин', + phrase: + ' В прошлом году об эту пору уже снег шел, если припомните, а теперь тихо, солнечно. Только что вот холодно… Градуса три мороза.' + }, + { name: 'Варя', phrase: ' Я не поглядела.' }, + { name: 'Пауза', phrase: ' Голос в дверь со двора: «Ермолай Алексеич!..»' }, + { + name: 'Гаев', + phrase: + ' Друзья мои, милые, дорогие друзья мои! Покидая этот дом навсегда, могу ли я умолчать, могу ли удержаться, чтобы не высказать на прощанье те чувства, которые наполняют теперь все мое существо…' + }, + { name: 'Варя', phrase: ' Дядечка, не нужно!' }, + { name: 'Трофимов', phrase: ' Что же, господа, пора ехать!' }, + { name: 'Лопахин', phrase: ' Епиходов, мое пальто!' }, + { + name: 'Гаев', + phrase: + ' Помню, когда мне было шесть лет, в Троицын день я сидел на этом окне и смотрел, как мой отец шел в церковь…' + }, + { + name: 'Лопахин', + phrase: + ' Кажется, все. (Епиходову, надевая пальто.) Ты же, Епиходов, смотри, чтобы все было в порядке.' + }, + { name: 'Лопахин', phrase: ' Что это у тебя голос такой?' }, + { name: 'Епиходов', phrase: ' Сейчас воду пил, что-то проглотил.' }, + { name: 'Лопахин', phrase: ' До самой весны.' }, + { + name: 'Трофимов', + phrase: ' Господа, идемте садиться в экипажи… Уже пора! Сейчас поезд придет!' + }, + { + name: 'Варя', + phrase: + ' Петя, вот они, ваши калоши, возле чемодана. (Со слезами.) И какие они у вас грязные, старые…' + }, + { + name: 'Лопахин', + phrase: + ' Все здесь? Никого там нет? (Запирает боковую дверь налево.) Здесь вещи сложены, надо запереть. Идем!..' + }, + { name: 'Аня', phrase: ' Прощай, дом! Прощай, старая жизнь!' }, + { name: 'Трофимов', phrase: ' Здравствуй, новая жизнь!.. (Уходит с Аней.)' }, + { name: 'Лопахин', phrase: ' Значит, до весны. Выходите, господа… До свиданция!.. (Уходит.)' }, + { name: 'Гаев', phrase: ' Сестра моя, сестра моя!..' } +]; diff --git a/src/images/avatar.jpg b/src/images/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0eee46a0b4cfa89c59035d9de0677ffa63b2ef3e GIT binary patch literal 88277 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 C&8Z6j literal 0 HcmV?d00001 diff --git a/src/images/christmas.jpg b/src/images/christmas.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c55e59aeeef5901f228251dcb039a853a72b689 GIT binary patch literal 135843 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 V`jWBF`_T7>Wn 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�LVO3GykFb$qsXu_7b={vl${%f$%_6$AZ=(=b)+Onl(AGxfVxw8Vz+g=U8;&D zFT`^nV8z3%p_nWJ3nlz?uu?<_*&spBX{NPyjqn5SN#-ldmLb>GX}aZ46A9C6aaUe15&2c%=V_N=$z1-f zW}R}mYr_k?h5y>Y`pK!P_+re)r^^X9tS9!*B@n07GtRA6FY;|y7urL=bv<6Mm@PxE zQVJR+YOxIKE%E<@b%znun2vTnS#&#klo0d2N%$FNlFVqF264`brXx{st+{@^{oiZq^y4dZ=q?N$j{EcJiokpBq4M~ch0W$uG`ACTS~HA1jf$r8D)EQ}KcZ2$F2Cx0I>&YG2YET$t{KergbVCf9ZE`7Eaxzj1954h znOPi03>+V-wZ^V#y6c^g{n3V1yMUD_29&T(98fpy$ukeID59nC;$;qUo;Bt-^c9t~ z^iS|{RBf}tJa}9R%SNA2Kjkg}vkA>;(~{jAK%b0oWSt_0U+Rt_AX>9CR-9L{w9#Ui zci{N7u)4_hBwQie+3)F<%I7GY!uO^}9Jy0;e&(n{GoTmlO=E7kZBLH4wu*kE?wzVdNAWEnp2&QtnG;p*`!`BJ6ZRSF2Nr>;|fM zIb&W%6Moh6Dl87}a&73mc>MhDWvycXFUoKyv__xDaOg%Fmsxt!`MyltnH^ml1{jvU zx~psV@$?r1j|t~L?k^H2 z^rQ^*W@^O1gf0euDbCz+TSOEMS2imja#PMV^u!)7)w33~YguR-z<8@ZZb|7qlRdkv zLGz-P`WlC%Li&b6-k+6l(;* zZy+m`)A=D!rY| zpN6L0SDwL0K16CnTcMFHh;pKhwSBRKljX81G0OZ=BDl+I#H@MIpv_NRR>qcZ2`tBk z<#dBAM0vYb%1-q}dU|!S1vVv}RkJeoP_2k(r|d|$!+zfOPkI&t zB+=vwdn5#b#o}M9)ZK-L4!5FDj?Y&91Eic}ot&+sf}g0qTnE|4KqQx@%doJ*s_3Vl z;!%-@g}Ak8;G%xxBGpjWgyp7eLV(UmS3AeHik8;R_cdDTXA1Mx1x0=L$(r|s4BHmj z%t1`i5x!C3tvsg!Rt{Ls0Vt{>&jdYvupaX|yGV=BTZ?w6m^YSnuk{`nR-B_?za*s zcKlrRV>r6zYT!*92C7JSAa?E0tE<5qtzOe9{QMuGkZJV@&s0#TXxlx0QohbOmVQ@* z6_nm50Wq7_$5vaDY%T+Y^(_n1;PE9QVI}w$>DPg`ym;go^9GA9Z=zb)v>yxuokC*2 zX{#-e7{yy?CwC_85dsberjt@q61t&^U?=7DZ~D(YRq*HqRp)qRW*0R;(YWX_M-X93 ztL@d3LByBW3jyq?iZ3)fLc8{i-kD*jA^6x9IUyH*t?&|W`rf|AV74rUZXM^EU-Z_S zfkf*Ke<4BImK5%ImHXB@uV-TtBiStI0SF*Od=HFXHE^s9t5W-_p)nr0rzmV@?4 zrKJEDg8_$=Ot1C1MnozYI`*6Y2$b+LvQV<^gESnrng$ibSK4j$0=6o-ALE0X=hr_l z2FqkB(}9CW%nXU4YzIo3|7PUN_h)yT|7EDrd%^+byG!WCZyIe)avsuu>BIj)G1XI{ zp?@}nUQF`~3z&_Q4UGjueDY`C@V4J9h;N{{MKps|1P8-1!!lDEIaiRbpeF+V`%t#} z7?gOd@%w-Y=BM9>ItJlZn&~X+!96Ok`rjg}q8~lA^^`5NpcZ7rQk+>Xo;Qc_Yq)BkOjCl4Ed7p9ny(C;pG2D1mvb9|)OVZ87)sFIgjcRW7 zh^1TFNX)Yje(<*Bivyv74Pb3PTaLnaKH=C=_l#_uSP9_io4c4yM7p@4*h;vFTa54= zuhi=}^fyPQg_Ph6 z%BqtqjRx{7@udxqYyK0`5qt3XYyZd=pUcf14h4r z7d+cR)YU`gK=A&(t4z8~KEm+!%~HJh8w_MQ`=G6!>0Mo`r@41VwxxE0Cd(db2PAcD zb6#aALBH-ZvLQIX1iv*_rK+{Bui{6O6IE+1d4&(MT~tdVU5ubF12Z0sottau4jR0E z(Veh_jW>)!_n@@r5ow>o=%oJo5B95Eb#P8~O_Po3^xO*fkrQ`3g9&p}hcBS22K3W9 zR2XgS20yU1mdn&{A>Kb#pfQe5Fxq>eaWBYCIS6<608>9z`0a?+&8Yb6%Z&bGz@a?7 zZ$9WCS4I+$VE7+EiG&)8Pe-@nU+ z9B}Y4$DJ*pDEuKG)7aqQo9}t55nn3JnN3!Kyh4iY6A78qri)HRr^=Xr1u=2_Fwe@* zAJUP;nYQD_`uu&D69~p}p~#uQr-^>mZG+57qh}pZ<8eCt4uyuAo@a}F6R4eMkOwW; zKCt~I{*U_eh^k|?6pOyR?U;^?GR~rlD3)v=HOEsPcFn!$2OV6+;IcZxuL2}BHicGM zkn#QIXXcX&&S`G*A{3-9&&YzJDu z#x;u=R$xPd_Ut(lRDX&}OAgkv!m}a1tzPdlzmQL7G}*IHzS`otXb_@q`|{^{c|;*E zxLnhri@iFSw;fxT^+t&3!2~JKX4i{Qq_|IZzV4RZYt{Fv-^%l5wJ86{&}Fm;Q2y0m z!`*+AG&l7qP-Wh_eX(1~rg92X8f{zNNPFyHpY#!scCOXS$fAttzHW$@!hv?z=Gqgd zo^NS{%g^-sx4!62g%lPoaM6{?QU|Rgy<_rRLG@Vg%!}Y?WksFlLQ%vd!uNQnmn}4* zox{3u(IJFg!D^1p7MfnJ@)W<=r^Fg(AbCXgc^nDqLosbxBot>tUj&(xQW?lQDtq(jOycuSSavhUUJ zg{vc=0q@Hz#ny}_e;%Fl_4!t_UG`qokmQSRVoDIxGHv&ygZTp|8M%d9KyjqURdnfe zVsH!UjG%#&*?;Tv{{fO?Vv4;pt0|P8QpFQ?03;QJAbfv|EoOSFHR3CA-M#_qRpZt1 zB1_iP?-v=e_a700YL zJl(qVK~|vA&$rm*Yu+a0U|uP*4^Zi@XyMl{5H7$ z#YxP-76!U;9~*&n(T?OKDhDyP|LJv|8St+DY1`op<(Nkg(s%IEgc=avhXECqk^$^p zCS2W88>=&{6(2Kziw;u07kd)iZj55r?W!TUJXr)yDbBoWw>1^r`Bx7LAs?G`Cm%Ul zE-%`GEpk2_A;#QL#C*y#oROd5Y<_M&54Z&&JEs~CP(ouJ? z9LA)#?&7PAMc-zHF9RREx5zLVeexlpcDZ`N({e|%O{Tt#sV4xa0?jx~zBf1_VPxFL zbHvsp;+EMM8!>rw`=O(a1uUC347dq7eKSc>;L*xwV8sfraD3W-pFVwE=`QtroN9#sv8hF;(b8nLr8+xuY4rp^;#FHuYD$K_m%}U9hg`3hj$J z(N3cIBV|c_Ku6IuJz*D#3+|f9n6eh;GY0Cvct2SXSY|Kf%kVVCmhZPJY$8HU>l-?8 z=4uJWyLh}%c)6`+BPkgrbi5XUtmVKD-r>?<0Rg?0ZiX-qm8WGwG}#V%!DSBCS}Yd5 z%$P;!z|4cSGq&Py<+=xf{$Gr)Osji$#2nAw9XK)WsOQ)bcZ}Iq+G}dVq*yvteLj1? ze)X@6@yvh^UwB)y?M8(OejYC$Yosvf2h&qh&aCTACn2LGoL{Gr8em9QGnbIVOFIP` zTm2ml_=6uypB}Z#2gaN=T%|)YMq(xzp5u!Br7Ev9e0geUzgvn+k!iWrl@71K5gwmFi8K zM#=zJgwul6+j}j^jFP^AkfI#3#TJ%;)Ou+QN$8J|Q}ckownIOSxMeW7V9W6bT~IcQ zIBFijftQRN{{bXe8uq>z+fN?-R&gmPAKP@a{@9SiG-?i0d&?{^ggviX{C*9orI}HC zf8jlEl>OQkNp!1&KxDKOzrzYBOko)x@)2v61(eHw)=duHS*i$TYkW(q~{!38Aev39WJxaEedK*P7@H8PE@U{)pmmEG9K*^OIyy9QUO6l z`-EO$6^V&Hajs;gYJTTq!j7CVvRumT1#G?dw|DHm@oTkMjA> z6SoHd-Q}L~;AGiLp8nTwPfo_uqZL$O!})e%_g?~Rv|X31ga+^n2FEQ9!DD_LCb$Iw zY!XjL!PS^Yqo_Jmy|V4G+r{t==+6x=am$ZX8Tk6C$vf>g5nz%HM*cO2xh*Q5pwBA5 z=6GLaA5-h*hVA^^oY*cUl{Ot9XTF~M^B=%0801cpmmSk7GSvBu(hbYM-D%wSidE|# z7oGn(XXNXmQ$hpbUnrx+XdqKHwJ<2*F1|{PM4n^~b9uf0mMpu8nnqUp2`1{+tPgYQ z-HN2uGupLTh{&5T9q(B=00ED=Si#f`uWUSJ?WNa02b)icP3;mCwD!Vb6F!xX%LN2p z4Yu0yHIjoN3M2|MmHz>nYb>X(A_OwaLg~HAMjd{Wt@&MNBrEiN>1k;0z%X527)^8t z>94H9<}!ckZ5F=EdE~+Nn?m4@ATk3s3R)0wvZ#^cxSBk-dr5QtXn`21h5j01J*fn!=?O6;BOr*ELL8s%QP06PO)z7ju`XuoBQi zw}XVAlSxj_q?QhQR>7DR{0T>)Q;chREJohT%?*E&tMkh3_1hM&CPj5MU;pA7=1*j0 z-jP|qcMmEB0@ILAKrc_)^p}GT^ZfDzElS$u;^|6+%zjiV>-}m=Doh3Zl~y2D{txiU zIr+TSDsy28=TjJ_^cPa*Km2v5q2$afR@7iu>ch2MFm236j_}&o9!ISXC=+Z^?uWt|Yqf)qqbU(}9K9 zuXqy}&@WMDJa@O{6CHz8%}!5NsPXL}cmGz$Ab`5B$|7$8wDXu@Frog)pcyG1EdaQF z5I#hH!O0nLaMuXv#`#mpn6tX-@)3G#_huV|NMI;tqJjdpj50e}3dU$ndSmO}yh zAK)Wj4Lj;jr$pSrn%i>+eGmms4nns5%xE5m!vj^%zt(Klqg8!|4vQ1e_N?|)ac_kg zhrkJ$m*h8FrD8-K0wGZ+1^7ucFi8zUzr-)ujF0YwI$29RtbRE& z-{M8}wduufqR#`%MfMYcdjgg<1E6qR=o`5?s;mkwR~EW?_+5QbplI3j009^mgJ5XJ zgn=x_SzC7j2o5fE;r&g z@k8bzp9*`ivNp*2qPzxMZy)$htLWe>N$5}k>vlQC$)ie2yr*Ut%P&FGdJQ|%Dz$VR zBPA9w`@Zk=`Oa=@PyEUQM!xSWe`CKFhp!eoQynq*d{EX3peFk|n68hHuzcYvhuCGs|r;JkE9YUAzuxvlAFLF#CXKG=$m5O znCVm{c_{GTC(D2y^{smw3VrNUQX`tuD&MGsKOI_2n4jP;C-GwCy4f89R&yEbu9~D3 z(Qb#m=RnoqxLS#TG~c@QC2(dn`~UCr`k&Pdz8lGUB$KBayXf4rrS+lJK46H?`Ff2* zVVc;_><$Yx4_=oL*7Y8D7*MtWF&4f-Iw~cvt)-AM>bLLk-9gXA)9mw}coS#o*a;O_ zJ3PP#w>%9DXOY@_rXe>|3H~~TUU-%X`}yVza3zCY8^BF{4uZTQV)TkU9z=*=UQe4p zn$m;pJCd(E!-dcz;cBYUiqvx27MpMVAESCd z;fG{O{zbp&EP`XiF5bKwgcS1)9=ym} zu5bZj}Yc@t!MN#8gwHwWWQ`&Z2t>A{S7;k|#$XMo!2Y6PRWi zs$ZeieJMF1=Bb|I`|Hs)34WDiBD6u#$3M5ZADHr$}}-F5V!GEYt$`V z9%&q(H3V}z&sj+4T1@C-D&@FxEW6O76sD6hlOquJuULMrf8YO|p32{nR__mk>{)?5 zn=hps83kwf({c#jQMlN%=+CD`ChR2H_s;Q&_=$3$E$TW~jhpIQvIf}8A zo+tT$y4UbN*rI3APY-R&QU7h4zTS=tDwvl&^76x5+a01*WQwnT(9B)^*7i!>)K%W@ z%c)yLfse3c75F83?{}(UWI7Fg>A`y4f%nY9BIPmfNcQqLPj5wD!DnJ_r8Q!H9G!Bb z6e(x7VSWIQ)}A%XE2|?#$6%0sy1Cbm-M8ew9+k?eep!rC`os9*3%sf9kGM8@A*w7i zvWzX)GJ&QY{Xs0$)6XQ>z1#YZ3@TdDB|MvN6fZIe_T^ruXssdC=(Ix2!J+eJ0CCB+W(C*{3Q;1w45 z_KQ@lZ9a`ww;giPibbQUxMY>3dFQ=#)z284kUM7p?KhEVVAWpL?*jlXTHtf>^Kt*0 z`|p9CzHF2QSKX4%u1R4nH7X_3J_?f-N@s;@Y+Do1TT<_C%O|@FS{aD26Z7}Cgh|p| z?b?DIYpff56qqv2HHWi0y5CTD_J6>bo8up!?22#RJ`qt^qn1w?@W(CzB z>e^7Bf$XGm?bo;wzmF2(P!79Qm{4VHw{ol6V#%V~o@BX4Z_*V(8S8g)*xEw9{CvKI58ki82)j@D`EgHy zj1wX1G4BhsN{)22lH_j5e*j@3I{L*h{Vh*0I{Rkc+(T@sXfs{-y?#b+B!J{uQx^{#dqw>t zJhjWN?p?*nD{yh}Rsw5m*PRWb*pLh+C|89$(>yF*XxL~2wbH0nqd@n!R$zKsFxPXr zqYgnnIodKwY|K~Y`cXP))o%1(9o9hYLn-QPt07k z#f>`a+>^Z45XL|wvW+%yoex9g_|H^wo@8|~p|a~8pNd{-rpxDdni*`9xd1MTe>y$YgE)jufUecqj6`k`LKJycehHkf#=Ni&ga4V(zy}hX3b+8sf)sx$AKVI|!(?W6+<)w}%Uk%#^r+=JiJn+BWVaLnajYD6U zVj_O9@A}Tb%~X^8zy`*{d{TtTq+Vvt$eGpy{%qrN-ncH2=GK83FZb*}V6JD_YKzCE zKeu$h0!Ff~w0NZPcYU4HZ_0D?ovlDQq39I{*-0mzbc0?ppj9Dm&!Snp@GVv%-*t?K zV;K?bdugX-W%O*vanM3#@Q{1G{w3Vnn%rvaH$jh*XAQ82r)JEQ{Eu^N7X#ypbQ~Zf&&WBkwiQ-&P#DU@X

    wuI`z5D#uCcgj_So(3b; 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

    ^Pjv~a(oGbYuW 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 literal 0 HcmV?d00001 diff --git a/src/images/logoYandex.png b/src/images/logoYandex.png new file mode 100644 index 0000000000000000000000000000000000000000..e8732e9a29636b532bb44619ca3b6c802d0839e7 GIT binary patch literal 7842 zcmZ{Jby!qg*Eh`&4&5Lv&CuPAgrsycgfI*O0@4g64T{vzjijW~14wtLlyo;p_~Ly( z&-;DfAKzKmbNG(m}XV{e3NJvP}R8FmdUQtm|5Dy=SkB{p~gUkKBi-(mrmy0{&zfS(^M*-|^ z zep1*jLqEBZkf@JT6=e0ikq^xm)%z zu~a)diHsgw*DE_-S6+t;f{W}CxU`De&!`r+v?HTX%|*tlUV);hqw>`-7eEyGRI#B*?p;QqVu-WxH{>+t!ex<582^@h$AVdx_0m!|&QA zZECG2QUL(HNnzWg*~MELlw%fw56sS9@CK;1^R`Qpmvc^@$WvFePvh-`?i$ zc1Lb>N?p(j#H0&2ajWa9{5$?C>p?6wyEtUrV^jS^VGkun&6R{fawDt->p|->Ol}>Y z@H50jGM#zD(h6<AE@oBKeEOy`vsq;_mLa^U-!RQTKzve*@SGauP?>+K&S6+=byl4gf9YG_#k5NEcDV0C>=XjFohrB*w$NWQ!UpSXfv&%}kf^Cz$ zPuJ0n+g-SD#;^G^ZI4Hd8eRoIoA*6#O*v~nVIbkwnVQC^aH99#iZLV_^7gt3TZIe`jwJArF|b6e7IN6Nm~fMy5FTt6-KXY8<4qs4c6wXJ@ zva!i?oW?GD*D-~+rG-er#{5Mhd4JP&E#NhxZrtLEjM!H}yV;3uF^x$Va*_oP8W4k3 z`9$tX86)s=C8Zx&4<T{DT7AGK$%P)o);lJOS8E60+Y%wfl_OLNzbk~p*WWGTeF*pxypO3)wOIz>Zi zg%{p1C;FRN{jYG-C~?zI>kwDJR#o9J+L1!F6xhT!x6P>PgUkKdkmOd+hxBUaF<239 z&IU$uz!`7rrJdR$Ep`4{4zj=Fe6bp<%bADIuW@JDvJM<3LYdV>nge@U62G=#%4xN* zC^V8FK=ODy6l!NnYi|&i?77kN?DzWlvjvOXPDRJH-fRr6Pjh@h5vX^Uxu*yD4I!Uc zUg5(KF4pPmhTtzOLmPYDrJu3z?b~noH?f7&*zfexxOF0guhlfLDALjdbSl0TDoLrdI-bW zazuW?Bj|<#unQj3%&s&hyO2K}=w0J9tSoVEJZg1@10W5KT|O6G*DLc|M9f)Y@8m)? zFGLi~<h{(M!*bZJb1{A5KXsX~azS0T131H))**%$oS6cLRMc{q?7B}p;wS?#Yhm9xJ ztidBP%q3E%aQ884dz-jxr1oM{}nb zs!8~bY8DE(qlf#L+qO-UaetU?4h_XsaR@N8u?a=Nztk@^&gA2{?vBl_D&~T>^CaD0 zlTxCR&PTWEEPW)!w!TRS?p!xpX_!S>tcQThklRelMI>*hCXEB*@BLDRYNf0$wiBkx zfxv?mKFW_zX7^ z_Hl2a^yT;4nUs+`S2O^a<5Zs&>Bpzt-arC#x&2UjwWrU)d6`sYn3nbaN)#uHv3jTd zW5wVHI4?&$9D2r3l(D|r zqt@SJMIb2_2N=>=ho$%3VI|j6jBVky%L*O^z4VUd>S+JZ;NJ%)^{*j$V14veg2uX) z4tnR?oT%^!t!!y8p?7-=l616zuEUBk3k)J70tnq=&8Uxrl1IN|SK%xH@7xxM_w_Kv zL+6$^P!eXtXh|kf`44W~sQ8QLp-TIsn#w-rmOHDD_pjU6(T^u8A|9RFWNEsX78oU> zNkL|g1VK5-8o5%7hd=8eWUc14LU14p&E2GY1dy~dUCr6tCpOeV1(gCO1YC>nPuX3WrJzQeg@DCixhgF9b`a@4Xd zf5-i1>sKO}%gS=mC%dh5iY#w;RLiLZ3e=rVDMI`y9UxIW>;|PQ3!*TR#lV z;mwBoj?=+>zPxS**Mf@-(kt*HEtl<`6dYzn#*OLFjEcF}OVO(=5%;3^LaWBjE=e4y z(5cVFNXJJ}n`)Pp0?tzk?Or~pi^9O>xm6FP_0}gO*ZV}_h8R4x!Ck=sQyf`*$Eja4 z@m5SxyRPk0lCi87$IA{pTT$|CzVenugmLnou3D`WmVFTWlgNs|M4G7)n&21cc1@aD zjgaN?3dOYZnbKK0%P&@%5sK34Bno2}v7`(hEvs_xG36k1b@#RQF7Hh~zs*HIYf`Jp z^akR8ahfUr6~D*6Dnq&@YmMe?81?k;(j8~swtXJGGk#I}Nl;$V${K}1ew+bn+E|J8 zGwp2U8FqWq#eP-sPD;Kq=dZI(kR>9GAbxuQqC|kJ1n#9ZfYpXX#4>TtMdd(`pA#<^g`MP+ZpM2oO}AGXr+eG82ZpTzKk>3wjrD*3 zX2jg9)G0j6(P3kAmtw;8gO}NNCpUu2o6-8b2ow|lyLEg?R{6yzc;@1tdJ}ms9DWda zl~#!>LF-NyZQ$7PbnItTJCM*k9c!}nYadeepY~Zc%^{MGmVcy@1?Z}I+C2KL*>&p3 zNvwgxH(G0Sqq7sXZ6D>V|ImXot2s85(^X=_50kU$Ouqd<@!{c#_m=pxCLaMXZl=gM z(XL~}okYE{!3gp94J5P+w()ff^S`^=F&hQf<`&q0Tq4&953uw6>>8}jCh})ab^xklcL^_P3T;*vaV10h z4la;pKJ$t;AdaCgLo^yd6U5(aa@sBZr)3CgW)|`6xkG=veBDA_eLPQyoa;@>VJF3G zEhh<+Rj4+Og0MUxtO$uBBJD62u&UpUD7z*EWlvSnJHj$VMJ!8Mar~#Gnx6T8hu|nH zPYEWm1#1yqhuR6{^0k{a2JslJ1YXA$lFPjljkG-5FV#)1 zky-Lx@z*g?whHETSe@EKI@h zeC4?6;OlRsHblzED?B1X2g~kGSe=z+Z2(z4Br>`i8B#WfOUr7fAX-OE;DL?iB*a;@ ze`d)U=OKla7$&6|!CN6)u0SwVVyqhK8QSbNpNSuufdBq|heENUn(yNoMt@z$1%WHJ zm7GSzaPvp6<zhRAwpkn+H&DX!IJR84j0mD!N6d$7$d?%$(ZZy;mkrd z)0*QRjcq?7Sc%6#0aj1|LQ>fJRCDiWHl+f9(GJV26!y8~c@Asy0Z{(W83 zFl~{+m-O(>;2BDL%eW!E*2W;f_N%&uA17! zNkQraXF+Xgh*3dAnL%ZG|J@nq-45705lKP*xsOQM##NuxfC@e=PJGQ>>AYiA=wsAZ z(XE=3P<%xGe2rr=#XS{V8Y(nhVipmWg-0B>RkP9C(#t9JJAFJW3w)eLW<6P~o+rgw zo;vP}gAk5t)sc(F&1N2yOp=nvuxs!d>~h$SqnSE~_`+Y;{Sc-Xaq77U!dGd@rY3?t&s$KIt^RH@VI`neQ=cC^a1b5}`B`RAHCJ?($qFZxv+3;#r&tv;_^Lyq?DVpR zwc9SefAHMuYB z@XMQ>*}(#qpMxIdCvfO_b6~En9Z_w^2-7Ro(cYZ>68VvO4ZB5aOj{}oE4{NfT8iOZ zQ_yHI{mk%vJg?M6;9A;q|B4@X_T~Nh3h)#D_tmZpN+++H@XEzq! zh8USi%VVbRfRK@vogH$2O*%g{UEsd_e!jg^OdCL#rsP;eu`>Fhg=jH1(;V`3o!MdU zVm>bKcqa_@58P5kt2&;&+g%QJDkFR|RIA7Xq`f-cm_##kn}ysEYa+B}%WRkYz5}C5`AekV>2gWc?~_4w(?1ZA9&m>m4X~Hnzl1mNdleOBD*fhd%-A?M81*%V6J+tnpWJf z-uk;)jerJm3f>V+i3rWnDgtZwS$IVc!>Oc((z4*2>0I99b|2 zV>ls-Xe#pi9INSyl>~PE0F6aep>5R<_N=cz6bvJeP?$l{v?UdU-X!7!r{nH`9$;D;hqVC`}v)=2F^Q~5<7D|8=taABu?wn!nZK}90oEF_#P7&S z8XYc+KK;7xQngYS>wRBYonqN2V`iv2jfCbiuF)`{oMUnh z5NT%2deKb@ZH_!BAVo4N2LQc2&x5*3L}bLVdz<@qSuUm>s#qzL9^P0yeX7=PzIJ*p z1^z*$KYW87`2vZMHnvZgpBj|KX*+`mxg*NiF3`wSPs)P z$*acNctl)9C}H^Bi65z-4`#_zj>K)N4jF6=(d%xhTkS{L(*wLnGO%C3UU2$UbI##w=AaOLKT6Yc$&*$z<7Hbk3qn=#-3SiJWU%P?Mt<7O! zng2v?UvR?BzFcm6z2aPadGP3yl6A?}pKI?Et`LBFP6MQv@Lg0{-#o0$3Zv6he9Gyx zbJcxq8_Utw#gWP-FfWpW3q$GzsIu@pd)1AxMHI;K#(7B-(OCtzux2Gam!eZR!SwOL zYs+g-xu`hrwE5ylBsCWE089cd(6`X?JM@s@t;)wwa5od0h|}4A75`-NL%u?K=6~{ingp zBqnlYIC2pigO&3LS*88_+TM9;bivyCJKQ!o z_6m4D_|*@-`I2X!u;gq*kZ!qwDP!RZ@YTV{4}8Q@O=50-T+ICDz`3mo7_kp%-yT`k z(T_!gH`X;W@^8hC`ZgLP)h%(sx?oY&307-J2Y&rZp7RS%A`4bUk)_fHlEXpqZ&Oz# ztbcVmBW;m0qzWJcyo~gEKpBf(9aTQE#U0V;s3;Sihz>44TL2-$%eegeEa* zWhb2-N07w{RJVn%LI$ zu6~7i$O?ujZywjJw>Hwq5%TuKQ%1FiJGx9@?pahFYn`ecBYW+xajg$CWU2b6_CxC1 zj%f}yq#MjXPCy*#43J;DchfEQos`1unil8_LAyqc!3H4#gF`b#x2s>pJV}DnxLx>n zQW&6#4UVChZWQyq)+LLKf^+)4sEA9~HXr%7ckqo1cK$nw`QWXuyyJE0Sa#wvC#WLn zDO~zPvqXP*s-KQ>4b^)H)JK+Xn=e-=lK~22MPPoubm-d9ZTIwpuP=SnCKF+|Nh!XOo_+*^feWQz0s^}T&) zkT#3cwS1v#T41#eMzU;^1O}SI7cH3 zF5Q`R9RM`;r~hx=5Ff$VUv<6?ico>Lyc%Z+miGH^X(RnaEDnDjTRE}&un(En@|PR9 z;PoX^497r_U(DgXkQH{Xw8BprhYazyB_#&;^uK58{ic-a$4^0cLmO8C9v&{EM9#)pU~R-?^LzqZzy!#SgAC?@8%DbQ2x~LHsWA z1Q}cO@Ud@jF!0&4p@uA`qvxH<-Nj{O(+Q9d%X_HMF1n&;+`nx_1E;FcE!fK`hF=kS zr^yg?s>MnJ0u>Ah5Izn0xCko87Y2C^Vu&A}yGmuRxhH|Ug6HBE1aCR`#hT?oqdMYC(|n+0d%s^7ue zx4I=$9ATGUg9mPXk>ApRugFD^?+i*g)xsCcLzCyR!LPsQYV zyFCexEI0hD=P7NE+a3fDr`LLayC7cVn_(oo*s>v!8d(Ok5#kc4=DHPzSjpz4|i8H0+KefYx7|g#I&yYMgkrV zb3I7hHIrmCII`4O-~sg>;2;n zmjVgQxia~^)OgcvDiuA7%PeEQmXxcc`9w+3S&l~h-E`D1tNj~lg`XBG?wn{WKVoO~ z-86{}L>})b_{UTh{b;}VK#IuvM*(<3kS){06L#SueAl>aK`(lZG^yy-%1vQ~+I&I< zWk2hD`G$~KWVf4=abtK4W3Aa@&gF%rQ&e(^&d^$w+kl7gQ*IL$>bN3S!xC{vOD6KYzAw;6K5Wv5J5ci7o3#$y z4<&sFdF!9B;rg!S1z@^H8M;4@n%d|~k%RyxjEi^g{;Xv~Oqm zV%ZVQS%$p*>Yy7jdFCeAj%xnX#HN+Yq>)+b$IC91)h6_NJClY$4H4*e$gVEdejs&+ z+P!8;{>$mTQ!(@&VXONQx6Oer_~zao8I2zHCl2cUXv36jZnHe6K9#PZ$XX@q`5_jT zJJJ}f3Lg#9j;ocNAE{Q6s|_2)qbtPBOv+2no(u-Fn!Lzn5nA)#-q|CK9LgV28*yzv z<(UOR{U-O#o4RhJc!wB?o;l-|y%KXdA5Cw=*iLsR+uwX8;7y>YcLYhiEywbquN?SW zmlD}V5+JF4vC-mj)*lJxEq}E!is#z$Vn-Pq75;C*r{Jv&7DDAtQP1~pVQ~F3>PtWm zN3%XS3N;Efu?LwMjq#97`|xiy?1RBm)sVdE;Pq#=zZEY^%%n*5f(M2#l7CfC2apS~ d{{M#ewDa9}C9?Rq0)MN?s*0Klm2#G_{{ct>t|9;c literal 0 HcmV?d00001 diff --git a/src/index.css b/src/index.css index 2b6e525..2405f43 100644 --- a/src/index.css +++ b/src/index.css @@ -1,12 +1,7 @@ body { - padding: 0; + min-width: 760px; + height: 100vh; margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', - 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; + background-color: #e5eaf0; + font-family: 'HelveticaNeue', sans-serif; } diff --git a/src/index.jsx b/src/index.jsx index ffc72ee..05512fe 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -1,7 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { App } from './app'; +import { App } from './components/app'; import './index.css'; diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts new file mode 100644 index 0000000..6431bc5 --- /dev/null +++ b/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..2f4d2c3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve" + }, + "include": ["src"] +} From bb79a060b198fa4ff18293a8c8b6e145a31cf8ae Mon Sep 17 00:00:00 2001 From: airosso Date: Mon, 6 May 2019 00:21:20 +0300 Subject: [PATCH 2/9] letter --- package-lock.json | 22 +++++ package.json | 4 +- src/components/Letter/Letter.tsx | 153 +++++++++++++++++-------------- 3 files changed, 108 insertions(+), 71 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c7ccff..d4b007b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1332,6 +1332,14 @@ "@types/react": "*" } }, + "@types/react-window": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.0.tgz", + "integrity": "sha512-+3pDwfns884TPYCCFFQObruGI1cOeVHAJ34KvyyhsFGTgCQtfR6Fhnh5TKdvATeHE2AslnU/dHx+tcfJgbhZ8Q==", + "requires": { + "@types/react": "*" + } + }, "@types/tapable": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.2.tgz", @@ -10759,6 +10767,11 @@ "mimic-fn": "^1.0.0" } }, + "memoize-one": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.0.4.tgz", + "integrity": "sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA==" + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -13780,6 +13793,15 @@ "prop-types": "^15.6.2" } }, + "react-window": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.1.tgz", + "integrity": "sha512-iNzekymggL9zAnil3QbmRG74RDMfIbO+plE/soP3M/zskicA1DwoLthC6/QA6xu9dr+A5UoawCTsEYcva2mfeA==", + "requires": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", diff --git a/package.json b/package.json index 9edb750..f338b7d 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,13 @@ "@types/react": "16.8.16", "@types/react-dom": "16.8.4", "@types/react-transition-group": "2.9.1", + "@types/react-window": "1.8.0", "@typescript-eslint/eslint-plugin": "1.7.0", "@typescript-eslint/parser": "1.7.0", "react": "16.8.6", "react-dom": "16.8.6", - "react-transition-group": "4.0.0" + "react-transition-group": "4.0.0", + "react-window": "1.8.1" }, "devDependencies": { "@hellroot/eslint-config": "1.8.0", diff --git a/src/components/Letter/Letter.tsx b/src/components/Letter/Letter.tsx index 188fc23..339f08a 100644 --- a/src/components/Letter/Letter.tsx +++ b/src/components/Letter/Letter.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useEffect, useState } from 'react'; +import { Component } from 'react'; import { CSSTransition } from 'react-transition-group'; import style from './Letter.module.css'; @@ -13,80 +13,93 @@ interface LetterProps { toggleLetter: (id: number) => void; } -export const Letter = ({ letter, toggleLetter }: LetterProps) => { - const [inProp, setIn] = useState(false); - useEffect(() => { - if (letter.new) { - setTimeout(() => setIn(true), 1); - } - }, []); - const { icon } = letter; - const indicatorClassList = [style.unreadIndicator]; - const liClassList = [style.letter]; - if (letter.unread) { - indicatorClassList.push(style.unreadIndicator_active); - liClassList.push(style.unread); +interface LetterState { + mounted: boolean +} + +export class Letter extends Component { + readonly state = { mounted: !this.props.letter.new }; + + componentDidMount() { + this.setState({ mounted: true }) } - if (letter.new) { - liClassList.push(style.new); + + componentWillUnmount() { + this.setState({ mounted: false }) } - let iconJSX; - if (icon) { - const color = letter.color ? letter.color : '#ff3333'; - iconJSX = ( -

    - {icon} -
    - ); - } else if (letter.avatar) { - iconJSX = ( -
    - avatar -
    - ); + + shouldComponentUpdate(nextProps: Readonly, nextState: Readonly): boolean { + return this.props.letter !== nextProps.letter || nextState.mounted !== this.state.mounted; } - const toggleThisLetter = () => toggleLetter(letter.key); - const innerJsx = ( -
    - - {iconJSX} -
    {letter.author}
    -
    -
    {letter.title}
    -
    {letter.date}
    -
    - ); + render() { + const letter = this.props.letter; + const { icon } = letter; + const indicatorClassList = [style.unreadIndicator]; + const liClassList = [style.letter]; + if (letter.unread) { + indicatorClassList.push(style.unreadIndicator_active); + liClassList.push(style.unread); + } + let iconJSX; + if (icon) { + const color = letter.color ? letter.color : '#ff3333'; + iconJSX = ( +
    + {icon} +
    + ); + } else if (letter.avatar) { + iconJSX = ( +
    + avatar +
    + ); + } + const toggleThisLetter = () => this.props.toggleLetter(letter.key); - let letterJSX; - if (letter.story) { - letterJSX = ( -
  • - -
  • + const innerJsx = ( +
    + + {iconJSX} +
    {letter.author}
    +
    +
    {letter.title}
    +
    {letter.date}
    +
    ); - } else { - letterJSX = ( -
  • - {innerJsx} -
  • + + let letterJSX; + if (letter.story) { + letterJSX = ( +
  • + +
  • + ); + } else { + letterJSX = ( +
  • + {innerJsx} +
  • + ); + } + + return ( + + {letterJSX} + ); } - - return ( - - {letterJSX} - - ); -}; +} From 7daa2fee36370cbfa78f0356de6156a37264ab5f Mon Sep 17 00:00:00 2001 From: airosso Date: Mon, 6 May 2019 21:47:16 +0300 Subject: [PATCH 3/9] react-window --- package-lock.json | 13 ++++++++ package.json | 2 ++ src/components/Letter/Letter.tsx | 27 +++++++++------ src/components/Letter/letter-animations.css | 13 ++++---- src/components/MailList/MailList.tsx | 37 +++++++++++++++------ src/components/Menu/Menu.tsx | 4 ++- src/components/app.tsx | 29 ++++++++++++++-- 7 files changed, 95 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index d4b007b..16facda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1332,6 +1332,14 @@ "@types/react": "*" } }, + "@types/react-virtualized-auto-sizer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.0.tgz", + "integrity": "sha512-NMErdIdSnm2j/7IqMteRiRvRulpjoELnXWUwdbucYCz84xG9PHcoOrr7QfXwB/ku7wd6egiKFrzt/+QK4Imeeg==", + "requires": { + "@types/react": "*" + } + }, "@types/react-window": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.0.tgz", @@ -13793,6 +13801,11 @@ "prop-types": "^15.6.2" } }, + "react-virtualized-auto-sizer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz", + "integrity": "sha512-MYXhTY1BZpdJFjUovvYHVBmkq79szK/k7V3MO+36gJkWGkrXKtyr4vCPtpphaTLRAdDNoYEYFZWE8LjN+PIHNg==" + }, "react-window": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.1.tgz", diff --git a/package.json b/package.json index f338b7d..45e4f87 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,14 @@ "@types/react": "16.8.16", "@types/react-dom": "16.8.4", "@types/react-transition-group": "2.9.1", + "@types/react-virtualized-auto-sizer": "1.0.0", "@types/react-window": "1.8.0", "@typescript-eslint/eslint-plugin": "1.7.0", "@typescript-eslint/parser": "1.7.0", "react": "16.8.6", "react-dom": "16.8.6", "react-transition-group": "4.0.0", + "react-virtualized-auto-sizer": "1.0.2", "react-window": "1.8.1" }, "devDependencies": { diff --git a/src/components/Letter/Letter.tsx b/src/components/Letter/Letter.tsx index 339f08a..42acf83 100644 --- a/src/components/Letter/Letter.tsx +++ b/src/components/Letter/Letter.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { Component } from 'react'; +import { PureComponent } from 'react'; import { CSSTransition } from 'react-transition-group'; import style from './Letter.module.css'; @@ -11,25 +11,25 @@ import { ILetter } from '../app'; interface LetterProps { letter: ILetter; toggleLetter: (id: number) => void; + passedStyle: any; } interface LetterState { mounted: boolean } -export class Letter extends Component { +export class Letter extends PureComponent { readonly state = { mounted: !this.props.letter.new }; componentDidMount() { this.setState({ mounted: true }) } - componentWillUnmount() { - this.setState({ mounted: false }) - } - - shouldComponentUpdate(nextProps: Readonly, nextState: Readonly): boolean { - return this.props.letter !== nextProps.letter || nextState.mounted !== this.state.mounted; + componentWillReceiveProps(nextProps: Readonly, nextContext: any): void { + if (nextProps.letter.deleted) { + console.log(nextProps.letter.deleted); + this.setState({ mounted: false }) + } } render() { @@ -75,9 +75,12 @@ export class Letter extends Component { ); let letterJSX; + + const { left, ...passedStyle } = this.props.passedStyle; + if (letter.story) { letterJSX = ( -
  • +
  • @@ -85,7 +88,7 @@ export class Letter extends Component { ); } else { letterJSX = ( -
  • +
  • {innerJsx}
  • ); @@ -95,7 +98,9 @@ export class Letter extends Component { this.props.letter.new = false} + onExit={() => console.info("fuck me")} + timeout={{ enter: 2000, exit: 50000 }} key={letter.key} > {letterJSX} diff --git a/src/components/Letter/letter-animations.css b/src/components/Letter/letter-animations.css index 7f704f4..6a11d41 100644 --- a/src/components/Letter/letter-animations.css +++ b/src/components/Letter/letter-animations.css @@ -14,21 +14,22 @@ } .letter-exit { - height: 40px; background-color: #fff; + left: 0; + opacity: 1; } .letter-exit.letter-exit-active { overflow: hidden; - height: 0; - + left: 200px; border: unset; - transition: height 0.5s ease-in; + opacity: 0; + transition: all 0.5s ease-out; } .letter-exit-done { overflow: hidden; - height: 0; - border: unset; + opacity: 0; + left: 200px; } diff --git a/src/components/MailList/MailList.tsx b/src/components/MailList/MailList.tsx index 2736d61..43bb180 100644 --- a/src/components/MailList/MailList.tsx +++ b/src/components/MailList/MailList.tsx @@ -1,7 +1,8 @@ import * as React from 'react'; import { Letter } from '../Letter/Letter'; +import { FixedSizeList } from 'react-window'; +import AutoSizer from 'react-virtualized-auto-sizer'; -import style from './MailList.module.css'; import { ILetter } from '../app'; interface MailListProps { @@ -9,16 +10,32 @@ interface MailListProps { toggleLetter: (id: number) => void; } +const renderItem = ({ index, style, data }: {index: number, style: any, data: MailListProps}) => { + const letter = data.letters[index]; + return ; +}; + +function itemKey(index: number, data: MailListProps) { + return data.letters[index].key +} + export const MailList = ({ letters, toggleLetter }: MailListProps) => { - return ( -
      - {letters.map(letter => { - if (letter.new) { - return ; - } - return ; - })} -
    + return ( + + {({ height, width }) => ( + + {renderItem} + + )} + ); }; + diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx index decab43..725a344 100644 --- a/src/components/Menu/Menu.tsx +++ b/src/components/Menu/Menu.tsx @@ -6,9 +6,10 @@ import logo from '../../images/logoYandex.png'; interface MenuProps { newMail: () => void; + newBatchMail: () => void; } -export const Menu = ({ newMail }: MenuProps) => { +export const Menu = ({ newMail, newBatchMail }: MenuProps) => { return (
    @@ -18,6 +19,7 @@ export const Menu = ({ newMail }: MenuProps) => {
    + diff --git a/src/components/app.tsx b/src/components/app.tsx index 98e2298..0439535 100644 --- a/src/components/app.tsx +++ b/src/components/app.tsx @@ -99,6 +99,7 @@ export class App extends Component<{}, AppState> { deleteSelected = () => { const deletedKeys = this.state.letters.filter(x => !!x.selected).map(x => x.key); this.setState(({ letters }) => { + console.log("delete"); const after = letters.map(({ selected, ...rest }) => { if (selected) { return { @@ -117,7 +118,7 @@ export class App extends Component<{}, AppState> { const newLetters = letters.filter(({ key }) => !deletedKeys.includes(key)); return { letters: newLetters }; }); - }, 2000); + }, 500); }; newMail = () => { @@ -133,14 +134,38 @@ export class App extends Component<{}, AppState> { date: `${Math.floor(28 * Math.random() + 1)} ${months[Math.floor(Math.random() * 12)]}`, new: true }; + setTimeout(() => newLetter.new = false, 500); return { letters: [newLetter, ...oldLetters] }; }); }; + newBatchMail = () => { + const newLetters: ILetter[] = []; + for (let i = 0; i < 1000; i++) { + const sample = data[i % data.length]; + const newLetter = { + key: Math.random() * 2100000000, + author: sample.name, + title: sample.phrase, + unread: Math.random() < 0.5, + icon: sample.name[0], + color: `#${(((1 << 24) * Math.random()) | 0).toString(16)}`, + date: `${Math.floor(28 * Math.random() + 1)} ${months[Math.floor(Math.random() * 12)]}`, + new: true + }; + newLetters.push(newLetter) + } + setTimeout(() => { + newLetters.forEach(x => x.new = false); + }, 500); + this.setState(({ letters: [...oldLetters] }) => ({ letters: [...newLetters, ...oldLetters] })) + }; + toggleLetter = (id: number) => { this.setState(({ letters }) => { + console.log("toggle letter"); return { letters: letters.map(({ key, selected, ...rest }) => { if (key === id) { @@ -163,7 +188,7 @@ export class App extends Component<{}, AppState> { render() { return (
    - +
    Date: Wed, 8 May 2019 03:45:20 +0300 Subject: [PATCH 4/9] dark theme --- src/components/App/App.module.css | 11 +++ src/components/{data.ts => App/App.ts} | 0 src/components/{app.tsx => App/App.tsx} | 65 ++++++++++++------ .../Inbox}/images/christmas.jpg | Bin src/{ => components/Letter}/images/avatar.jpg | Bin src/components/Menu/images/logoYandex.png | Bin 0 -> 16952 bytes src/components/theme.ts | 0 src/images/logoYandex.png | Bin 7842 -> 0 bytes src/index.css | 27 +++++++- 9 files changed, 80 insertions(+), 23 deletions(-) create mode 100644 src/components/App/App.module.css rename src/components/{data.ts => App/App.ts} (100%) rename src/components/{app.tsx => App/App.tsx} (75%) rename src/{ => components/Inbox}/images/christmas.jpg (100%) rename src/{ => components/Letter}/images/avatar.jpg (100%) create mode 100644 src/components/Menu/images/logoYandex.png create mode 100644 src/components/theme.ts delete mode 100644 src/images/logoYandex.png diff --git a/src/components/App/App.module.css b/src/components/App/App.module.css new file mode 100644 index 0000000..20d0154 --- /dev/null +++ b/src/components/App/App.module.css @@ -0,0 +1,11 @@ +.app { + font-family: 'HelveticaNeue', sans-serif; +} + +.app--light { + background-color: var(--accent-background); +} + +.app--dark { + background-color: var(--accent-background--dark); +} diff --git a/src/components/data.ts b/src/components/App/App.ts similarity index 100% rename from src/components/data.ts rename to src/components/App/App.ts diff --git a/src/components/app.tsx b/src/components/App/App.tsx similarity index 75% rename from src/components/app.tsx rename to src/components/App/App.tsx index 0439535..509fbce 100644 --- a/src/components/app.tsx +++ b/src/components/App/App.tsx @@ -4,6 +4,9 @@ import { data, months } from './data'; import { Menu } from './Menu/Menu'; import { Main } from './Main/Main' import { Color } from 'csstype'; +import { getThemed, Theme, ThemeContext } from './theme'; + +import style from './App.module.css'; export interface ILetter { key: number; @@ -22,6 +25,7 @@ export interface ILetter { interface AppState { letters: ILetter[] + theme: Theme; } export class App extends Component<{}, AppState> { @@ -58,7 +62,8 @@ export class App extends Component<{}, AppState> { title: 'Заклинание', date: '5 мар' } - ] + ], + theme: (theme => theme ? theme : 'dark')(localStorage.getItem('theme') as Theme) }; componentDidMount() { @@ -85,20 +90,20 @@ export class App extends Component<{}, AppState> { toggleAll = () => { const cur = this.allSelected(); - this.setState(({ letters }) => { + this.setState(({ letters, theme }) => { const allSelected = letters.map(({ selected, ...fields }) => { return { selected: !cur, ...fields }; }); - return { letters: allSelected }; + return { letters: allSelected, theme }; }); }; deleteSelected = () => { const deletedKeys = this.state.letters.filter(x => !!x.selected).map(x => x.key); - this.setState(({ letters }) => { + this.setState(({ letters, theme }) => { console.log("delete"); const after = letters.map(({ selected, ...rest }) => { if (selected) { @@ -111,19 +116,19 @@ export class App extends Component<{}, AppState> { ...rest }; }); - return { letters: after }; + return { letters: after, theme }; }); setTimeout(() => { - this.setState(({ letters }) => { + this.setState(({ letters, theme }) => { const newLetters = letters.filter(({ key }) => !deletedKeys.includes(key)); - return { letters: newLetters }; + return { letters: newLetters, theme }; }); }, 500); }; newMail = () => { const sample = data[Math.floor(Math.random() * data.length)]; - this.setState(({ letters: [...oldLetters] }) => { + this.setState(({ letters: [...oldLetters], theme }) => { const newLetter = { key: Math.random() * 2100000000, author: sample.name, @@ -136,7 +141,7 @@ export class App extends Component<{}, AppState> { }; setTimeout(() => newLetter.new = false, 500); return { - letters: [newLetter, ...oldLetters] + letters: [newLetter, ...oldLetters], theme }; }); }; @@ -160,11 +165,13 @@ export class App extends Component<{}, AppState> { setTimeout(() => { newLetters.forEach(x => x.new = false); }, 500); - this.setState(({ letters: [...oldLetters] }) => ({ letters: [...newLetters, ...oldLetters] })) + this.setState(({ letters: [...oldLetters], theme }) => ({ + letters: [...newLetters, ...oldLetters], theme + })) }; toggleLetter = (id: number) => { - this.setState(({ letters }) => { + this.setState(({ letters, theme }) => { console.log("toggle letter"); return { letters: letters.map(({ key, selected, ...rest }) => { @@ -180,23 +187,37 @@ export class App extends Component<{}, AppState> { selected, ...rest }; - }) + }), + theme }; }); }; + toggleTheme = () => { + this.setState(({ theme, ...rest }) => { + const newTheme = theme === 'dark' ? 'light' : 'dark'; + localStorage.setItem('theme', newTheme); + return { + ...rest, + theme: newTheme + } + }) + }; + render() { return ( -
    - -
    -
    + +
    + +
    +
    +
    ); } } diff --git a/src/images/christmas.jpg b/src/components/Inbox/images/christmas.jpg similarity index 100% rename from src/images/christmas.jpg rename to src/components/Inbox/images/christmas.jpg diff --git a/src/images/avatar.jpg b/src/components/Letter/images/avatar.jpg similarity index 100% rename from src/images/avatar.jpg rename to src/components/Letter/images/avatar.jpg diff --git a/src/components/Menu/images/logoYandex.png b/src/components/Menu/images/logoYandex.png new file mode 100644 index 0000000000000000000000000000000000000000..8dff08f35a960934458451691abc1b1b14a6edc9 GIT binary patch literal 16952 zcmeHubyS^8vM=uL8Z%IR5)`qXUtA5p8T~%FOAA~E&i6bKrAb^2^Axlb#D1m{23xb|S;9x*MNvcCRz`(F) zJybqADH*tu+Bw*om|Fo!o!sq!q(C=w6EHBh`I2N)2cm|r!7oPGRZ#VaRYbF4a~<@) zt%0TCH3_<(cIa*vH&$gYGRnp*Pw$?* z^tioNg4=wL9iEr5?r6@E-?x3ea7PXtJDNeh^7KyheOa8kBF^`QMG%1X(UW97c)Dr4 zCZ_2b+gW>PI#_uSdmeIWeObS6_%b%z_LNT7G283*uF*|NB0WR2ic&4wgP?i-VXj^x z1J&o`#PrGWaB-}z4Vo!Ipl>wl1bgo!%kH@kd8-c3TLATXVMhQ)CFr>^`*g$l@!>_^ zU%=*0{P1|`X!&ApsXtf(`(|k}3a!;un+qQ3QHR}1_wxDX%G8p3C=^g}rZPq@|`^>nmbIj+7{&BtCkNN#BN8*iV^PWFd20Qrm&@}nf~?~cFblhFLuRrVa6O?)g@7{V zX|ymS3W30czW5DF$PW7BRmKL%!f2vK|AvPA5LfH!+dDinGW4%fMY$njWE$LrSIUk# zAt7&vMu$JCT25QXt2k6BNilR5C@POkSrpdP&L5Z+Zkd!+&ubo7U(RBpnY3K)dmOYx zb>s$S!MdWB;u-ZOnWS?J6<3YC@5}a5)2$sW`ccx_8_8=u@B2+>$)@SVzB4Oc?!C)k zVSbuVZ{D;`EQAKR2!8VA4s<_i~BpfOp)yG)BgN478(=jE0AV2HzA;(>vezy4y0A zo%qI=sA2BBm{Mp4xz`H@S3G- zTDshsxzo?Ne!6i^ZC>ndB4&KWmO}_@KoPDdP6Tdzg z^v=_>)yZL_VrsO(hA-shVLBeMat3JQ5%O4CClD*Z#COoL?^KQ!PSPP(rlLTO@IQ=R zbvq@;069`kH8+P%Xx^p~=k!w)lQ_4%7xU@M1K9HETE9Gju-wBnlKTo9x`U^zu!3lmzY5J^v;@5{veevD1SiQOi z%6u5h%7h7tX6mWKAS4ySaGxv>F}@vJ?Io60TP$CO5oan7qU_!E<@}?hz6k7*)M^^LTXKzni7Sk;?W504T zQD%~S%ig2j@%}jX{ytdyR(sz?*pKY_^obyDIqo3R2oi#SQp+_Au{E6^%c4~Q(j6Qk z#=(p>WRy1LZeNJEwT!R>A~(<9nDtkOy{R4YX*Sm^*W2mPsiY#=@h}{f7aR6f%2v~8 z_D;>BLRl*}|Ap_RA0;)b+OsUn>N%H)@FJ{Zq7#{RKfTYoLDhF0-gc^qaw=@awk<5$ zwZ_6?CxnN}s`H{Q%o(E=?a}w)tc-CTBbN%(QyLKT|18~oIy5v z&b1ey?#D5^MyNQyTo9Ttn(P{Q$lvtAJGM?XFx1V6UZe9z%+lN_Sd&%@+~+cRJsIKbI;8wqN+G_h<7|%?L^8bgRL=ez8VEz zc!^heI9mw#nAck4o0AVQ0^A%n_|xP)O?t2I!_$qA$>RI5w?FJnDWjnWdx|N#F+iGG zw(BH}Jj9)ldhE8d(|xMAPk_KC!ROsYq+t}b6XZpi*)wU&%uXmk{fYF10{EIp>=!kk zgP`o0h7>yejs^`99uK>e!0(x?gHZy^(u}j5ww==Gr(oCT#4X9ZfKkm*cp#3B$U9}C z!S81N8t)q&(gN1Ltss;gVi1r5+#Jk zB_zFj9W?>dCVoLF{7t4-2s)J(Iw_b^kZUH<70gN?25goLIA;{JSG6B41bj4mbr06b z2afJgG}u#LA;WmI4|?FYI`!#2i(KVH}-~p(x>n;UJ6yF?!^8jAb~#q#=eXuh^fw4tic`v7?cK4+9^LJ~7h`WDsw~L&Ff~vI=w+7gzyA5q1rK5ygM5gp#EQ z_ALTCN#fqNDh?IPej~pU-do=rroYq=Ald{lgVVUG1T%zEkQTQS*{muB0c11m>ek2S zdz*89kwWtzR`7}X;DCjRcvpwSiI8MtA;?Ilgfu%K)9#CY7cZIYV}DNLpw9Uf?Ib(O zkDp9Wj?_&^wT)K#p0fLk*xoSiOutg5>UcLsr~O+s!;-LXRrIb4BXx;CIQYBvhU3+bd5#{-$v%I{gi zTtxKx&0~#>dy13EH=myM^y0qrzZ>t>pQeMnZ&se8ZB!LIt1ZiiL)pWHLVM#DV19Qi z!~MaD+Qcvuf$|>cLYpRgJJD|0R7%Y7 zL76t6l%O&sZ=oFInQ0&SiVmduNCWOu^AwP=^#l7u1+2i2XTVvDLxj7%DSF8t`jXJa z?z*@j2$0Kr5Ha(4JNpUY{Rg8B^|-HTwN4&mFG*^QX2T0P1{jD>MUE$ID^YL{<(10$ zr52k_@asmRdcbJO?CT&-@liI|YG7th;dKSi2iHUkpz>&b%I1Q{ajj~KXg2^Enyp(4 z=8Ps4#hfCP46!>4`un-ohX5wsxR9ahkPJJ?9~Pn83pydzp{?FWBDXB6J7I1zfV+th z-ZhdEFQP9YCr0nGjLV1GC|~59D&#wL;;d$y$CQOLa*^x8w&nzP#d_1XlRC>fM`m3> znbFmmdG1Gl4uC=_G(0B`^ddGtRs(kKafL1u&jVI9qfy6MN?s;cJY7DBLhl`vR%z7w zIk(peYu=Vr?T_-a;EQgUQTu@*bd&lg42J=F95zm&S~Gp8E?|%G^66FzsF-;c8b1K1 zBnc+^oqQ>Yqv>HFAxcE02Calk%7uMVv0=75bUDak7WVV`JC!Y5KV}!S(3w$dk1l_F z1MU=XFjN517X$mkBNJ2MeoH!@H6`A5f`&FxNwX>|zPV517Q`WuMQ@kEM}Ad_qm{dq zz6*&N<6E^IglvY?9SNU4i=KVPl^+~DPNwO1N)>AaG4DNI4~TiYiee>tiYv_`#a0j^ zIF**VW@n78dzRA{6^OX3n;%510M2Qo5j}oN#SmfcPlu-QqyY2%mtZyHli)C{ZfuD_ zS@>Dp_~BE9dI(Q@CaKiGsqlbRYk7a99a)^jB~0xld+um-)}b|Ib@;JeqWK*&%}Fde zn(Ix@1$%kIwGa|=+N^b&8kD5nB!a+PeT9Ba?la`uG|ErZcP2aoBKrzTQn~@D12}Y0 zC7h+ugs7(mE%3fV^3YLg`Mm%FLfWoLg(#QCVnl0#*_gLh5XVv97e~sfYG45|i!AD{-CaT)dz{UZ2*pNS=JqG3oJ~Ti5?+e?5z*?C zx`T42_a412W#De)3Bj%Gpj!%rv2nh%V&DdpJsEy{`;6^4pkU!^XarlbM_Vk0X!wy7 zR>F3@{$@0^=u0QUX(W&=0~5W^{cRLOYK!oX0y`qa79?h-n={iUa*B12Rs4$tLx0O{ z)RSpS?7Zl+wJ_uluoK?{I$KoQdYZ@+n&F^#>=n!x-Ry zm9sQf$0%SoIBHR;>W~W<%>g}RFM5q~8AU@#H6bdcm3NGDX z1fZ0GU#PoplFi4>BNx=^@&|sL!eWD3OBTNuQ{;4Bzk%H3r&JSW@-(NJ@istxB z35A%`;J9OFhPyW2(9aIaq#Pc>l^>2N^Misyp>OP0o*Cm)Y>x%`Q<*VFtRNGL|5 zy0Ha>B??BGznqyb$}yb?j;DNusuNLIm%93Q7$(EsX z%SVBxX}^IZzSzy_>nqOOsfT(%N56Uxr&Ec-#ZEkP zwK1RjP`b*ig< z5ZC<|mWOm8s`F0^!C(}zb_$GD5M9%>{V;{eJ4jMx)6!j<{1|EjW(pWKHP*-@|n8qn&{`_ zlfS?fhjjPl8@Z6C{N5OqpY#c3nI&xG63qY0M4A~6Kh|D~aZz3jF24bNZPuxz#MHo! zH!e>(S!x)0MBQOPtLoTUt5eXTk}sZH=FX!$d4*ux1&LR@FdZ5=scJivyI{bD$bPWH zxd+@v-Y3tl9{KIjI(c|bmS$R7g}YZ^5FUkS zm@rK}$g@@Ku?oFP8d-S60@(?#)XqifRQ?`M_|_R3?Q5yt0;EEA%iOgy@in0s}{&n1%Xb} z*`_8m-+`*~JNhK1-w-vuOy7yW=#l&P z)|u}ze7r8Oqg}zs|F&0#jNa+<$96Bb;1^`Uk*2;8o2;$m(Ue_?Th?D#xGAzS^m|-H zCslKyLhKsagHwIL#n(&|Kp>fyZ4;2b)QfmDoaYC;xen+nJsj{yHt6kLs zE)5PY+itdkPb?S^>*_=wYl!A7vJiN6;+7}|9d0#l zYJnEFie@T!&bsSnT ztzmgX1$=+=AqU?Nmg&yl3Ve-`?w20*B_FZYY~rn04=@+c1k%XvC!$iRgclLO8$8)F zr}@&sV2oXZO^!bfLL1p8 z*5kt(Tj)o6o}GlAADlj;)7^%^+*7#-KWo1-xPHyaEZ6p&_8U74($iJG>LVKgk+dW5 zrOJ^^%^CYMUh4SX`6uv$+|}WKZFc6RPTV1%$4eF@p7%tE(G-iJRl&HgHSE zCO8~Ol{7Fg)N^xCjrXIh43CkmHKT#Cts#)n&DsuB0|o=*6L7OLFtP+Xks1O`&29L} zPnz1uNzIM<$<^6q0kU?&Kr?d*4+o&Khn$L$houp>F}c8d1U@$&5P&t%$$-?&+RDa} z$Bm!-H!ct8`L&ygob)$|lO;d-M_C0@VOs|vDH|gjBY;8F&D@2B{5=9GpM$XpkCKSk zpAeuHKe?HclN}EeldG#Mqbn<;t%E5OGdDLk6M%(@g@pk`!Qkj_<7D8*VB<*f3h@Vq z2++~U!Q9Tt+}4Kl71O}b*4c@loE$Vx`X@MO)JW6~)cL1?*Yp%v z6AJ*q#QB+W<~&$we>%7I68^C{6pTqIE%~oJ;*zoof9H8s zqp7*I-EWRp>c3JN8~vTm&e_50H;u6o6VM814Vs7}2$}hx=wDw6{GH>U*7G{@UnT+) z_phn{rmx>~`K?zT5nChYSD}(3{N%6m&6 zaG7v&F#y?3IDiJMKsIg;3FK%Gh0`i|2v$2kp3M-(80;o*1=NVLEg{;Xyo+Y)gQ1a;0RtB^ zH#3lvgPWO+%kcLG{~g`Y*2KxxzyT;|3i2V)K7%~y_db)-{5G<8|4i*_1_Vu#4#3I- z0FeK&y`+3huW|El%j0{EEV8mZe^mhAYvkdPe6=uTXFEG9bD+aNE9P&8@_(TF3;&-+ z`9HD$mFy30VOu+QkZ+nf$-CP8x8nZ=;U5Sx=0-ppN8A5y>iq9i;IB0ynbi4 zPl=8=BBCn8mLC)J zDJ7ItI%D@ADp*itt~SAm?$f)tFAt8BkN1nTPFg&!K7~u)L!c0G+0m3KY!vxH!lDqt zJFK?*3v&mDR3bc|J`=+?;e1Nr>^yy5;?4a|N%8hAenUe8`H9w66ZmnL7+^7fEz^u% zr#br8b|E{y(w*;3dh6${c?R)-4`%(?l`dCOeD057KXgDc;z=+*hlf+?#!;_Mbirzu zfaGL(#pw4>4H=&YRoq@5(W&PU`QRTek$k?tBJB5iLHqU`79PG$TiG19T0s#SHiLzV zCe*F_BQFn{-PsxJgRTvugM&joQ+w8=LW>9TBpY+WTvWbd7Q~uGMQYsYiu{{6jpg)W zsE?pQB$6vw9_M2SL_}#ZE%8v_V>>&vq+{;z2MEyOZ`mbJhrTi4u{zK^Ki%lmw<6SXfx?!_7DZ^K3%-qdNFkB+|0nkD+CHzw8;C8!;85g{gd;bL)@O^9`j5~rky{o$e2;pI(N@P+9L=#Mx;@)Fo{6fh8TAF+SN}E75d2V`+>CtxVAs-i#*IDHL^N?sR?B<8;Sm8O!1u(%kSBPdJ=KnncEq({nSCZH4>2M#tPRA#8q zrn`CBFeIfHrT29aCJ7(kj)X6IF{)WhM0aW&?fM!8z|1bJDlDAqdl%3bMY4WfV%KVT zan|KokFpyWO<32lafT%xkU*zyLhP=B{dS2aozF+)yKEZG)k&*6X2bwyZ*+U0I94fl zi`(<(R9;6ZiRCOK>T0v8Oo)+*Cb)8tp`a`37@VR z%J!TTuMINN1xS>(0oTyiQl&*b|S3`X07fGJ#?g?Nn99 zd*^02a1INr2y<4GihHS*R(Ij%?=tOAo-ts4xw-O*0t+d(M{xRBVgc-*KNp@ykq8vf z!*B0wDQ|r@*;cumxpd0SA2Oi@d8~eI9c}`c?8xv$lf1z0-u_zem1S7Hv+{1TWtO`A zMX&SvY-x)S@28U@Y?ZsihU}X5cX7R#icq_&vu~~l*`UavPL^9cO0+m*l43dp$}ALN zClt#DvhS+y`at2%=!r_8s7+p48j()D%&5A?xj*tq3ml9(l2~wuaWq%H4P1&sND@}h zp1{24lcs1?O*Lr=&cbw7T6-n{^Owmm&fY_*Y7>X!=_&l>@kB7zy~bGT`|t+DXYpBW zQKh)dgc^2LT@3Rp{1A84OvUgx{r725wkw`8C6gnBGcl@kUk5L>e2LsLv(my-hIYp{lCV?s3*&y~*NjZ0!52$Y2ZefP?AV(_dpriOB|AMKy-h zeA^7#!$B*}a=LuJy-Yc-89oZi%F1d2bgWy6$w{m@IL-sn1{8p0qe>BIi-TSLy-%um zlVzM4lc>aee)v^8ie=v#aSk}mBog|(AN{(!p%R9xQ@&-W8@AP$*4eqdp`b9bT564u z_X|#B_I&fJprT~_>gIS^P{s*MG2Xpx-W0#ae=M0*FPEbtMAWmoRGox+RNMFyrhb+S zv+*t*)#E7S_m>a2lZs@r01l3jRBrEB-^U#X5;!UX6ZRQ4wsNnnu?|KmDgx>#5(Z9< zk{RpsxI{3-iQZ*@<}%d?Un2J#l!F?jIQ@vPCHS=iF~YE@1)JhDnPvgmVg@jkU;I#y zS16b#6ot+umGcFqr6WAXNR0ZFx5(6)=!}C}eVJl|fSBoyO-AFY*L8 zffm%*$irc?#OQJ^map{IYJPugmY1t&c(}Z61?L&e*hCjmC#^~P(S|{@#)M%0kuBhP z9#=t^3(aLjtA7%Ph=}*}1-IrQZ<4a0urM4&F0Eh(;s&PNBv~!GEL+7S)ZBn=5Flz6 z7?zw&aDRCukbaadr<2+=zL}+7Mzfh@*80KO*?BmTU4GL$6ct)=i!pF158+fT;e&w? z9Am0Lm%tkiuiQx>5+U>bj-NXdM&Y}6!tMUpSNl^tFBvgs#4ByS%1H1K?WZw0h3BAc z14Ydb<`(y;8T#Q5)aUOEXbG@sX&#?!mf`cyk~>68t?aI&)+o8_<;ZczhpMoSG+p6A*7xvt6nHUq44brlPUH%FsVBVBQa3PhxAa$g!VmNKT$lq%`hm zjH!HZRj7O-8+5EO;4VHG(h;#a5pI#Pnf8e^aQdhskcBRk5QC+rm9B`yHd`}*c zoQekl8X8(k%RnjF?d6zQQX;JD+gL_SdU~Xne=u^HZYw=E#$(yfk;JQ%$1rc{1&p$= z-QAhfp(zF)-#ALY;W+3F8V zEaiv>=1E;Wrf;2{XiH*i=&h~ORKac|qM&Cq5VOOrS;1bQRZLAyH_mcGbCYx&6UMu{ zgoGtdJD%!2sRL?O;_InChAr{dDQ|(Y!rk@75*m9^QAJF!{($&RVVb2B>J(H2D$@M?yrVI-;1PEKWk1d} zDC%bQ+bgWTXRESgoUrXrJ`LME}f_m1XzJ+Qepb zw$6F;rb4&_7SP_4P+j4QR)}n~P#IJFu{L)Yna9)hgfaqmgs#%#hwc-Moz)DutW`?3 zg{tuG{+^()u#O+wi9yF=(p&L>hnu6fY*X6u@+6F zm~}XQ26kC;95p!j?X4|;2J8Fitgg2ld4okbiBfY0@{>pz1tF5uf{k;U6^5dh_bp|^ zV>UC*c`7rgcJ@638+}10ML9XT8~s^<-BTkvRzIdEvV1LTt?>sTtD&ia5D*YP8a+@7 z+Su5jBmZ!C>!N3=73wk^rsx~(?dkF&-kX$^xOEiVP}LkRsw174GSj)klyNq8u~SR{ zG^YTayl(O-odPaaE8yUssDMw^^jJax`Eo=Q;oOoLv3* zrgHNd=ZER6wgzZoB)5=sP$~ignOrmEG8?9T(v#icgsu>JZe2(j$yI@k(9B!@5W;<6j-2HYyin1a;%uDpdGb=Bz zCz-R1t_j|5>Xd;pz6_p863KJaz`&1TRa#tI+QFGJ@a1<^Swdb+s zr;ULA$CBizKqJrZ@+;3WeR4X9pyL}D3kHs*;Wm+(g-lELZd!#A!|Q4PE&Blg>@%@I zg^X%J@pm*?OqJek0V@NVb0<7^fafwqk=MiY2>DG)iBcXy5w_M8>A1h`^C#;Mx*s*B zQs~?skC(KPhCFVrWzp+oj(Biro3IoCx-lFy-{3J8E3D~MbwL#rknfx@z1YK%P1Yn0 zk_y(wYcMk_=A9qEstc5@;l%pBJR@sylu{V-@T)S86{YFnhfEdSsi4D^`ZB@7w|Za1 zL0L|fb|sI>VUs2XeKl>T^ZZ>5a0TVs`wcO^pBWrU#Br2&GjPY?8NBlBF?*PhjThRb zCSjNdVHUpcdqTR9Gc)_E5?2@Xi3OngN`4C?Crx~Ru(u*_%(!!wlQHK_P+pC%+5vLG zyO)E#eYzu8W2z4RCRex3%}uz0n(AtR(`^AuKJ=g=!V*Fo8Rf6(3G{}M++wsvk^EiO z_;l#Gq8k2RpjtyTA1^QAfwy{9trYCn%|e4Lvb^MlQa0bFh7ZHrfe$hLBMI*d_*f}& z!Z?<)j7$@#1Uo(-SIfv5o-p;RzkxR~1(HPr>wbU-!UXnhBs3r-h$4n%qD80aAm&*; z|0)f{R0ahjGWW$k)Ou{6oJkL+h3)+gL4UW0ZRD$ld0yvim@1$9_^<`^wM}&k$WH-| zb#FvrVnR`mC3R3;k42(8`OEP`UT;{DMKS>a2NxR}mGt2O1;n^pR2{+{f}0mRW0Q_X zy|OfM*t8`$(Q$EsaDyg-*C>PLt_gGpm63;5tuwJ7HmGW4Zqi$V#pfQqinEL}7^`7Y zKQ04zT-qE8;pc1222|MDHc2vg>}B>@BH=0FD=e2GU{rsE{9u7cV3hq57YoJ8%3?=( zo9Q4CjTVshtTk7S|4~!pN4M2ff;29i^*hBe-L{A_(Eqs1-Cq*6^JJ&-xNENq<$y{R zS!C*1(;KEEN%B+Ka%p^#xMLZLzI{M|H)lWHH>P#5S@!UB23|Tujie;ni7e1sQT;nM zcVmQ=7*wSt1P~Bm+<(J;N>q4`AnvTJ$oh+s@65eLfxklsBp--uuq^xAe5-&Q&l)9lIMAlZ% ze$#o|Pb7V7%?elO}T$*?GKl}S47 zRyT0h6OmK#CSLTq=%g4yoh7meja`06M!7UDs%ms^P@#6Q$uksG&d}Ul7}Ki9d-6RY zQ&ID{$Gv=L;q8sQAcfRf(l;>~-Q3`Ne0wW*c5)2v@$jxzP*Dzok{QO?OnZjqho)5t4MyU zbAEAwPJ|_K|Fle;;ZxkSedad1-zNR`2Em}K^M!$-l5->*+OgbffLw`h!X8v^z~ASH z7Fd~W@WR0ReH2TOVD^|>4+ zZM|>xVv&}SX*Z6lD6gp?54^vkf_%6puSI4U_-wAMSg%Sw)(++g5olm+tX&%aMYG0| zb;#Q*0%>*OiKDAF3wv*2DCx7E>)W*Xg}7^Lt!z8^vWN1R#P>!VkYLjg?_Fxs?kK4` z(w-Lz2tb91Mj=NSDSec0h`amy2J)+dCZJ*#o=OSrnKw%0QN_!u;^A^r26M66i1@@9 zyZb(y<2+8rSOz~Ztz-J45*RHk1a7-(N@ zS&3Yl3`$)O=ud09F-~o|=?1x>!}%?9v&S6-JUqOFq?`~?M+c8UO;|WZ%x-@ce{{(M z@M%;+w;34^AAczCT@^Kiv7q)cxdCMlyW4yX5RbX4fTx{am7 zB1SZd&ik(TK;CII&tX8Y+Dk6>4hM6g)kh7duc?ZtEVeSuz*(vGiI}}4v^)e( zG(@oOh;J!~G~J!9@hd7T2PP$P=X_3(ECLgP1J(YX(qdB=`}_N66_+#ZkxQkx?Pv(c zCnvFf8gnVIafS$9?Xwf8m+1>^_Ps>wQ`igadXfcKrl&BIgwH!{eb@kH}_lm literal 0 HcmV?d00001 diff --git a/src/components/theme.ts b/src/components/theme.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/images/logoYandex.png b/src/images/logoYandex.png deleted file mode 100644 index e8732e9a29636b532bb44619ca3b6c802d0839e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7842 zcmZ{Jby!qg*Eh`&4&5Lv&CuPAgrsycgfI*O0@4g64T{vzjijW~14wtLlyo;p_~Ly( z&-;DfAKzKmbNG(m}XV{e3NJvP}R8FmdUQtm|5Dy=SkB{p~gUkKBi-(mrmy0{&zfS(^M*-|^ z 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 diff --git a/src/index.css b/src/index.css index 2405f43..026534e 100644 --- a/src/index.css +++ b/src/index.css @@ -2,6 +2,31 @@ body { min-width: 760px; height: 100vh; margin: 0; - background-color: #e5eaf0; font-family: 'HelveticaNeue', sans-serif; } + +:root { + --primary: '#000'; + --primary-background: '#fff'; + --secondary: '#707070'; + --secondary-highlighted: '#505050'; + --secondary-highlighted-background: '#cdd6e4'; + --tertiary: '#ccc'; + --accent: '#6287bd'; + --accent-active: '#50709d'; + --accent-background: '#e5eaf0'; + --separator: '#e2e2e2'; + --checkbox-border: rgba(0, 0, 0, 0.15); + + --primary--dark: '#fff'; + --primary-background--dark: '#2a2b2e'; + --secondary--dark: '#000'; + --secondary-highlighted--dark: '#505050'; + --secondary-highlighted-background--dark: '#cdd6e4'; + --tertiary--dark: '#eee'; + --accent--dark: '#314766'; + --accent-active--dark: '#50709d'; + --accent-background--dark: '#111'; + --separator--dark: '#e2e2e2'; + --checkbox-border--dark: rgba(0, 0, 0, 0.43); +} From 0718703f17e883e5950ae2a3a50accec3490bba1 Mon Sep 17 00:00:00 2001 From: airosso Date: Wed, 8 May 2019 03:45:32 +0300 Subject: [PATCH 5/9] dark theme --- public/index.html | 1 + src/components/App/App.ts | 84 +++++++++++++++++ src/components/App/App.tsx | 91 +++---------------- src/components/Finder/Finder.module.css | 32 ++++++- src/components/Finder/Finder.tsx | 9 +- src/components/Hamburger/Hamburger.module.css | 9 +- src/components/Hamburger/Hamburger.tsx | 13 ++- src/components/Inbox/Inbox.module.css | 89 +++++++++++++++--- src/components/Inbox/Inbox.tsx | 15 ++- src/components/Inbox/InboxFooter.tsx | 10 +- src/components/Inbox/InboxFooterItem.tsx | 7 +- src/components/Inbox/InboxHeader.tsx | 12 ++- src/components/Inbox/InboxHeaderButton.tsx | 9 +- src/components/Inbox/Story.tsx | 12 ++- src/components/Letter/Letter.module.css | 42 ++++++--- src/components/Letter/Letter.tsx | 49 ++++++---- src/components/Letter/letter-animations.css | 36 +++++--- src/components/MailList/MailList.tsx | 15 ++- src/components/Main/Main.tsx | 4 +- src/components/Menu/Menu.module.css | 60 ++++++++++-- src/components/Menu/Menu.tsx | 20 +++- src/components/Menu/MenuButton.tsx | 10 +- src/components/theme.ts | 18 ++++ src/index.css | 44 +++++---- src/index.jsx | 2 +- 25 files changed, 493 insertions(+), 200 deletions(-) diff --git a/public/index.html b/public/index.html index 9a8ef8f..9dfdb3b 100644 --- a/public/index.html +++ b/public/index.html @@ -3,6 +3,7 @@ + { readonly state: AppState = { - letters: [ - { - key: 0, - story: true, - icon: 'Я', - unread: true, - author: 'Яндекс.Паспорт', - title: 'Доступ восстановлен', - date: '9 мар' - }, - { - key: 1, - avatar: '../images/avatar.JPG', - author: 'Мама', - title: 'Рецепт борща', - date: '9 мар' - }, - { - key: 2, - icon: 'И', - unread: true, - author: 'Иванов Иван', - title: - 'Дипломная работа на тему "Социально педагогическая работа по развитию социальной активности старшеклассников в условиях общеобразовательного учреждения"', - date: '7 мар' - }, - { - key: 3, - author: 'Абракадабра', - title: 'Заклинание', - date: '5 мар' - } - ], + letters: initialStateLetters, theme: (theme => theme ? theme : 'dark')(localStorage.getItem('theme') as Theme) }; @@ -73,6 +30,7 @@ export class App extends Component<{}, AppState> { const ms = (x: number) => x; let delay = Math.random() * minute(10) + ms(10); + console.log("New email will be delivered in " + delay / 60 / 1000 + " minutes"); const time3 = new Date().getTime() + delay; if (time3 - time1 < minute(5)) { delay = minute(5); @@ -104,7 +62,6 @@ export class App extends Component<{}, AppState> { deleteSelected = () => { const deletedKeys = this.state.letters.filter(x => !!x.selected).map(x => x.key); this.setState(({ letters, theme }) => { - console.log("delete"); const after = letters.map(({ selected, ...rest }) => { if (selected) { return { @@ -127,18 +84,8 @@ export class App extends Component<{}, AppState> { }; newMail = () => { - const sample = data[Math.floor(Math.random() * data.length)]; this.setState(({ letters: [...oldLetters], theme }) => { - const newLetter = { - key: Math.random() * 2100000000, - author: sample.name, - title: sample.phrase, - unread: Math.random() < 0.5, - icon: sample.name[0], - color: `#${(((1 << 24) * Math.random()) | 0).toString(16)}`, - date: `${Math.floor(28 * Math.random() + 1)} ${months[Math.floor(Math.random() * 12)]}`, - new: true - }; + const newLetter = generateLetter(); setTimeout(() => newLetter.new = false, 500); return { letters: [newLetter, ...oldLetters], theme @@ -147,21 +94,7 @@ export class App extends Component<{}, AppState> { }; newBatchMail = () => { - const newLetters: ILetter[] = []; - for (let i = 0; i < 1000; i++) { - const sample = data[i % data.length]; - const newLetter = { - key: Math.random() * 2100000000, - author: sample.name, - title: sample.phrase, - unread: Math.random() < 0.5, - icon: sample.name[0], - color: `#${(((1 << 24) * Math.random()) | 0).toString(16)}`, - date: `${Math.floor(28 * Math.random() + 1)} ${months[Math.floor(Math.random() * 12)]}`, - new: true - }; - newLetters.push(newLetter) - } + const newLetters = generate1000Letters(); setTimeout(() => { newLetters.forEach(x => x.new = false); }, 500); diff --git a/src/components/Finder/Finder.module.css b/src/components/Finder/Finder.module.css index 45913b6..c141cca 100644 --- a/src/components/Finder/Finder.module.css +++ b/src/components/Finder/Finder.module.css @@ -14,16 +14,30 @@ border: none; background-color: inherit; border-radius: 3px; - color: #bcbcbc; font-size: 16px; text-align: start; } +.buttonClose--light { + color: var(--secondary); +} + +.buttonClose--dark { + color: var(--secondary--dark); +} + .buttonClose:hover { - color: #dadada; cursor: pointer; } +.buttonClose--light:hover { + color: var(--secondary-highlighted); +} + +.buttonClose--dark:hover { + color: var(--secondary-highlighted--dark); +} + .input { position: relative; @@ -32,9 +46,19 @@ padding-right: 20px; padding-left: 4px; margin-left: 30%; - background-color: #ffffff; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); - color: #a5a5a5; font-size: 16px; opacity: 0.5; } + +.input--light { + border: solid 1px var(--secondary); + background-color: var(--primary-background); + color: var(--secondary); +} + +.input--dark { + border: solid 1px var(--secondary--dark); + background-color: var(--primary-background--dark); + color: var(--secondary--dark); +} diff --git a/src/components/Finder/Finder.tsx b/src/components/Finder/Finder.tsx index ec9567f..1ac1e89 100644 --- a/src/components/Finder/Finder.tsx +++ b/src/components/Finder/Finder.tsx @@ -1,12 +1,15 @@ -import React from 'react'; +import React, { useContext } from 'react'; + +import { getThemed, ThemeContext } from '../theme'; import style from './Finder.module.css'; export const Finder = () => { + const theme = useContext(ThemeContext); return (
    - -
    diff --git a/src/components/Hamburger/Hamburger.module.css b/src/components/Hamburger/Hamburger.module.css index 73b710d..d9f8246 100644 --- a/src/components/Hamburger/Hamburger.module.css +++ b/src/components/Hamburger/Hamburger.module.css @@ -10,5 +10,12 @@ height: 2px; min-height: 2px; margin-bottom: 5px; - background-color: #000; +} + +.slice--light { + background-color: var(--primary); +} + +.slice--dark { + background-color: var(--primary--dark); } diff --git a/src/components/Hamburger/Hamburger.tsx b/src/components/Hamburger/Hamburger.tsx index 6372871..ac54278 100644 --- a/src/components/Hamburger/Hamburger.tsx +++ b/src/components/Hamburger/Hamburger.tsx @@ -1,12 +1,17 @@ -import React from 'react'; +import React, { useContext } from 'react'; import style from './Hamburger.module.css'; +import { getThemed, ThemeContext } from '../theme'; + + export const Hamburger = () => { + const theme = useContext(ThemeContext); + const themed = getThemed(style.slice, style, theme); return (
    -
    -
    -
    +
    +
    +
    ); }; diff --git a/src/components/Inbox/Inbox.module.css b/src/components/Inbox/Inbox.module.css index 41d6fe5..0bada24 100644 --- a/src/components/Inbox/Inbox.module.css +++ b/src/components/Inbox/Inbox.module.css @@ -5,20 +5,35 @@ height: 100%; box-sizing: border-box; padding-bottom: 30px; - background-color: white; border-radius: 3px; +} + +.inbox--light { + background-color: var(--primary-background); box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.34); } +.inbox--dark { + background-color: var(--primary-background--dark); + box-shadow: 0 2px 6px 0 rgb(60, 60, 60); +} + .closeStoryButton { margin-right: 10px; border: none; - background: white; float: right; font-size: 28px; } +.closeStoryButton--light { + color: var(--primary); +} + +.closeStoryButton--dark { + color: var(--primary--dark); +} + .closeStoryButton:hover { cursor: pointer; } @@ -32,10 +47,17 @@ height: 30px; margin-top: 2px; - border-top: solid 1px #e2e2e2; font-size: 12px; } +.footer--light { + border-top: solid 1px var(--separator); +} + +.footer--dark { + border-top: solid 1px var(--separator--dark); +} + .footerLink { display: block; margin-top: 9px; @@ -43,24 +65,44 @@ border: none; background: unset; - color: #ccc; float: right; font-size: 12px; font-weight: 500; } +.footerLink--light { + color: var(--tertiary); +} + +.footerLink--dark { + color: var(--tertiary--dark); +} + .footerLink:hover { - color: #000; cursor: pointer; } +.footerLink--light:hover { + color: var(--primary); +} + +.footerLink--dark:hover { + color: var(--primary--dark); +} + .header { display: block; height: 40px; box-sizing: border-box; padding: 5px 0; +} - border-bottom: solid 1px #e2e2e2; +.header--light { + border-bottom: solid 1px var(--separator); +} + +.header--dark { + border-bottom: solid 1px var(--separator--dark); } .headerButton { @@ -69,29 +111,45 @@ border: none; background: unset; - color: #ccc; float: left; font-size: 14px; font-weight: 500; } +.headerButton--light { + color: var(--tertiary); +} + +.headerButton--dark { + color: var(--tertiary--dark); +} + .headerButton:hover { - color: #000; cursor: pointer; } +.headerButton--light:hover { + color: var(--primary); +} + +.headerButton--dark:hover { + color: var(--primary--dark); +} + .headerCheckbox { width: 16px; height: 16px; margin-top: 7px; margin-left: 10px; - border: solid 1px rgba(0, 0, 0, 0.15); - background-color: #fff; border-radius: 3px; float: left; } +.headerCheckbox--dark { + filter: var(--checkbox-filter--dark); +} + .storyCirclePicture { width: 150px; clip-path: circle(40%); @@ -110,11 +168,20 @@ min-height: 400px; box-sizing: border-box; padding: 10px 10px; - background-color: white; font-size: 14px; font-weight: 300; } +.story--light { + background-color: var(--primary-background); + color: var(--primary); +} + +.story--dark { + background-color: var(--primary-background--dark); + color: var(--primary--dark); +} + .showStoryCheckbox { display: none; } diff --git a/src/components/Inbox/Inbox.tsx b/src/components/Inbox/Inbox.tsx index 6211d11..a1a1cb1 100644 --- a/src/components/Inbox/Inbox.tsx +++ b/src/components/Inbox/Inbox.tsx @@ -1,13 +1,17 @@ import * as React from 'react'; +import { useContext } from 'react'; -import style from './Inbox.module.css'; -import '../../index.css'; import { InboxFooter } from './InboxFooter'; import { InboxHeader } from './InboxHeader'; import { MailList } from '../MailList/MailList'; -import { ILetter } from '../app' import { Story } from './Story'; +import { ILetter } from '../App/App'; +import { getThemed, ThemeContext } from '../theme'; + +import style from './Inbox.module.css'; + + export interface InboxProps { letters: ILetter[]; deleteSelected: () => void; @@ -17,14 +21,15 @@ export interface InboxProps { } export const Inbox = ({ letters, deleteSelected, toggleAll, toggleLetter, allSelected }: InboxProps) => { + const theme = useContext(ThemeContext); return ( -
    +
    - +
    diff --git a/src/components/Inbox/InboxFooter.tsx b/src/components/Inbox/InboxFooter.tsx index 395cae8..b367302 100644 --- a/src/components/Inbox/InboxFooter.tsx +++ b/src/components/Inbox/InboxFooter.tsx @@ -1,10 +1,16 @@ import * as React from 'react'; -import style from './Inbox.module.css'; +import { useContext } from 'react'; + import { InboxFooterLink } from './InboxFooterItem'; +import { getThemed, ThemeContext } from '../theme'; + +import style from './Inbox.module.css'; + export const InboxFooter = () => { + const theme = useContext(ThemeContext); return ( -