Skip to content

Commit f453945

Browse files
authored
Merge pull request #240 from Lemoncode/epic/manfred2html-export-settings
finished configure and select settings
2 parents 13db015 + 3886b89 commit f453945

File tree

194 files changed

+2266
-421
lines changed

Some content is hidden

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

194 files changed

+2266
-421
lines changed
Lines changed: 6 additions & 0 deletions
Loading
72.6 KB
Loading

apps/react-app/src/common-app/components/codemirror/codemirror.component.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import React from 'react';
2-
2+
import { basicSetup } from 'codemirror';
33
import { EditorState } from '@codemirror/state';
44
import { json } from '@codemirror/lang-json';
5-
import { basicSetup } from 'codemirror';
65
import { EditorView, ViewUpdate, placeholder } from '@codemirror/view';
7-
86
import { codeMirrorTheme } from './codemirror.styles';
97

108
interface Props {

apps/react-app/src/common-app/components/codemirror/codemirror.styles.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ export const codeMirrorTheme = EditorView.theme({
1313
},
1414
'.cm-scroller': { overflow: 'auto' },
1515
'.cm-gutterElement': { display: 'none' },
16+
'.cm-content': {
17+
fontFamily: 'Inter, sans-serif',
18+
},
1619
'.cm content, .cm-gutters,': {
1720
minHeight: '100%',
1821
backgroundColor: '#152128',

apps/react-app/src/common-app/components/export-config/export-config.component.tsx

Lines changed: 0 additions & 126 deletions
This file was deleted.

apps/react-app/src/common-app/components/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ export * from './button';
44
export * from './navbar';
55
export * from './card';
66
export * from './modal';
7-
export * from './export-config';
7+
export * from './select';
88
export * from './alert-message';
99
export * from './codemirror';
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export * from './modal.component'
1+
export * from './modal.component';

apps/react-app/src/common-app/components/modal/modal.component.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ interface Props {
66
isOpen: boolean;
77
}
88

9-
export const Modal: React.FC<Props> = (props) => {
9+
export const Modal: React.FC<Props> = props => {
1010
const { children, isOpen } = props;
11-
12-
return isOpen && <div className={classes.container}>{children}</div>
11+
12+
return isOpen && <div className={classes.container}>{children}</div>;
1313
};

apps/react-app/src/common-app/components/modal/modal.styles.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,39 @@
1-
import { css } from '@emotion/css';
1+
import { css, keyframes } from '@emotion/css';
22
import { theme } from '@/core/theme';
33

4+
const openFromCenter = keyframes`
5+
from {
6+
transform: scale(0);
7+
opacity: 0;
8+
}
9+
to {
10+
transform: scale(1);
11+
opacity: 1;
12+
}
13+
`;
14+
415
export const container = css`
516
display: flex;
617
width: 100%;
718
height: 100%;
819
flex-direction: column;
920
justify-content: center;
1021
align-items: center;
11-
gap: 40px;
22+
gap: ${theme.spacing(10)};
1223
position: absolute;
1324
z-index: 9999;
1425
top: 0;
1526
background: rgba(13, 20, 24, 0.75);
16-
overflow: hidden;
27+
transform: scale(0);
28+
opacity: 0;
29+
animation: ${openFromCenter} 0.2s ease forwards;
1730
31+
& > :first-child {
32+
max-width: 1400px;
33+
align-self: center;
34+
overflow: hidden;
35+
overflow-y: scroll;
36+
}
1837
@media (min-width: 725px) {
1938
padding: ${theme.spacing(4)};
2039
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import React from 'react';
2+
import { cx } from '@emotion/css';
3+
import * as classes from './customSelect.styles';
4+
5+
interface Props {
6+
listOptions: string[];
7+
label: string;
8+
onSelectedOption: (option: string) => void;
9+
}
10+
export const CustomSelect: React.FC<Props> = props => {
11+
const { listOptions, label, onSelectedOption } = props;
12+
const [isOpen, setIsOpen] = React.useState<boolean>(false);
13+
const [selectedOption, setSelectedOption] = React.useState<string>(listOptions[0]);
14+
15+
const toggleIsOpen = () => {
16+
setIsOpen(!isOpen);
17+
};
18+
19+
const handleOnMouseLeave = () => isOpen && toggleIsOpen();
20+
21+
const handleOptionSelect = (option: string) => {
22+
onSelectedOption(option);
23+
setSelectedOption(option);
24+
setIsOpen(false);
25+
};
26+
27+
return (
28+
<div className={classes.selectContainer} onMouseLeave={handleOnMouseLeave}>
29+
<span className={classes.label}>{label}</span>
30+
<div className={classes.selectContent} onClick={toggleIsOpen}>
31+
<span>{selectedOption}</span>
32+
<img src="./assets/arrow_select.svg" alt="arrow select" className={classes.rotate(isOpen)} />
33+
</div>
34+
{isOpen && (
35+
<ul
36+
className={cx(classes.listContainer, {
37+
[classes.listContainerOpenAnimation]: isOpen,
38+
[classes.listContainerCloseAnimation]: !isOpen,
39+
})}
40+
>
41+
{listOptions &&
42+
listOptions.map((option, index) => (
43+
<li key={index} onClick={() => handleOptionSelect(option)}>
44+
{option}
45+
{index === 0 && ' (por defecto)'}
46+
</li>
47+
))}
48+
</ul>
49+
)}
50+
</div>
51+
);
52+
};

0 commit comments

Comments
 (0)