Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adiciona botão de adicionar nova conta #228

Merged
merged 45 commits into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
eb1a072
feat: add portal component
alvarogfn Nov 21, 2023
9d951ee
merge branch upstream/master in alvarogfn/issue172
alvarogfn Nov 21, 2023
d026bcb
feat: add overflow in accordion content
alvarogfn Nov 22, 2023
4bcbaea
feat: add AccordionTab component
alvarogfn Nov 22, 2023
e5119c6
feat: adjust InputSearch width
alvarogfn Nov 22, 2023
1984f36
feat: add new account button
alvarogfn Nov 22, 2023
22243fb
feat: remove portal from home
alvarogfn Nov 22, 2023
6fb78ff
style: just stylelint
alvarogfn Nov 22, 2023
8ec3cb7
feat: externalize renderHeader to customize header tag
alvarogfn Nov 22, 2023
a781658
refactor: change MainComposer to use AccordionTab
alvarogfn Nov 22, 2023
dffff2f
style: just stylelint
alvarogfn Nov 22, 2023
89a04d9
docs: add stories to AccordionTab
alvarogfn Nov 22, 2023
7ca64c8
test: add AccordionTab tests
alvarogfn Nov 22, 2023
149823a
test: add mock to scrollTo in accordionTab
alvarogfn Nov 22, 2023
4657b79
feat: change MainComposer to initialize open
alvarogfn Nov 22, 2023
aec9cf1
refactor: change handleOpenModal to handleToggleModal
alvarogfn Nov 22, 2023
56b5055
docs: update portal and accordion stories
alvarogfn Nov 22, 2023
1b6dc5c
Merge branch 'master' into alvarogfn/issue172
alvarogfn Nov 22, 2023
cee2c90
feat: add plus symbol to new account button
alvarogfn Nov 22, 2023
ef16831
Merge branch 'master' into alvarogfn/issue172
alvarogfn Nov 25, 2023
804f125
Merge branch 'master' of https://github.com/Alecell/octopost into alv…
alvarogfn Nov 30, 2023
fb02349
fix: just update env variables from process to import.meta
alvarogfn Nov 30, 2023
591f072
refactor: update search bar styles
alvarogfn Nov 30, 2023
200f994
feat: update AccordionTab
alvarogfn Nov 30, 2023
997b8aa
feat: update MainComposer to use new AccordionTab
alvarogfn Nov 30, 2023
0fb4e57
refactor: update tests
alvarogfn Nov 30, 2023
054d181
fix: add isOpen to dependency Array
alvarogfn Nov 30, 2023
c5ad3c1
refactor: update accordionTab tests
alvarogfn Nov 30, 2023
db1e4f7
fix: update wrong dependencies
alvarogfn Nov 30, 2023
2ce3800
test: update test
alvarogfn Nov 30, 2023
aaa62fb
fix: update test
alvarogfn Nov 30, 2023
71ac4ca
merge branch origin/alvarogfn/172 in alvarogfn/172
alvarogfn Dec 1, 2023
a8db0fc
refactor: add issue in eslint disable
alvarogfn Dec 1, 2023
3f4dc57
refactor: move render search clue to outside
alvarogfn Dec 1, 2023
05dcfa2
docs: improve accordion template
alvarogfn Dec 1, 2023
f7d6e0a
refactor: move header to renderHeader function
alvarogfn Dec 1, 2023
6bb6663
feat: rename portal to modal
alvarogfn Dec 1, 2023
916f2ec
refactor: update SideBar to use Modal
alvarogfn Dec 1, 2023
8631a4e
refactor: rename styles import to scss
alvarogfn Dec 1, 2023
25dd136
feat: increase accordionTab font-size
alvarogfn Dec 1, 2023
1219794
refactor: just code style
alvarogfn Dec 6, 2023
629dbe0
Merge branch 'master' of https://github.com/devhatt/octopost into alv…
alvarogfn Dec 6, 2023
91c9963
chore: trigger pipeline
alvarogfn Dec 6, 2023
8ee1922
fix: update playwright to use tsconfigPaths
alvarogfn Dec 6, 2023
bc6b527
fix: update playwright config
alvarogfn Dec 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,16 @@
"electron-reload": "^2.0.0-alpha.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-vitest": "^0.3.10",
"jsdom": "^22.1.0",
"framer-motion": "^10.16.5",
"i18next": "^23.7.6",
"i18next-browser-languagedetector": "^7.2.0",
"jsdom": "^22.1.0",
"nanoid": "^5.0.3",
"normalize.css": "^8.0.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^13.5.0",
"react-router-dom": "^6.20.0",
"react-scripts": "5.0.1"
"react-router-dom": "^6.20.0"
},
"devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
Expand All @@ -51,14 +50,13 @@
"@playwright/test": "^1.40.0",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^14.1.2",
"@vitejs/plugin-react-swc": "^3.5.0",
"@testing-library/user-event": "^14.5.1",
"@types/electron-devtools-installer": "^2.2.5",
"@types/jest": "^29.5.10",
"@types/node": "^20.10.0",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.12.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"commitizen": "^4.3.0",
"concurrently": "^8.2.2",
"cross-env": "^7.0.3",
Expand All @@ -67,25 +65,22 @@
"electron-builder": "^24.9.1",
"electron-is-dev": "^2.0.0",
"eslint": "^8.54.0",
"eslint-define-config": "^2.0.0",
"eslint-config-next": "^14.0.3",
"eslint-define-config": "^2.0.0",
"eslint-plugin-import-helpers": "^1.3.1",
"eslint-plugin-prettier": "^5.0.1",
"husky": "^8.0.3",
"jest": "^29.7.0",
"lint-staged": "^15.1.0",
"prettier": "^3.1.0",
"react-app-rewired": "^2.2.1",
"sass": "^1.69.5",
"stylelint": "^15.11.0",
"stylelint-config-sass-guidelines": "^10.0.0",
"stylelint-order": "^6.0.3",
"typescript": "^5.3.2",
"vite": "^5.0.0",
"vite-plugin-electron": "^0.15.4",
"vite-plugin-native": "^0.2.0",
"vite-tsconfig-paths": "^4.2.1",
"vitest": "^0.34.6",
"typescript": "^5.3.2",
"wait-on": "^7.2.0",
"zustand": "^4.4.6"
},
Expand Down
2 changes: 1 addition & 1 deletion src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import scss from './App.module.scss';
import './styles/base.scss';

