From 820e3033ea31d1e9ce81f91a290a69431e1f8225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Tue, 31 Oct 2023 11:55:45 +0100 Subject: [PATCH 01/12] Remove unused conditions in QueryResult The mode is returned by getCodeMirrorModeBasedOnContentType(), which always prefixes the returned values with 'application/'. However returning data on those application/html or application/text break Bruno. --- .../bruno-app/src/components/ResponsePane/QueryResult/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js index b5508ba1b..40807bb05 100644 --- a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js +++ b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js @@ -28,7 +28,7 @@ const formatResponse = (data, mode) => { return safeStringifyJSON(parsed, true); } - if (['text', 'html'].includes(mode) || typeof data === 'string') { + if (typeof data === 'string') { return data; } From 76a26b634df314fc9c89ff921e82dfa6ad32fbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Tue, 31 Oct 2023 11:58:09 +0100 Subject: [PATCH 02/12] JSON in QueryResult should always be indented Some APIs return the wrong Content-Type 'application/html', but valid JSON as payload. In this cases the data is still typeof object and a indented JSON makes it easier to work with. However JSON folding and highlighting will still be off in this case. --- .../bruno-app/src/components/ResponsePane/QueryResult/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js index 40807bb05..392780d5c 100644 --- a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js +++ b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js @@ -32,7 +32,7 @@ const formatResponse = (data, mode) => { return data; } - return safeStringifyJSON(data); + return safeStringifyJSON(data, true); }; const QueryResult = ({ item, collection, data, dataBuffer, width, disableRunEventListener, headers, error }) => { From dc32d7246c4fc7d7b7959781fd24df1616eced64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Wed, 1 Nov 2023 16:24:38 +0100 Subject: [PATCH 03/12] Use the body to check for a json content type --- .../src/components/ResponsePane/QueryResult/index.js | 2 +- packages/bruno-app/src/utils/common/codemirror.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js index 392780d5c..c2930ad43 100644 --- a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js +++ b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js @@ -37,7 +37,7 @@ const formatResponse = (data, mode) => { const QueryResult = ({ item, collection, data, dataBuffer, width, disableRunEventListener, headers, error }) => { const contentType = getContentType(headers); - const mode = getCodeMirrorModeBasedOnContentType(contentType); + const mode = getCodeMirrorModeBasedOnContentType(contentType, data); const formattedData = formatResponse(data, mode); const { storedTheme } = useTheme(); diff --git a/packages/bruno-app/src/utils/common/codemirror.js b/packages/bruno-app/src/utils/common/codemirror.js index 78016de6f..3061719cc 100644 --- a/packages/bruno-app/src/utils/common/codemirror.js +++ b/packages/bruno-app/src/utils/common/codemirror.js @@ -43,7 +43,10 @@ export const defineCodeMirrorBrunoVariablesMode = (variables, mode) => { }); }; -export const getCodeMirrorModeBasedOnContentType = (contentType) => { +export const getCodeMirrorModeBasedOnContentType = (contentType, body) => { + if (typeof body === 'object') { + return 'application/ld+json'; + } if (!contentType || typeof contentType !== 'string') { return 'application/text'; } From 631e436079906c281da618cf076b3bc4787dac18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Wed, 1 Nov 2023 17:32:57 +0100 Subject: [PATCH 04/12] Revert "JSON in QueryResult should always be indented" This reverts commit 76a26b634df314fc9c89ff921e82dfa6ad32fbec. --- .../bruno-app/src/components/ResponsePane/QueryResult/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js index c2930ad43..ff5618a5d 100644 --- a/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js +++ b/packages/bruno-app/src/components/ResponsePane/QueryResult/index.js @@ -32,7 +32,7 @@ const formatResponse = (data, mode) => { return data; } - return safeStringifyJSON(data, true); + return safeStringifyJSON(data); }; const QueryResult = ({ item, collection, data, dataBuffer, width, disableRunEventListener, headers, error }) => { From bb729b5793461dc1df29e0ee753c44f0c9750843 Mon Sep 17 00:00:00 2001 From: Florian Greinacher Date: Wed, 6 Dec 2023 09:20:58 +0100 Subject: [PATCH 05/12] docs: improve german readme --- docs/readme/readme_de.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/readme/readme_de.md b/docs/readme/readme_de.md index 111bb04c0..71b7f9e98 100644 --- a/docs/readme/readme_de.md +++ b/docs/readme/readme_de.md @@ -14,11 +14,11 @@ Bruno ist ein neuer und innovativer API-Client, der den Status Quo von Postman und ähnlichen Tools revolutionieren soll. -Bruno speichert Deine Sammlungen direkt in einem Ordner in Deinem Dateisystem. Wir verwenden eine einfache Textauszeichnungssprache - Bru - um Informationen über API-Anfragen zu speichern. +Bruno speichert deine Sammlungen direkt in einem Ordner in deinem Dateisystem. Wir verwenden eine einfache Textauszeichnungssprache - Bru - um Informationen über API-Anfragen zu speichern. -Du kannst Git oder eine andere Versionskontrolle deiner Wahl verwenden, um an deinen API-Sammlungen gemeinsam mit anderen zu arbeiten. +Du kannst Git oder eine andere Versionskontrolle deiner Wahl verwenden, um gemeinsam mit anderen an deinen API-Sammlungen zu arbeiten. -Bruno ist ein reines Offline-Tool. Es gibt keine Pläne, Bruno eine Cloud-Synchronisation hinzuzufügen. Wir schätzen den Schutz Deiner Daten und glauben, dass sie auf Deinem Gerät bleiben sollten. Lies unsere Langzeit-Vision [hier](https://github.com/usebruno/bruno/discussions/269). +Bruno ist ein reines Offline-Tool. Es gibt keine Pläne, Bruno um eine Cloud-Synchronisation zu erweitern. Wir schätzen den Schutz deiner Daten und glauben, dass sie auf deinem Gerät bleiben sollten. Lies unsere Langzeit-Vision [hier](https://github.com/usebruno/bruno/discussions/269). ![bruno](/assets/images/landing-2.png)

@@ -26,9 +26,9 @@ Bruno ist ein reines Offline-Tool. Es gibt keine Pläne, Bruno eine Cloud-Synchr ![bruno](/assets/images/run-anywhere.png)

-### Zusammenarbeiten mit Git 👩‍💻🧑‍💻 +### Zusammenarbeit mit Git 👩‍💻🧑‍💻 -oder eine Versionskontrolle Deiner Wahl +Oder einer Versionskontrolle deiner Wahl ![bruno](/assets/images/version-control.png)

@@ -49,21 +49,21 @@ oder eine Versionskontrolle Deiner Wahl ### Unterstützung ❤️ -Wuff! Wenn Du dieses Projekt magst, klick den ⭐ Button !! +Wuff! Wenn du dieses Projekt magst, klick den ⭐ Button !! ### Teile Erfahrungsberichte 📣 -Wenn Bruno Dir bei Deiner Arbeit und in Deinen Teams geholfen hat, vergiss bitte nicht, Deine [Erfahrungsberichte auf unserer GitHub-Diskussion](https://github.com/usebruno/bruno/discussions/343) zu teilen. +Wenn Bruno dir und in deinen Teams bei der Arbeit geholfen hat, vergiss bitte nicht, deine [Erfahrungsberichte auf unserer GitHub-Diskussion](https://github.com/usebruno/bruno/discussions/343) zu teilen. -### Veröffentlichung in neuen Paketmanagern +### Bereitstellung in neuen Paket-Managern -Bitte [hier](/publishing.md) für mehr Informationen lesen. +Mehr Informationen findest du [hier](/publishing.md). ### Mitmachen 👩‍💻🧑‍💻 -Ich freue mich, dass Du Bruno verbessern willst. Bitte schau Dir den [Leitfaden zum Mitmachen](../contributing/contributing_de.md) an. +Ich freue mich, dass du Bruno verbessern willst. Bitte schau dir den [Leitfaden zum Mitmachen](../contributing/contributing_de.md) an. -Auch wenn Du nicht in der Lage bist, einen Beitrag in Form von Code zu leisten, zögere bitte nicht, uns Fehler und Funktionswünsche mitzuteilen, die implementiert werden müssen, um Deinen Anwendungsfall zu unterstützen. +Auch wenn du nicht in der Lage bist, einen Beitrag in Form von Code zu leisten, zögere bitte nicht, uns Fehler und Funktionswünsche mitzuteilen, die implementiert werden müssen, um deinen Anwendungsfall zu unterstützen. ### Autoren From eaa448306b5823031c537c2a00f7a2ff7ab586bc Mon Sep 17 00:00:00 2001 From: Zomzog Date: Thu, 7 Dec 2023 12:00:37 +0100 Subject: [PATCH 06/12] fix(#1117): Sort env alphabetically --- .../src/providers/ReduxStore/slices/collections/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js b/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js index e360e26bb..46c727f4f 100644 --- a/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js +++ b/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js @@ -1224,6 +1224,7 @@ export const collectionsSlice = createSlice({ existingEnv.variables = environment.variables; } else { collection.environments.push(environment); + collection.environments.sort((a, b) => a.name.localeCompare(b.name)); const lastAction = collection.lastAction; if (lastAction && lastAction.type === 'ADD_ENVIRONMENT') { From cc89e34b4cbafdb715e54a71aff6907c3ee1dd24 Mon Sep 17 00:00:00 2001 From: Tathagata Chakraborty Date: Thu, 7 Dec 2023 20:29:29 +0530 Subject: [PATCH 07/12] fix for #1177 --- docs/publishing/publishing_bn.md | 7 +++++++ docs/publishing/publishing_pl.md | 2 +- docs/publishing/publishing_ro.md | 2 +- docs/readme/readme_bn.md | 4 ++-- publishing.md | 2 +- readme.md | 2 +- 6 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 docs/publishing/publishing_bn.md diff --git a/docs/publishing/publishing_bn.md b/docs/publishing/publishing_bn.md new file mode 100644 index 000000000..baef0b868 --- /dev/null +++ b/docs/publishing/publishing_bn.md @@ -0,0 +1,7 @@ +[English](/publishing.md) | [Português (BR)](docs/publishing/publishing_pt_br.md) | [Română](docs/publishing/publishing_ro.md) | [Polski](docs/publishing/publishing_pl.md) | **বাংলা** + +### ব্রুনোকে নতুন প্যাকেজ ম্যানেজারে প্রকাশ করা + +যদিও আমাদের কোড ওপেন সোর্স এবং সবার ব্যবহারের জন্য উপলব্ধ, তবে আমরা নতুন প্যাকেজ ম্যানেজারে প্রকাশনা বিবেচনা করার আগে আমাদের সাথে যোগাযোগ করার জন্য অনুরোধ করি। ব্রুনোর স্রষ্টা হিসাবে, আমি এই প্রকল্পের জন্য `Bruno` ট্রেডমার্ক ধারণ করি এবং এর বিতরণ পরিচালনা করতে চাই। যদি আপনি একটি নতুন প্যাকেজ ম্যানেজারে ব্রুনো দেখতে চান, দয়া করে একটি GitHub ইস্যু তুলুন। + +যদিও আমাদের বেশিরভাগ বৈশিষ্ট্য বিনামূল্যে এবং ওপেন সোর্স (যা REST এবং GraphQL API গুলিকে কভার করে), আমরা ওপেন-সোর্স নীতি এবং স্থায়িত্বের মধ্যে একটি সুসঙ্গত ভারসাম্য বজায় রাখার জন্য চেষ্টা করি - https://github.com/usebruno/bruno/discussions/269 diff --git a/docs/publishing/publishing_pl.md b/docs/publishing/publishing_pl.md index acbb026a4..d03dbf564 100644 --- a/docs/publishing/publishing_pl.md +++ b/docs/publishing/publishing_pl.md @@ -1,4 +1,4 @@ -[English](/publishing.md) | [Português (BR)](docs/publishing/publishing_pt_br.md) | [Română](docs/publishing/publishing_ro.md) | **Polski** +[English](/publishing.md) | [Português (BR)](docs/publishing/publishing_pt_br.md) | [Română](docs/publishing/publishing_ro.md) | **Polski** | [বাংলা](docs/publishing/publishing_bn.md) ### Publikowanie Bruno w nowym menedżerze pakietów diff --git a/docs/publishing/publishing_ro.md b/docs/publishing/publishing_ro.md index b03648cbb..974371390 100644 --- a/docs/publishing/publishing_ro.md +++ b/docs/publishing/publishing_ro.md @@ -1,4 +1,4 @@ -[English](/publishing.md) | [Português (BR)](/docs/publishing/publishing_pt_br.md) | **Română** +[English](/publishing.md) | [Português (BR)](/docs/publishing/publishing_pt_br.md) | **Română** | [Polski](docs/publishing/publishing_pl.md) | [বাংলা](/docs/publishing/publishing_bn.md) ### Publicarea lui Bruno la un gestionar de pachete nou diff --git a/docs/readme/readme_bn.md b/docs/readme/readme_bn.md index bcf313d61..fe023a165 100644 --- a/docs/readme/readme_bn.md +++ b/docs/readme/readme_bn.md @@ -10,7 +10,7 @@ [![Website](https://img.shields.io/badge/Website-Visit-blue)](https://www.usebruno.com) [![Download](https://img.shields.io/badge/Download-Latest-brightgreen)](https://www.usebruno.com/downloads) -[English](../../readme.md) | [Українська](docs/readme/readme_ua.md) | [Русский](docs/readme/readme_ru.md) | [Türkçe](docs/readme/readme_tr.md) | [Deutsch](docs/readme/readme_de.md) | [Français](docs/readme/readme_fr.md) | **বাংলা** +[English](../../readme.md) | [Українська](docs/readme/readme_ua.md) | [Русский](docs/readme/readme_ru.md) | [Türkçe](docs/readme/readme_tr.md) | [Deutsch](docs/readme/readme_de.md) | [Français](docs/readme/readme_fr.md) | [Português (BR)](docs/readme/readme_pt_br.md) | [한국어](docs/readme/readme_kr.md) | **বাংলা** | [Español](docs/readme/readme_es.md) | [Italiano](docs/readme/readme_it.md) | [Română](docs/readme/readme_ro.md) | [Polski](docs/readme/readme_pl.md) ব্রুনো হল একটি নতুন এবং উদ্ভাবনী API ক্লায়েন্ট, যার লক্ষ্য পোস্টম্যান এবং অনুরূপ সরঞ্জাম দ্বারা প্রতিনিধিত্ব করা স্থিতাবস্থায় বিপ্লব ঘটানো। @@ -85,7 +85,7 @@ sudo apt install bruno ### নতুন প্যাকেজ পরিচালকদের কাছে প্রকাশ করা হচ্ছে -আরও তথ্যের জন্য অনুগ্রহ করে [এখানে](publishing.md) দেখুন। +আরও তথ্যের জন্য অনুগ্রহ করে [এখানে](../publishing/publishing_bn.md) দেখুন। ### অবদান 👩‍💻🧑‍💻 diff --git a/publishing.md b/publishing.md index ae27d6790..1b586fa77 100644 --- a/publishing.md +++ b/publishing.md @@ -1,4 +1,4 @@ -**English** | [Português (BR)](docs/publishing/publishing_pt_br.md) | [Română](docs/publishing/publishing_ro.md) | [Polski](docs/publishing/publishing_pl.md) +**English** | [Português (BR)](docs/publishing/publishing_pt_br.md) | [Română](docs/publishing/publishing_ro.md) | [Polski](docs/publishing/publishing_pl.md) | [বাংলা](docs/publishing/publishing_bn.md) ### Publishing Bruno to a new package manager diff --git a/readme.md b/readme.md index 9aa0aa064..cee703e06 100644 --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ [![Website](https://img.shields.io/badge/Website-Visit-blue)](https://www.usebruno.com) [![Download](https://img.shields.io/badge/Download-Latest-brightgreen)](https://www.usebruno.com/downloads) -**English** | [Українська](docs/readme/readme_ua.md) | [Русский](docs/readme/readme_ru.md) | [Türkçe](docs/readme/readme_tr.md) | [Deutsch](docs/readme/readme_de.md) | [Français](docs/readme/readme_fr.md) | [Português (BR)](docs/readme/readme_pt_br.md)) | [한국어](docs/readme/readme_kr.md) ) | [বাংলা](docs/readme/readme_bn.md) | [Español](docs/readme/readme_es.md) | [Italiano](docs/readme/readme_it.md) | [Română](docs/readme/readme_ro.md) | [Polski](docs/readme/readme_pl.md) +**English** | [Українська](docs/readme/readme_ua.md) | [Русский](docs/readme/readme_ru.md) | [Türkçe](docs/readme/readme_tr.md) | [Deutsch](docs/readme/readme_de.md) | [Français](docs/readme/readme_fr.md) | [Português (BR)](docs/readme/readme_pt_br.md) | [한국어](docs/readme/readme_kr.md) | [বাংলা](docs/readme/readme_bn.md) | [Español](docs/readme/readme_es.md) | [Italiano](docs/readme/readme_it.md) | [Română](docs/readme/readme_ro.md) | [Polski](docs/readme/readme_pl.md) Bruno is a new and innovative API client, aimed at revolutionizing the status quo represented by Postman and similar tools out there. From 89c5fc2f03a08ad7089e3cbba0774564f51da8b7 Mon Sep 17 00:00:00 2001 From: Sebastien Dionne Date: Sun, 10 Dec 2023 15:12:04 -0500 Subject: [PATCH 08/12] Add copy to clipboard icon --- packages/bruno-app/package.json | 1 + .../GenerateCodeItem/CodeView/index.js | 25 +++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/bruno-app/package.json b/packages/bruno-app/package.json index 232cd5cfb..013bbf1c1 100644 --- a/packages/bruno-app/package.json +++ b/packages/bruno-app/package.json @@ -55,6 +55,7 @@ "qs": "^6.11.0", "query-string": "^7.0.1", "react": "18.2.0", + "react-copy-to-clipboard": "^5.1.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "18.2.0", diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js index 18734b288..4ec2b8a60 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js @@ -4,6 +4,10 @@ import { HTTPSnippet } from 'httpsnippet'; import { useTheme } from 'providers/Theme/index'; import { buildHarRequest } from 'utils/codegenerator/har'; import { useSelector } from 'react-redux'; +import { CopyToClipboard } from 'react-copy-to-clipboard'; +import toast from 'react-hot-toast'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faCopy } from '@fortawesome/free-solid-svg-icons'; const CodeView = ({ language, item }) => { const { storedTheme } = useTheme(); @@ -20,13 +24,20 @@ const CodeView = ({ language, item }) => { } return ( - + <> +
+ toast.success('Copied to clipboard!')}> + + +
+ + ); }; From 10183319c496f7ba3c6da4495ebb296f7ecc4876 Mon Sep 17 00:00:00 2001 From: Sebastien Dionne Date: Sun, 10 Dec 2023 15:18:01 -0500 Subject: [PATCH 09/12] forgot to commit package-lock.json --- package-lock.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/package-lock.json b/package-lock.json index 1c2487354..0478db56b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14214,6 +14214,18 @@ "node": ">=0.10.0" } }, + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "dependencies": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, "node_modules/react-dnd": { "version": "16.0.1", "license": "MIT", From 7953863b9df5fc0b018b73f69177fede7970dd41 Mon Sep 17 00:00:00 2001 From: Sebastien Dionne Date: Sun, 10 Dec 2023 15:20:47 -0500 Subject: [PATCH 10/12] forgot to commit package-lock.json --- package-lock.json | 127 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 114 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0478db56b..42b025ede 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2360,15 +2360,21 @@ } }, "node_modules/@babel/runtime": { - "version": "7.20.7", - "license": "MIT", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, "node_modules/@babel/template": { "version": "7.20.7", "license": "MIT", @@ -7331,6 +7337,22 @@ "node": ">=0.10" } }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, "node_modules/date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -14560,6 +14582,7 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.11", + "dev": true, "license": "MIT" }, "node_modules/regenerator-transform": { @@ -15002,8 +15025,9 @@ } }, "node_modules/rxjs": { - "version": "7.8.0", - "license": "Apache-2.0", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { "tslib": "^2.1.0" } @@ -15291,6 +15315,15 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/side-channel": { "version": "1.0.4", "license": "MIT", @@ -15467,6 +15500,12 @@ "source-map": "^0.6.0" } }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, "node_modules/spdx-correct": { "version": "3.1.1", "dev": true, @@ -16412,6 +16451,15 @@ "version": "0.0.3", "license": "MIT" }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "dev": true, @@ -17335,8 +17383,9 @@ } }, "node_modules/yargs": { - "version": "17.6.2", - "license": "MIT", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -17441,6 +17490,7 @@ "qs": "^6.11.0", "query-string": "^7.0.1", "react": "18.2.0", + "react-copy-to-clipboard": "^5.1.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "18.2.0", @@ -17682,7 +17732,7 @@ }, "packages/bruno-electron": { "name": "bruno", - "version": "v1.3.0", + "version": "v1.4.0", "dependencies": { "@aws-sdk/credential-providers": "^3.425.0", "@usebruno/js": "0.9.3", @@ -19730,9 +19780,18 @@ } }, "@babel/runtime": { - "version": "7.20.7", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + } } }, "@babel/template": { @@ -21709,6 +21768,7 @@ "qs": "^6.11.0", "query-string": "^7.0.1", "react": "18.2.0", + "react-copy-to-clipboard": "^5.1.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "18.2.0", @@ -23734,6 +23794,15 @@ "assert-plus": "^1.0.0" } }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.21.0" + } + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -28118,6 +28187,15 @@ "loose-envify": "^1.1.0" } }, + "react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "requires": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + } + }, "react-dnd": { "version": "16.0.1", "requires": { @@ -28338,7 +28416,8 @@ } }, "regenerator-runtime": { - "version": "0.13.11" + "version": "0.13.11", + "dev": true }, "regenerator-transform": { "version": "0.15.1", @@ -28633,7 +28712,9 @@ } }, "rxjs": { - "version": "7.8.0", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "requires": { "tslib": "^2.1.0" }, @@ -28825,6 +28906,12 @@ "version": "3.0.0", "dev": true }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, "side-channel": { "version": "1.0.4", "requires": { @@ -28944,6 +29031,12 @@ "source-map": "^0.6.0" } }, + "spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, "spdx-correct": { "version": "3.1.1", "dev": true, @@ -29579,6 +29672,12 @@ "tr46": { "version": "0.0.3" }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, "truncate-utf8-bytes": { "version": "1.0.2", "dev": true, @@ -30153,7 +30252,9 @@ "version": "1.10.2" }, "yargs": { - "version": "17.6.2", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", From c2c2ef6e2b625eb0eb259953eecb98037d3f6dae Mon Sep 17 00:00:00 2001 From: Sebastien Dionne Date: Tue, 12 Dec 2023 17:53:37 -0500 Subject: [PATCH 11/12] Use tabler icon --- .../CollectionItem/GenerateCodeItem/CodeView/index.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js index 4ec2b8a60..a7d509a03 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js @@ -6,8 +6,7 @@ import { buildHarRequest } from 'utils/codegenerator/har'; import { useSelector } from 'react-redux'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import toast from 'react-hot-toast'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faCopy } from '@fortawesome/free-solid-svg-icons'; +import { IconCopy } from '@tabler/icons'; const CodeView = ({ language, item }) => { const { storedTheme } = useTheme(); @@ -27,7 +26,7 @@ const CodeView = ({ language, item }) => { <>
toast.success('Copied to clipboard!')}> - +
Date: Tue, 12 Dec 2023 19:54:27 -0500 Subject: [PATCH 12/12] And adding style to GenCode --- .../CodeView/StyledWrapper.js | 20 +++++++++++++++ .../GenerateCodeItem/CodeView/index.js | 25 +++++++++++-------- 2 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/StyledWrapper.js diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/StyledWrapper.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/StyledWrapper.js new file mode 100644 index 000000000..bb7c96d8f --- /dev/null +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/StyledWrapper.js @@ -0,0 +1,20 @@ +import styled from 'styled-components'; + +const StyledWrapper = styled.div` + position: relative; + + .copy-to-clipboard { + position: absolute; + cursor: pointer; + top: 0px; + right: 0px; + z-index: 10; + opacity: 0.5; + + &:hover { + opacity: 1; + } + } +`; + +export default StyledWrapper; diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js index a7d509a03..5d81ae095 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js @@ -2,6 +2,7 @@ import CodeEditor from 'components/CodeEditor/index'; import get from 'lodash/get'; import { HTTPSnippet } from 'httpsnippet'; import { useTheme } from 'providers/Theme/index'; +import StyledWrapper from './StyledWrapper'; import { buildHarRequest } from 'utils/codegenerator/har'; import { useSelector } from 'react-redux'; import { CopyToClipboard } from 'react-copy-to-clipboard'; @@ -24,18 +25,22 @@ const CodeView = ({ language, item }) => { return ( <> -
- toast.success('Copied to clipboard!')}> + + toast.success('Copied to clipboard!')} + > -
- + + ); };