Skip to content

Commit e79c3b9

Browse files
committed
merge
2 parents 62b8b08 + ae744cb commit e79c3b9

File tree

10 files changed

+76
-10
lines changed

10 files changed

+76
-10
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
1111
## Install and Usage
1212

13+
<a href="https://snapcraft.io/guvercin">
14+
<img alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg" />
15+
</a>
16+
1317
```sh
1418
git clone https://github.com/orcuntuna/guvercin.git
1519
cd guvercin
@@ -31,7 +35,7 @@ npm start
3135
👤 **Orçun Tuna**
3236

3337
* Website: https://www.arkkod.com/
34-
* Twitter: [@\_tunaorcun](https://twitter.com/tunaorcun\_)
38+
* Twitter: [@tunaorcun\_](https://twitter.com/tunaorcun\_)
3539
* Github: [@orcuntuna](https://github.com/orcuntuna)
3640

3741
👤 **Murat Ahmet Korkmaz**

main.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
const { app, BrowserWindow, Menu, shell, ipcMain, ipcRenderer } = require('electron');
1+
const { app, BrowserWindow, Menu, shell, ipcMain, ipcRenderer, clipboard } = require('electron');
22

33
let win;
44

5+
const isMac = process.platform === 'darwin'
6+
57
function createWindow () {
68
win = new BrowserWindow({
79
width: 800,
@@ -44,6 +46,17 @@ function createWindow () {
4446
}
4547
]
4648
},
49+
{
50+
label: "Edit",
51+
submenu: [
52+
{ label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" },
53+
{ label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
54+
{ label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" },
55+
{ label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
56+
{ label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
57+
{ label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }
58+
]
59+
},
4760
{
4861
label: "Go",
4962
submenu: [

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
"request",
4040
"response",
4141
"postman",
42-
"güvercin"
42+
"güvercin",
43+
"response"
4344
],
4445
"build": {
4546
"appId": "com.arkkod.guvercin",

pages/home.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@
170170
</ul>
171171
<div class="tabs">
172172
<div class="tab" id="tab-response-data" tab="response-data">
173+
<div id="loading" class="loading" style="display: none;">
174+
Sending Request...
175+
</div>
173176
<div id="response-editor"></div>
174177
</div>
175178
<div class="tab" id="tab-response-details" tab="response-details">

renderers/collection.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,19 @@ $(function () {
116116
$("#tab-headers .header-list").html("");
117117
$("#tab-headers .header-list").append(create_header_template(element.key, element.value));
118118
});
119-
$("#tab-headers .header-list").append(create_header_template());
119+
if (collection_request_headers.length > 0) {
120+
$("#tab-headers .header-list").append(create_header_template());
121+
}
120122

121123

122124
collection_request_parameters.forEach(element => {
123125
element = JSON.parse(element);
124126
$("#tab-params .param-list").html("");
125127
$("#tab-params .param-list").append(create_parameter_template(element.key, element.value));
126128
});
127-
$("#tab-params .param-list").append(create_parameter_template());
129+
if (collection_request_parameters.length > 0) {
130+
$("#tab-params .param-list").append(create_parameter_template());
131+
}
128132
body_editor.clearSelection();
129133
});
130134

renderers/home.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
const remote = require("electron").remote;
12
const Swal = require('sweetalert2');
23
const ace = require('ace-builds/src/ace');
34
var xml_beautify = require('xml-formatter');
45
const low = require('lowdb');
56
const FileSync = require('lowdb/adapters/FileSync');
67
const { ipcRenderer, ipcMain } = require('electron');
8+
const path = require("path");
79

8-
const adapter = new FileSync('db.json');
10+
const app = remote.app;
11+
const db_path = path.join(app.getPath('home'), "/.guvercin.json");
12+
13+
const adapter = new FileSync(db_path);
914
const db = low(adapter);
1015

1116
db.defaults({ history: [], collection: [] }).write();

renderers/send.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
function validateURL(){
22
var url = $("#url").val();
3-
if(validate({website: url}, {website: {url: true}}) != undefined){
4-
return false;
5-
}else{
3+
if(url){
64
return true;
75
}
6+
return false;
87
}
98

109
var response_codes = [
@@ -48,6 +47,9 @@ $(function(){
4847

4948
$("#request-form").on("submit", function(e){
5049
e.preventDefault();
50+
$("#send").attr("disabled", "disabled");
51+
$("#loading").show();
52+
$("#response-editor").hide();
5153
if(validateURL()){
5254

5355
params.url = $("#url").val();
@@ -104,6 +106,10 @@ $(function(){
104106
}).then(data => {
105107

106108
clearInterval(response_timer);
109+
$("#send").removeAttr("disabled");
110+
$("#loading").hide();
111+
$("#response-editor").show();
112+
107113
/* History Save */
108114
last_history = db.get("history").value();
109115

@@ -183,6 +189,9 @@ $(function(){
183189

184190
}).catch(err => {
185191
clearInterval(response_timer);
192+
$("#send").removeAttr("disabled");
193+
$("#loading").hide();
194+
$("#response-editor").show();
186195
console.log(err);
187196
response_editor.setValue("");
188197
$("#response-headers").html("");
@@ -194,6 +203,9 @@ $(function(){
194203
});
195204

196205
}else{
206+
$("#send").removeAttr("disabled");
207+
$("#loading").hide();
208+
$("#response-editor").show();
197209
$("#request-alert span.message").html("<strong>Hata!</strong> Girdğiniz istek adresi geçerli bir URL değil.");
198210
$("#request-alert").show()
199211
}

renderers/settings.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ function setAceOption(user_ace_option) {
110110
$("#body-content-type option[value='" + user_ace_option + "']").attr("selected", "selected");
111111
}
112112

113+
function setAceThemeOption(theme_option) {
114+
$('#body-editor-theme option:selected').removeAttr('selected');
115+
$("#body-editor-theme option[value='" + theme_option + "']").attr("selected", "selected");
116+
}
117+
113118
$(function () {
114119

115120
user_theme = window.localStorage.getItem("theme");
@@ -121,7 +126,8 @@ $(function () {
121126
body_editor.setTheme(require('ace-builds/src/theme-tomorrow_night_eighties'));
122127
response_editor.setTheme(require('ace-builds/src/theme-tomorrow_night_eighties'));
123128
$('#theme option:selected').removeAttr('selected');
124-
$("#theme option[value='dark']").attr("selected", "selected");
129+
$("#theme option[value='" + user_theme + "']").attr("selected", "selected");
130+
setAceThemeOption("dark");
125131
}
126132

127133

@@ -136,12 +142,14 @@ $(function () {
136142
window.localStorage.setItem("theme", "dark");
137143
body_editor.setTheme(require('ace-builds/src/theme-tomorrow_night_eighties'));
138144
response_editor.setTheme(require('ace-builds/src/theme-tomorrow_night_eighties'));
145+
setAceThemeOption("dark");
139146
}
140147
else if (theme_option == "light") {
141148
$("#theme-link").attr("href", "../styles/empty.css");
142149
window.localStorage.setItem("theme", "light");
143150
body_editor.setTheme(require('ace-builds/src/theme-xcode'));
144151
response_editor.setTheme(require('ace-builds/src/theme-xcode'));
152+
setAceThemeOption("light");
145153
}
146154
}
147155
});

styles/dark-theme.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,8 @@ section.request-bar,
6767
background-color: #666;
6868
color: #fff;
6969
border-color: transparent;
70+
}
71+
72+
.xdsoft_autocomplete_dropdown{
73+
color: #333;
7074
}

styles/home.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,4 +273,16 @@ input, button, select, a{
273273
.header-label {
274274
font-weight: bold;
275275
margin-bottom: 8px;
276+
}
277+
278+
#tab-response-data {
279+
position: relative;
280+
}
281+
282+
.loading {
283+
position: absolute;
284+
top: 50%;
285+
left: 50%;
286+
font-weight: bold;
287+
font-size: 20px;
276288
}

0 commit comments

Comments
 (0)