Sentry.init({
dsn: process.env.REACT_APP_SENTRY_KEY,
dsn: import.meta.env.REACT_APP_SENTRY_KEY,
integrations: [
new Sentry.BrowserTracing({
routingInstrumentation: Sentry.reactRouterV6Instrumentation(
Expand Down
2 changes: 2 additions & 0 deletions src/components/Accordion/Accordion.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
}

.content {
overflow: hidden;

flex-grow: 1;
}
12 changes: 10 additions & 2 deletions src/components/Accordion/Accordion.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
import React from 'react';

import { Story } from '@ladle/react';

import Accordion from './Accordion';

import { TAccordionProps } from './Accordion.types';

export const AccordionStories: Story<TAccordionProps> = (props) => {
const [isOpen, setOpen] = React.useState(false);

return (
<Accordion
{...props}
duration={0.3}
isOpen
header={<button>Click to open!</button>}
isOpen={isOpen}
header={
<button onClick={() => setOpen((isOpen) => !isOpen)}>
Click to open!
</button>
}
content={
<div>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. od quis
Expand Down
2 changes: 1 addition & 1 deletion src/components/Accordion/Accordion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ function computeVariants(duration: number) {
function Accordion(props: TAccordionProps) {
return (
<section className={classNames(props.className, styles.container)}>
<header className={styles.header}>{props.header}</header>
<div className={styles.header}>{props.header}</div>
<AnimatePresence>
{props.isOpen && (
<motion.div
Expand Down
69 changes: 69 additions & 0 deletions src/components/AccordionTab/AccordionTab.module.scss
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
@use '../../styles/global.scss' as *;

.container {
display: flex;
flex-direction: column;

align-items: stretch;

font-family: $mainFont;

font-size: 1.6rem;

border: 1px solid #cbc4cf;

background-color: $primaryWhite;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
border-radius: 17px 17px 0 0;
}

.header {
width: 100%;

display: flex;
flex-flow: row nowrap;

align-items: center;

justify-content: space-between;

color: $primaryWhite;
font-size: 1.6rem;
line-height: 1;

padding: 1.2rem;

position: relative;

background-color: $secondaryPurple;
border-radius: 17px 17px 0 0;

&::before {
font-size: 1.8rem;

margin-right: 1rem;

content: '⬤';
}
}

.headerTitle {
flex-grow: 1;
}

.closeButton {
width: min-content;

display: flex;

align-items: center;
justify-content: center;

color: $primaryWhite;
font-size: 4rem;
font-weight: 900;

margin-right: 2rem;

cursor: pointer;
}
25 changes: 25 additions & 0 deletions src/components/AccordionTab/AccordionTab.spec.tsx
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { render, screen } from '@testing-library/react';

import AccordionTab from './AccordionTab';

beforeEach(() => {
// https://github.com/vitest-dev/vitest/issues/4223
// eslint-disable-next-line @typescript-eslint/no-explicit-any
window.scrollTo = vi.fn<any>();
});

afterEach(() => {
vi.clearAllMocks();
});

describe('AccordionTab', () => {
describe('when [hideCloseButton] is false', () => {
it('not render close button', () => {
render(<AccordionTab />);

const button = screen.getByRole('button');

expect(button).toBeInTheDocument();
});
});
});
24 changes: 24 additions & 0 deletions src/components/AccordionTab/AccordionTab.stories.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { useState } from 'react';

import { Story } from '@ladle/react';

import AccordionTab from './AccordionTab';

import { TAccordionTabProps } from './AccordionTab.types';

export const AccordionTabStories: Story<TAccordionTabProps> = (props) => {
const [isOpen, setOpen] = useState(true);

return (
<AccordionTab
title="Accordion Tab"
onChangeOpen={() => setOpen((isOpen) => !isOpen)}
isOpen={isOpen}
{...props}
>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Magnam autem
soluta labore nulla, nam quisquam sed, nostrum ab vero suscipit quae
debitis inventore velit iste iusto earum, iure aspernatur provident.
</AccordionTab>
);
};
40 changes: 40 additions & 0 deletions src/components/AccordionTab/AccordionTab.tsx
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import classNames from 'classnames';

import Accordion from '../Accordion/Accordion';

import scss from './AccordionTab.module.scss';

import { TAccordionTabProps } from './AccordionTab.types';

function AccordionTab(props: TAccordionTabProps) {
const handleClose = () => {
if (props.onChangeOpen) props.onChangeOpen(!props.isOpen);
};

const renderCloseButton = () => {
if (props.hideCloseButton) return null;
return (
<button onClick={handleClose} className={scss.closeButton}>
-
</button>
aalmeida00 marked this conversation as resolved.
Show resolved Hide resolved
);
};
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved

const renderHeader = () => (
<div className={scss.header}>
<p className={scss.headerTitle}>{props.title}</p>
{renderCloseButton()}
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
</div>
);

return (
<Accordion
className={classNames(scss.container, props.className)}
isOpen={props.isOpen ?? true}
header={renderHeader()}
content={props.children}
/>
);
}

export default AccordionTab;
11 changes: 11 additions & 0 deletions src/components/AccordionTab/AccordionTab.types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { PropsWithChildren } from 'react';

type TOnChangeOpen = (newIsOpen: boolean) => void;

export type TAccordionTabProps = PropsWithChildren<{
title?: string;
className?: string;
isOpen?: boolean;
hideCloseButton?: boolean;
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
onChangeOpen?: TOnChangeOpen;
}>;
6 changes: 4 additions & 2 deletions src/components/InputSearch/InputSearch.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
}

.container {
width: 100%;

color: global.$secondaryGray;
font-size: 1.4rem;

margin-top: 3rem;
margin-top: 1rem;

margin-bottom: 2.4rem;
letter-spacing: 0;
Expand All @@ -36,7 +38,7 @@
}

.inputWrapper {
width: 28.2rem;
width: 100%;
height: 5.6rem;

display: flex;
Expand Down
60 changes: 4 additions & 56 deletions src/components/MainComposer/MainComposer.module.scss
alvarogfn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,67 +1,15 @@
@use '../../styles/global';

.wrapper {
width: 100%;
}

.innerHeader {
padding: 1rem 3rem;
border: 0.1rem solid global.$primaryGray;
border-bottom: 0;

background-color: global.$secondaryPurple;
border-radius: 2rem 2rem 0 0;
}

.innerHeader .mainContent {
.mainText {
color: global.$primaryWhite;
font-size: 2.2rem;
font-weight: 400;
font-style: normal;
line-height: 2.8rem;
}

.mainText::before {
width: 1.5rem;
height: 1.5rem;

display: inline-block;

float: left;
.header {
font-size: 2rem;

margin-top: 0.7rem;
padding: 1rem 2rem;

margin-right: 1rem;

background-color: global.$primaryWhite;
border-radius: 50%;

content: '';
}

.mainText::after {
width: 2rem;
height: 0.5rem;

display: inline-block;

float: right;

margin-top: 1.4rem;
margin-left: 1rem;

background-color: global.$primaryWhite;

content: '';
}
column-gap: 1rem;
}

.content {
padding: 2.4rem 1.6rem;
border: 0.1rem solid global.$primaryGray;

border-radius: 0 0 0.5rem 0.5rem;
}

.textInput textarea {
Expand Down
Loading