fix: Integrations quality updates (#4677)
Fix issues uncovered when reviewing integrations list and form. - YouTube CSP - Text content and formatting - Margins - Update old integration icons - Fix headers in dark theme
@ -1 +1,5 @@
|
||||
<svg height="2500" viewBox=".27 .27 800.01 858.98" width="2328" xmlns="http://www.w3.org/2000/svg"><path d="m670.38 608.27-71.24-46.99-59.43 99.27-69.12-20.21-60.86 92.89 3.12 29.24 330.9-60.97-19.22-206.75zm-308.59-89.14 53.09-7.3c8.59 3.86 14.57 5.33 24.87 7.95 16.04 4.18 34.61 8.19 62.11-5.67 6.4-3.17 19.73-15.36 25.12-22.31l217.52-39.46 22.19 268.56-372.65 67.16zm404.06-96.77-21.47 4.09-41.25-426.18-702.86 81.5 86.59 702.68 82.27-11.94c-6.57-9.38-16.8-20.73-34.27-35.26-24.23-20.13-15.66-54.32-1.37-75.91 18.91-36.48 116.34-82.84 110.82-141.15-1.98-21.2-5.35-48.8-25.03-67.71-.74 7.85.59 15.41.59 15.41s-8.08-10.31-12.11-24.37c-4-5.39-7.14-7.11-11.39-14.31-3.03 8.33-2.63 17.99-2.63 17.99s-6.61-15.62-7.68-28.8c-3.92 5.9-4.91 17.11-4.91 17.11s-8.59-24.62-6.63-37.88c-3.92-11.54-15.54-34.44-12.25-86.49 21.45 15.03 68.67 11.46 87.07-15.66 6.11-8.98 10.29-33.5-3.05-81.81-8.57-30.98-29.79-77.11-38.06-94.61l-.99.71c4.36 14.1 13.35 43.66 16.8 57.99 10.44 43.47 13.24 58.6 8.34 78.64-4.17 17.42-14.17 28.82-39.52 41.56-25.35 12.78-58.99-18.32-61.12-20.04-24.63-19.62-43.68-51.63-45.81-67.18-2.21-17.02 9.81-27.24 15.87-41.16-8.67 2.48-18.34 6.88-18.34 6.88s11.54-11.94 25.77-22.27c5.89-3.9 9.35-6.38 15.56-11.54-8.99-.15-16.29.11-16.29.11s14.99-8.1 30.53-14c-11.37-.5-22.25-.08-22.25-.08s33.45-14.96 59.87-25.94c18.17-7.45 35.92-5.25 45.89 9.17 13.09 18.89 26.84 29.15 55.98 35.51 17.89-7.93 23.33-12.01 45.81-18.13 19.79-21.76 35.33-24.58 35.33-24.58s-7.71 7.07-9.77 18.18c11.22-8.84 23.52-16.22 23.52-16.22s-4.76 5.88-9.2 15.22l1.03 1.53c13.09-7.85 28.48-14.04 28.48-14.04s-4.4 5.56-9.56 12.76c9.87-.08 29.89.42 37.66 1.3 45.87 1.01 55.39-48.99 72.99-55.26 22.04-7.87 31.89-12.63 69.45 24.26 32.23 31.67 57.41 88.36 44.91 101.06-10.48 10.54-31.16-4.11-54.08-32.68-12.11-15.13-21.27-33.01-25.56-55.74-3.62-19.18-17.71-30.31-17.71-30.31s8.18 18.18 8.18 34.24c0 8.77 1.1 41.56 15.16 59.96-1.39 2.69-2.04 13.31-3.58 15.34-16.36-19.77-51.49-33.92-57.22-38.09 19.39 15.89 63.96 52.39 81.08 87.37 16.19 33.08 6.65 63.4 14.84 71.25 2.33 2.25 34.82 42.73 41.07 63.07 10.9 35.45.65 72.7-13.62 95.81l-39.85 6.21c-5.83-1.62-9.76-2.43-14.99-5.46 2.88-5.1 8.61-17.82 8.67-20.44l-2.25-3.95c-12.4 17.57-33.18 34.63-50.44 44.43-22.59 12.8-48.63 10.83-65.58 5.58-48.11-14.84-93.6-47.35-104.57-55.89 0 0-.34 6.82 1.73 8.35 12.13 13.68 39.92 38.43 66.78 55.68l-57.26 6.3 27.07 210.78c-12 1.72-13.87 2.56-27.01 4.43-11.58-40.91-33.73-67.62-57.94-83.18-21.35-13.72-50.8-16.81-78.99-11.23l-1.81 2.1c19.6-2.04 42.74.8 66.51 15.85 23.33 14.75 42.13 52.85 49.05 75.79 8.86 29.32 14.99 60.68-8.86 93.92-16.97 23.63-66.51 36.69-106.53 8.44 10.69 17.19 25.14 31.25 44.59 33.9 28.88 3.92 56.29-1.09 75.16-20.46 16.11-16.56 24.65-51.19 22.4-87.66l25.49-3.7 9.2 65.46 421.98-50.81zm-256.73-177.77c-1.18 2.69-3.03 4.45-.25 13.2l.17.5.44 1.13 1.16 2.62c5.01 10.24 10.51 19.9 19.7 24.83 2.38-.4 4.84-.67 7.39-.8 8.63-.38 14.08.99 17.54 2.85.31-1.72.38-4.24.19-7.95-.67-12.97 2.57-35.03-22.36-46.64-9.41-4.37-22.61-3.02-27.01 2.43.8.1 1.52.27 2.08.46 6.65 2.33 2.14 4.62.95 7.37m69.87 121.02c-3.27-1.8-18.55-1.09-29.29.19-20.46 2.41-42.55 9.51-47.39 13.29-8.8 6.8-4.8 18.66 1.7 23.53 18.23 13.62 34.21 22.75 51.08 20.53 10.36-1.36 19.49-17.76 25.96-32.64 4.43-10.25 4.43-21.31-2.06-24.9m-181.14-104.96c5.77-5.48-28.74-12.68-55.52 5.58-19.75 13.47-20.38 42.35-1.47 58.72 1.89 1.62 3.45 2.77 4.91 3.71 5.52-2.6 11.81-5.23 19.05-7.58 12.23-3.97 22.4-6.02 30.76-7.11 4-4.47 8.65-12.34 7.49-26.59-1.58-19.33-16.23-16.26-5.22-26.73" fill="#632ca6"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F7F7FA" d="M0 0h32v32H0z" />
|
||||
<path fill="#632CA6"
|
||||
d="m23.428 21.04-1.96-1.316-1.634 2.782-1.9-.566-1.674 2.603.086.82 9.1-1.71-.53-5.794-1.488 3.182Zm-8.486-2.498 1.46-.204c.236.108.4.15.683.223.442.117.952.23 1.709-.16.175-.088.542-.43.69-.625l5.982-1.106.61 7.527-10.248 1.883-.886-7.538Zm11.111-2.712-.59.115L24.328 4 5 6.284 7.381 25.98l2.263-.335c-.181-.263-.462-.581-.943-.988-.666-.564-.43-1.523-.037-2.128.52-1.022 3.199-2.322 3.047-3.956-.054-.594-.147-1.368-.688-1.898-.02.22.016.432.016.432s-.222-.289-.333-.683c-.11-.15-.196-.199-.313-.4-.084.233-.073.503-.073.503s-.181-.437-.21-.807c-.109.166-.136.48-.136.48s-.236-.69-.182-1.062c-.108-.323-.428-.965-.337-2.424.59.421 1.888.321 2.394-.439.168-.252.283-.939-.084-2.293-.235-.868-.819-2.161-1.046-2.652l-.027.02c.12.395.367 1.224.462 1.626.287 1.218.364 1.642.229 2.204-.115.488-.39.807-1.087 1.165s-1.622-.514-1.68-.562c-.678-.55-1.202-1.447-1.26-1.883-.061-.477.27-.763.436-1.154-.238.07-.504.193-.504.193s.317-.334.708-.624c.162-.11.257-.179.428-.323-.247-.005-.448.003-.448.003s.413-.227.84-.393c-.313-.014-.612-.002-.612-.002s.92-.42 1.646-.727c.5-.209.988-.147 1.262.257.36.53.738.817 1.54.995.492-.222.641-.336 1.26-.508.544-.61.971-.689.971-.689s-.212.198-.269.51c.309-.248.647-.455.647-.455s-.13.165-.253.427l.029.043c.36-.22.783-.394.783-.394s-.121.156-.263.358c.271-.003.822.011 1.036.036 1.26.028 1.523-1.373 2.007-1.549.606-.22.877-.354 1.91.68.886.888 1.578 2.477 1.234 2.833-.288.295-.856-.115-1.487-.916a3.495 3.495 0 0 1-.703-1.562c-.1-.538-.487-.85-.487-.85s.225.51.225.96c0 .246.03 1.165.417 1.68-.038.076-.056.373-.098.43-.45-.554-1.416-.95-1.574-1.067.534.445 1.76 1.468 2.23 2.448.445.928.183 1.777.408 1.997.064.063.958 1.198 1.13 1.768.3.994.017 2.038-.375 2.685l-1.096.174c-.16-.045-.268-.068-.412-.153.08-.143.237-.499.238-.573l-.062-.11c-.34.492-.912.97-1.387 1.245-.62.359-1.337.304-1.803.157-1.323-.416-2.574-1.328-2.876-1.567 0 0-.01.191.048.234.333.383 1.098 1.077 1.836 1.56l-1.574.177.744 5.908c-.33.048-.381.072-.743.124-.318-1.147-.927-1.895-1.593-2.331-.587-.385-1.397-.471-2.172-.315l-.05.059a2.755 2.755 0 0 1 1.829.444c.642.413 1.159 1.481 1.349 2.124.244.822.412 1.701-.244 2.633-.466.662-1.829 1.028-2.93.236.295.482.692.876 1.227.95.794.11 1.548-.03 2.067-.573.443-.464.678-1.435.616-2.457l.7-.104.254 1.835L27 25.242l-.947-9.412Zm-7.06-4.982c-.032.075-.083.124-.007.37l.005.014.012.031.032.074c.138.287.289.558.542.696a1.73 1.73 0 0 1 .203-.023c.237-.01.387.028.482.08.009-.048.01-.119.005-.223-.018-.363.071-.982-.614-1.307-.26-.122-.622-.085-.743.068a.294.294 0 0 1 .057.013c.183.065.059.13.026.207Zm1.922 3.392c-.09-.05-.51-.03-.806.005-.563.068-1.17.267-1.303.372-.242.191-.132.523.047.66.501.382.94.638 1.404.575.285-.038.536-.498.714-.915.122-.287.122-.597-.056-.697Zm-4.982-2.942c.159-.154-.79-.356-1.527.156-.543.378-.56 1.187-.04 1.646.052.045.095.078.135.104a4.607 4.607 0 0 1 1.37-.412c.11-.125.238-.346.206-.745-.044-.542-.447-.456-.144-.75Z" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.0 KiB |
@ -1,15 +1,17 @@
|
||||
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M31.2987 15.1469L17.9562 1.58157L16.6466 0.25L6.61925 10.4448L2.03534 15.1469C1.54421 15.6464 1.54421 16.4369 2.03534 16.8947L11.2032 26.2157L16.6466 31.75L26.6738 21.5552L26.8375 21.3887L31.2987 16.8947C31.7898 16.3952 31.7898 15.6048 31.2987 15.1469ZM16.6466 20.6813L12.0626 16.0208L16.6466 11.3603L21.2305 16.0208L16.6466 20.6813Z" fill="#2684FF"/>
|
||||
<path d="M16.6465 11.3451C13.6587 8.31147 13.6178 3.36621 16.6055 0.291016L6.61914 10.4724L12.0625 15.9995L16.6465 11.3451Z" fill="url(#paint0_linear_17148_2032)"/>
|
||||
<path d="M21.2714 15.959L16.6465 20.6549C19.6752 23.73 19.6752 28.6752 16.6465 31.7505L26.7148 21.5276L21.2714 15.959Z" fill="url(#paint1_linear_17148_2032)"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F7F7FA" d="M0 0h32v32H0z" />
|
||||
<path fill="#2684FF"
|
||||
d="M27.576 15.35 17.41 5.014 16.413 4l-7.64 7.767-3.492 3.583c-.375.38-.375.982 0 1.331l6.984 7.102 4.148 4.216 7.64-7.767.124-.127 3.399-3.424c.374-.38.374-.983 0-1.331Zm-11.163 4.216-3.493-3.55 3.493-3.551 3.492 3.55-3.492 3.551Z" />
|
||||
<path fill="url(#a)" d="M16.413 12.453c-2.276-2.311-2.308-6.079-.031-8.422l-7.609 7.757L12.921 16l3.492-3.546Z" />
|
||||
<path fill="url(#b)" d="m19.936 15.968-3.524 3.578a6.027 6.027 0 0 1 0 8.453l7.67-7.788-4.146-4.243Z" />
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_17148_2032" x1="15.8439" y1="6.62639" x2="9.34422" y2="13.0277" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.176" stop-color="#0052CC"/>
|
||||
<stop offset="1" stop-color="#2684FF"/>
|
||||
<linearGradient id="a" x1="15.802" x2="10.85" y1="8.858" y2="13.735" gradientUnits="userSpaceOnUse">
|
||||
<stop offset=".176" stop-color="#0052CC" />
|
||||
<stop offset="1" stop-color="#2684FF" />
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_17148_2032" x1="17.5385" y1="25.3007" x2="24.0253" y2="18.9121" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.176" stop-color="#0052CC"/>
|
||||
<stop offset="1" stop-color="#2684FF"/>
|
||||
<linearGradient id="b" x1="17.092" x2="22.034" y1="23.085" y2="18.218" gradientUnits="userSpaceOnUse">
|
||||
<stop offset=".176" stop-color="#0052CC" />
|
||||
<stop offset="1" stop-color="#2684FF" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
5
frontend/src/assets/icons/sdks/Logo-swift.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F05138" d="M0 0h32v32H0z"/>
|
||||
<path fill="#F05138" d="M28 10.646v-.725c-.023-.522-.045-1.067-.136-1.588a5.064 5.064 0 0 0-.499-1.497c-.249-.477-.543-.908-.929-1.27a5.53 5.53 0 0 0-1.269-.93 5.054 5.054 0 0 0-1.496-.5A9.169 9.169 0 0 0 22.085 4H9.915c-.136 0-.272 0-.385.023-.386.022-.793.045-1.179.113-.385.068-.77.182-1.133.318-.113.045-.25.113-.362.158-.363.182-.68.409-.998.658-.09.091-.204.182-.294.273-.386.385-.68.816-.93 1.27-.249.476-.407.975-.498 1.497-.09.522-.113 1.043-.136 1.588v12.181c.023.522.045 1.067.136 1.588.09.522.25 1.021.499 1.497.249.477.543.908.929 1.27.385.386.816.681 1.269.93.476.25.974.41 1.496.5.52.09 1.042.136 1.586.136h12.17c.521-.023 1.065-.045 1.586-.136.522-.09 1.02-.25 1.496-.5.476-.249.907-.544 1.27-.93.384-.385.68-.816.928-1.27.25-.476.408-.975.499-1.497.09-.521.136-1.043.136-1.588V10.646Z"/>
|
||||
<path fill="#fff" d="m22.992 18.836.068-.272c.997-3.97-1.428-8.689-5.552-11.161 1.813 2.45 2.606 5.421 1.903 8.007a7.93 7.93 0 0 1-.226.68 1.714 1.714 0 0 0-.363-.203s-4.102-2.54-8.544-7.01c-.113-.113 2.38 3.562 5.19 6.533-1.337-.748-5.031-3.448-7.388-5.58.295.476.635.953.997 1.384 1.95 2.495 4.51 5.557 7.57 7.917-2.153 1.315-5.19 1.429-8.204 0a12.27 12.27 0 0 1-2.108-1.248 12.624 12.624 0 0 0 5.643 4.854c2.856 1.225 5.711 1.157 7.819.023 0 0 .022 0 .022-.023.091-.045.182-.113.272-.158 1.02-.522 3.014-1.044 4.102 1.043.318.477.884-2.246-1.2-4.786Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
@ -1 +1,18 @@
|
||||
<svg enable-background="new 0 0 2447.6 2452.5" viewBox="0 0 2447.6 2452.5" xmlns="http://www.w3.org/2000/svg"><g clip-rule="evenodd" fill-rule="evenodd"><path d="m897.4 0c-135.3.1-244.8 109.9-244.7 245.2-.1 135.3 109.5 245.1 244.8 245.2h244.8v-245.1c.1-135.3-109.5-245.1-244.9-245.3.1 0 .1 0 0 0m0 654h-652.6c-135.3.1-244.9 109.9-244.8 245.2-.2 135.3 109.4 245.1 244.7 245.3h652.7c135.3-.1 244.9-109.9 244.8-245.2.1-135.4-109.5-245.2-244.8-245.3z" fill="#36c5f0"/><path d="m2447.6 899.2c.1-135.3-109.5-245.1-244.8-245.2-135.3.1-244.9 109.9-244.8 245.2v245.3h244.8c135.3-.1 244.9-109.9 244.8-245.3zm-652.7 0v-654c.1-135.2-109.4-245-244.7-245.2-135.3.1-244.9 109.9-244.8 245.2v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.3z" fill="#2eb67d"/><path d="m1550.1 2452.5c135.3-.1 244.9-109.9 244.8-245.2.1-135.3-109.5-245.1-244.8-245.2h-244.8v245.2c-.1 135.2 109.5 245 244.8 245.2zm0-654.1h652.7c135.3-.1 244.9-109.9 244.8-245.2.2-135.3-109.4-245.1-244.7-245.3h-652.7c-135.3.1-244.9 109.9-244.8 245.2-.1 135.4 109.4 245.2 244.7 245.3z" fill="#ecb22e"/><path d="m0 1553.2c-.1 135.3 109.5 245.1 244.8 245.2 135.3-.1 244.9-109.9 244.8-245.2v-245.2h-244.8c-135.3.1-244.9 109.9-244.8 245.2zm652.7 0v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.2v-653.9c.2-135.3-109.4-245.1-244.7-245.3-135.4 0-244.9 109.8-244.8 245.1 0 0 0 .1 0 0" fill="#e01e5a"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F7F7FA" d="M0 0h32v32H0z" />
|
||||
<g fill-rule="evenodd" clip-path="url(#a)" clip-rule="evenodd">
|
||||
<path fill="#36C5F0"
|
||||
d="M12.8 4a2.4 2.4 0 1 0 0 4.799h2.4V6.4A2.402 2.402 0 0 0 12.8 4Zm0 6.4H6.4a2.4 2.4 0 0 0 0 4.8h6.4a2.4 2.4 0 1 0 0-4.8Z" />
|
||||
<path fill="#2EB67D"
|
||||
d="M28 12.8a2.4 2.4 0 0 0-4.801 0v2.4h2.4a2.4 2.4 0 0 0 2.4-2.4Zm-6.4 0V6.4a2.4 2.4 0 0 0-4.8 0v6.4a2.4 2.4 0 1 0 4.8 0Z" />
|
||||
<path fill="#ECB22E"
|
||||
d="M19.2 28a2.4 2.4 0 1 0 0-4.798h-2.4v2.4A2.401 2.401 0 0 0 19.2 28Zm0-6.4h6.4a2.4 2.4 0 0 0 .001-4.8h-6.4a2.4 2.4 0 0 0 0 4.8Z" />
|
||||
<path fill="#E01E5A"
|
||||
d="M4 19.2a2.4 2.4 0 0 0 4.8 0v-2.4H6.4A2.4 2.4 0 0 0 4 19.2Zm6.4 0v6.4a2.4 2.4 0 0 0 4.8 0v-6.399a2.4 2.4 0 0 0-4.8-.002c0 .001 0 0 0 0Z" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="a">
|
||||
<path fill="#fff" d="M4 4h24v24H4z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1016 B |
@ -1,26 +1,45 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
||||
<g>
|
||||
<circle cx="17" cy="6" r="4.667" fill="#7b83eb"/>
|
||||
<path d="M16.667 7H12.44l.021.093.002.008.022.086A4.671 4.671 0 0018 10.559V8.333A1.337 1.337 0 0016.667 7z"
|
||||
opacity=".1"/>
|
||||
<path d="M15.667 8h-2.884A4.667 4.667 0 0017 10.667V9.333A1.337 1.337 0 0015.667 8z" opacity=".2"/>
|
||||
<circle cx="27.5" cy="7.5" r="3.5" fill="#5059c9"/>
|
||||
<path d="M30.5 12h-7.861a.64.64 0 00-.64.64v8.11a5.121 5.121 0 003.967 5.084A5.006 5.006 0 0032 20.938V13.5a1.5 1.5 0 00-1.5-1.5z"
|
||||
fill="#5059c9"/>
|
||||
<path d="M25 13.5V23a7.995 7.995 0 01-14.92 4 7.173 7.173 0 01-.5-1 8.367 8.367 0 01-.33-1A8.24 8.24 0 019 23v-9.5a1.498 1.498 0 011.5-1.5h13a1.498 1.498 0 011.5 1.5z"
|
||||
fill="#7b83eb"/>
|
||||
<path d="M15.667 8h-2.884A4.667 4.667 0 0017 10.667V9.333A1.337 1.337 0 0015.667 8z" opacity=".2"/>
|
||||
<path d="M18 12v12.67a1.32 1.32 0 01-1.04 1.29.966.966 0 01-.29.04H9.58a8.367 8.367 0 01-.33-1A8.24 8.24 0 019 23v-9.5a1.498 1.498 0 011.5-1.5z"
|
||||
opacity=".1"/>
|
||||
<path d="M17 12v13.67a.967.967 0 01-.04.29A1.32 1.32 0 0115.67 27h-5.59a7.173 7.173 0 01-.5-1 8.367 8.367 0 01-.33-1A8.24 8.24 0 019 23v-9.5a1.498 1.498 0 011.5-1.5z"
|
||||
opacity=".2"/>
|
||||
<path d="M17 12v11.67A1.336 1.336 0 0115.67 25H9.25A8.24 8.24 0 019 23v-9.5a1.498 1.498 0 011.5-1.5z"
|
||||
opacity=".2"/>
|
||||
<path d="M10.5 12A1.498 1.498 0 009 13.5V23a8.24 8.24 0 00.25 2h5.42A1.336 1.336 0 0016 23.67V12z"
|
||||
opacity=".2"/>
|
||||
<path d="M1.333 8h13.334A1.333 1.333 0 0116 9.333v13.334A1.333 1.333 0 0114.667 24H1.333A1.333 1.333 0 010 22.667V9.333A1.333 1.333 0 011.333 8z"
|
||||
fill="#4b53bc"/>
|
||||
<path d="M11.98 12.975H8.99v8.02H7.028v-8.02H4.02v-1.97h7.96z" fill="#fff"/>
|
||||
<path fill="none" d="M0 0h32v32H0z"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F7F7FA" d="M0 0h32v32H0z" />
|
||||
<g clip-path="url(#a)">
|
||||
<path fill="#5059C9"
|
||||
d="M20.74 13.04h6.2c.586 0 1.06.474 1.06 1.06v5.647a3.898 3.898 0 0 1-3.897 3.897h-.018a3.897 3.897 0 0 1-3.899-3.897v-6.153c0-.306.249-.554.555-.554Zm4.19-1.118a2.512 2.512 0 1 0 0-5.023 2.512 2.512 0 0 0 0 5.023Z" />
|
||||
<path fill="#7B83EB"
|
||||
d="M17.116 11.922a3.628 3.628 0 1 0 0-7.255 3.628 3.628 0 0 0 0 7.255Zm4.837 1.118H11.72a1.05 1.05 0 0 0-1.023 1.073v6.44a6.295 6.295 0 0 0 6.14 6.44 6.295 6.295 0 0 0 6.14-6.44v-6.44a1.05 1.05 0 0 0-1.024-1.073Z" />
|
||||
<path fill="#000"
|
||||
d="M17.396 13.04v9.025a1.028 1.028 0 0 1-1.021 1.021H11.19a6.801 6.801 0 0 1-.491-2.534v-6.44a1.048 1.048 0 0 1 1.02-1.072h5.677Z"
|
||||
opacity=".1" />
|
||||
<path fill="#000"
|
||||
d="M16.838 13.04v9.583a1.028 1.028 0 0 1-1.021 1.021h-4.365a7.304 7.304 0 0 1-.262-.558 5.542 5.542 0 0 1-.196-.558 6.798 6.798 0 0 1-.296-1.976v-6.44a1.048 1.048 0 0 1 1.022-1.072h5.118Z"
|
||||
opacity=".2" />
|
||||
<path fill="#000"
|
||||
d="M16.838 13.04v8.466a1.03 1.03 0 0 1-1.021 1.022h-4.823a6.798 6.798 0 0 1-.296-1.976v-6.44a1.048 1.048 0 0 1 1.022-1.072h5.118Z"
|
||||
opacity=".2" />
|
||||
<path fill="#000"
|
||||
d="M16.28 13.04v8.466a1.03 1.03 0 0 1-1.022 1.022h-4.264a6.801 6.801 0 0 1-.296-1.976v-6.44a1.048 1.048 0 0 1 1.022-1.072h4.56Z"
|
||||
opacity=".2" />
|
||||
<path fill="#000"
|
||||
d="M17.395 10.154v1.758c-.095.006-.184.011-.279.011-.095 0-.184-.005-.279-.01a3.063 3.063 0 0 1-.558-.09 3.628 3.628 0 0 1-2.511-2.132 3.104 3.104 0 0 1-.18-.558h2.786c.563.002 1.02.458 1.021 1.021Z"
|
||||
opacity=".1" />
|
||||
<path fill="#000"
|
||||
d="M16.836 10.71v1.2a3.063 3.063 0 0 1-.558-.088 3.628 3.628 0 0 1-2.511-2.133h2.048c.563.003 1.02.459 1.021 1.022Z"
|
||||
opacity=".2" />
|
||||
<path fill="#000"
|
||||
d="M16.836 10.71v1.2a3.063 3.063 0 0 1-.558-.088 3.628 3.628 0 0 1-2.511-2.133h2.048c.563.003 1.02.459 1.021 1.022Z"
|
||||
opacity=".2" />
|
||||
<path fill="#000" d="M16.278 10.71v1.111a3.628 3.628 0 0 1-2.511-2.132h1.49c.563.003 1.02.459 1.021 1.022Z"
|
||||
opacity=".2" />
|
||||
<path fill="url(#b)"
|
||||
d="M5.023 9.69h10.233c.565 0 1.023.458 1.023 1.023v10.232c0 .566-.458 1.023-1.023 1.023H5.023A1.023 1.023 0 0 1 4 20.945V10.713c0-.565.458-1.024 1.023-1.024Z" />
|
||||
<path fill="#fff" d="M12.832 13.585h-2.045v5.57H9.483v-5.57H7.447v-1.08h5.385v1.08Z" />
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="b" x1="6.133" x2="14.146" y1="8.89" y2="22.768" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#5A62C3" />
|
||||
<stop offset=".5" stop-color="#4D55BD" />
|
||||
<stop offset="1" stop-color="#3940AB" />
|
||||
</linearGradient>
|
||||
<clipPath id="a">
|
||||
<path fill="#fff" d="M4 4h24v24H4z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.9 KiB |
@ -1 +1,16 @@
|
||||
<svg width="2500" height="2334" viewBox="0 0 256 239" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M119.54 100.503c-10.61 17.836-20.775 35.108-31.152 52.25-2.665 4.401-3.984 7.986-1.855 13.58 5.878 15.454-2.414 30.493-17.998 34.575-14.697 3.851-29.016-5.808-31.932-21.543-2.584-13.927 8.224-27.58 23.58-29.757 1.286-.184 2.6-.205 4.762-.367l23.358-39.168C73.612 95.465 64.868 78.39 66.803 57.23c1.368-14.957 7.25-27.883 18-38.477 20.59-20.288 52.002-23.573 76.246-8.001 23.284 14.958 33.948 44.094 24.858 69.031-6.854-1.858-13.756-3.732-21.343-5.79 2.854-13.865.743-26.315-8.608-36.981-6.178-7.042-14.106-10.733-23.12-12.093-18.072-2.73-35.815 8.88-41.08 26.618-5.976 20.13 3.069 36.575 27.784 48.967z" fill="#C73A63"/><path d="M149.841 79.41c7.475 13.187 15.065 26.573 22.587 39.836 38.02-11.763 66.686 9.284 76.97 31.817 12.422 27.219 3.93 59.457-20.465 76.25-25.04 17.238-56.707 14.293-78.892-7.851 5.654-4.733 11.336-9.487 17.407-14.566 21.912 14.192 41.077 13.524 55.305-3.282 12.133-14.337 11.87-35.714-.615-49.75-14.408-16.197-33.707-16.691-57.035-1.143-9.677-17.168-19.522-34.199-28.893-51.491-3.16-5.828-6.648-9.21-13.77-10.443-11.893-2.062-19.571-12.275-20.032-23.717-.453-11.316 6.214-21.545 16.634-25.53 10.322-3.949 22.435-.762 29.378 8.014 5.674 7.17 7.477 15.24 4.491 24.083-.83 2.466-1.905 4.852-3.07 7.774z" fill="#4B4B4B"/><path d="M167.707 187.21h-45.77c-4.387 18.044-13.863 32.612-30.19 41.876-12.693 7.2-26.373 9.641-40.933 7.29-26.808-4.323-48.728-28.456-50.658-55.63-2.184-30.784 18.975-58.147 47.178-64.293 1.947 7.071 3.915 14.21 5.862 21.264-25.876 13.202-34.832 29.836-27.59 50.636 6.375 18.304 24.484 28.337 44.147 24.457 20.08-3.962 30.204-20.65 28.968-47.432 19.036 0 38.088-.197 57.126.097 7.434.117 13.173-.654 18.773-7.208 9.22-10.784 26.191-9.811 36.121.374 10.148 10.409 9.662 27.157-1.077 37.127-10.361 9.62-26.73 9.106-36.424-1.26-1.992-2.136-3.562-4.673-5.533-7.298z" fill="#4A4A4A"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||
<path fill="#F7F7FA" d="M0 0h32v32H0z" />
|
||||
<g clip-path="url(#a)">
|
||||
<path fill="#C73A63"
|
||||
d="M15.207 14.12c-.995 1.673-1.948 3.292-2.92 4.899-.25.413-.374.749-.175 1.273.551 1.449-.226 2.859-1.687 3.241-1.378.361-2.72-.544-2.994-2.02-.242-1.305.771-2.585 2.211-2.789.12-.017.244-.02.446-.034l2.19-3.672c-1.377-1.37-2.197-2.97-2.015-4.954.128-1.403.68-2.614 1.687-3.608a5.729 5.729 0 0 1 7.148-.75c2.183 1.403 3.183 4.134 2.33 6.472l-2-.543c.267-1.3.07-2.467-.807-3.467-.58-.66-1.323-1.006-2.168-1.133-1.694-.256-3.357.832-3.851 2.495-.56 1.887.288 3.429 2.605 4.59Z" />
|
||||
<path fill="#4B4B4B"
|
||||
d="m18.049 12.143 2.117 3.734c3.564-1.102 6.252.87 7.216 2.983 1.164 2.552.368 5.574-1.919 7.149-2.347 1.616-5.316 1.34-7.396-.736l1.632-1.366c2.054 1.33 3.851 1.268 5.185-.308a3.575 3.575 0 0 0-.058-4.664c-1.35-1.518-3.16-1.564-5.347-.107-.907-1.61-1.83-3.206-2.708-4.827-.297-.546-.624-.864-1.291-.98-1.115-.193-1.835-1.15-1.878-2.223a2.443 2.443 0 0 1 1.56-2.393 2.432 2.432 0 0 1 2.753.751c.532.672.701 1.429.421 2.258-.077.231-.178.455-.287.729Z" />
|
||||
<path fill="#4A4A4A"
|
||||
d="M19.723 22.248h-4.291c-.412 1.692-1.3 3.057-2.83 3.926-1.19.675-2.473.904-3.838.684-2.514-.406-4.569-2.668-4.75-5.216-.204-2.886 1.78-5.451 4.423-6.027l.55 1.993c-2.426 1.238-3.265 2.797-2.587 4.747.598 1.716 2.296 2.657 4.14 2.293 1.882-.371 2.83-1.936 2.715-4.447 1.785 0 3.57-.018 5.356.01.697.01 1.235-.062 1.76-.676.864-1.011 2.455-.92 3.386.035a2.43 2.43 0 0 1-.101 3.48 2.427 2.427 0 0 1-3.415-.118c-.186-.2-.334-.438-.518-.684Z" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="a">
|
||||
<path fill="#fff" d="M4 4h24v24H4z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.7 KiB |
@ -46,8 +46,8 @@ export const IntegrationDelete: VFC<IIntegrationDeleteProps> = ({ id }) => {
|
||||
<>
|
||||
<StyledTitle>Delete integration</StyledTitle>
|
||||
<StyledHelpText>
|
||||
Deleting an integration it will delete the entire configuration
|
||||
and it will automatically disable the integration
|
||||
Deleting an integration will delete the entire configuration and
|
||||
will automatically disable the integration
|
||||
</StyledHelpText>
|
||||
<StyledContainer>
|
||||
<PermissionButton
|
||||
|
@ -295,7 +295,9 @@ export const IntegrationForm: VFC<IntegrationFormProps> = ({
|
||||
show={() => (
|
||||
<StyledAlerts>
|
||||
{alerts?.map(({ type, text }) => (
|
||||
<Alert severity={type}>{text}</Alert>
|
||||
<Alert severity={type} key={text}>
|
||||
{text}
|
||||
</Alert>
|
||||
))}
|
||||
</StyledAlerts>
|
||||
)}
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { type VFC } from 'react';
|
||||
import { Box, Typography, styled } from '@mui/material';
|
||||
import type { AddonTypeSchema } from 'openapi';
|
||||
import useLoading from 'hooks/useLoading';
|
||||
import { PageContent } from 'component/common/PageContent/PageContent';
|
||||
import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
||||
import { IntegrationCard } from '../IntegrationCard/IntegrationCard';
|
||||
@ -60,13 +59,10 @@ export const AvailableIntegrations: VFC<IAvailableIntegrationsProps> = ({
|
||||
const serverSdks = OFFICIAL_SDKS.filter(sdk => sdk.type === 'server');
|
||||
const clientSdks = OFFICIAL_SDKS.filter(sdk => sdk.type === 'client');
|
||||
|
||||
const ref = useLoading(loading || false);
|
||||
|
||||
return (
|
||||
<PageContent
|
||||
header={<PageHeader title="Integrations" secondary />}
|
||||
isLoading={loading}
|
||||
ref={ref}
|
||||
>
|
||||
<StyledContainer>
|
||||
<StyledSection>
|
||||
|
@ -38,7 +38,7 @@ export const OFFICIAL_SDKS: Sdk[] = [
|
||||
{
|
||||
name: 'python',
|
||||
displayName: 'Python SDK',
|
||||
description: 'Officially Unleash Client for Python',
|
||||
description: 'Official Unleash Client for Python',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/python',
|
||||
type: 'server',
|
||||
},
|
||||
@ -79,8 +79,8 @@ export const OFFICIAL_SDKS: Sdk[] = [
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'ios',
|
||||
displayName: 'iOS Proxy SDK',
|
||||
name: 'swift',
|
||||
displayName: 'Swift Proxy SDK',
|
||||
description: 'Officially Unleash Client for iOS',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/ios-proxy',
|
||||
type: 'client',
|
||||
|
@ -36,6 +36,7 @@ const StyledLink = styled(Link)(({ theme }) => ({
|
||||
backgroundColor: theme.palette.action.hover,
|
||||
},
|
||||
}));
|
||||
|
||||
const StyledAnchor = styled('a')(({ theme }) => ({
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
|
@ -21,6 +21,8 @@ import type { AddonSchema } from 'openapi';
|
||||
import useAddons from 'hooks/api/getters/useAddons/useAddons';
|
||||
import useToast from 'hooks/useToast';
|
||||
import { formatUnknownError } from 'utils/formatUnknownError';
|
||||
import { Dialogue } from 'component/common/Dialogue/Dialogue';
|
||||
import { event } from 'cypress/types/jquery';
|
||||
|
||||
interface IIntegrationCardMenuProps {
|
||||
addon: AddonSchema;
|
||||
@ -35,10 +37,19 @@ const StyledMenu = styled('div')(({ theme }) => ({
|
||||
alignItems: 'center',
|
||||
}));
|
||||
|
||||
const preventPropagation =
|
||||
(fn: () => void) => (event: React.SyntheticEvent) => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
fn();
|
||||
};
|
||||
|
||||
export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
addon,
|
||||
}) => {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
|
||||
const [isToggleOpen, setIsToggleOpen] = useState(false);
|
||||
const [anchorEl, setAnchorEl] = useState<Element | null>(null);
|
||||
const { updateAddon, removeAddon } = useAddonsApi();
|
||||
const { refetchAddons } = useAddons();
|
||||
@ -46,12 +57,12 @@ export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
|
||||
const handleMenuClick = (event: React.SyntheticEvent) => {
|
||||
event.preventDefault();
|
||||
if (open) {
|
||||
setOpen(false);
|
||||
if (isMenuOpen) {
|
||||
setIsMenuOpen(false);
|
||||
setAnchorEl(null);
|
||||
} else {
|
||||
setAnchorEl(event.currentTarget);
|
||||
setOpen(true);
|
||||
setIsMenuOpen(true);
|
||||
}
|
||||
};
|
||||
const updateAccess = useHasRootAccess(UPDATE_ADDON);
|
||||
@ -93,9 +104,9 @@ export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
<IconButton
|
||||
onClick={handleMenuClick}
|
||||
size="small"
|
||||
aria-controls={open ? 'actions-menu' : undefined}
|
||||
aria-controls={isMenuOpen ? 'actions-menu' : undefined}
|
||||
aria-haspopup="true"
|
||||
aria-expanded={open ? 'true' : undefined}
|
||||
aria-expanded={isMenuOpen ? 'true' : undefined}
|
||||
data-loading
|
||||
>
|
||||
<MoreVertIcon sx={{ width: 32, height: 32 }} />
|
||||
@ -119,10 +130,7 @@ export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
onClose={handleMenuClick}
|
||||
>
|
||||
<MenuItem
|
||||
onClick={e => {
|
||||
e.preventDefault();
|
||||
toggleIntegration();
|
||||
}}
|
||||
onClick={preventPropagation(() => setIsToggleOpen(true))}
|
||||
disabled={!updateAccess}
|
||||
>
|
||||
<ListItemIcon>
|
||||
@ -134,10 +142,7 @@ export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
</MenuItem>{' '}
|
||||
<MenuItem
|
||||
disabled={!deleteAccess}
|
||||
onClick={e => {
|
||||
e.preventDefault();
|
||||
deleteIntegration();
|
||||
}}
|
||||
onClick={preventPropagation(() => setIsDeleteOpen(true))}
|
||||
>
|
||||
<ListItemIcon>
|
||||
<Delete />
|
||||
@ -145,6 +150,26 @@ export const IntegrationCardMenu: VFC<IIntegrationCardMenuProps> = ({
|
||||
<ListItemText>Delete</ListItemText>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
|
||||
<Dialogue
|
||||
open={isToggleOpen}
|
||||
onClick={preventPropagation(toggleIntegration)}
|
||||
onClose={preventPropagation(() => setIsToggleOpen(false))}
|
||||
title="Confirm deletion"
|
||||
>
|
||||
<div>
|
||||
Are you sure you want to{' '}
|
||||
{addon.enabled ? 'disable' : 'enable'} this Integration?
|
||||
</div>
|
||||
</Dialogue>
|
||||
<Dialogue
|
||||
open={isDeleteOpen}
|
||||
onClick={preventPropagation(deleteIntegration)}
|
||||
onClose={preventPropagation(() => setIsDeleteOpen(false))}
|
||||
title="Confirm deletion"
|
||||
>
|
||||
<div>Are you sure you want to delete this Integration?</div>
|
||||
</Dialogue>
|
||||
</StyledMenu>
|
||||
);
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ import android from 'assets/icons/sdks/Logo-android.svg';
|
||||
import dotnet from 'assets/icons/sdks/Logo-net.svg';
|
||||
import flutter from 'assets/icons/sdks/Logo-flutter.svg';
|
||||
import go from 'assets/icons/sdks/Logo-go.svg';
|
||||
import ios from 'assets/icons/sdks/Logo-ios.svg';
|
||||
import swift from 'assets/icons/sdks/Logo-swift.svg';
|
||||
import java from 'assets/icons/sdks/Logo-java.svg';
|
||||
import javascript from 'assets/icons/sdks/Logo-javascript.svg';
|
||||
import node from 'assets/icons/sdks/Logo-node.svg';
|
||||
@ -58,7 +58,7 @@ const integrations: Record<
|
||||
dotnet: { title: 'Dotnet', icon: dotnet },
|
||||
flutter: { title: 'Flutter', icon: flutter },
|
||||
go: { title: 'Go', icon: go },
|
||||
ios: { title: 'iOS', icon: ios },
|
||||
swift: { title: 'Swift', icon: swift },
|
||||
java: { title: 'Java', icon: java },
|
||||
javascript: { title: 'Javascript', icon: javascript },
|
||||
node: { title: 'Node', icon: node },
|
||||
|
@ -2,7 +2,7 @@ import { styled } from '@mui/material';
|
||||
|
||||
export const StyledCardsGrid = styled('div')<{ small?: boolean }>(
|
||||
({ theme, small = false }) => ({
|
||||
gridTemplateColumns: `repeat(auto-fit, minmax(${
|
||||
gridTemplateColumns: `repeat(auto-fill, minmax(${
|
||||
small ? '250px' : '350px'
|
||||
}, 1fr))`,
|
||||
gridAutoRows: '1fr',
|
||||
|
@ -7,7 +7,10 @@ exports[`should create default config 1`] = `
|
||||
"connectSrc": [],
|
||||
"defaultSrc": [],
|
||||
"fontSrc": [],
|
||||
"frameSrc": [],
|
||||
"imgSrc": [],
|
||||
"mediaSrc": [],
|
||||
"objectSrc": [],
|
||||
"scriptSrc": [],
|
||||
"styleSrc": [],
|
||||
},
|
||||
|
@ -316,6 +316,9 @@ const parseCspConfig = (
|
||||
imgSrc: cspConfig.imgSrc || [],
|
||||
styleSrc: cspConfig.styleSrc || [],
|
||||
connectSrc: cspConfig.connectSrc || [],
|
||||
mediaSrc: cspConfig.mediaSrc || [],
|
||||
objectSrc: cspConfig.objectSrc || [],
|
||||
frameSrc: cspConfig.frameSrc || [],
|
||||
};
|
||||
};
|
||||
|
||||
@ -326,6 +329,10 @@ const parseCspEnvironmentVariables = (): ICspDomainConfig => {
|
||||
const scriptSrc = process.env.CSP_ALLOWED_SCRIPT?.split(',') || [];
|
||||
const imgSrc = process.env.CSP_ALLOWED_IMG?.split(',') || [];
|
||||
const connectSrc = process.env.CSP_ALLOWED_CONNECT?.split(',') || [];
|
||||
const mediaSrc = process.env.CSP_ALLOWED_MEDIA?.split(',') || [];
|
||||
const objectSrc = process.env.CSP_ALLOWED_OBJECT?.split(',') || [];
|
||||
const frameSrc = process.env.CSP_ALLOWED_FRAME?.split(',') || [];
|
||||
|
||||
return {
|
||||
defaultSrc,
|
||||
fontSrc,
|
||||
@ -333,6 +340,9 @@ const parseCspEnvironmentVariables = (): ICspDomainConfig => {
|
||||
scriptSrc,
|
||||
imgSrc,
|
||||
connectSrc,
|
||||
mediaSrc,
|
||||
objectSrc,
|
||||
frameSrc,
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -55,6 +55,24 @@ const secureHeaders: (config: IUnleashConfig) => RequestHandler = (config) => {
|
||||
'europe-west3-metrics-304612.cloudfunctions.net',
|
||||
...config.additionalCspAllowedDomains.connectSrc,
|
||||
],
|
||||
mediaSrc: [
|
||||
'*.youtube.com',
|
||||
'*.youtube-nocookie.com',
|
||||
...config.additionalCspAllowedDomains.mediaSrc,
|
||||
],
|
||||
objectSrc: [
|
||||
'*.youtube.com',
|
||||
'*.youtube-nocookie.com',
|
||||
...config.additionalCspAllowedDomains.objectSrc,
|
||||
],
|
||||
frameSrc: [
|
||||
"'self'",
|
||||
'cdn.getunleash.io',
|
||||
'gravatar.com',
|
||||
'*.youtube.com',
|
||||
'*.youtube-nocookie.com',
|
||||
...config.additionalCspAllowedDomains.frameSrc,
|
||||
],
|
||||
},
|
||||
},
|
||||
crossOriginEmbedderPolicy: false,
|
||||
|
@ -162,6 +162,9 @@ export interface ICspDomainOptions {
|
||||
scriptSrc?: string[];
|
||||
imgSrc?: string[];
|
||||
connectSrc?: string[];
|
||||
frameSrc?: string[];
|
||||
objectSrc?: string[];
|
||||
mediaSrc?: string[];
|
||||
}
|
||||
|
||||
export interface ICspDomainConfig {
|
||||
@ -171,6 +174,9 @@ export interface ICspDomainConfig {
|
||||
scriptSrc: string[];
|
||||
imgSrc: string[];
|
||||
connectSrc: string[];
|
||||
frameSrc: string[];
|
||||
objectSrc: string[];
|
||||
mediaSrc: string[];
|
||||
}
|
||||
|
||||
interface IFrontendApi {
|
||||
|
@ -102,13 +102,16 @@ unleash.start(unleashOptions);
|
||||
- **preHook** (function) - this is a hook if you need to provide any middlewares to express before `unleash` adds any. Express app instance is injected as first argument.
|
||||
- **preRouterHook** (function) - use this to register custom express middlewares before the `unleash` specific routers are added.
|
||||
- **secureHeaders** (boolean) - use this to enable security headers (HSTS, CSP, etc) when serving Unleash from HTTPS. Can also be configured through the environment variable `SECURE_HEADERS`.
|
||||
- **additionalCspAllowedDomains** (CspAllowedDomains) - use this when you want to enable security headers but have additional domains you need to allow traffic to
|
||||
- You can set the environment variable CSP_ALLOWED_DEFAULT to allow new defaultSrc (comma separated list)
|
||||
- You can set the environment variable CSP_ALLOWED_FONT to allow new fontSrc (comma separated list)
|
||||
- You can set the environment variable CSP_ALLOWED_STYLE to allow new styleSrc (comma separated list)
|
||||
- You can set the environment variable CSP_ALLOWED_SCRIPT to allow new scriptSrc (comma separated list)
|
||||
- You can set the environment variable CSP_ALLOWED_IMG to allow new imgSrc (comma separated list)
|
||||
- You can set the environment variable CSP_ALLOWED_CONNECT to allow new connectSrc (comma separated list)
|
||||
- **additionalCspAllowedDomains** (CspAllowedDomains) - use this when you want to enable security headers but have additional domains you need to allow traffic to you can set the following environment variables:
|
||||
- `CSP_ALLOWED_DEFAULT` to allow new defaultSrc (comma separated list)
|
||||
- `CSP_ALLOWED_FONT` to allow new fontSrc (comma separated list)
|
||||
- `CSP_ALLOWED_STYLE` to allow new styleSrc (comma separated list)
|
||||
- `CSP_ALLOWED_SCRIPT` to allow new scriptSrc (comma separated list)
|
||||
- `CSP_ALLOWED_IMG` to allow new imgSrc (comma separated list)
|
||||
- `CSP_ALLOWED_CONNECT` to allow new connectSrc (comma separated list)
|
||||
- `CSP_ALLOWED_FRAME` to allow new frameSrc (comma separated listed)
|
||||
- `CSP_ALLOWED_MEDIA` to allow new mediaSrc (comma separated list)
|
||||
- `CSP_ALLOWED_OBJECT` to allow new objectSrc (comma separated list)
|
||||
- **server** - The server config object taking the following properties
|
||||
- _port_ - which port the unleash-server should bind to. If port is omitted or is 0, the operating system will assign an arbitrary unused port. Will be ignored if pipe is specified. This value may also be set via the `HTTP_PORT` environment variable
|
||||
- _host_ - which host the unleash-server should bind to. If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available, or the unspecified IPv4 address (0.0.0.0) otherwise. This value may also be set via the `HTTP_HOST` environment variable
|
||||
|