From 9cbc9aaad6fd582b1cfe86903ada2f77efc49dbe Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Thu, 25 Jul 2019 22:56:20 -0700 Subject: [PATCH] chore: RealtimeBoard -> Miro closes #996 --- app/embeds/{RealtimeBoard.js => Miro.js} | 2 +- .../{RealtimeBoard.test.js => Miro.test.js} | 13 +++++++++---- app/embeds/index.js | 4 ++-- public/images/miro.png | Bin 0 -> 3846 bytes public/images/realtime-board.png | Bin 829 -> 0 bytes server/pages/integrations/content.json | 6 +++--- server/pages/integrations/miro.md | 7 +++++++ server/pages/integrations/realtime-board.md | 7 ------- 8 files changed, 22 insertions(+), 17 deletions(-) rename app/embeds/{RealtimeBoard.js => Miro.js} (85%) rename app/embeds/{RealtimeBoard.test.js => Miro.test.js} (60%) create mode 100644 public/images/miro.png delete mode 100755 public/images/realtime-board.png create mode 100644 server/pages/integrations/miro.md delete mode 100644 server/pages/integrations/realtime-board.md diff --git a/app/embeds/RealtimeBoard.js b/app/embeds/Miro.js similarity index 85% rename from app/embeds/RealtimeBoard.js rename to app/embeds/Miro.js index 44e2acdc2..31b193426 100644 --- a/app/embeds/RealtimeBoard.js +++ b/app/embeds/Miro.js @@ -2,7 +2,7 @@ import * as React from 'react'; import Frame from './components/Frame'; -const URL_REGEX = /^https:\/\/realtimeboard.com\/app\/board\/(.*)$/; +const URL_REGEX = /^https:\/\/(?:realtimeboard|miro).com\/app\/board\/(.*)$/; type Props = { url: string, diff --git a/app/embeds/RealtimeBoard.test.js b/app/embeds/Miro.test.js similarity index 60% rename from app/embeds/RealtimeBoard.test.js rename to app/embeds/Miro.test.js index 2c17a42d2..09d4e225c 100644 --- a/app/embeds/RealtimeBoard.test.js +++ b/app/embeds/Miro.test.js @@ -1,17 +1,22 @@ /* eslint-disable flowtype/require-valid-file-annotation */ import embeds from '.'; -const { RealtimeBoard } = embeds; +const { Miro } = embeds; -describe('RealtimeBoard', () => { - const match = RealtimeBoard.ENABLED[0]; - test('to be enabled on share link', () => { +describe('Miro', () => { + const match = Miro.ENABLED[0]; + test('to be enabled on old domain share link', () => { expect( 'https://realtimeboard.com/app/board/o9J_k0fwiss='.match(match) ).toBeTruthy(); }); + test('to be enabled on share link', () => { + expect('https://miro.com/app/board/o9J_k0fwiss='.match(match)).toBeTruthy(); + }); + test('to not be enabled elsewhere', () => { + expect('https://miro.com'.match(match)).toBe(null); expect('https://realtimeboard.com'.match(match)).toBe(null); expect('https://realtimeboard.com/features'.match(match)).toBe(null); }); diff --git a/app/embeds/index.js b/app/embeds/index.js index 5bc00df67..c9586265b 100644 --- a/app/embeds/index.js +++ b/app/embeds/index.js @@ -11,10 +11,10 @@ import Loom from './Loom'; import Lucidchart from './Lucidchart'; import Marvel from './Marvel'; import Mindmeister from './Mindmeister'; +import Miro from './Miro'; import ModeAnalytics from './ModeAnalytics'; import Numeracy from './Numeracy'; import Prezi from './Prezi'; -import RealtimeBoard from './RealtimeBoard'; import Spotify from './Spotify'; import Trello from './Trello'; import Typeform from './Typeform'; @@ -34,10 +34,10 @@ export default { Lucidchart, Marvel, Mindmeister, + Miro, ModeAnalytics, Numeracy, Prezi, - RealtimeBoard, Spotify, Trello, Typeform, diff --git a/public/images/miro.png b/public/images/miro.png new file mode 100644 index 0000000000000000000000000000000000000000..936cabb0c8ec4e7f27e3dcbfefea367c940c5ec8 GIT binary patch literal 3846 zcmV+h5BczkP)B`mpig17+5yj~M^VDKG8EXN?c;FE8zfXMs_<2b(26iSb}~ z_`haDn({#Z{*u^YWoKl6Z_J=lYw`&1@*{G z|MI1z{WVkUyQy9F!6ppz_Sn#V?RKLmt)MW_c(~K|u`<2sbv>4AecCdH+E*4Hedw|DK73f!Q zH-`83@WfRm7k;3%!9QzX>#tcozf2%*JvG-@?dvh5HB|fCuVsJuAkgV?=g!>Ms>zlS zMbdQ5x5m4d9&UaA48g6QGyHp&*knaV>lN#Ln(O?NcennSi8qOc=Evv63cj0(Ax)nr zaG@#gV;7nK7JoNF+V{^It1jxqk%omItJVGG9QW=sa>cU}C!;_V%t#=fyV4xehYnm^fh~3ZM$0?+#lOi< zszdKSd(;qPp@wm>uCMkF-Nyd)rD!z-saVd9D~%2cG;!kZ zK4C0n(auTBth}FO0S#t$nc2I+*JWM%!*gMM!TZ1?EiDfXahoHzx4(Vb=q57| z4_{#RYxbfaZ-M(smPW%wF6&4@Ls(a5{Ti#zw&4~r4Ai=fU?gf_7{&C5JduSKRwr4 zFJa&Kev%I~i%>_tz%92pDPu8_TnA|jm$5tJ^*?8do!7Oq450abk`FXd zV3rQ9v6zEMkFX|zmmQI-&9XqrbdA?v5pUmPOdsP#Y#zf;UIst;w800OPpBmxeI?(0 z_ueAbB=D;zjfJNr7Z{G$A28ZqExK6*O&kLf+DOo+%~o=LA*#v;nn$Q5o*Rd~GxP|= z#fMon84ecVc>ULx#TKiC;&Rr4wcLCa=bu?Djb;#P2G%gmuiR#m?fdd^!=J)Y>TtY% z#@^P8SDO=uclvGSf^oa<_*{Fy1)4#q8HfPfIX4xt#zKCTr_|wiebW`4y*9QRswyLJ z>=5t0`(W-kK=TPT18Zx7`|`CWJlN-t8O|i$=7r3N<|FIhr@_-JVK+8i$pPbHJ3~I9 zW?&75fam}o?A!ybYKMSVJsDa*F zcf)S*f#wrxHrC^YdSDCZ98gK62H|T%l*qOl8!YSmHIo+^R-RBZupTqmyZ8_*H{Q)w zNE2~TV5XVUu<@51ZnXz&pes+P8Cavzy0~zwDYKuC*zsyVgD@dqG zgVtQ!;oFV%mT}Mvm>cJ2c+Yd@ey|&A08NCtUayQ{U1M=)-K8CkO~??)Av-vvx2H2u z9@ys1p|YeBKQW?W~g1vE0^H5%6qwl(e8GNNcULR0ZfA@^%mf z|HC=&Fgy33TeKUm-ewL40Zwm0S+`r+$2{tKCo_GMsy}IiS_kdFOrW)r&j<&IhW*X`VZHYa4Q)iRT??apWAi zgWcV3D3I&8?NnC#3*Z3TMPFh2>*B@}b2XXda*#)S`ttc@^*uMTHHKRzIcfoY?9LXm z#{+GNbl#8J!Ok$`ESZ~s-v68-kfYF&%2{NZTWsFVs|57Fv$=^5SmdL3D*AU!Goqni zW5_viH^`aS`oy3d_^m^>A-kap(9}%MYLlh(Jko4984%?s6$LqH{)8L=g!Rg;CdBHA z& z8^qm86BN`=N@2XliH2_H@698wSYctFDuInmp^{kAVP-j z89k{SR32Wtqq98~4dhxPyU|?hKXg9qhGIbfH%Dx?d$g!xV_(et1W8je&gji$;hS_3i++KVDOsn72(B@ezqy{|qdM{!Xwq7B<+JzL2;mGWYj^^?1=ZP#%Anca!bkqLrtQp2&`)i5u1PvlhV zLmQ?J(5PB2=Ol4oboaqMU92Gx-)Q-SJYnxmy1B1EUKXn?A}tCh05#7~h-j(>bU}Rd zpfP@kmraDuLQ^UFV#M(jF4y{xT-Zr_X%=SsXlYT{7>sj)t*U1_0`cq>X0p~}?9H*e zbg2>*#2a@S!}@yJL>pEdz0Y@wD%@fs>7gg9=LSjwefg2OWb}D(@9teGfj}^pAovE* zM{IA02A;vsU~OeL9y8^bP9#yvnT~xov$dqnT7P!wf~C}io~W$%{8g|U-9(+WpOsC} z2eKM@W~G1*g}MA`y}Z~}p1o*PHGjT)S&!m){v#;?G@~^sQ|v_wJ9p$ZSMXd-UZc_b z96|?_W95Y%O?H5Au=g$v5Gn_Bkg$qMy+|P)1n#oIHyL^qg$bRmlmi=?kvtiw5YYgk zia=j~ymTN3bow-U;i6|CUb@!Azt<(vS#t>o`Wtc^g`0_T@COJL0UE7I+u8}ZDojM^ zc7SBTH@b2!KGX`M6Nr1xLiaF#fKVBranO>qFl$l6AO!)6mPycUa~IHw81l$U?*01V z0YY_v&I_~#nCPUJ?^%BPo-jHfRmjt}ZLxdx$h~7#;cGn}%VLW(lK{ z7wFrYHpQDu&4*m&q)Q}Kxe0Qk^PB2X9HT~&e?h7 zGt>kctw}JE8oSq+fIdeuNsnCtwTM6`5O)*h;13Wg0d!urpNL+Gf{O@gC~9bux2Pa0 ziM;9bjD4)ERKrbpfKVx*sWqvur%O_(KcgrVg74)$R|@F;x1hk1yJvWQaKZLKS)k>+ zt?Kk>l0d=t#9>}GHZ-`O@rg^KyIY`})U6;fKzJh#nZiJyzPFW?EG?szAo8%kbd5yt zO}C1D|7?_~eDOXeG(Bbc1B8kIjr*`sRAn9ZP{Kr$smtsPkJ`i3!A(Rtm;;2$T-1&H z@8X8UrRccm85OVSS3>Z;ot=@H`a|zWw5UMbb*99%`2Cx`m#;I`1sc%cp36}KWKQTp z?k_!@P+W<);c|{9BZ>|?)1c8Ml2kEJ73e@tsAQ6hA0Qs)%XL1iU9o^T9aH?i`~)vz`0TMS-wLK*ZE(5WY3}s z0*n~0Qs)m4DgiXLCJl|NIJk2IR=C6$vvx)x7r%H)Ca8x!yYmcC4*me48bH(6dt$XF z(IndLVTThAzT+JZ{LEIRn=UZk0m>0OiAV#4N&|hxk-7L;r2H*C2e=5nABr1%Lsf4% zrA+a3r*&*C<^bW=WH;0{9s8j*NqV9rde2@&@ZI3+@$RIFir}T<G^SF&ZFL8R$P^ z5B)+1Z#)S)Smq*?YAx2D;rfnptvsPRfF=qRCu>9Bvihv_fI>kWj^I09 z0qlYEuxF)2%?9OY_H_B)9R+}9v?k$w4&18D`ylwnEx}q$9elFno&^GJ`gPe@dqx9< z3IZ+N=0Y8w&y|e3DEM|Jx|xa$zXt*xcyZ1du1dz|;gr|tf;cS3VTY2U$Bw3&~id>q?8FdpR($gdZ*~YFXPw z2}XU5hWm>30d_DG$|99sKRjc6P)-yU64~XCTD%Xiqql}yLDU4A@#TKLD896?C?$YS zR|<3rbh=WYQ=n6z)0G090-dfD=oIJ_=yat(r$DDm0ie_MKQd7rt&$Y%H2?qr07*qo IM6N<$f>i2vTmS$7 literal 0 HcmV?d00001 diff --git a/public/images/realtime-board.png b/public/images/realtime-board.png deleted file mode 100755 index 2896a558d9e12cda04c6a9da5bdb1a8352b06ede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 829 zcmV-D1H$}?P)Hqxo{p+;**lPXhs{Gt{ z{`1uQ=AfoQmuvt400VSVPE!Cu4}+_x3jhEDcS%G+RA}Dp%`puC00_V^68w8c!ET<` zKxdzbi&!ici^WMS7K_E=Bo>RsVsR3S#bU8IiN)e;uWpyrgaIfFw>>W*KtMiJ1lDi& z{%^5}boo(jJELZ2JDwkzFl6R2$1r)pFZc!D%nN?OFZc!j0~~OP%XK9INNMmc&0-!7 z8)G)`eiNRPh00s=a9DkSKf`^V0vn3+7y(vFOMo&T-U48UsyPKf<$zXF9YYj^_rQBN zob|175etgIvx9oNtoYvxCkX!OB;-`Y$+ueO;wNZS}E)# zuu9I86z+qwTq1JLH8i2RAUJUaPL^6k?4?WjC+AAIr)mqeMC?qTU6_G0(G|ED;J06J zX3n_>))q5XEsc}pFYq$KKH^lDQc0V?od^WE_VEO7_WAFy9Gk`3k=+H?Y^AgSXrv7g zeN?>w>=k%eMs&Oj9uMb%q*EWqDqmD}IG%tTu#OScm%Ajc=YNK8UW?aOYRJQ2XH3EL zP5Og#NpR2@-*7F}2~ebxx-CE(3aSRX*g~>;IBe6jWHr+foGD?i9I~#3TtKv{p)rm} z!(-M;Fw!t~S+ This integration works without any additional settings or authentication. diff --git a/server/pages/integrations/realtime-board.md b/server/pages/integrations/realtime-board.md deleted file mode 100644 index fd99b0784..000000000 --- a/server/pages/integrations/realtime-board.md +++ /dev/null @@ -1,7 +0,0 @@ -In an Outline document, paste a share link to a [Realtime Board](https://realtimeboard.com/) whiteboard and it will be immediately converted into a realtime, interactive embed. - -Embedded whiteboards in your knowledge base to commuicate plans and ideas, technical diagrams, designs, timelines and more alongside your written documentation - -![Realtime Board Outline Integration](/images/screenshots/realtime-board.png) - -> This integration works without any additional settings or authentication.