Skip to content

Commit d2aebe2

Browse files
committed
style(mr): overview.
1 parent fdaef85 commit d2aebe2

File tree

4 files changed

+179
-8
lines changed

4 files changed

+179
-8
lines changed

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,19 +110,29 @@
110110
"watch:webviews": "webpack --watch --mode development",
111111
"lint": "eslint . --ext .ts,.tsx"
112112
},
113+
"babel": {
114+
"plugins": [
115+
"babel-plugin-styled-components"
116+
]
117+
},
118+
"resolutions": {
119+
"styled-components": "^5"
120+
},
113121
"dependencies": {
114122
"@risingstack/react-easy-state": "^6.3.0",
115123
"got": "^11.7.0",
116124
"keytar": "^7.0.0",
117125
"nanoid": "^3.1.16",
118126
"react": "^17.0.0",
119-
"react-dom": "^17.0.0"
127+
"react-dom": "^17.0.0",
128+
"styled-components": "^5.2.1"
120129
},
121130
"devDependencies": {
122131
"@types/react": "^16.9.53",
123132
"@types/react-dom": "^16.9.8",
124133
"@typescript-eslint/eslint-plugin": "^3.0.2",
125134
"@typescript-eslint/parser": "^3.0.2",
135+
"babel-plugin-styled-components": "^1.12.0",
126136
"css-loader": "^5.0.0",
127137
"eslint": "^7.1.0",
128138
"husky": "^5.0.4",

webviews/App.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
import React, { useEffect } from 'react';
2+
import styled from 'styled-components';
23

34
import { view } from '@risingstack/react-easy-state';
45
import appStore from './store/appStore';
56
import { actions } from './store/constants';
67

8+
const LoadingWrapper = styled.div`
9+
font-size: 16px;
10+
`;
11+
const TitleWrapper = styled.div`
12+
font-size: 20px;
13+
`;
14+
const Row = styled.div`
15+
margin: 16px 0;
16+
`;
17+
const Desc = styled.article`
18+
border: 1px solid gray;
19+
padding: 10px;
20+
`;
21+
722
function App() {
823
const { currentMR, updateCurrentMR } = appStore;
924

@@ -23,13 +38,24 @@ function App() {
2338
}, [updateCurrentMR]);
2439

2540
if (!currentMR.iid) {
26-
return <div>Loading...</div>
41+
return <LoadingWrapper>Please select an merge request first.</LoadingWrapper>;
2742
}
2843

44+
const { repoInfo, data } = currentMR;
2945
return (
30-
<>
31-
<h2>#{currentMR?.iid || ``} {currentMR?.data?.title}</h2>
32-
</>
46+
<div>
47+
<TitleWrapper>
48+
{data.title} (<a
49+
href={`https://${repoInfo.team}.coding.net/p/${repoInfo.project}/d/${repoInfo.repo}/git/merge/${currentMR.iid}`}>#{currentMR.iid}</a>)
50+
</TitleWrapper>
51+
<Row>
52+
<code>{data.srcBranch}</code><code>{data.desBranch}</code>
53+
</Row>
54+
<h3>Description:</h3>
55+
<Desc>
56+
<div dangerouslySetInnerHTML={{ __html: data.body }} />
57+
</Desc>
58+
</div>
3359
);
3460
}
3561

webviews/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
declare const acquireVsCodeApi: any;
2+
declare module 'styled-components';

yarn.lock

Lines changed: 137 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,16 @@
4545
jsesc "^2.5.1"
4646
source-map "^0.5.0"
4747

48-
"@babel/helper-annotate-as-pure@^7.10.4":
48+
"@babel/generator@^7.12.5":
49+
version "7.12.5"
50+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de"
51+
integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==
52+
dependencies:
53+
"@babel/types" "^7.12.5"
54+
jsesc "^2.5.1"
55+
source-map "^0.5.0"
56+
57+
"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4":
4958
version "7.10.4"
5059
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
5160
integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
@@ -136,6 +145,13 @@
136145
dependencies:
137146
"@babel/types" "^7.12.1"
138147

148+
"@babel/helper-module-imports@^7.0.0":
149+
version "7.12.5"
150+
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb"
151+
integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==
152+
dependencies:
153+
"@babel/types" "^7.12.5"
154+
139155
"@babel/helper-module-imports@^7.12.1":
140156
version "7.12.1"
141157
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c"
@@ -260,6 +276,11 @@
260276
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd"
261277
integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==
262278

279+
"@babel/parser@^7.12.7":
280+
version "7.12.7"
281+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056"
282+
integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==
283+
263284
"@babel/plugin-proposal-async-generator-functions@^7.12.1":
264285
version "7.12.1"
265286
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e"
@@ -873,6 +894,21 @@
873894
globals "^11.1.0"
874895
lodash "^4.17.19"
875896

897+
"@babel/traverse@^7.4.5":
898+
version "7.12.9"
899+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f"
900+
integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==
901+
dependencies:
902+
"@babel/code-frame" "^7.10.4"
903+
"@babel/generator" "^7.12.5"
904+
"@babel/helper-function-name" "^7.10.4"
905+
"@babel/helper-split-export-declaration" "^7.11.0"
906+
"@babel/parser" "^7.12.7"
907+
"@babel/types" "^7.12.7"
908+
debug "^4.1.0"
909+
globals "^11.1.0"
910+
lodash "^4.17.19"
911+
876912
"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4":
877913
version "7.12.1"
878914
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae"
@@ -882,6 +918,37 @@
882918
lodash "^4.17.19"
883919
to-fast-properties "^2.0.0"
884920

921+
"@babel/types@^7.12.5", "@babel/types@^7.12.7":
922+
version "7.12.7"
923+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13"
924+
integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==
925+
dependencies:
926+
"@babel/helper-validator-identifier" "^7.10.4"
927+
lodash "^4.17.19"
928+
to-fast-properties "^2.0.0"
929+
930+
"@emotion/is-prop-valid@^0.8.8":
931+
version "0.8.8"
932+
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
933+
integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
934+
dependencies:
935+
"@emotion/memoize" "0.7.4"
936+
937+
"@emotion/[email protected]":
938+
version "0.7.4"
939+
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
940+
integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
941+
942+
"@emotion/stylis@^0.8.4":
943+
version "0.8.5"
944+
resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
945+
integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
946+
947+
"@emotion/unitless@^0.7.4":
948+
version "0.7.5"
949+
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
950+
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
951+
885952
"@eslint/eslintrc@^0.1.3":
886953
version "0.1.3"
887954
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085"
@@ -1598,6 +1665,21 @@ babel-plugin-dynamic-import-node@^2.3.3:
15981665
dependencies:
15991666
object.assign "^4.1.0"
16001667

1668+
"babel-plugin-styled-components@>= 1", babel-plugin-styled-components@^1.12.0:
1669+
version "1.12.0"
1670+
resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9"
1671+
integrity sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==
1672+
dependencies:
1673+
"@babel/helper-annotate-as-pure" "^7.0.0"
1674+
"@babel/helper-module-imports" "^7.0.0"
1675+
babel-plugin-syntax-jsx "^6.18.0"
1676+
lodash "^4.17.11"
1677+
1678+
babel-plugin-syntax-jsx@^6.18.0:
1679+
version "6.18.0"
1680+
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
1681+
integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
1682+
16011683
balanced-match@^1.0.0:
16021684
version "1.0.0"
16031685
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -1895,6 +1977,11 @@ camelcase@^6.1.0:
18951977
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78"
18961978
integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==
18971979

1980+
camelize@^1.0.0:
1981+
version "1.0.0"
1982+
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
1983+
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
1984+
18981985
caniuse-lite@^1.0.30001135:
18991986
version "1.0.30001148"
19001987
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637"
@@ -2315,6 +2402,11 @@ crypto-browserify@^3.11.0:
23152402
randombytes "^2.0.0"
23162403
randomfill "^1.0.3"
23172404

2405+
css-color-keywords@^1.0.0:
2406+
version "1.0.0"
2407+
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
2408+
integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
2409+
23182410
css-loader@^5.0.0:
23192411
version "5.0.0"
23202412
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.0.tgz#f0a48dfacc3ab9936a05ee16a09e7f313872e117"
@@ -2333,6 +2425,15 @@ css-loader@^5.0.0:
23332425
schema-utils "^3.0.0"
23342426
semver "^7.3.2"
23352427

2428+
css-to-react-native@^3.0.0:
2429+
version "3.0.0"
2430+
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756"
2431+
integrity sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==
2432+
dependencies:
2433+
camelize "^1.0.0"
2434+
css-color-keywords "^1.0.0"
2435+
postcss-value-parser "^4.0.2"
2436+
23362437
cssesc@^3.0.0:
23372438
version "3.0.0"
23382439
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -3548,6 +3649,13 @@ hmac-drbg@^1.0.0:
35483649
minimalistic-assert "^1.0.0"
35493650
minimalistic-crypto-utils "^1.0.1"
35503651

3652+
hoist-non-react-statics@^3.0.0:
3653+
version "3.3.2"
3654+
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
3655+
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
3656+
dependencies:
3657+
react-is "^16.7.0"
3658+
35513659
homedir-polyfill@^1.0.1:
35523660
version "1.0.3"
35533661
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
@@ -5181,7 +5289,7 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
51815289
uniq "^1.0.1"
51825290
util-deprecate "^1.0.2"
51835291

5184-
postcss-value-parser@^4.1.0:
5292+
postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
51855293
version "4.1.0"
51865294
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
51875295
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
@@ -5386,6 +5494,11 @@ react-dom@^17.0.0:
53865494
object-assign "^4.1.1"
53875495
scheduler "^0.20.0"
53885496

5497+
react-is@^16.7.0:
5498+
version "16.13.1"
5499+
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
5500+
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
5501+
53895502
react@^17.0.0:
53905503
version "17.0.0"
53915504
resolved "https://registry.yarnpkg.com/react/-/react-17.0.0.tgz#ad96d5fa1a33bb9b06d0cc52672f7992d84aa662"
@@ -5840,6 +5953,11 @@ shallow-clone@^3.0.0:
58405953
dependencies:
58415954
kind-of "^6.0.2"
58425955

5956+
shallowequal@^1.1.0:
5957+
version "1.1.0"
5958+
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
5959+
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
5960+
58435961
shebang-command@^1.2.0:
58445962
version "1.2.0"
58455963
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -6273,7 +6391,23 @@ style-loader@^2.0.0:
62736391
loader-utils "^2.0.0"
62746392
schema-utils "^3.0.0"
62756393

6276-
supports-color@^5.3.0:
6394+
styled-components@^5, styled-components@^5.2.1:
6395+
version "5.2.1"
6396+
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.2.1.tgz#6ed7fad2dc233825f64c719ffbdedd84ad79101a"
6397+
integrity sha512-sBdgLWrCFTKtmZm/9x7jkIabjFNVzCUeKfoQsM6R3saImkUnjx0QYdLwJHBjY9ifEcmjDamJDVfknWm1yxZPxQ==
6398+
dependencies:
6399+
"@babel/helper-module-imports" "^7.0.0"
6400+
"@babel/traverse" "^7.4.5"
6401+
"@emotion/is-prop-valid" "^0.8.8"
6402+
"@emotion/stylis" "^0.8.4"
6403+
"@emotion/unitless" "^0.7.4"
6404+
babel-plugin-styled-components ">= 1"
6405+
css-to-react-native "^3.0.0"
6406+
hoist-non-react-statics "^3.0.0"
6407+
shallowequal "^1.1.0"
6408+
supports-color "^5.5.0"
6409+
6410+
supports-color@^5.3.0, supports-color@^5.5.0:
62776411
version "5.5.0"
62786412
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
62796413
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==

0 commit comments

Comments
 (0)