feat: official sdks (#4637)
1
frontend/src/assets/icons/sdks/Logo-android.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="M21.523 18.712c-.198 0-.39-.056-.555-.161a.97.97 0 0 1-.368-.431.926.926 0 0 1-.057-.556.95.95 0 0 1 .273-.492 1.037 1.037 0 0 1 1.09-.208.992.992 0 0 1 .448.354.935.935 0 0 1-.125 1.213c-.187.18-.441.281-.706.281Zm-11.046 0c-.198 0-.391-.056-.555-.161a.97.97 0 0 1-.369-.431.926.926 0 0 1-.057-.556.95.95 0 0 1 .274-.492 1.037 1.037 0 0 1 1.09-.208.992.992 0 0 1 .448.354.935.935 0 0 1-.125 1.213c-.187.18-.441.281-.706.281Zm11.404-5.787L23.88 9.6a.39.39 0 0 0-.152-.546.428.428 0 0 0-.568.146l-2.022 3.367A12.748 12.748 0 0 0 16 11.511c-1.854 0-3.59.378-5.137 1.056L8.841 9.2a.405.405 0 0 0-.252-.186.432.432 0 0 0-.316.04.411.411 0 0 0-.193.242.384.384 0 0 0 .041.303l1.998 3.326C6.689 14.718 4.343 18.056 4 22h24c-.343-3.944-2.69-7.281-6.119-9.075Z" fill="#3DDC84"/></svg>
|
After Width: | Height: | Size: 900 B |
1
frontend/src/assets/icons/sdks/Logo-datadog.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path 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" fill="#632CA6"/></svg>
|
After Width: | Height: | Size: 3.0 KiB |
1
frontend/src/assets/icons/sdks/Logo-edge.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><path fill="#1A4049" d="M0 0h32v32H0z"/><path d="M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16Z" fill="#1A4049"/><path d="M13.714 9.143H9.143v13.714h13.714V9.143h-4.572v9.142h-4.571V9.143Z" fill="#fff"/><path d="M18.285 18.286h4.572v4.572h-4.572v-4.572Z" fill="#817AFE"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h32v32H0z"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 483 B |
1
frontend/src/assets/icons/sdks/Logo-flutter.svg
Normal file
After Width: | Height: | Size: 10 KiB |
1
frontend/src/assets/icons/sdks/Logo-go.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#007D9C" d="M0 0h32v32H0z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M5.811 14.215c-.046 0-.058-.023-.035-.058l.246-.316c.023-.035.082-.058.128-.058h4.172c.047 0 .058.035.035.07l-.199.304c-.023.035-.081.07-.117.07l-4.23-.012ZM4.047 15.29c-.047 0-.059-.023-.035-.058l.245-.316c.023-.035.082-.058.129-.058h5.328c.047 0 .07.035.059.07l-.094.28c-.012.047-.058.07-.105.07l-5.527.012ZM6.875 16.365c-.047 0-.059-.035-.035-.07l.163-.292c.024-.035.07-.07.117-.07h2.337c.047 0 .07.035.07.081l-.023.28c0 .048-.047.083-.082.083l-2.547-.012ZM19.006 14.005c-.736.187-1.239.327-1.963.514-.175.047-.187.058-.34-.117-.174-.199-.303-.327-.548-.444-.737-.362-1.45-.257-2.115.175-.795.514-1.204 1.274-1.192 2.22.011.935.654 1.707 1.577 1.835.795.105 1.46-.175 1.987-.771.105-.129.198-.269.315-.433h-2.255c-.245 0-.304-.151-.222-.35.152-.362.432-.97.596-1.274a.315.315 0 0 1 .292-.187h4.254c-.024.316-.024.631-.07.947a4.983 4.983 0 0 1-.959 2.29c-.841 1.11-1.94 1.8-3.33 1.987-1.145.152-2.209-.07-3.144-.772-.864-.654-1.355-1.519-1.484-2.594-.151-1.273.222-2.419.994-3.424.83-1.086 1.928-1.776 3.272-2.021 1.098-.199 2.15-.07 3.096.572.62.41 1.064.97 1.356 1.648.07.105.023.164-.117.199Z" fill="#fff"/><path d="M22.873 20.466c-1.063-.023-2.033-.327-2.85-1.028a3.665 3.665 0 0 1-1.263-2.255c-.21-1.32.152-2.49.946-3.53.854-1.121 1.882-1.705 3.273-1.95 1.191-.211 2.313-.094 3.33.595.923.631 1.496 1.484 1.647 2.606.2 1.578-.257 2.863-1.343 3.962-.772.782-1.718 1.273-2.805 1.495-.315.059-.63.07-.935.105Zm2.781-4.72c-.011-.152-.011-.27-.035-.386-.21-1.157-1.273-1.811-2.383-1.554-1.087.245-1.788.935-2.045 2.033-.21.911.233 1.835 1.075 2.209.642.28 1.285.245 1.904-.07.924-.48 1.426-1.228 1.484-2.232Z" fill="#fff"/></svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
frontend/src/assets/icons/sdks/Logo-ios.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="M4.112 21.807h1.984v-8.514H4.112v8.514Zm.988-9.63A1.088 1.088 0 1 0 5.1 10a1.088 1.088 0 1 0 0 2.177Zm7.604-2.153c-3.355 0-5.46 2.305-5.46 5.992S9.348 22 12.704 22c3.348 0 5.452-2.297 5.452-5.984s-2.104-5.992-5.452-5.992Zm0 1.767c2.048 0 3.356 1.639 3.356 4.225 0 2.578-1.307 4.217-3.356 4.217-2.056 0-3.355-1.639-3.355-4.217 0-2.586 1.299-4.225 3.355-4.225Zm6.29 6.755C19.08 20.683 20.818 22 23.463 22 26.247 22 28 20.618 28 18.418c0-1.727-.988-2.7-3.324-3.237l-1.323-.305c-1.41-.338-1.992-.788-1.992-1.559 0-.963.876-1.606 2.175-1.606 1.316 0 2.216.65 2.312 1.735h1.96c-.047-2.04-1.721-3.422-4.256-3.422-2.502 0-4.28 1.39-4.28 3.446 0 1.654 1.005 2.683 3.125 3.173l1.49.353c1.45.345 2.04.827 2.04 1.663 0 .963-.964 1.654-2.35 1.654-1.404 0-2.464-.698-2.591-1.767h-1.993Z" fill="#000"/></svg>
|
After Width: | Height: | Size: 917 B |
1
frontend/src/assets/icons/sdks/Logo-java.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#3A75B0" d="M0 0h32v32H0z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M25.516 18.797V17.9h-.327c-.736 0-1.103.227-1.103.683 0 .395.195.593.585.593.27 0 .55-.127.845-.38Zm.776.873h-.609l-.06-.41c-.376.325-.767.487-1.172.487-.761 0-1.141-.35-1.141-1.049 0-.4.154-.711.463-.934.335-.238.825-.357 1.469-.357h.274v-.343c0-.45-.261-.676-.784-.676-.34 0-.71.074-1.11.22l-.115-.478a3.536 3.536 0 0 1 1.438-.311c.898 0 1.347.382 1.347 1.147v2.704Zm-3.21-3.783c-.25 1.398-.64 2.659-1.172 3.784h-.966l-1.165-3.784h.845l.723 2.325.16.699c.375-1.033.626-2.041.753-3.024h.821Zm-4.581 2.91V17.9h-.327c-.736 0-1.104.227-1.104.683 0 .395.196.593.587.593.268 0 .55-.127.844-.38Zm.776.873h-.608l-.061-.41c-.376.325-.767.487-1.172.487-.761 0-1.142-.35-1.142-1.049 0-.4.155-.711.465-.934.334-.238.824-.357 1.468-.357h.274v-.343c0-.45-.261-.676-.784-.676-.34 0-.71.074-1.11.22l-.115-.478a3.539 3.539 0 0 1 1.439-.311c.897 0 1.346.382 1.346 1.147v2.704Zm-3.69-.531c0 .825-.28 1.446-.837 1.861l-.403-.342c.177-.207.296-.456.357-.745.04-.197.061-.47.061-.82v-4.55h.822v4.596Zm11.25-2.616h.135v-.521h.178v-.107h-.5v.107h.186v.521Zm1.035 0H28v-.628h-.193l-.157.429-.171-.429h-.186v.628h.121v-.478h.008l.178.478h.093l.18-.478v.478Z" fill="#fff"/><path d="M10.03 17.328c-.298.084-.97.222-1.932.222-.944 0-1.715-.161-1.717-.351-.002-.127.151-.182.151-.182l-.027-.015c-.452.08-.871.203-.869.387.004.335 1.287.587 2.46.587.998 0 1.956-.168 2.388-.386l-.454-.262Zm-3.188 1.035c-.21.042-.667.147-.667.369 0 .307.977.542 1.92.542 1.299 0 1.83-.334 1.854-.35l-.54-.313c-.229.055-.616.14-1.312.14-.777 0-1.284-.132-1.284-.278 0-.03.02-.067.056-.094l-.027-.016Zm5.304-2.066c-.037.695-.68 1.128-1.324 1.494l.059.034c.686-.193 1.91-.755 1.81-1.618-.05-.43-.445-.738-.959-.738-.16 0-.302.029-.417.064l-.025.062c.46-.09.88.245.856.702Zm-4.068 4.081c1.805-.015 3.826-.368 3.82-.961 0-.108-.07-.181-.131-.226l-.03.017c-.167.46-1.578.799-3.662.817-1.345.012-3.208-.31-3.211-.682-.003-.372.882-.577.882-.577l-.062-.036c-.594.082-1.688.366-1.684.775.005.593 2.519.887 4.078.873Zm-.188.424a14.239 14.239 0 0 1-2.331-.177l-.068.04c.734.214 1.756.344 2.88.335 2.206-.02 3.994-.566 4.03-1.224l-.026-.014c-.148.18-1.102 1.01-4.485 1.04Zm-2.764-4.664c0-.332 1.263-.519 1.85-.564l.056.032c-.225.041-1.131.2-1.131.409 0 .227 1.39.375 2.196.375 1.37 0 2.3-.207 2.55-.275l.351.203c-.24.118-1.27.425-2.901.425-1.814 0-2.97-.354-2.97-.605Z" fill="#fff"/><path d="m10.607 11.493-.03-.017c-.552.184-2.25.853-2.25 2.101 0 .706.69 1.096.69 1.758 0 .236-.133.457-.242.59l.055.031c.287-.186.795-.59.795-1.111 0-.441-.611-.972-.611-1.539 0-.893 1.18-1.595 1.593-1.813Zm-.834-1.635c0 1.847-2.534 2.553-2.534 3.866 0 .921.612 1.5.95 1.864l-.027.016c-.427-.267-1.552-.938-1.552-2.046 0-1.556 2.91-2.3 2.91-4.067 0-.218-.031-.384-.054-.474L9.496 9c.092.116.277.405.277.858Z" fill="#fff"/></svg>
|
After Width: | Height: | Size: 2.8 KiB |
1
frontend/src/assets/icons/sdks/Logo-javascript.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7DF1E" d="M0 0h32v32H0z"/><g clip-path="url(#a)"><path d="M28 4H4v24h24V4Z" fill="#F7DF1E"/><path d="M20.122 22.75c.483.79 1.112 1.37 2.225 1.37.934 0 1.531-.467 1.531-1.113 0-.773-.613-1.047-1.642-1.497l-.564-.242c-1.627-.693-2.708-1.562-2.708-3.398 0-1.691 1.289-2.979 3.303-2.979 1.434 0 2.465.5 3.207 1.806l-1.756 1.127c-.387-.693-.804-.966-1.451-.966-.66 0-1.08.419-1.08.966 0 .677.42.95 1.387 1.37l.564.242c1.916.821 2.998 1.659 2.998 3.542 0 2.03-1.595 3.143-3.737 3.143-2.095 0-3.448-.998-4.11-2.306l1.833-1.065Zm-7.967.196c.354.628.677 1.16 1.452 1.16.74 0 1.208-.29 1.208-1.418V15.02h2.255v7.699c0 2.335-1.369 3.398-3.367 3.398-1.806 0-2.852-.934-3.384-2.06l1.836-1.111Z" fill="#000"/></g><defs><clipPath id="a"><path fill="#fff" transform="translate(4 4)" d="M0 0h24v24H0z"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 899 B |
1
frontend/src/assets/icons/sdks/Logo-jira.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path 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" fill="#2684FF"/><path 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" fill="url(#a)"/><path 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" fill="url(#b)"/><defs><linearGradient id="a" x1="15.802" y1="8.858" x2="10.85" y2="13.735" gradientUnits="userSpaceOnUse"><stop offset=".176" stop-color="#0052CC"/><stop offset="1" stop-color="#2684FF"/></linearGradient><linearGradient id="b" x1="17.092" y1="23.085" x2="22.034" y2="18.218" gradientUnits="userSpaceOnUse"><stop offset=".176" stop-color="#0052CC"/><stop offset="1" stop-color="#2684FF"/></linearGradient></defs></svg>
|
After Width: | Height: | Size: 1003 B |
1
frontend/src/assets/icons/sdks/Logo-net.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#512BD4" d="M0 0h32v32H0z"/><path d="M4.862 21a.85.85 0 0 1-.61-.241.795.795 0 0 1-.252-.587c0-.231.084-.429.252-.594a.84.84 0 0 1 .61-.247c.244 0 .45.082.617.247a.794.794 0 0 1 .258.594.787.787 0 0 1-.258.587.858.858 0 0 1-.617.241ZM14.44 20.864h-1.557L8.78 14.35a2.925 2.925 0 0 1-.257-.513h-.036c.032.19.048.595.048 1.218v5.81H7.157V12h1.66l3.964 6.36c.168.265.276.446.324.545h.024c-.04-.235-.06-.633-.06-1.193V12h1.371v8.864ZM21.148 20.864h-4.822V12h4.63v1.249h-3.204v2.51h2.953V17h-2.953v2.62h3.396v1.243ZM28 13.249h-2.467v7.615h-1.426V13.25h-2.462V12H28v1.249Z" fill="#fff"/></svg>
|
After Width: | Height: | Size: 674 B |
1
frontend/src/assets/icons/sdks/Logo-node.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#233056" d="M0 0h32v32H0z"/><path d="M25.106 18.987a.364.364 0 0 1-.174-.045l-.55-.324c-.082-.046-.04-.062-.016-.07.112-.037.132-.045.248-.111.012-.008.029-.004.041.004l.422.25c.016.009.037.009.05 0l1.649-.949c.016-.008.025-.024.025-.045v-1.894c0-.02-.009-.037-.025-.045l-1.65-.945c-.016-.008-.037-.008-.049 0l-1.65.945c-.016.008-.024.029-.024.045v1.894c0 .017.008.037.025.045l.45.26c.244.123.397-.021.397-.165v-1.87c0-.024.02-.049.05-.049h.21c.025 0 .05.02.05.05v1.869c0 .325-.178.514-.488.514-.095 0-.17 0-.38-.103L23.283 18a.346.346 0 0 1-.174-.3v-1.894c0-.123.066-.238.174-.3l1.65-.949a.371.371 0 0 1 .346 0l1.65.95a.347.347 0 0 1 .173.3V17.7a.347.347 0 0 1-.173.3l-1.65.95a.466.466 0 0 1-.173.036Z" fill="#5FA04E"/><path d="M25.618 17.685c-.723 0-.872-.329-.872-.608 0-.025.02-.05.05-.05h.215c.024 0 .045.017.045.042.033.218.128.324.566.324.348 0 .497-.078.497-.263 0-.106-.042-.184-.583-.238-.451-.045-.732-.144-.732-.501 0-.333.281-.53.752-.53.53 0 .79.18.823.575a.066.066 0 0 1-.012.037c-.009.008-.021.017-.034.017h-.219a.049.049 0 0 1-.045-.037c-.05-.226-.178-.3-.517-.3-.38 0-.426.131-.426.23 0 .119.054.156.567.222.508.065.748.16.748.513 0 .362-.302.567-.823.567ZM28 15.696a.32.32 0 0 1-.319.317.317.317 0 0 1-.318-.317c0-.18.15-.316.319-.316.17 0 .318.14.318.316Zm-.587 0a.266.266 0 1 0 .533 0 .264.264 0 0 0-.269-.263.266.266 0 0 0-.264.263Zm.149-.176h.124c.041 0 .124 0 .124.094 0 .066-.042.078-.066.086.05.004.053.037.057.083.005.028.009.078.017.094h-.075c0-.016-.012-.107-.012-.11-.004-.021-.012-.03-.037-.03h-.062v.144h-.07v-.361Zm.066.156h.053c.046 0 .054-.033.054-.05 0-.049-.033-.049-.053-.049h-.058v.099h.004Z" fill="#5FA04E"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7.923 15.723a.209.209 0 0 0-.108-.181l-1.748-1.007a.256.256 0 0 0-.095-.029h-.017a.198.198 0 0 0-.095.03l-1.753 1.002a.21.21 0 0 0-.107.184l.004 2.696c0 .037.02.074.054.09.033.02.074.02.103 0l1.042-.591a.209.209 0 0 0 .107-.181v-1.262c0-.074.042-.143.108-.18l.442-.255a.202.202 0 0 1 .108-.029c.037 0 .074.008.103.029l.442.255a.209.209 0 0 1 .108.18v1.262c0 .074.041.143.107.18l1.034.592c.033.02.074.02.107 0a.102.102 0 0 0 .054-.09v-2.695ZM16.347 12.012a.115.115 0 0 0-.103 0 .107.107 0 0 0-.054.09v2.671c0 .025-.012.05-.037.066a.08.08 0 0 1-.075 0l-.438-.25a.214.214 0 0 0-.21 0l-1.753 1.006a.209.209 0 0 0-.108.18v2.01c0 .074.042.144.108.18l1.753 1.007a.215.215 0 0 0 .21 0l1.753-1.006a.209.209 0 0 0 .107-.181v-5.008a.21.21 0 0 0-.107-.185l-1.046-.58Zm-.161 5.111c0 .02-.008.037-.025.046l-.6.345a.062.062 0 0 1-.053 0l-.6-.345c-.016-.009-.024-.03-.024-.046v-.69c0-.02.008-.037.025-.045l.599-.345a.061.061 0 0 1 .054 0l.6.345c.016.008.024.029.024.045v.69ZM22.18 16.417a.205.205 0 0 0 .103-.181v-.489a.213.213 0 0 0-.104-.18l-1.74-1.003a.214.214 0 0 0-.21 0l-1.753 1.006a.209.209 0 0 0-.108.181v2.01c0 .073.042.143.108.18l1.74.986a.206.206 0 0 0 .207 0l1.054-.583a.102.102 0 0 0 .053-.09.102.102 0 0 0-.053-.091l-1.761-1.007a.107.107 0 0 1-.054-.09v-.629c0-.037.02-.074.054-.09l.55-.312a.102.102 0 0 1 .107 0l.55.312c.033.02.054.053.054.09v.493c0 .037.02.074.053.09.033.021.075.021.108 0l1.041-.603Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M20.308 16.323a.038.038 0 0 1 .041 0l.335.193c.012.008.02.02.02.037v.386a.043.043 0 0 1-.02.037l-.335.193a.038.038 0 0 1-.041 0l-.335-.193a.043.043 0 0 1-.02-.037v-.386c0-.017.007-.03.02-.037l.335-.193Z" fill="#5FA04E"/><path d="M10.853 14.572a.214.214 0 0 0-.21 0l-1.74.999a.205.205 0 0 0-.104.18v2.001c0 .074.041.144.103.181l1.74.998a.215.215 0 0 0 .211 0l1.74-.998a.205.205 0 0 0 .104-.18V15.75a.214.214 0 0 0-.103-.18l-1.74-.999Z" fill="url(#a)"/><path d="m12.598 15.57-1.749-.998a.288.288 0 0 0-.054-.02l-1.96 3.332c.017.02.038.037.059.05l1.748.997c.05.03.108.037.162.021l1.839-3.344a.128.128 0 0 0-.046-.037Z" fill="url(#b)"/><path d="M12.598 17.933a.234.234 0 0 0 .103-.132l-1.914-3.254a.211.211 0 0 0-.149.025l-1.736.994 1.873 3.394a.29.29 0 0 0 .078-.025l1.745-1.002Z" fill="url(#c)"/><defs><linearGradient id="a" x1="11.457" y1="15.316" x2="9.898" y2="18.514" gradientUnits="userSpaceOnUse"><stop stop-color="#3F873F"/><stop offset=".33" stop-color="#3F8B3D"/><stop offset=".637" stop-color="#3E9638"/><stop offset=".934" stop-color="#3DA92E"/><stop offset="1" stop-color="#3DAE2B"/></linearGradient><linearGradient id="b" x1="10.483" y1="16.985" x2="14.879" y2="13.718" gradientUnits="userSpaceOnUse"><stop offset=".138" stop-color="#3F873F"/><stop offset=".402" stop-color="#52A044"/><stop offset=".713" stop-color="#64B749"/><stop offset=".908" stop-color="#6ABF4B"/></linearGradient><linearGradient id="c" x1="8.735" y1="16.751" x2="12.762" y2="16.751" gradientUnits="userSpaceOnUse"><stop offset=".092" stop-color="#6ABF4B"/><stop offset=".287" stop-color="#64B749"/><stop offset=".598" stop-color="#52A044"/><stop offset=".862" stop-color="#3F873F"/></linearGradient></defs></svg>
|
After Width: | Height: | Size: 4.8 KiB |
1
frontend/src/assets/icons/sdks/Logo-php.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#7A86B8" d="M0 0h32v32H0z"/><path d="M5.9 12.524h3.558c1.045.009 1.802.308 2.271.899.47.59.625 1.396.465 2.418-.062.467-.199.925-.411 1.374-.204.45-.487.855-.85 1.216-.443.458-.917.75-1.421.873a6.575 6.575 0 0 1-1.568.185H6.351l-.505 2.51H4l1.9-9.475Zm1.553 1.507-.797 3.964a.985.985 0 0 0 .16.013h.186c.85.01 1.558-.074 2.124-.25.567-.186.948-.829 1.143-1.93.159-.925 0-1.458-.478-1.6-.47-.14-1.058-.206-1.767-.197a3.748 3.748 0 0 1-.305.013h-.28l.014-.014ZM14.297 10h1.833l-.518 2.524h1.647c.903.018 1.576.203 2.019.555.451.353.584 1.022.398 2.009l-.89 4.4h-1.86l.85-4.202c.09-.44.063-.753-.079-.938-.141-.185-.447-.278-.916-.278l-1.474-.013-1.09 5.432h-1.832L14.297 10ZM21.644 12.524h3.56c1.044.009 1.801.308 2.27.899.47.59.625 1.396.465 2.418-.061.467-.199.925-.411 1.374-.204.45-.487.855-.85 1.216-.443.458-.917.75-1.421.873a6.574 6.574 0 0 1-1.567.185h-1.594l-.505 2.51h-1.846l1.9-9.475Zm1.554 1.507-.797 3.964a.985.985 0 0 0 .16.013h.186c.85.01 1.558-.074 2.125-.25.566-.186.947-.829 1.142-1.93.16-.925 0-1.458-.478-1.6-.47-.14-1.058-.206-1.767-.197a3.75 3.75 0 0 1-.305.013h-.28l.014-.014Z" fill="#fff"/></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
frontend/src/assets/icons/sdks/Logo-python.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="M15.857 4c-.99.005-1.935.088-2.766.234-2.45.428-2.895 1.324-2.895 2.976v2.182h5.79v.728H8.023c-1.683 0-3.156 1-3.616 2.902-.532 2.181-.556 3.542 0 5.82.411 1.695 1.394 2.902 3.076 2.902h1.99v-2.616c0-1.89 1.654-3.556 3.617-3.556h5.782a2.9 2.9 0 0 0 2.894-2.91V7.21c0-1.552-1.323-2.717-2.894-2.976A18.25 18.25 0 0 0 15.857 4Zm-3.13 1.755a1.092 1.092 0 0 1 0 2.182 1.09 1.09 0 0 1 0-2.182Z" fill="url(#a)"/><path d="M22.49 10.12v2.542c0 1.971-1.69 3.63-3.617 3.63H13.09c-1.584 0-2.895 1.341-2.895 2.91v5.452c0 1.552 1.364 2.464 2.895 2.91 1.832.532 3.59.629 5.782 0 1.457-.418 2.894-1.258 2.894-2.91v-2.182h-5.782v-.728h8.677c1.682 0 2.309-1.16 2.894-2.902.604-1.794.579-3.519 0-5.82-.416-1.656-1.21-2.902-2.894-2.902h-2.173Zm-3.253 13.807a1.09 1.09 0 0 1 0 2.182 1.092 1.092 0 0 1 0-2.182Z" fill="url(#b)"/><defs><linearGradient id="a" x1="4" y1="4" x2="17.225" y2="15.394" gradientUnits="userSpaceOnUse"><stop stop-color="#5A9FD4"/><stop offset="1" stop-color="#306998"/></linearGradient><linearGradient id="b" x1="19.098" y1="24.831" x2="14.379" y2="18.144" gradientUnits="userSpaceOnUse"><stop stop-color="#FFD43B"/><stop offset="1" stop-color="#FFE873"/></linearGradient></defs></svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
frontend/src/assets/icons/sdks/Logo-react.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="M16 18.02a2.2 2.2 0 1 0 0-4.4 2.2 2.2 0 0 0 0 4.4Z" fill="#0A7EA4"/><path d="M16 20.77c6.075 0 11-2.217 11-4.95 0-2.735-4.925-4.95-11-4.95S5 13.084 5 15.82c0 2.733 4.925 4.95 11 4.95Z" stroke="#0A7EA4"/><path d="M11.713 18.294c3.038 5.261 7.42 8.418 9.787 7.051 2.368-1.366 1.825-6.74-1.213-12-3.037-5.262-7.42-8.419-9.787-7.052-2.367 1.367-1.824 6.74 1.213 12.001Z" stroke="#0A7EA4"/><path d="M11.713 13.344C8.677 18.606 8.133 23.98 10.5 25.346c2.368 1.366 6.75-1.79 9.787-7.052 3.038-5.26 3.58-10.634 1.213-12-2.367-1.368-6.749 1.79-9.787 7.05Z" stroke="#0A7EA4"/></svg>
|
After Width: | Height: | Size: 696 B |
1
frontend/src/assets/icons/sdks/Logo-ruby.svg
Normal file
After Width: | Height: | Size: 6.9 KiB |
1
frontend/src/assets/icons/sdks/Logo-rust.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="m27.829 15.706-1.007-.623a14.092 14.092 0 0 0-.029-.294l.867-.807a.345.345 0 0 0-.115-.578l-1.107-.413a14.666 14.666 0 0 0-.087-.287l.69-.958a.346.346 0 0 0-.224-.545l-1.168-.19a8.89 8.89 0 0 0-.14-.261l.49-1.078a.346.346 0 0 0-.327-.49l-1.186.04a9.597 9.597 0 0 0-.187-.227l.273-1.153a.348.348 0 0 0-.418-.418L23 7.697c-.075-.064-.15-.126-.227-.187l.041-1.186a.345.345 0 0 0-.49-.328l-1.077.49a14.256 14.256 0 0 0-.26-.14l-.191-1.167a.345.345 0 0 0-.544-.225l-.96.69c-.094-.03-.189-.058-.284-.086l-.413-1.108a.346.346 0 0 0-.578-.115l-.807.867a10.45 10.45 0 0 0-.294-.029l-.623-1.009a.347.347 0 0 0-.59 0l-.624 1.01c-.098.007-.196.017-.293.028l-.808-.867a.348.348 0 0 0-.578.115l-.412 1.108c-.096.028-.191.057-.285.087l-.959-.69a.348.348 0 0 0-.545.225l-.19 1.166c-.088.046-.175.093-.26.14l-1.077-.49a.347.347 0 0 0-.49.328l.04 1.186c-.076.06-.152.123-.227.187l-1.154-.273a.35.35 0 0 0-.418.418l.271 1.153c-.063.075-.125.15-.187.227l-1.185-.04a.349.349 0 0 0-.328.49l.49 1.078-.14.261-1.167.19a.346.346 0 0 0-.225.544l.69.96c-.03.094-.059.19-.087.286l-1.107.413a.347.347 0 0 0-.115.578l.867.807c-.011.098-.02.196-.029.294l-1.007.623a.347.347 0 0 0 0 .59l1.007.624c.008.098.018.196.029.293l-.867.807a.347.347 0 0 0 .115.578l1.107.413c.028.096.057.191.087.287l-.69.959a.346.346 0 0 0 .227.544l1.167.19a8.4 8.4 0 0 0 .14.261l-.49 1.076a.347.347 0 0 0 .328.49l1.183-.04.187.227-.27 1.153a.346.346 0 0 0 .418.415l1.154-.27c.075.064.15.126.227.187l-.041 1.186a.345.345 0 0 0 .49.327l1.077-.49c.086.047.173.094.261.14l.19 1.167a.346.346 0 0 0 .544.227l.96-.69c.094.03.19.06.286.087l.413 1.108a.346.346 0 0 0 .578.114l.807-.866.294.029.624 1.007a.347.347 0 0 0 .59 0l.623-1.007c.098-.009.196-.018.294-.03l.807.867a.345.345 0 0 0 .578-.114l.413-1.108c.096-.028.19-.057.287-.087l.958.69a.346.346 0 0 0 .545-.227l.19-1.167.262-.14 1.075.49a.348.348 0 0 0 .491-.327l-.041-1.186c.077-.061.153-.123.227-.187l1.154.27a.347.347 0 0 0 .418-.415l-.27-1.153a9.52 9.52 0 0 0 .186-.228l1.186.042a.346.346 0 0 0 .328-.491l-.491-1.076c.048-.087.095-.174.14-.261l1.167-.19a.345.345 0 0 0 .225-.544l-.69-.96c.03-.094.059-.189.087-.286l1.107-.413a.346.346 0 0 0 .115-.578l-.867-.807.029-.293 1.007-.624a.346.346 0 0 0 0-.59h-.007Zm-6.743 8.371a.714.714 0 1 1 .002 0h-.002Zm-.342-2.316a.648.648 0 0 0-.77.5l-.358 1.67a8.79 8.79 0 0 1-7.317-.035l-.358-1.67a.649.649 0 0 0-.77-.5l-1.475.317a8.909 8.909 0 0 1-.761-.899h7.178c.082 0 .136-.015.136-.088V18.51c0-.074-.054-.089-.136-.089h-2.098v-1.607h2.268c.207 0 1.108.059 1.395 1.21.09.354.289 1.505.424 1.874.135.413.683 1.239 1.268 1.239h3.578c.04 0 .084-.005.13-.013-.248.337-.52.656-.812.954l-1.51-.323-.012.006Zm-9.931 2.282a.715.715 0 0 1-.298-1.397.713.713 0 1 1 .298 1.397Zm-2.73-11.031a.713.713 0 1 1-1.303.582.713.713 0 0 1 1.304-.582Zm-.836 1.981 1.536-.683a.649.649 0 0 0 .33-.858l-.316-.715h1.243v5.595h-2.5a8.795 8.795 0 0 1-.285-3.35l-.008.011Zm6.743-.543v-1.651h2.958c.153 0 1.08.176 1.08.869 0 .575-.71.782-1.295.782H13.98h.01Zm10.756 1.486c0 .219-.008.436-.024.651h-.901c-.09 0-.127.06-.127.148v.412c0 .973-.548 1.186-1.03 1.239-.458.051-.965-.192-1.027-.473-.27-1.52-.72-1.843-1.431-2.408.883-.56 1.8-1.387 1.8-2.5 0-1.194-.818-1.947-1.376-2.316-.784-.516-1.651-.619-1.885-.619H9.433a8.828 8.828 0 0 1 4.908-2.775l1.099 1.151a.65.65 0 0 0 .92.021l1.23-1.174a8.79 8.79 0 0 1 6.008 4.289l-.841 1.899a.65.65 0 0 0 .33.857l1.619.72c.028.287.043.579.043.872l-.003.006Zm-9.311-9.61a.71.71 0 0 1 1.006.024.715.715 0 0 1-.023 1.009.71.71 0 0 1-1.007-.024.715.715 0 0 1 .024-1.008Zm8.348 6.72a.714.714 0 1 1 1.301.58.714.714 0 0 1-1.3-.58Z" fill="#000"/></svg>
|
After Width: | Height: | Size: 3.6 KiB |
1
frontend/src/assets/icons/sdks/Logo-slack.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><g clip-path="url(#a)" fill-rule="evenodd" clip-rule="evenodd"><path 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" fill="#36C5F0"/><path 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" fill="#2EB67D"/><path 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" fill="#ECB22E"/><path 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" fill="#E01E5A"/></g><defs><clipPath id="a"><path fill="#fff" d="M4 4h24v24H4z"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 868 B |
1
frontend/src/assets/icons/sdks/Logo-svelte.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><g clip-path="url(#a)"><path d="M24.787 7.175c-2.12-3.19-6.306-4.135-9.333-2.107L10.14 8.63a6.25 6.25 0 0 0-1.809 1.842 6.6 6.6 0 0 0-.947 2.453 7.06 7.06 0 0 0 .634 4.335 6.622 6.622 0 0 0-.913 2.397 7.178 7.178 0 0 0 .06 2.701 7.01 7.01 0 0 0 1.05 2.466c2.12 3.19 6.307 4.136 9.333 2.108l5.316-3.562a6.25 6.25 0 0 0 1.809-1.842c.474-.74.797-1.575.946-2.453a7.062 7.062 0 0 0-.631-4.336c.454-.725.764-1.54.911-2.396a7.173 7.173 0 0 0-.059-2.701 7.006 7.006 0 0 0-1.05-2.467" fill="#FF3E00"/><path d="M14.934 25.125a4.028 4.028 0 0 1-2.53-.134 4.259 4.259 0 0 1-2.002-1.633 4.214 4.214 0 0 1-.632-1.483 4.316 4.316 0 0 1-.036-1.624c.03-.177.073-.351.127-.522l.1-.321.273.21a6.731 6.731 0 0 0 2.079 1.093l.197.063-.018.207a1.3 1.3 0 0 0 .214.83c.149.226.36.398.604.493.244.095.51.11.762.04.115-.032.225-.082.326-.15l5.316-3.562c.13-.087.242-.2.328-.334.086-.134.144-.285.171-.444a1.303 1.303 0 0 0-.804-1.43 1.215 1.215 0 0 0-.762-.04 1.147 1.147 0 0 0-.327.15l-2.028 1.36a3.789 3.789 0 0 1-1.08.498 4.027 4.027 0 0 1-2.53-.134 4.259 4.259 0 0 1-2.002-1.632 4.213 4.213 0 0 1-.633-1.483 4.315 4.315 0 0 1-.035-1.625c.09-.527.284-1.03.57-1.475a3.757 3.757 0 0 1 1.088-1.107l5.316-3.562a3.784 3.784 0 0 1 1.08-.499 4.028 4.028 0 0 1 2.53.134A4.26 4.26 0 0 1 22.6 8.642c.302.445.517.949.632 1.482.114.534.127 1.086.036 1.625a4.13 4.13 0 0 1-.127.521l-.1.322-.273-.21a6.723 6.723 0 0 0-2.079-1.093l-.197-.063.018-.207a1.303 1.303 0 0 0-.215-.831 1.283 1.283 0 0 0-.603-.492 1.213 1.213 0 0 0-.762-.04 1.143 1.143 0 0 0-.326.15l-5.317 3.562c-.13.086-.242.2-.328.334a1.195 1.195 0 0 0-.171.444 1.303 1.303 0 0 0 .804 1.43c.244.094.51.109.762.04.115-.032.225-.083.326-.15l2.028-1.36a3.775 3.775 0 0 1 1.08-.498 4.027 4.027 0 0 1 2.53.134 4.26 4.26 0 0 1 2.003 1.632c.302.445.517.95.632 1.483.114.534.126 1.086.035 1.625a3.972 3.972 0 0 1-.569 1.475 3.76 3.76 0 0 1-1.087 1.108l-5.317 3.56a3.785 3.785 0 0 1-1.08.5Z" fill="#fff"/></g><defs><clipPath id="a"><path fill="#fff" transform="translate(7 4)" d="M0 0h19v24H0z"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 2.1 KiB |
1
frontend/src/assets/icons/sdks/Logo-teams.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><g clip-path="url(#a)"><path 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-.554ZM24.93 11.922a2.512 2.512 0 1 0 0-5.023 2.512 2.512 0 0 0 0 5.023Z" fill="#5059C9"/><path d="M17.116 11.922a3.628 3.628 0 1 0 0-7.255 3.628 3.628 0 0 0 0 7.255ZM21.953 13.04H11.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" fill="#7B83EB"/><path opacity=".1" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path opacity=".1" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path opacity=".2" 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" fill="#000"/><path 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" fill="url(#b)"/><path d="M12.832 13.585h-2.045v5.57H9.483v-5.57H7.447v-1.08h5.385v1.08Z" fill="#fff"/></g><defs><linearGradient id="b" x1="6.133" y1="8.89" x2="14.146" 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>
|
After Width: | Height: | Size: 2.5 KiB |
1
frontend/src/assets/icons/sdks/Logo-vue.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><path d="M18.775 7 16 11.762 13.225 7H4l12 20.625L28 7h-9.225Z" fill="#42B883"/><path d="M18.775 7 16 11.762 13.225 7H8.8L16 19.375 23.2 7h-4.425Z" fill="#35495E"/></svg>
|
After Width: | Height: | Size: 285 B |
1
frontend/src/assets/icons/sdks/Logo-webhook.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#F7F7FA" d="M0 0h32v32H0z"/><g clip-path="url(#a)"><path 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" fill="#C73A63"/><path 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" fill="#4B4B4B"/><path 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" fill="#4A4A4A"/></g><defs><clipPath id="a"><path fill="#fff" transform="translate(4 4)" d="M0 0h24v24H0z"/></clipPath></defs></svg>
|
After Width: | Height: | Size: 1.6 KiB |
@ -6,7 +6,8 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
||||
import { IntegrationCard } from '../IntegrationCard/IntegrationCard';
|
||||
import { JIRA_INFO } from '../../JiraIntegration/JiraIntegration';
|
||||
import { StyledCardsGrid } from '../IntegrationList.styles';
|
||||
import { Paper, Typography, styled } from '@mui/material';
|
||||
import { Typography, styled } from '@mui/material';
|
||||
import { OFFICIAL_SDKS } from './SDKs';
|
||||
|
||||
interface IAvailableIntegrationsProps {
|
||||
providers: AddonTypeSchema[];
|
||||
@ -43,6 +44,8 @@ export const AvailableIntegrations: VFC<IAvailableIntegrationsProps> = ({
|
||||
loading,
|
||||
}) => {
|
||||
const customProviders = [JIRA_INFO];
|
||||
const serverSdks = OFFICIAL_SDKS.filter(sdk => sdk.type === 'server');
|
||||
const clientSdks = OFFICIAL_SDKS.filter(sdk => sdk.type === 'client');
|
||||
|
||||
const ref = useLoading(loading || false);
|
||||
|
||||
@ -112,6 +115,77 @@ export const AvailableIntegrations: VFC<IAvailableIntegrationsProps> = ({
|
||||
)} */}
|
||||
</StyledCardsGrid>
|
||||
</StyledSection>
|
||||
<StyledSection>
|
||||
<div>
|
||||
<Typography component="h3" variant="h2">
|
||||
Official SDKs
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
In order to connect your application to Unleash you
|
||||
will need a client SDK (software developer kit) for
|
||||
your programming language and an API token.
|
||||
</Typography>
|
||||
</div>
|
||||
<div>
|
||||
<Typography component="h4" variant="h4">
|
||||
Server-side SDKs
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Server-side clients run on your server and
|
||||
communicate directly with your Unleash instance.
|
||||
</Typography>
|
||||
</div>
|
||||
<StyledCardsGrid small>
|
||||
{serverSdks?.map(
|
||||
({
|
||||
name,
|
||||
displayName,
|
||||
description,
|
||||
documentationUrl,
|
||||
}) => (
|
||||
<IntegrationCard
|
||||
key={name}
|
||||
icon={name}
|
||||
title={displayName || name}
|
||||
description={description}
|
||||
link={documentationUrl}
|
||||
configureActionText={'View documentation'}
|
||||
isExternal
|
||||
/>
|
||||
)
|
||||
)}
|
||||
</StyledCardsGrid>
|
||||
<div>
|
||||
<Typography component="h4" variant="h4">
|
||||
Client-side SDKs
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Client-side SDKs can connect to the Unleash Proxy or
|
||||
to the Unleash front-end API, but not to the regular
|
||||
Unleash client API.
|
||||
</Typography>
|
||||
</div>
|
||||
<StyledCardsGrid small>
|
||||
{clientSdks?.map(
|
||||
({
|
||||
name,
|
||||
displayName,
|
||||
description,
|
||||
documentationUrl,
|
||||
}) => (
|
||||
<IntegrationCard
|
||||
key={name}
|
||||
icon={name}
|
||||
title={displayName || name}
|
||||
description={description}
|
||||
link={documentationUrl}
|
||||
configureActionText={'View documentation'}
|
||||
isExternal
|
||||
/>
|
||||
)
|
||||
)}
|
||||
</StyledCardsGrid>
|
||||
</StyledSection>
|
||||
<StyledSection>
|
||||
<StyledGrayContainer>
|
||||
<div>
|
||||
|
@ -0,0 +1,117 @@
|
||||
export interface Sdk {
|
||||
name: string;
|
||||
displayName: string;
|
||||
description: string;
|
||||
documentationUrl: string;
|
||||
type: 'server' | 'client';
|
||||
}
|
||||
|
||||
export const OFFICIAL_SDKS: Sdk[] = [
|
||||
{
|
||||
name: 'go',
|
||||
displayName: 'GO SDK',
|
||||
description: 'Officially Unleash Client for Go',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/go',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'java',
|
||||
displayName: 'Java SDK',
|
||||
description: 'Officially Unleash Client for Java',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/java',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'node',
|
||||
displayName: 'Node.js SDK',
|
||||
description: 'Officially Unleash Client for Node.js',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/node',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'php',
|
||||
displayName: 'PHP SDK',
|
||||
description: 'Officially Unleash Client for PHP',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/php',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'python',
|
||||
displayName: 'Python SDK',
|
||||
description: 'Officially Unleash Client for Python',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/python',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'ruby',
|
||||
displayName: 'Ruby SDK',
|
||||
description: 'Officially Unleash Client for Ruby',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/ruby',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'rust',
|
||||
displayName: 'Rust SDK',
|
||||
description: 'Officially Unleash Client for Rust',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/rust',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'dotnet',
|
||||
displayName: '.Net SDK',
|
||||
description: 'Officially Unleash Client for .Net',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/dotnet ',
|
||||
type: 'server',
|
||||
},
|
||||
{
|
||||
name: 'android',
|
||||
displayName: 'Android SDK',
|
||||
description: 'Officially Unleash Client for Android',
|
||||
documentationUrl:
|
||||
'https://docs.getunleash.io/reference/sdks/android-proxy',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'flutter',
|
||||
displayName: 'Flutter Proxy SDK',
|
||||
description: 'Officially Unleash Client for Flutter',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/flutter',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'ios',
|
||||
displayName: 'iOS Proxy SDK',
|
||||
description: 'Officially Unleash Client for iOS',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/ios-proxy',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'javascript',
|
||||
displayName: 'Javascript Proxy SDK',
|
||||
description: 'Officially Unleash Client for Javascript',
|
||||
documentationUrl:
|
||||
'https://docs.getunleash.io/reference/sdks/javascript-browser',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'react',
|
||||
displayName: 'React Proxy SDK',
|
||||
description: 'Officially Unleash Client for React',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/react',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'svelte',
|
||||
displayName: 'Svelte Proxy SDK',
|
||||
description: 'Officially Unleash Client for Svelte',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/svelte',
|
||||
type: 'client',
|
||||
},
|
||||
{
|
||||
name: 'vue',
|
||||
displayName: 'Vue Proxy SDK',
|
||||
description: 'Officially Unleash Client for Vue',
|
||||
documentationUrl: 'https://docs.getunleash.io/reference/sdks/vue',
|
||||
type: 'client',
|
||||
},
|
||||
];
|
@ -1,6 +1,6 @@
|
||||
import { VFC } from 'react';
|
||||
import React, { Fragment, VFC } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { styled, Typography } from '@mui/material';
|
||||
import { styled, Typography, Theme } from '@mui/material';
|
||||
import { IntegrationIcon } from '../IntegrationIcon/IntegrationIcon';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
|
||||
@ -17,6 +17,7 @@ interface IIntegrationCardProps {
|
||||
isEnabled?: boolean;
|
||||
configureActionText?: string;
|
||||
link: string;
|
||||
isExternal?: boolean;
|
||||
addon?: AddonSchema;
|
||||
}
|
||||
|
||||
@ -33,6 +34,19 @@ const StyledLink = styled(Link)(({ theme }) => ({
|
||||
backgroundColor: theme.palette.action.hover,
|
||||
},
|
||||
}));
|
||||
const StyledAnchor = styled('a')(({ theme }) => ({
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
padding: theme.spacing(3),
|
||||
borderRadius: `${theme.shape.borderRadiusMedium}px`,
|
||||
border: `1px solid ${theme.palette.divider}`,
|
||||
textDecoration: 'none',
|
||||
color: 'inherit',
|
||||
boxShadow: theme.boxShadows.card,
|
||||
':hover': {
|
||||
backgroundColor: theme.palette.action.hover,
|
||||
},
|
||||
}));
|
||||
|
||||
const StyledHeader = styled('div')(({ theme }) => ({
|
||||
display: 'flex',
|
||||
@ -64,11 +78,12 @@ export const IntegrationCard: VFC<IIntegrationCardProps> = ({
|
||||
configureActionText = 'Configure',
|
||||
link,
|
||||
addon,
|
||||
isExternal = false,
|
||||
}) => {
|
||||
const isConfigured = addon !== undefined;
|
||||
|
||||
return (
|
||||
<StyledLink to={link}>
|
||||
const content = (
|
||||
<Fragment>
|
||||
<StyledHeader>
|
||||
<StyledTitle variant="h3" data-loading>
|
||||
<IntegrationIcon name={icon as string} /> {title}
|
||||
@ -90,12 +105,22 @@ export const IntegrationCard: VFC<IIntegrationCardProps> = ({
|
||||
show={<IntegrationCardMenu addon={addon as AddonSchema} />}
|
||||
/>
|
||||
</StyledHeader>
|
||||
<Typography variant="body1" data-loading>
|
||||
<Typography variant="body2" color="text.secondary" data-loading>
|
||||
{description}
|
||||
</Typography>
|
||||
<StyledAction data-loading>
|
||||
{configureActionText} <ChevronRightIcon />
|
||||
</StyledAction>
|
||||
</StyledLink>
|
||||
</Fragment>
|
||||
);
|
||||
|
||||
if (isExternal) {
|
||||
return (
|
||||
<StyledAnchor href={link} target="_blank" rel="noreferrer">
|
||||
{content}
|
||||
</StyledAnchor>
|
||||
);
|
||||
} else {
|
||||
return <StyledLink to={link}> {content}</StyledLink>;
|
||||
}
|
||||
};
|
||||
|
@ -9,6 +9,22 @@ import webhooksIcon from 'assets/icons/webhooks.svg';
|
||||
import teamsIcon from 'assets/icons/teams.svg';
|
||||
import dataDogIcon from 'assets/icons/datadog.svg';
|
||||
|
||||
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 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';
|
||||
import php from 'assets/icons/sdks/Logo-php.svg';
|
||||
import python from 'assets/icons/sdks/Logo-python.svg';
|
||||
import react from 'assets/icons/sdks/Logo-react.svg';
|
||||
import ruby from 'assets/icons/sdks/Logo-ruby.svg';
|
||||
import rust from 'assets/icons/sdks/Logo-rust.svg';
|
||||
import svelte from 'assets/icons/sdks/Logo-svelte.svg';
|
||||
import vue from 'assets/icons/sdks/Logo-vue.svg';
|
||||
|
||||
const style: React.CSSProperties = {
|
||||
width: '32.5px',
|
||||
height: '32.5px',
|
||||
@ -70,6 +86,110 @@ export const IntegrationIcon = ({ name }: IIntegrationIconProps) => {
|
||||
src={formatAssetPath(jiraIcon)}
|
||||
/>
|
||||
);
|
||||
case 'android':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Android logo"
|
||||
src={formatAssetPath(android)}
|
||||
/>
|
||||
);
|
||||
case 'dotnet':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt=".Net logo"
|
||||
src={formatAssetPath(dotnet)}
|
||||
/>
|
||||
);
|
||||
case 'flutter':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Flutter logo"
|
||||
src={formatAssetPath(flutter)}
|
||||
/>
|
||||
);
|
||||
case 'go':
|
||||
return (
|
||||
<img style={style} alt="Go logo" src={formatAssetPath(go)} />
|
||||
);
|
||||
case 'ios':
|
||||
return (
|
||||
<img style={style} alt="iOS logo" src={formatAssetPath(ios)} />
|
||||
);
|
||||
case 'java':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Java logo"
|
||||
src={formatAssetPath(java)}
|
||||
/>
|
||||
);
|
||||
case 'javascript':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="JavaScript logo"
|
||||
src={formatAssetPath(javascript)}
|
||||
/>
|
||||
);
|
||||
case 'node':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Node.js logo"
|
||||
src={formatAssetPath(node)}
|
||||
/>
|
||||
);
|
||||
case 'php':
|
||||
return (
|
||||
<img style={style} alt="PHP logo" src={formatAssetPath(php)} />
|
||||
);
|
||||
case 'python':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Python logo"
|
||||
src={formatAssetPath(python)}
|
||||
/>
|
||||
);
|
||||
case 'react':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="React logo"
|
||||
src={formatAssetPath(react)}
|
||||
/>
|
||||
);
|
||||
case 'ruby':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Ruby logo"
|
||||
src={formatAssetPath(ruby)}
|
||||
/>
|
||||
);
|
||||
case 'rust':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Rust logo"
|
||||
src={formatAssetPath(rust)}
|
||||
/>
|
||||
);
|
||||
case 'svelte':
|
||||
return (
|
||||
<img
|
||||
style={style}
|
||||
alt="Svelte logo"
|
||||
src={formatAssetPath(svelte)}
|
||||
/>
|
||||
);
|
||||
case 'vue':
|
||||
return (
|
||||
<img style={style} alt="Vue logo" src={formatAssetPath(vue)} />
|
||||
);
|
||||
default:
|
||||
return (
|
||||
<Avatar>
|
||||
|