From 354b944d2122bd884ed7367dbb3d2e97323f0ef2 Mon Sep 17 00:00:00 2001 From: tima101 Date: Thu, 20 May 2021 13:17:45 -0700 Subject: [PATCH] book/* changes related to #156 --- book/10-begin/api/server/models/Post.ts | 3 -- .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- .../components/common/MenuWithMenuItems.tsx | 16 +++--- .../app/components/posts/PostEditor.tsx | 3 -- book/10-begin/app/lib/sharedStyles.ts | 18 +------ book/10-begin/app/lib/theme.ts | 21 ++++++-- book/10-begin/app/pages/_app.tsx | 15 ++++-- book/10-begin/app/pages/_document.tsx | 29 ++++------- book/10-begin/app/pages/team-settings.tsx | 1 + book/10-end/api/server/models/Post.ts | 3 -- .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- .../components/common/MenuWithMenuItems.tsx | 24 +++++---- .../components/discussions/DiscussionList.tsx | 8 ++- book/10-end/app/components/layout/index.tsx | 13 ++--- .../app/components/posts/PostEditor.tsx | 8 +-- book/10-end/app/lib/sharedStyles.ts | 20 +------- book/10-end/app/lib/theme.ts | 23 +++++++-- book/10-end/app/package.json | 1 + book/10-end/app/pages/_app.tsx | 28 +++++++++-- book/10-end/app/pages/_document.tsx | 46 +++++++++--------- book/10-end/app/pages/billing.tsx | 13 ++--- book/10-end/app/pages/team-settings.tsx | 9 ++-- book/10-end/app/pages/your-settings.tsx | 5 +- .../IBM-Plex-Mono/IBMPlexMono-Bold.woff2 | Bin 0 -> 36368 bytes .../IBM-Plex-Mono/IBMPlexMono-Regular.woff2 | Bin 0 -> 35212 bytes .../Roboto/roboto-v20-latin-regular.woff2 | Bin 0 -> 15736 bytes book/10-end/app/yarn.lock | 7 +++ .../2-end/app/components/common/Confirmer.tsx | 4 +- book/2-end/app/lib/sharedStyles.ts | 18 +------ book/2-end/app/lib/theme.ts | 21 ++++++-- book/2-end/app/pages/_app.tsx | 4 ++ book/2-end/app/pages/_document.tsx | 17 ++----- .../app/components/common/Confirmer.tsx | 4 +- book/3-begin/app/lib/sharedStyles.ts | 18 +------ book/3-begin/app/lib/theme.ts | 21 ++++++-- book/3-begin/app/pages/_app.tsx | 4 ++ book/3-begin/app/pages/_document.tsx | 17 ++----- .../3-end/app/components/common/Confirmer.tsx | 4 +- book/3-end/app/lib/sharedStyles.ts | 18 +------ book/3-end/app/lib/theme.ts | 21 ++++++-- book/3-end/app/pages/_app.tsx | 4 ++ book/3-end/app/pages/_document.tsx | 17 ++----- .../app/components/common/Confirmer.tsx | 4 +- book/4-begin/app/lib/sharedStyles.ts | 18 +------ book/4-begin/app/lib/theme.ts | 21 ++++++-- book/4-begin/app/pages/_app.tsx | 4 ++ book/4-begin/app/pages/_document.tsx | 17 ++----- .../4-end/app/components/common/Confirmer.tsx | 4 +- book/4-end/app/lib/sharedStyles.ts | 18 +------ book/4-end/app/lib/theme.ts | 21 ++++++-- book/4-end/app/pages/_app.tsx | 4 ++ book/4-end/app/pages/_document.tsx | 17 ++----- .../app/components/common/Confirmer.tsx | 4 +- book/5-begin/app/lib/sharedStyles.ts | 18 +------ book/5-begin/app/lib/theme.ts | 21 ++++++-- book/5-begin/app/pages/_app.tsx | 4 ++ book/5-begin/app/pages/_document.tsx | 17 ++----- .../5-end/app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 4 +- book/5-end/app/lib/sharedStyles.ts | 18 +------ book/5-end/app/lib/theme.ts | 21 ++++++-- book/5-end/app/pages/_app.tsx | 4 ++ book/5-end/app/pages/_document.tsx | 17 ++----- .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 4 +- book/6-begin/app/lib/sharedStyles.ts | 18 +------ book/6-begin/app/lib/theme.ts | 21 ++++++-- book/6-begin/app/pages/_app.tsx | 4 ++ book/6-begin/app/pages/_document.tsx | 17 ++----- .../6-end/app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- book/6-end/app/lib/sharedStyles.ts | 18 +------ book/6-end/app/lib/theme.ts | 21 ++++++-- book/6-end/app/pages/_app.tsx | 4 ++ book/6-end/app/pages/_document.tsx | 17 ++----- .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- book/7-begin/app/lib/sharedStyles.ts | 18 +------ book/7-begin/app/lib/theme.ts | 21 ++++++-- book/7-begin/app/pages/_app.tsx | 4 ++ book/7-begin/app/pages/_document.tsx | 17 ++----- .../7-end/app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- book/7-end/app/lib/sharedStyles.ts | 18 +------ book/7-end/app/lib/theme.ts | 21 ++++++-- book/7-end/app/pages/_app.tsx | 4 ++ book/7-end/app/pages/_document.tsx | 17 ++----- book/7-end/app/pages/team-settings.tsx | 1 + .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- book/8-begin/app/lib/sharedStyles.ts | 18 +------ book/8-begin/app/lib/theme.ts | 21 ++++++-- book/8-begin/app/pages/_app.tsx | 4 ++ book/8-begin/app/pages/_document.tsx | 17 ++----- book/8-begin/app/pages/team-settings.tsx | 1 + book/8-end/api/server/models/Post.ts | 3 -- .../8-end/app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- .../components/common/MenuWithMenuItems.tsx | 16 +++--- .../8-end/app/components/posts/PostEditor.tsx | 3 -- book/8-end/app/lib/sharedStyles.ts | 10 ---- book/8-end/app/lib/theme.ts | 21 ++++++-- book/8-end/app/pages/_app.tsx | 15 ++++-- book/8-end/app/pages/_document.tsx | 29 ++++------- book/8-end/app/pages/team-settings.tsx | 1 + book/9-begin/api/server/models/Post.ts | 3 -- .../app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- .../components/common/MenuWithMenuItems.tsx | 16 +++--- .../app/components/posts/PostEditor.tsx | 3 -- book/9-begin/app/lib/sharedStyles.ts | 18 +------ book/9-begin/app/lib/theme.ts | 21 ++++++-- book/9-begin/app/pages/_app.tsx | 15 ++++-- book/9-begin/app/pages/_document.tsx | 29 ++++------- book/9-begin/app/pages/team-settings.tsx | 1 + book/9-end/api/server/models/Post.ts | 3 -- .../9-end/app/components/common/Confirmer.tsx | 4 +- .../app/components/common/LoginButton.tsx | 3 +- .../components/common/MenuWithMenuItems.tsx | 16 +++--- .../9-end/app/components/posts/PostEditor.tsx | 3 -- book/9-end/app/lib/sharedStyles.ts | 18 +------ book/9-end/app/lib/theme.ts | 21 ++++++-- book/9-end/app/pages/_app.tsx | 15 ++++-- book/9-end/app/pages/_document.tsx | 29 ++++------- book/9-end/app/pages/team-settings.tsx | 1 + .../components/common/MenuWithMenuItems.tsx | 2 +- 128 files changed, 629 insertions(+), 822 deletions(-) create mode 100644 book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Bold.woff2 create mode 100644 book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Regular.woff2 create mode 100644 book/10-end/app/public/fonts/Roboto/roboto-v20-latin-regular.woff2 diff --git a/book/10-begin/api/server/models/Post.ts b/book/10-begin/api/server/models/Post.ts index 38c4e675..ec47eab1 100644 --- a/book/10-begin/api/server/models/Post.ts +++ b/book/10-begin/api/server/models/Post.ts @@ -50,9 +50,6 @@ function markdownToHtml(content) { return ` ${text} - - launch - `; }; diff --git a/book/10-begin/app/components/common/Confirmer.tsx b/book/10-begin/app/components/common/Confirmer.tsx index 89dab52e..1ba93e6f 100644 --- a/book/10-begin/app/components/common/Confirmer.tsx +++ b/book/10-begin/app/components/common/Confirmer.tsx @@ -34,10 +34,10 @@ class Confirmer extends React.Component { {this.state.message} - - diff --git a/book/10-begin/app/components/common/LoginButton.tsx b/book/10-begin/app/components/common/LoginButton.tsx index 2cf33ce4..c4ffdc07 100644 --- a/book/10-begin/app/components/common/LoginButton.tsx +++ b/book/10-begin/app/components/common/LoginButton.tsx @@ -4,7 +4,6 @@ import React from 'react'; import { emailLoginLinkApiMethod } from '../../lib/api/public'; import notify from '../../lib/notify'; -import { styleLoginButton } from '../../lib/sharedStyles'; import { makeQueryString } from '../../lib/api/makeQueryString'; type Props = { invitationToken?: string }; @@ -27,7 +26,7 @@ class LoginButton extends React.PureComponent { return ( - - diff --git a/book/10-end/app/components/common/LoginButton.tsx b/book/10-end/app/components/common/LoginButton.tsx index 4f559809..ab17208b 100644 --- a/book/10-end/app/components/common/LoginButton.tsx +++ b/book/10-end/app/components/common/LoginButton.tsx @@ -4,7 +4,6 @@ import React from 'react'; import { emailLoginLinkApiMethod } from '../../lib/api/public'; import notify from '../../lib/notify'; -import { styleLoginButton } from '../../lib/sharedStyles'; import { makeQueryString } from '../../lib/api/makeQueryString'; const dev = process.env.NODE_ENV !== 'production'; @@ -29,7 +28,7 @@ class LoginButton extends React.PureComponent { return ( - { return ` ${text} - - launch - `; }; diff --git a/book/10-end/app/lib/sharedStyles.ts b/book/10-end/app/lib/sharedStyles.ts index 24c31826..b1f7441b 100644 --- a/book/10-end/app/lib/sharedStyles.ts +++ b/book/10-end/app/lib/sharedStyles.ts @@ -6,7 +6,6 @@ const styleBigAvatar = { const styleRaisedButton = { margin: '15px', - font: '14px Roboto', }; const styleToolbar = { @@ -15,17 +14,7 @@ const styleToolbar = { paddingRight: '20px', }; -const styleLoginButton = { - borderRadius: '2px', - font: '16px Roboto', - fontWeight: 400, - letterSpacing: '0.01em', - color: '#fff', - backgroundColor: '#DF4930', -}; - const styleTextField = { - font: '15px Roboto', color: '#222', fontWeight: '300', }; @@ -35,11 +24,4 @@ const styleForm = { width: '360px', }; -export { - styleBigAvatar, - styleRaisedButton, - styleToolbar, - styleLoginButton, - styleTextField, - styleForm, -}; +export { styleBigAvatar, styleRaisedButton, styleToolbar, styleTextField, styleForm }; diff --git a/book/10-end/app/lib/theme.ts b/book/10-end/app/lib/theme.ts index a69e1cd1..add57b1b 100644 --- a/book/10-end/app/lib/theme.ts +++ b/book/10-end/app/lib/theme.ts @@ -1,19 +1,32 @@ -import grey from '@material-ui/core/colors/grey'; import { createMuiTheme } from '@material-ui/core/styles'; const themeDark = createMuiTheme({ palette: { - primary: { main: grey[200] }, - secondary: { main: grey[400] }, + primary: { main: '#238636' }, + secondary: { main: '#b62324' }, type: 'dark', + background: { default: '#0d1117' }, + }, + typography: { + fontFamily: ['IBM Plex Mono', 'monospace', 'Roboto', 'sans-serif'].join(','), + button: { + textTransform: 'none', + }, }, }); const themeLight = createMuiTheme({ palette: { - primary: { main: grey[800] }, - secondary: { main: grey[900] }, + primary: { main: '#238636' }, + secondary: { main: '#b62324' }, type: 'light', + background: { default: '#fff' }, + }, + typography: { + fontFamily: ['IBM Plex Mono', 'monospace', 'Roboto', 'sans-serif'].join(','), + button: { + textTransform: 'none', + }, }, }); diff --git a/book/10-end/app/package.json b/book/10-end/app/package.json index 38a17a70..ebb67c49 100644 --- a/book/10-end/app/package.json +++ b/book/10-end/app/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.11.2", "@material-ui/lab": "^4.0.0-alpha.56", "@material-ui/styles": "^4.10.0", "@stripe/stripe-js": "^1.9.0", diff --git a/book/10-end/app/pages/_app.tsx b/book/10-end/app/pages/_app.tsx index 1aa46910..8d78232e 100644 --- a/book/10-end/app/pages/_app.tsx +++ b/book/10-end/app/pages/_app.tsx @@ -107,12 +107,34 @@ class MyApp extends App<{ isMobile: boolean }> { const { Component, pageProps } = this.props; const store = this.store; + const isThemeDark = store.currentUser ? store.currentUser.darkTheme : true; + return ( - + + + + diff --git a/book/10-end/app/pages/_document.tsx b/book/10-end/app/pages/_document.tsx index d866bf94..d549ccb5 100644 --- a/book/10-end/app/pages/_document.tsx +++ b/book/10-end/app/pages/_document.tsx @@ -36,26 +36,24 @@ class MyDocument extends Document { - - - - - + {` - a, - a:focus { - font-weight: 600; - color: #000; + a { + font-weight: 400; + color: #58a6ff; text-decoration: none; outline: none; } - a:hover, - button:hover { - opacity: 0.6; - cursor: pointer; - } hr { border: 0.5px #707070 solid; color: #000; @@ -148,7 +140,13 @@ class MyDocument extends Document { }} /> - +
diff --git a/book/10-end/app/pages/billing.tsx b/book/10-end/app/pages/billing.tsx index 108f85b3..d49fabe5 100644 --- a/book/10-end/app/pages/billing.tsx +++ b/book/10-end/app/pages/billing.tsx @@ -4,6 +4,7 @@ import Head from 'next/head'; import * as React from 'react'; import { loadStripe } from '@stripe/stripe-js'; import Button from '@material-ui/core/Button'; +import DoneIcon from '@material-ui/icons/Done'; import NProgress from 'nprogress'; import Layout from '../components/layout'; @@ -154,10 +155,8 @@ class Billing extends React.Component { {' '} - - done - {' '} - Subscription is active. + Subscription is + active.

You subscribed {currentTeam.name} on {subscriptionDate}.

@@ -231,10 +230,8 @@ class Billing extends React.Component { return ( {' '} - - done - {' '} - Your default payment method: + Your default payment + method:
  • {currentUser.stripeCard.brand}, {currentUser.stripeCard.funding} card
  • diff --git a/book/10-end/app/pages/team-settings.tsx b/book/10-end/app/pages/team-settings.tsx index 27392716..b075387b 100644 --- a/book/10-end/app/pages/team-settings.tsx +++ b/book/10-end/app/pages/team-settings.tsx @@ -2,6 +2,7 @@ import Avatar from '@material-ui/core/Avatar'; import Button from '@material-ui/core/Button'; import Hidden from '@material-ui/core/Hidden'; import TextField from '@material-ui/core/TextField'; +import DeleteOutlineIcon from '@material-ui/icons/DeleteOutline'; import { inject, observer } from 'mobx-react'; import Head from 'next/head'; import NProgress from 'nprogress'; @@ -157,6 +158,7 @@ class TeamSettings extends React.Component { Person Role + Action @@ -188,7 +190,7 @@ class TeamSettings extends React.Component { {isTeamLeader && m._id !== currentUser._id ? ( - { cursor: 'pointer', verticalAlign: 'middle', }} - className="material-icons" - > - delete - + /> ) : null} diff --git a/book/10-end/app/pages/your-settings.tsx b/book/10-end/app/pages/your-settings.tsx index f6a3699d..1e589afd 100644 --- a/book/10-end/app/pages/your-settings.tsx +++ b/book/10-end/app/pages/your-settings.tsx @@ -1,6 +1,7 @@ import Avatar from '@material-ui/core/Avatar'; import Button from '@material-ui/core/Button'; import TextField from '@material-ui/core/TextField'; +import DoneIcon from '@material-ui/icons/Done'; import { inject, observer } from 'mobx-react'; import Head from 'next/head'; import NProgress from 'nprogress'; @@ -52,9 +53,7 @@ class YourSettings extends React.Component {

    Your Settings

    Your account

    - - done - {' '} + {' '} {currentUser.isSignedupViaGoogle ? 'You signed up on Async using your Google account.' : 'You signed up on Async using your email.'} diff --git a/book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Bold.woff2 b/book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..dca3529fe2d8e2db279f701a6b8c7e7b98a3f916 GIT binary patch literal 36368 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�J!K^( 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 literal 0 HcmV?d00001 diff --git a/book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Regular.woff2 b/book/10-end/app/public/fonts/IBM-Plex-Mono/IBMPlexMono-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e6853af25602ff1f50d502c0dafe2ce37ee84c7a GIT binary patch literal 35212 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 literal 0 HcmV?d00001 diff --git a/book/10-end/app/public/fonts/Roboto/roboto-v20-latin-regular.woff2 b/book/10-end/app/public/fonts/Roboto/roboto-v20-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1a537015109f44983c26738a436c8f5edc44b9ae GIT binary patch literal 15736 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%0ADEE3-5n949 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

    Fm*l|0qgnMVVk{u0=EDX%!k_^oa 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�~wcG#NAzP0SuR=_HobN%! zKbmR39|}@eW|$a-?{_wehq&YjBWcbQcQB~|)YAm@(aO%F@i)Q4&hb&p+b7`>+0ZO! z525_37k{>_!VqodtoR31s2o$pQdy88b65{tSFUkYxx%)*ZN(n!#f8J(+g=KYup;h< z=@=Q-%8JwYDHK-@Y4P#O>@|>O_mIe?rgWmqq?3w+7bdt`NP4Kru1OYhEp_P z`rZ|~1j8zGqf1(HX|3dSaWq!sl-j%+IwM{RMT7>WD#rC!1?#3slf=p1xK5ykjxf(U zV7FP1BSh=)2gPNRGb2qe$u%joXxmBJ!JmBhnEV6x;c3o}%1%+K0oi2C9#rG*Qo60< zjms2wO9#^UZsTsN87+lZGjnRtmm_S&8dOVKN~RS=_5gZ9wD;}%=}2{_);4(~ncTbZ zqlcfqK=R+kTmS#IL=v_a+p~uVRdW|d(^uE+r*u1*D?8n?Q<*kWA!S-aYOgmIc{J_k z9z|07{umEw2?fdXQ05jSiy?c(@9-#oP0)p|MNvZwi8tj!i}hNNhA}xUte%Kg)(+p3 zKiGnY2K~-;PM@X70|j&9MqhwS@qoaW+Lqsg;CZFsGUc-bKa00fiuSE5PrJNFBj1p1 zL7Cc}pC$Ty1}i}oTEoWyQ&>$xj(i`a$0=$1tuWhc;S`6pBBCCm_$Apa+YjndZc3u@ zixQcV)s*DO_o4PU`PP2h9Gtcpr~LEjA^5rqQE#H?Xt(U~5PXtLV)kf0Ln^XnF6e}) zOBBs6_r|>&l+;3{q!ubA?Scj~Hp<5tztlhl_hGCk>J&vso7uMaZhz}K7-!XuLxjAd zd>={;*6fYd4VA`5P=Z^(QI>m1#6Es|+$1h-uQ6B&6HODL9|Cq|udOU{FZ=A`?tCme+9MwTwBaU0RRA)`a9R40syQw>wkaI?<%wO z2GIau1_J;95Ww`vx&h5w;H<4PI?bNe|8`N}~5-8`nS%|T12Ak{nZl_q>{394WG znxBAvTW-Hca1flXeCDmpnXW*fpHebRVf)-@pbKtrhXU%512aV4*S_r|V!J`4xEPkN znvz5uvrJY}f~S(x^+)Ga5I;3_R$*{M^%!IC-63ouEDuK)L2|)*SnOPT4Rd9PS(D;Ye#VK=ee);>L2Lz4>Wp~7IwsNpVrz=9F zLP5}rp4>$BwrCK2U+shZdMIIzN3g_snkb&>V$Jq7mq)N|^cVQ3MX+;Y*qBif9BQ&cr@10H zwd6(4aIcNA)Hb&@(2r$h5~G4Y1y$Owc@m25_qd~^GpUJU`Yn_Qg`)H+40dj!*nUmL qLrKqao`t?aP(HA86UFp{this.state.message} - - diff --git a/book/2-end/app/lib/sharedStyles.ts b/book/2-end/app/lib/sharedStyles.ts index 24c31826..5c768650 100644 --- a/book/2-end/app/lib/sharedStyles.ts +++ b/book/2-end/app/lib/sharedStyles.ts @@ -15,15 +15,6 @@ const styleToolbar = { paddingRight: '20px', }; -const styleLoginButton = { - borderRadius: '2px', - font: '16px Roboto', - fontWeight: 400, - letterSpacing: '0.01em', - color: '#fff', - backgroundColor: '#DF4930', -}; - const styleTextField = { font: '15px Roboto', color: '#222', @@ -35,11 +26,4 @@ const styleForm = { width: '360px', }; -export { - styleBigAvatar, - styleRaisedButton, - styleToolbar, - styleLoginButton, - styleTextField, - styleForm, -}; +export { styleBigAvatar, styleRaisedButton, styleToolbar, styleTextField, styleForm }; diff --git a/book/2-end/app/lib/theme.ts b/book/2-end/app/lib/theme.ts index a69e1cd1..18d0b4d3 100644 --- a/book/2-end/app/lib/theme.ts +++ b/book/2-end/app/lib/theme.ts @@ -1,19 +1,30 @@ -import grey from '@material-ui/core/colors/grey'; import { createMuiTheme } from '@material-ui/core/styles'; const themeDark = createMuiTheme({ palette: { - primary: { main: grey[200] }, - secondary: { main: grey[400] }, + primary: { main: '#238636' }, + secondary: { main: '#b62324' }, type: 'dark', + background: { default: '#0d1117' }, + }, + typography: { + button: { + textTransform: 'none', + }, }, }); const themeLight = createMuiTheme({ palette: { - primary: { main: grey[800] }, - secondary: { main: grey[900] }, + primary: { main: '#238636' }, + secondary: { main: '#b62324' }, type: 'light', + background: { default: '#fff' }, + }, + typography: { + button: { + textTransform: 'none', + }, }, }); diff --git a/book/2-end/app/pages/_app.tsx b/book/2-end/app/pages/_app.tsx index ea085543..b817958b 100644 --- a/book/2-end/app/pages/_app.tsx +++ b/book/2-end/app/pages/_app.tsx @@ -33,6 +33,10 @@ class MyApp extends App<{ isMobile: boolean }> { + diff --git a/book/2-end/app/pages/_document.tsx b/book/2-end/app/pages/_document.tsx index 5689f11b..d76ceaf1 100644 --- a/book/2-end/app/pages/_document.tsx +++ b/book/2-end/app/pages/_document.tsx @@ -45,25 +45,14 @@ class MyDocument extends Document { - - - +

    diff --git a/book/8-end/app/pages/team-settings.tsx b/book/8-end/app/pages/team-settings.tsx index 8f2c531f..f564e7a8 100644 --- a/book/8-end/app/pages/team-settings.tsx +++ b/book/8-end/app/pages/team-settings.tsx @@ -161,6 +161,7 @@ class TeamSettings extends React.Component { Person Role + Action diff --git a/book/9-begin/api/server/models/Post.ts b/book/9-begin/api/server/models/Post.ts index 38c4e675..ec47eab1 100644 --- a/book/9-begin/api/server/models/Post.ts +++ b/book/9-begin/api/server/models/Post.ts @@ -50,9 +50,6 @@ function markdownToHtml(content) { return ` ${text} - - launch - `; }; diff --git a/book/9-begin/app/components/common/Confirmer.tsx b/book/9-begin/app/components/common/Confirmer.tsx index 89dab52e..1ba93e6f 100644 --- a/book/9-begin/app/components/common/Confirmer.tsx +++ b/book/9-begin/app/components/common/Confirmer.tsx @@ -34,10 +34,10 @@ class Confirmer extends React.Component { {this.state.message} - - diff --git a/book/9-begin/app/components/common/LoginButton.tsx b/book/9-begin/app/components/common/LoginButton.tsx index 2cf33ce4..c4ffdc07 100644 --- a/book/9-begin/app/components/common/LoginButton.tsx +++ b/book/9-begin/app/components/common/LoginButton.tsx @@ -4,7 +4,6 @@ import React from 'react'; import { emailLoginLinkApiMethod } from '../../lib/api/public'; import notify from '../../lib/notify'; -import { styleLoginButton } from '../../lib/sharedStyles'; import { makeQueryString } from '../../lib/api/makeQueryString'; type Props = { invitationToken?: string }; @@ -27,7 +26,7 @@ class LoginButton extends React.PureComponent { return ( - - diff --git a/book/9-end/app/components/common/LoginButton.tsx b/book/9-end/app/components/common/LoginButton.tsx index 2cf33ce4..c4ffdc07 100644 --- a/book/9-end/app/components/common/LoginButton.tsx +++ b/book/9-end/app/components/common/LoginButton.tsx @@ -4,7 +4,6 @@ import React from 'react'; import { emailLoginLinkApiMethod } from '../../lib/api/public'; import notify from '../../lib/notify'; -import { styleLoginButton } from '../../lib/sharedStyles'; import { makeQueryString } from '../../lib/api/makeQueryString'; type Props = { invitationToken?: string }; @@ -27,7 +26,7 @@ class LoginButton extends React.PureComponent { return ( -