Compare commits
10 Commits
2023.12.6
...
fix/safari
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a870725abf | ||
|
|
cd7429dd24 | ||
|
|
e6cc235532 | ||
|
|
6a65eb03e7 | ||
|
|
c66ea66689 | ||
|
|
8b0f337280 | ||
|
|
2e8a04fbd6 | ||
|
|
7e1ebd5b43 | ||
|
|
1eb5e02100 | ||
|
|
6198a25bc6 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hoppscotch-backend",
|
"name": "hoppscotch-backend",
|
||||||
"version": "2023.12.6",
|
"version": "2023.12.5",
|
||||||
"description": "",
|
"description": "",
|
||||||
"author": "",
|
"author": "",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export class MailerService {
|
|||||||
): string {
|
): string {
|
||||||
switch (mailDesc.template) {
|
switch (mailDesc.template) {
|
||||||
case 'team-invitation':
|
case 'team-invitation':
|
||||||
return `A user has invited you to join a team workspace in Hoppscotch`;
|
return `${mailDesc.variables.invitee} invited you to join ${mailDesc.variables.invite_team_name} in Hoppscotch`;
|
||||||
|
|
||||||
case 'user-invitation':
|
case 'user-invitation':
|
||||||
return 'Sign in to Hoppscotch';
|
return 'Sign in to Hoppscotch';
|
||||||
|
|||||||
@@ -27,12 +27,6 @@
|
|||||||
color: #3869D4;
|
color: #3869D4;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.nohighlight {
|
|
||||||
color: inherit !important;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
a img {
|
a img {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
@@ -464,7 +458,7 @@
|
|||||||
<td class="content-cell">
|
<td class="content-cell">
|
||||||
<div class="f-fallback">
|
<div class="f-fallback">
|
||||||
<h1>Hi there,</h1>
|
<h1>Hi there,</h1>
|
||||||
<p><a class="nohighlight" name="invitee" href="#">{{invitee}}</a> with <a class="nohighlight" name="invite_team_name" href="#">{{invite_team_name}}</a> has invited you to use Hoppscotch to collaborate with them. Click the button below to set up your account and get started:</p>
|
<p>{{invitee}} with {{invite_team_name}} has invited you to use Hoppscotch to collaborate with them. Click the button below to set up your account and get started:</p>
|
||||||
<!-- Action -->
|
<!-- Action -->
|
||||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -490,7 +484,7 @@
|
|||||||
Welcome aboard, <br />
|
Welcome aboard, <br />
|
||||||
Your friends at Hoppscotch
|
Your friends at Hoppscotch
|
||||||
</p>
|
</p>
|
||||||
<p><strong>P.S.</strong> If you don't associate with <a class="nohighlight" name="invitee" href="#">{{invitee}}</a> or <a class="nohighlight" name="invite_team_name" href="#">{{invite_team_name}}</a>, just ignore this email.</p>
|
<p><strong>P.S.</strong> If you don't associate with {{invitee}} or {{invite_team_name}}, just ignore this email.</p>
|
||||||
<!-- Sub copy -->
|
<!-- Sub copy -->
|
||||||
<table class="body-sub">
|
<table class="body-sub">
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
-->
|
-->
|
||||||
<style type="text/css" rel="stylesheet" media="all">
|
<style type="text/css" rel="stylesheet" media="all">
|
||||||
/* Base ------------------------------ */
|
/* Base ------------------------------ */
|
||||||
|
|
||||||
@import url("https://fonts.googleapis.com/css?family=Nunito+Sans:400,700&display=swap");
|
@import url("https://fonts.googleapis.com/css?family=Nunito+Sans:400,700&display=swap");
|
||||||
body {
|
body {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
@@ -22,25 +22,19 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
-webkit-text-size-adjust: none;
|
-webkit-text-size-adjust: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #3869D4;
|
color: #3869D4;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.nohighlight {
|
|
||||||
color: inherit !important;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
a img {
|
a img {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preheader {
|
.preheader {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
@@ -53,13 +47,13 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
/* Type ------------------------------ */
|
/* Type ------------------------------ */
|
||||||
|
|
||||||
body,
|
body,
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
|
font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
@@ -67,7 +61,7 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
@@ -75,7 +69,7 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
@@ -83,12 +77,12 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p,
|
p,
|
||||||
ul,
|
ul,
|
||||||
ol,
|
ol,
|
||||||
@@ -97,25 +91,25 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.625;
|
line-height: 1.625;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.sub {
|
p.sub {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
/* Utilities ------------------------------ */
|
/* Utilities ------------------------------ */
|
||||||
|
|
||||||
.align-right {
|
.align-right {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.align-left {
|
.align-left {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.align-center {
|
.align-center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
/* Buttons ------------------------------ */
|
/* Buttons ------------------------------ */
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
background-color: #3869D4;
|
background-color: #3869D4;
|
||||||
border-top: 10px solid #3869D4;
|
border-top: 10px solid #3869D4;
|
||||||
@@ -130,7 +124,7 @@
|
|||||||
-webkit-text-size-adjust: none;
|
-webkit-text-size-adjust: none;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button--green {
|
.button--green {
|
||||||
background-color: #22BC66;
|
background-color: #22BC66;
|
||||||
border-top: 10px solid #22BC66;
|
border-top: 10px solid #22BC66;
|
||||||
@@ -138,7 +132,7 @@
|
|||||||
border-bottom: 10px solid #22BC66;
|
border-bottom: 10px solid #22BC66;
|
||||||
border-left: 18px solid #22BC66;
|
border-left: 18px solid #22BC66;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button--red {
|
.button--red {
|
||||||
background-color: #FF6136;
|
background-color: #FF6136;
|
||||||
border-top: 10px solid #FF6136;
|
border-top: 10px solid #FF6136;
|
||||||
@@ -146,7 +140,7 @@
|
|||||||
border-bottom: 10px solid #FF6136;
|
border-bottom: 10px solid #FF6136;
|
||||||
border-left: 18px solid #FF6136;
|
border-left: 18px solid #FF6136;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media only screen and (max-width: 500px) {
|
||||||
.button {
|
.button {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
@@ -154,21 +148,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Attribute list ------------------------------ */
|
/* Attribute list ------------------------------ */
|
||||||
|
|
||||||
.attributes {
|
.attributes {
|
||||||
margin: 0 0 21px;
|
margin: 0 0 21px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attributes_content {
|
.attributes_content {
|
||||||
background-color: #F4F4F7;
|
background-color: #F4F4F7;
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attributes_item {
|
.attributes_item {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
/* Related Items ------------------------------ */
|
/* Related Items ------------------------------ */
|
||||||
|
|
||||||
.related {
|
.related {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -177,31 +171,31 @@
|
|||||||
-premailer-cellpadding: 0;
|
-premailer-cellpadding: 0;
|
||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.related_item {
|
.related_item {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
color: #CBCCCF;
|
color: #CBCCCF;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.related_item-title {
|
.related_item-title {
|
||||||
display: block;
|
display: block;
|
||||||
margin: .5em 0 0;
|
margin: .5em 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.related_item-thumb {
|
.related_item-thumb {
|
||||||
display: block;
|
display: block;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.related_heading {
|
.related_heading {
|
||||||
border-top: 1px solid #CBCCCF;
|
border-top: 1px solid #CBCCCF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 25px 0 10px;
|
padding: 25px 0 10px;
|
||||||
}
|
}
|
||||||
/* Discount Code ------------------------------ */
|
/* Discount Code ------------------------------ */
|
||||||
|
|
||||||
.discount {
|
.discount {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -212,33 +206,33 @@
|
|||||||
background-color: #F4F4F7;
|
background-color: #F4F4F7;
|
||||||
border: 2px dashed #CBCCCF;
|
border: 2px dashed #CBCCCF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.discount_heading {
|
.discount_heading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.discount_body {
|
.discount_body {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
/* Social Icons ------------------------------ */
|
/* Social Icons ------------------------------ */
|
||||||
|
|
||||||
.social {
|
.social {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social td {
|
.social td {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social_icon {
|
.social_icon {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin: 0 8px 10px 8px;
|
margin: 0 8px 10px 8px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
/* Data table ------------------------------ */
|
/* Data table ------------------------------ */
|
||||||
|
|
||||||
.purchase {
|
.purchase {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -247,7 +241,7 @@
|
|||||||
-premailer-cellpadding: 0;
|
-premailer-cellpadding: 0;
|
||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_content {
|
.purchase_content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -256,50 +250,50 @@
|
|||||||
-premailer-cellpadding: 0;
|
-premailer-cellpadding: 0;
|
||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_item {
|
.purchase_item {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
color: #51545E;
|
color: #51545E;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_heading {
|
.purchase_heading {
|
||||||
padding-bottom: 8px;
|
padding-bottom: 8px;
|
||||||
border-bottom: 1px solid #EAEAEC;
|
border-bottom: 1px solid #EAEAEC;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_heading p {
|
.purchase_heading p {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: #85878E;
|
color: #85878E;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_footer {
|
.purchase_footer {
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
border-top: 1px solid #EAEAEC;
|
border-top: 1px solid #EAEAEC;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_total {
|
.purchase_total {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purchase_total--label {
|
.purchase_total--label {
|
||||||
padding: 0 15px 0 0;
|
padding: 0 15px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #F2F4F6;
|
background-color: #F2F4F6;
|
||||||
color: #51545E;
|
color: #51545E;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
color: #51545E;
|
color: #51545E;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-wrapper {
|
.email-wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -309,7 +303,7 @@
|
|||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
background-color: #F2F4F6;
|
background-color: #F2F4F6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-content {
|
.email-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -319,16 +313,16 @@
|
|||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
}
|
}
|
||||||
/* Masthead ----------------------- */
|
/* Masthead ----------------------- */
|
||||||
|
|
||||||
.email-masthead {
|
.email-masthead {
|
||||||
padding: 25px 0;
|
padding: 25px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-masthead_logo {
|
.email-masthead_logo {
|
||||||
width: 94px;
|
width: 94px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-masthead_name {
|
.email-masthead_name {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -337,7 +331,7 @@
|
|||||||
text-shadow: 0 1px 0 white;
|
text-shadow: 0 1px 0 white;
|
||||||
}
|
}
|
||||||
/* Body ------------------------------ */
|
/* Body ------------------------------ */
|
||||||
|
|
||||||
.email-body {
|
.email-body {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -346,7 +340,7 @@
|
|||||||
-premailer-cellpadding: 0;
|
-premailer-cellpadding: 0;
|
||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-body_inner {
|
.email-body_inner {
|
||||||
width: 570px;
|
width: 570px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@@ -356,7 +350,7 @@
|
|||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-footer {
|
.email-footer {
|
||||||
width: 570px;
|
width: 570px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@@ -366,11 +360,11 @@
|
|||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.email-footer p {
|
.email-footer p {
|
||||||
color: #A8AAAF;
|
color: #A8AAAF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body-action {
|
.body-action {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 30px auto;
|
margin: 30px auto;
|
||||||
@@ -380,25 +374,25 @@
|
|||||||
-premailer-cellspacing: 0;
|
-premailer-cellspacing: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body-sub {
|
.body-sub {
|
||||||
margin-top: 25px;
|
margin-top: 25px;
|
||||||
padding-top: 25px;
|
padding-top: 25px;
|
||||||
border-top: 1px solid #EAEAEC;
|
border-top: 1px solid #EAEAEC;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-cell {
|
.content-cell {
|
||||||
padding: 45px;
|
padding: 45px;
|
||||||
}
|
}
|
||||||
/*Media Queries ------------------------------ */
|
/*Media Queries ------------------------------ */
|
||||||
|
|
||||||
@media only screen and (max-width: 600px) {
|
@media only screen and (max-width: 600px) {
|
||||||
.email-body_inner,
|
.email-body_inner,
|
||||||
.email-footer {
|
.email-footer {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
body,
|
body,
|
||||||
.email-body,
|
.email-body,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@hoppscotch/common",
|
"name": "@hoppscotch/common",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2023.12.6",
|
"version": "2023.12.5",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "pnpm exec npm-run-all -p -l dev:*",
|
"dev": "pnpm exec npm-run-all -p -l dev:*",
|
||||||
"test": "vitest --run",
|
"test": "vitest --run",
|
||||||
|
|||||||
@@ -614,8 +614,8 @@ const addNewRootCollection = (name: string) => {
|
|||||||
requests: [],
|
requests: [],
|
||||||
headers: [],
|
headers: [],
|
||||||
auth: {
|
auth: {
|
||||||
authType: "none",
|
authType: "inherit",
|
||||||
authActive: true,
|
authActive: false,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,6 +31,17 @@
|
|||||||
tabindex="0"
|
tabindex="0"
|
||||||
@keyup.escape="hide()"
|
@keyup.escape="hide()"
|
||||||
>
|
>
|
||||||
|
<HoppSmartItem
|
||||||
|
label="None"
|
||||||
|
:icon="authName === 'None' ? IconCircleDot : IconCircle"
|
||||||
|
:active="authName === 'None'"
|
||||||
|
@click="
|
||||||
|
() => {
|
||||||
|
auth.authType = 'none'
|
||||||
|
hide()
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
<HoppSmartItem
|
<HoppSmartItem
|
||||||
v-if="!isRootCollection"
|
v-if="!isRootCollection"
|
||||||
label="Inherit"
|
label="Inherit"
|
||||||
@@ -43,17 +54,6 @@
|
|||||||
}
|
}
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<HoppSmartItem
|
|
||||||
label="None"
|
|
||||||
:icon="authName === 'None' ? IconCircleDot : IconCircle"
|
|
||||||
:active="authName === 'None'"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
auth.authType = 'none'
|
|
||||||
hide()
|
|
||||||
}
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
<HoppSmartItem
|
<HoppSmartItem
|
||||||
label="Basic Auth"
|
label="Basic Auth"
|
||||||
:icon="authName === 'Basic Auth' ? IconCircleDot : IconCircle"
|
:icon="authName === 'Basic Auth' ? IconCircleDot : IconCircle"
|
||||||
@@ -284,7 +284,7 @@ const authActive = pluckRef(auth, "authActive")
|
|||||||
|
|
||||||
const clearContent = () => {
|
const clearContent = () => {
|
||||||
auth.value = {
|
auth.value = {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,17 @@
|
|||||||
tabindex="0"
|
tabindex="0"
|
||||||
@keyup.escape="hide()"
|
@keyup.escape="hide()"
|
||||||
>
|
>
|
||||||
|
<HoppSmartItem
|
||||||
|
label="None"
|
||||||
|
:icon="authName === 'None' ? IconCircleDot : IconCircle"
|
||||||
|
:active="authName === 'None'"
|
||||||
|
@click="
|
||||||
|
() => {
|
||||||
|
auth.authType = 'none'
|
||||||
|
hide()
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
<HoppSmartItem
|
<HoppSmartItem
|
||||||
v-if="!isRootCollection"
|
v-if="!isRootCollection"
|
||||||
label="Inherit"
|
label="Inherit"
|
||||||
@@ -43,17 +54,6 @@
|
|||||||
}
|
}
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<HoppSmartItem
|
|
||||||
label="None"
|
|
||||||
:icon="authName === 'None' ? IconCircleDot : IconCircle"
|
|
||||||
:active="authName === 'None'"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
auth.authType = 'none'
|
|
||||||
hide()
|
|
||||||
}
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
<HoppSmartItem
|
<HoppSmartItem
|
||||||
label="Basic Auth"
|
label="Basic Auth"
|
||||||
:icon="authName === 'Basic Auth' ? IconCircleDot : IconCircle"
|
:icon="authName === 'Basic Auth' ? IconCircleDot : IconCircle"
|
||||||
@@ -265,7 +265,7 @@ const authActive = pluckRef(auth, "authActive")
|
|||||||
|
|
||||||
const clearContent = () => {
|
const clearContent = () => {
|
||||||
auth.value = {
|
auth.value = {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ const samples = [
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: "application/x-www-form-urlencoded",
|
contentType: "application/x-www-form-urlencoded",
|
||||||
body: rawKeyValueEntriesToString([
|
body: rawKeyValueEntriesToString([
|
||||||
@@ -149,7 +149,7 @@ const samples = [
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://google.com/",
|
endpoint: "https://google.com/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
body: null,
|
body: null,
|
||||||
@@ -166,7 +166,7 @@ const samples = [
|
|||||||
method: "POST",
|
method: "POST",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "http://localhost:1111/hello/world/?buzz",
|
endpoint: "http://localhost:1111/hello/world/?buzz",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
body: `{\n "foo": "bar"\n}`,
|
body: `{\n "foo": "bar"\n}`,
|
||||||
@@ -189,7 +189,7 @@ const samples = [
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://example.com/",
|
endpoint: "https://example.com/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
body: null,
|
body: null,
|
||||||
@@ -217,7 +217,7 @@ const samples = [
|
|||||||
method: "POST",
|
method: "POST",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://bing.com/",
|
endpoint: "https://bing.com/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: "multipart/form-data",
|
contentType: "multipart/form-data",
|
||||||
body: [
|
body: [
|
||||||
@@ -301,7 +301,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "http://localhost:9900/",
|
endpoint: "http://localhost:9900/",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
@@ -345,7 +345,7 @@ const samples = [
|
|||||||
endpoint: "https://hoppscotch.io/?io",
|
endpoint: "https://hoppscotch.io/?io",
|
||||||
auth: {
|
auth: {
|
||||||
authActive: true,
|
authActive: true,
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
@@ -380,7 +380,7 @@ const samples = [
|
|||||||
endpoint: "https://someshadywebsite.com/questionable/path/?so",
|
endpoint: "https://someshadywebsite.com/questionable/path/?so",
|
||||||
auth: {
|
auth: {
|
||||||
authActive: true,
|
authActive: true,
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
contentType: "multipart/form-data",
|
contentType: "multipart/form-data",
|
||||||
@@ -441,7 +441,7 @@ const samples = [
|
|||||||
endpoint: "http://localhost/",
|
endpoint: "http://localhost/",
|
||||||
auth: {
|
auth: {
|
||||||
authActive: true,
|
authActive: true,
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
contentType: "multipart/form-data",
|
contentType: "multipart/form-data",
|
||||||
@@ -473,7 +473,7 @@ const samples = [
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://hoppscotch.io/",
|
endpoint: "https://hoppscotch.io/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
body: null,
|
body: null,
|
||||||
@@ -528,7 +528,7 @@ const samples = [
|
|||||||
method: "GET",
|
method: "GET",
|
||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
body: {
|
body: {
|
||||||
contentType: "application/x-www-form-urlencoded",
|
contentType: "application/x-www-form-urlencoded",
|
||||||
body: rawKeyValueEntriesToString([
|
body: rawKeyValueEntriesToString([
|
||||||
@@ -573,7 +573,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [
|
headers: [
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
@@ -615,7 +615,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://muxueqz.top/skybook.html",
|
endpoint: "https://muxueqz.top/skybook.html",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [],
|
headers: [],
|
||||||
body: { contentType: null, body: null },
|
body: { contentType: null, body: null },
|
||||||
params: [],
|
params: [],
|
||||||
@@ -629,7 +629,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [],
|
headers: [],
|
||||||
body: {
|
body: {
|
||||||
contentType: "multipart/form-data",
|
contentType: "multipart/form-data",
|
||||||
@@ -653,7 +653,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "http://127.0.0.1/",
|
endpoint: "http://127.0.0.1/",
|
||||||
method: "CUSTOMMETHOD",
|
method: "CUSTOMMETHOD",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [],
|
headers: [],
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
@@ -670,7 +670,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [
|
headers: [
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
@@ -693,7 +693,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://echo.hoppscotch.io/",
|
endpoint: "https://echo.hoppscotch.io/",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [],
|
headers: [],
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
@@ -710,7 +710,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://example.org/",
|
endpoint: "https://example.org/",
|
||||||
method: "HEAD",
|
method: "HEAD",
|
||||||
auth: { authType: "inherit", authActive: true },
|
auth: { authType: "none", authActive: true },
|
||||||
headers: [],
|
headers: [],
|
||||||
body: {
|
body: {
|
||||||
contentType: null,
|
contentType: null,
|
||||||
@@ -756,7 +756,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://google.com/",
|
endpoint: "https://google.com/",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
@@ -777,7 +777,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://google.com/",
|
endpoint: "https://google.com/",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
@@ -797,7 +797,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "http://192.168.0.24:8080/ping",
|
endpoint: "http://192.168.0.24:8080/ping",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
@@ -817,7 +817,7 @@ const samples = [
|
|||||||
name: "Untitled",
|
name: "Untitled",
|
||||||
endpoint: "https://example.com/",
|
endpoint: "https://example.com/",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export const getDefaultGQLRequest = (): HoppGQLRequest => ({
|
|||||||
}`,
|
}`,
|
||||||
query: DEFAULT_QUERY,
|
query: DEFAULT_QUERY,
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -250,23 +250,19 @@ const handleOAuthRedirect = async () => {
|
|||||||
return E.left("NO_CODE_VERIFIER" as const)
|
return E.left("NO_CODE_VERIFIER" as const)
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = new URLSearchParams({
|
|
||||||
grant_type: "authorization_code",
|
|
||||||
code: queryParams.code,
|
|
||||||
client_id: clientID,
|
|
||||||
client_secret: clientSecret,
|
|
||||||
redirect_uri: redirectUri,
|
|
||||||
code_verifier: codeVerifier,
|
|
||||||
})
|
|
||||||
|
|
||||||
// Exchange the authorization code for an access token
|
// Exchange the authorization code for an access token
|
||||||
const tokenResponse = await runRequestThroughInterceptor({
|
const tokenResponse = await runRequestThroughInterceptor({
|
||||||
url: tokenEndpoint,
|
url: tokenEndpoint,
|
||||||
data: data.toString(),
|
data: JSON.stringify({
|
||||||
|
grant_type: "authorization_code",
|
||||||
|
code: queryParams.code,
|
||||||
|
client_id: clientID,
|
||||||
|
client_secret: clientSecret,
|
||||||
|
redirect_uri: redirectUri,
|
||||||
|
code_verifier: codeVerifier,
|
||||||
|
}),
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {},
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// Clean these up since we don't need them anymore
|
// Clean these up since we don't need them anymore
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ export const getDefaultRESTRequest = (): HoppRESTRequest => ({
|
|||||||
headers: [],
|
headers: [],
|
||||||
method: "GET",
|
method: "GET",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
preRequestScript: "",
|
preRequestScript: "",
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export function getDefaultGQLRequest(): HoppGQLRequest {
|
|||||||
}`.trim(),
|
}`.trim(),
|
||||||
query: DEFAULT_QUERY,
|
query: DEFAULT_QUERY,
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ export function getDefaultRESTRequest(): HoppRESTRequest {
|
|||||||
headers: [],
|
headers: [],
|
||||||
method: "GET",
|
method: "GET",
|
||||||
auth: {
|
auth: {
|
||||||
authType: "inherit",
|
authType: "none",
|
||||||
authActive: true,
|
authActive: true,
|
||||||
},
|
},
|
||||||
preRequestScript: "",
|
preRequestScript: "",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@hoppscotch/selfhost-desktop",
|
"name": "@hoppscotch/selfhost-desktop",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2023.12.6",
|
"version": "2023.12.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev:vite": "vite",
|
"dev:vite": "vite",
|
||||||
|
|||||||
@@ -1260,7 +1260,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hoppscotch-desktop"
|
name = "hoppscotch-desktop"
|
||||||
version = "23.12.6"
|
version = "23.12.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cocoa 0.25.0",
|
"cocoa 0.25.0",
|
||||||
"hex_color",
|
"hex_color",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "hoppscotch-desktop"
|
name = "hoppscotch-desktop"
|
||||||
version = "23.12.6"
|
version = "23.12.5"
|
||||||
description = "A Tauri App"
|
description = "A Tauri App"
|
||||||
authors = ["you"]
|
authors = ["you"]
|
||||||
license = ""
|
license = ""
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
},
|
},
|
||||||
"package": {
|
"package": {
|
||||||
"productName": "Hoppscotch",
|
"productName": "Hoppscotch",
|
||||||
"version": "23.12.6"
|
"version": "23.12.5"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@hoppscotch/selfhost-web",
|
"name": "@hoppscotch/selfhost-web",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2023.12.6",
|
"version": "2023.12.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev:vite": "vite",
|
"dev:vite": "vite",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "hoppscotch-sh-admin",
|
"name": "hoppscotch-sh-admin",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2023.12.6",
|
"version": "2023.12.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "pnpm exec npm-run-all -p -l dev:*",
|
"dev": "pnpm exec npm-run-all -p -l dev:*",
|
||||||
|
|||||||
Reference in New Issue
Block a user