Skip to content

Commit cd3c264

Browse files
committed
0.1.41
1 parent 7b81d93 commit cd3c264

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1661
-258
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hubtools-desktop",
3-
"version": "0.1.40",
3+
"version": "0.1.41",
44
"title": "HubTools Desktop",
55
"private": false,
66
"description": "A desktop app to help with HubSpot development",

release/app/package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

release/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hubtools",
3-
"version": "0.1.40",
3+
"version": "0.1.41",
44
"description": "A desktop app to help with HubSpot development",
55
"license": "MIT",
66
"author": {

src/main/main.ts

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,29 @@ class AppUpdater {
3131
constructor() {
3232
log.transports.file.level = 'info';
3333
autoUpdater.logger = log;
34-
autoUpdater.checkForUpdatesAndNotify();
35-
36-
autoUpdater.on('checking-for-update', () => {
37-
mainWindow?.webContents.send('receive-msg', {
38-
autoDismiss: true,
39-
text: 'Checking for app updates...',
40-
});
41-
});
4234

43-
autoUpdater.on('update-available', () => {
44-
mainWindow?.webContents.send('receive-msg', {
45-
autoDismiss: true,
46-
text: 'New app update found.',
47-
});
48-
});
35+
// autoUpdater.on('checking-for-update', () => {
36+
// mainWindow?.webContents.send('receive-msg', {
37+
// autoDismiss: true,
38+
// text: 'Checking for app updates...',
39+
// });
40+
// });
41+
42+
// autoUpdater.on('update-available', () => {
43+
// mainWindow?.webContents.send('receive-msg', {
44+
// autoDismiss: true,
45+
// text: 'New app update found.',
46+
// });
47+
// });
48+
49+
// autoUpdater.on('update-downloaded', () => {
50+
// mainWindow?.webContents.send('receive-msg', {
51+
// autoDismiss: true,
52+
// text: 'New app update has been downloaded.',
53+
// });
54+
// });
4955

50-
autoUpdater.on('update-downloaded', () => {
51-
mainWindow?.webContents.send('receive-msg', {
52-
autoDismiss: true,
53-
text: 'New app update has been downloaded.',
54-
});
55-
});
56+
autoUpdater.checkForUpdatesAndNotify();
5657

5758
setInterval(() => {
5859
autoUpdater.checkForUpdatesAndNotify();
@@ -134,9 +135,15 @@ ipcMain.on('open-directory', (event: any, args: any) => {
134135
text: 'Select a directory from the dialog',
135136
});
136137

138+
if (!mainWindow) {
139+
return;
140+
}
141+
137142
dialog
138-
.showOpenDialog({
143+
.showOpenDialog(mainWindow, {
139144
properties: ['openDirectory'],
145+
buttonLabel: 'Open HubSpot CMS Theme',
146+
message: 'Open HubSpot CMS Theme',
140147
})
141148
.then((result) => {
142149
if (directoryWatcher) {

src/renderer/App.css

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ button:not(.disabled):hover {
104104
.clickable-subtle {
105105
transition: all ease-in 0.1s !important;
106106
cursor: pointer !important;
107-
opacity: 0.9 !important;
107+
opacity: 0.8;
108+
}
109+
110+
.clickable-subtle-active {
111+
opacity: 1 !important;
108112
}
109113

110114
.clickable-subtle:hover {
@@ -114,11 +118,11 @@ button:not(.disabled):hover {
114118
.clickable-subtle-disabled {
115119
transition: all ease-in 0.1s !important;
116120
cursor: not-allowed !important;
117-
opacity: 0.6 !important;
121+
opacity: 0.5 !important;
118122
}
119123

120124
.clickable-subtle-disabled:hover {
121-
opacity: 0.6 !important;
125+
opacity: 0.5 !important;
122126
}
123127

124128
li {
@@ -367,5 +371,15 @@ body::-webkit-scrollbar-thumb,
367371

368372
.scrolling-to-node,
369373
.scrolling-to-node > div {
370-
background: #ff7a59 !important;
374+
opacity: 0.6 !important;
375+
}
376+
377+
input {
378+
transition: all 0.3s ease;
379+
background: #262727 !important;
380+
}
381+
382+
input:focus {
383+
outline: none;
384+
background: #424242 !important;
371385
}

src/renderer/components/CodeEditor/CodeEditor.tsx

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,22 @@ import { defaultFollowupEmail } from '../FrameContext/defaultFields/followupemai
2929
import { defaultFont } from '../FrameContext/defaultFields/font';
3030
import { defaultForm } from '../FrameContext/defaultFields/form';
3131
import { defaultGradient } from '../FrameContext/defaultFields/gradient';
32+
import { defaultHubDBRow } from '../FrameContext/defaultFields/hubdbrow';
33+
import { defaultHubDBTable } from '../FrameContext/defaultFields/hubdbtable';
34+
import { defaultIcon } from '../FrameContext/defaultFields/icon';
35+
import { defaultImage } from '../FrameContext/defaultFields/image';
36+
import { defaultLink } from '../FrameContext/defaultFields/link';
37+
import { defaultLogo } from '../FrameContext/defaultFields/logo';
38+
import { defaultNumber } from '../FrameContext/defaultFields/number';
39+
import { defaultPage } from '../FrameContext/defaultFields/page';
40+
import { defaultRichText } from '../FrameContext/defaultFields/richtext';
41+
import { defaultSimpleMenu } from '../FrameContext/defaultFields/simplemenu';
42+
import { defaultSpacing } from '../FrameContext/defaultFields/spacing';
43+
import { defaultTag } from '../FrameContext/defaultFields/tag';
44+
import { defaultText } from '../FrameContext/defaultFields/text';
45+
import { defaultTextAlignment } from '../FrameContext/defaultFields/textalignment';
46+
import { defaultUrl } from '../FrameContext/defaultFields/url';
47+
import { defaultVideo } from '../FrameContext/defaultFields/video';
3248

3349
const formatCode = (inputCode: any) => {
3450
let formattedCode = formatFieldString(inputCode);
@@ -255,6 +271,170 @@ function createDependencyProposals(range: any, monaco: any) {
255271
})},`,
256272
range,
257273
},
274+
{
275+
label: '"hubdbrow"',
276+
kind: monaco.languages.CompletionItemKind.Function,
277+
documentation: 'The hubdbrow email field for hubspot modules and themes.',
278+
insertText: `${formatFieldString({
279+
...defaultHubDBRow,
280+
name: `${defaultHubDBRow.name}_${nameSuffix}`,
281+
})},`,
282+
range,
283+
},
284+
{
285+
label: '"hubdbtable"',
286+
kind: monaco.languages.CompletionItemKind.Function,
287+
documentation:
288+
'The hubdbtable email field for hubspot modules and themes.',
289+
insertText: `${formatFieldString({
290+
...defaultHubDBTable,
291+
name: `${defaultHubDBTable.name}_${nameSuffix}`,
292+
})},`,
293+
range,
294+
},
295+
{
296+
label: '"icon"',
297+
kind: monaco.languages.CompletionItemKind.Function,
298+
documentation: 'The icon email field for hubspot modules and themes.',
299+
insertText: `${formatFieldString({
300+
...defaultIcon,
301+
name: `${defaultIcon.name}_${nameSuffix}`,
302+
})},`,
303+
range,
304+
},
305+
{
306+
label: '"image"',
307+
kind: monaco.languages.CompletionItemKind.Function,
308+
documentation: 'The image email field for hubspot modules and themes.',
309+
insertText: `${formatFieldString({
310+
...defaultImage,
311+
name: `${defaultImage.name}_${nameSuffix}`,
312+
})},`,
313+
range,
314+
},
315+
{
316+
label: '"link"',
317+
kind: monaco.languages.CompletionItemKind.Function,
318+
documentation: 'The link email field for hubspot modules and themes.',
319+
insertText: `${formatFieldString({
320+
...defaultLink,
321+
name: `${defaultLink.name}_${nameSuffix}`,
322+
})},`,
323+
range,
324+
},
325+
{
326+
label: '"logo"',
327+
kind: monaco.languages.CompletionItemKind.Function,
328+
documentation: 'The logo email field for hubspot modules and themes.',
329+
insertText: `${formatFieldString({
330+
...defaultLogo,
331+
name: `${defaultLogo.name}_${nameSuffix}`,
332+
})},`,
333+
range,
334+
},
335+
{
336+
label: '"number"',
337+
kind: monaco.languages.CompletionItemKind.Function,
338+
documentation: 'The number email field for hubspot modules and themes.',
339+
insertText: `${formatFieldString({
340+
...defaultNumber,
341+
name: `${defaultNumber.name}_${nameSuffix}`,
342+
})},`,
343+
range,
344+
},
345+
{
346+
label: '"page"',
347+
kind: monaco.languages.CompletionItemKind.Function,
348+
documentation: 'The page email field for hubspot modules and themes.',
349+
insertText: `${formatFieldString({
350+
...defaultPage,
351+
name: `${defaultPage.name}_${nameSuffix}`,
352+
})},`,
353+
range,
354+
},
355+
{
356+
label: '"richtext"',
357+
kind: monaco.languages.CompletionItemKind.Function,
358+
documentation: 'The richtext email field for hubspot modules and themes.',
359+
insertText: `${formatFieldString({
360+
...defaultRichText,
361+
name: `${defaultRichText.name}_${nameSuffix}`,
362+
})},`,
363+
range,
364+
},
365+
{
366+
label: '"simplemenu"',
367+
kind: monaco.languages.CompletionItemKind.Function,
368+
documentation:
369+
'The simplemenu email field for hubspot modules and themes.',
370+
insertText: `${formatFieldString({
371+
...defaultSimpleMenu,
372+
name: `${defaultSimpleMenu.name}_${nameSuffix}`,
373+
})},`,
374+
range,
375+
},
376+
{
377+
label: '"spacing"',
378+
kind: monaco.languages.CompletionItemKind.Function,
379+
documentation: 'The spacing email field for hubspot modules and themes.',
380+
insertText: `${formatFieldString({
381+
...defaultSpacing,
382+
name: `${defaultSpacing.name}_${nameSuffix}`,
383+
})},`,
384+
range,
385+
},
386+
{
387+
label: '"tag"',
388+
kind: monaco.languages.CompletionItemKind.Function,
389+
documentation: 'The tag email field for hubspot modules and themes.',
390+
insertText: `${formatFieldString({
391+
...defaultTag,
392+
name: `${defaultTag.name}_${nameSuffix}`,
393+
})},`,
394+
range,
395+
},
396+
{
397+
label: '"text"',
398+
kind: monaco.languages.CompletionItemKind.Function,
399+
documentation: 'The text email field for hubspot modules and themes.',
400+
insertText: `${formatFieldString({
401+
...defaultText,
402+
name: `${defaultText.name}_${nameSuffix}`,
403+
})},`,
404+
range,
405+
},
406+
{
407+
label: '"textalignment"',
408+
kind: monaco.languages.CompletionItemKind.Function,
409+
documentation:
410+
'The textalignment email field for hubspot modules and themes.',
411+
insertText: `${formatFieldString({
412+
...defaultTextAlignment,
413+
name: `${defaultTextAlignment.name}_${nameSuffix}`,
414+
})},`,
415+
range,
416+
},
417+
{
418+
label: '"url"',
419+
kind: monaco.languages.CompletionItemKind.Function,
420+
documentation: 'The url email field for hubspot modules and themes.',
421+
insertText: `${formatFieldString({
422+
...defaultUrl,
423+
name: `${defaultUrl.name}_${nameSuffix}`,
424+
})},`,
425+
range,
426+
},
427+
{
428+
label: '"videoplayer"',
429+
kind: monaco.languages.CompletionItemKind.Function,
430+
documentation:
431+
'The videoplayer email field for hubspot modules and themes.',
432+
insertText: `${formatFieldString({
433+
...defaultVideo,
434+
name: `${defaultVideo.name}_${nameSuffix}`,
435+
})},`,
436+
range,
437+
},
258438
];
259439
}
260440

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { MdiReactIconProps } from 'mdi-react';
2+
import LanguageCss3Icon from 'mdi-react/LanguageCss3Icon';
3+
4+
export const CSSIcon = (props: MdiReactIconProps) => (
5+
<LanguageCss3Icon
6+
{...props}
7+
size={14}
8+
style={{
9+
marginRight: 6,
10+
transform: 'translateY(3px)',
11+
flexShrink: 0,
12+
flexGrow: 0,
13+
}}
14+
color="#ffffff"
15+
/>
16+
);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { MdiReactIconProps } from 'mdi-react';
2+
import ChevronRightIcon from 'mdi-react/ChevronRightIcon';
3+
4+
export const CollapseIcon = (props: MdiReactIconProps) => (
5+
<ChevronRightIcon
6+
{...props}
7+
size={18}
8+
style={{
9+
marginRight: 4,
10+
transform: 'translateY(4px)',
11+
flexShrink: 0,
12+
flexGrow: 0,
13+
}}
14+
/>
15+
);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { MdiReactIconProps } from 'mdi-react';
2+
import FileOutlineIcon from 'mdi-react/FileOutlineIcon';
3+
4+
export const DefaultFileIcon = (props: MdiReactIconProps) => (
5+
<FileOutlineIcon
6+
{...props}
7+
size={14}
8+
style={{
9+
marginRight: 6,
10+
transform: 'translateY(1px)',
11+
flexShrink: 0,
12+
flexGrow: 0,
13+
}}
14+
/>
15+
);

0 commit comments

Comments
 (0)