FIX: corrige erros de acentuação
This commit is contained in:
parent
8e29dde2a1
commit
3f0ca83430
3
.env.example
Normal file
3
.env.example
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Frontend environment variables (Vite)
|
||||||
|
|
||||||
|
VITE_API_URL=http://localhost:3001
|
||||||
5
package-lock.json
generated
5
package-lock.json
generated
@ -48,6 +48,7 @@
|
|||||||
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
|
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.29.0",
|
"@babel/code-frame": "^7.29.0",
|
||||||
"@babel/generator": "^7.29.0",
|
"@babel/generator": "^7.29.0",
|
||||||
@ -1212,6 +1213,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"baseline-browser-mapping": "^2.9.0",
|
"baseline-browser-mapping": "^2.9.0",
|
||||||
"caniuse-lite": "^1.0.30001759",
|
"caniuse-lite": "^1.0.30001759",
|
||||||
@ -1481,6 +1483,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
||||||
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
|
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0"
|
"loose-envify": "^1.1.0"
|
||||||
},
|
},
|
||||||
@ -1493,6 +1496,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
|
||||||
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
|
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"scheduler": "^0.23.2"
|
"scheduler": "^0.23.2"
|
||||||
@ -1654,6 +1658,7 @@
|
|||||||
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
|
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.21.3",
|
"esbuild": "^0.21.3",
|
||||||
"postcss": "^8.4.43",
|
"postcss": "^8.4.43",
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export const recentContacts = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'joao-pedro',
|
id: 'joao-pedro',
|
||||||
name: 'Joao Pedro',
|
name: 'João Pedro',
|
||||||
phone: '+55 31 98877-1102',
|
phone: '+55 31 98877-1102',
|
||||||
channel: 'SMS',
|
channel: 'SMS',
|
||||||
lastContact: 'Hoje, 08:15',
|
lastContact: 'Hoje, 08:15',
|
||||||
@ -32,7 +32,7 @@ export const recentContacts = [
|
|||||||
id: 'beatriz-lima',
|
id: 'beatriz-lima',
|
||||||
name: 'Beatriz Lima',
|
name: 'Beatriz Lima',
|
||||||
phone: '+55 21 99701-4455',
|
phone: '+55 21 99701-4455',
|
||||||
channel: 'Ligacao',
|
channel: 'Ligação',
|
||||||
lastContact: 'Hoje, 07:51',
|
lastContact: 'Hoje, 07:51',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export function LoginForm() {
|
|||||||
return (
|
return (
|
||||||
<form onSubmit={handleSubmit} style={{ display: 'grid', gap: '1rem' }}>
|
<form onSubmit={handleSubmit} style={{ display: 'grid', gap: '1rem' }}>
|
||||||
<label style={{ display: 'grid', gap: '0.5rem' }}>
|
<label style={{ display: 'grid', gap: '0.5rem' }}>
|
||||||
<span style={{ fontWeight: 600 }}>Usuario AD</span>
|
<span style={{ fontWeight: 600 }}>Usuário AD</span>
|
||||||
<input
|
<input
|
||||||
style={fieldStyle}
|
style={fieldStyle}
|
||||||
type="text"
|
type="text"
|
||||||
|
|||||||
@ -67,7 +67,7 @@ export function LoginPage() {
|
|||||||
lineHeight: 1.05,
|
lineHeight: 1.05,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Conecte-se com seu cliente em uma unica tela.
|
Conecte-se com seu cliente em uma única tela.
|
||||||
</h1>
|
</h1>
|
||||||
<p
|
<p
|
||||||
style={{
|
style={{
|
||||||
@ -92,8 +92,8 @@ export function LoginPage() {
|
|||||||
>
|
>
|
||||||
{[
|
{[
|
||||||
{ label: 'Canais', value: 'WhatsApp, SMS e Voz' },
|
{ label: 'Canais', value: 'WhatsApp, SMS e Voz' },
|
||||||
{ label: 'Fila', value: 'Distribuicao rapida' },
|
{ label: 'Fila', value: 'Distribuição rápida' },
|
||||||
{ label: 'UX', value: 'Padrao SaaS responsivo' },
|
{ label: 'UX', value: 'Padrão SaaS responsivo' },
|
||||||
].map((item) => (
|
].map((item) => (
|
||||||
<div
|
<div
|
||||||
key={item.label}
|
key={item.label}
|
||||||
@ -147,8 +147,8 @@ export function LoginPage() {
|
|||||||
lineHeight: 1.6,
|
lineHeight: 1.6,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Use seu usuario corporativo para acessar o MVP. A autenticacao e mockada
|
Use seu usuário corporativo para acessar o MVP. A autenticação e mockada
|
||||||
nesta etapa e leva voce diretamente para a dashboard principal.
|
nesta etapa e leva você diretamente para a dashboard principal.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -100,7 +100,7 @@ export function CallPage() {
|
|||||||
{[
|
{[
|
||||||
{ label: 'Numero', value: activeCall.number },
|
{ label: 'Numero', value: activeCall.number },
|
||||||
{ label: 'Canal original', value: 'Atendimento omnichannel' },
|
{ label: 'Canal original', value: 'Atendimento omnichannel' },
|
||||||
{ label: 'Responsavel atual', value: 'Ana Camolesi' },
|
{ label: 'Responsável atual', value: 'Ana Camolesi' },
|
||||||
].map((item) => (
|
].map((item) => (
|
||||||
<article
|
<article
|
||||||
key={item.label}
|
key={item.label}
|
||||||
|
|||||||
@ -12,13 +12,13 @@ export const chatContacts = [
|
|||||||
messages: [
|
messages: [
|
||||||
{ id: 1, sender: 'customer', text: 'Oi, bom dia! Preciso de ajuda com meu pedido.' },
|
{ id: 1, sender: 'customer', text: 'Oi, bom dia! Preciso de ajuda com meu pedido.' },
|
||||||
{ id: 2, sender: 'agent', text: 'Bom dia, Maria! Claro, me conta o que aconteceu.' },
|
{ id: 2, sender: 'agent', text: 'Bom dia, Maria! Claro, me conta o que aconteceu.' },
|
||||||
{ id: 3, sender: 'customer', text: 'Quero confirmar se o endereco foi alterado.' },
|
{ id: 3, sender: 'customer', text: 'Quero confirmar se o endereço foi alterado.' },
|
||||||
{ id: 4, sender: 'agent', text: 'Estou verificando aqui e te atualizo em instantes.' },
|
{ id: 4, sender: 'agent', text: 'Estou verificando aqui e te atualizo em instantes.' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'joao-pedro',
|
id: 'joao-pedro',
|
||||||
name: 'Joao Pedro',
|
name: 'João Pedro',
|
||||||
channel: 'SMS',
|
channel: 'SMS',
|
||||||
status: 'offline',
|
status: 'offline',
|
||||||
area: 'Financeiro',
|
area: 'Financeiro',
|
||||||
@ -28,7 +28,7 @@ export const chatContacts = [
|
|||||||
unread: 1,
|
unread: 1,
|
||||||
messages: [
|
messages: [
|
||||||
{ id: 1, sender: 'customer', text: 'Recebi a cobranca em duplicidade.' },
|
{ id: 1, sender: 'customer', text: 'Recebi a cobranca em duplicidade.' },
|
||||||
{ id: 2, sender: 'agent', text: 'Vou analisar isso agora para voce.' },
|
{ id: 2, sender: 'agent', text: 'Vou analisar isso agora para você.' },
|
||||||
{ id: 3, sender: 'customer', text: 'Pode me ligar em 10 minutos?' },
|
{ id: 3, sender: 'customer', text: 'Pode me ligar em 10 minutos?' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -58,16 +58,16 @@ export const attendantsByArea = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const quickReplies = [
|
export const quickReplies = [
|
||||||
'Recebi sua mensagem e ja vou verificar.',
|
'Recebi sua mensagem e já vou verificar.',
|
||||||
'Consegue me confirmar o numero do protocolo?',
|
'Consegue me confirmar o número do protocolo?',
|
||||||
'Posso seguir com essa atualizacao por aqui.',
|
'Posso seguir com essa atualização por aqui.',
|
||||||
];
|
];
|
||||||
|
|
||||||
export function getMockReply(contactName) {
|
export function getMockReply(contactName) {
|
||||||
const replies = [
|
const replies = [
|
||||||
`Perfeito, obrigado pelo retorno, ${contactName.split(' ')[0]}.`,
|
`Perfeito, obrigado pelo retorno, ${contactName.split(' ')[0]}.`,
|
||||||
'Tudo bem, fico no aguardo dessa confirmacao.',
|
'Tudo bem, fico no aguardo dessa confirmação.',
|
||||||
'Entendi. Se precisar, posso encaminhar para a area responsavel.',
|
'Entendi. Se precisar, posso encaminhar para a área responsável.',
|
||||||
];
|
];
|
||||||
|
|
||||||
return replies[Math.floor(Math.random() * replies.length)];
|
return replies[Math.floor(Math.random() * replies.length)];
|
||||||
|
|||||||
@ -24,9 +24,9 @@ export function CallsWorkspace({ calls, isWideDesktop = false, isDesktop = false
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<strong style={{ display: 'block', fontSize: '1.1rem' }}>Ligacoes recentes</strong>
|
<strong style={{ display: 'block', fontSize: '1.1rem' }}>Ligações recentes</strong>
|
||||||
<span style={{ color: 'var(--color-text-soft)' }}>
|
<span style={{ color: 'var(--color-text-soft)' }}>
|
||||||
Visualizacao rapida do fluxo de voz do time.
|
Visualização rápida do fluxo de voz do time.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ export function HomeTopbar({
|
|||||||
}) {
|
}) {
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{ id: 'messages', label: 'Mensagens' },
|
{ id: 'messages', label: 'Mensagens' },
|
||||||
{ id: 'calls', label: 'Ligacoes' },
|
{ id: 'calls', label: 'Ligações' },
|
||||||
];
|
];
|
||||||
|
|
||||||
const gridTemplateColumns = isMobile
|
const gridTemplateColumns = isMobile
|
||||||
@ -77,7 +77,7 @@ export function HomeTopbar({
|
|||||||
minWidth: 0,
|
minWidth: 0,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Sexta, 19 de marco
|
Sexta, 19 de março
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -266,9 +266,9 @@ export function MessagesWorkspace({
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<strong style={{ fontSize: '1.05rem' }}>Painel de acoes</strong>
|
<strong style={{ fontSize: '1.05rem' }}>Painel de ações</strong>
|
||||||
<p style={{ margin: '0.35rem 0 0', color: 'var(--color-text-soft)' }}>
|
<p style={{ margin: '0.35rem 0 0', color: 'var(--color-text-soft)' }}>
|
||||||
Contexto rapido do atendimento selecionado.
|
Contexto rápido do atendimento selecionado.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -30,28 +30,28 @@ export const conversations = [
|
|||||||
unread: 0,
|
unread: 0,
|
||||||
time: 'Ontem',
|
time: 'Ontem',
|
||||||
messages: [
|
messages: [
|
||||||
{ id: 1, from: 'customer', text: 'Precisamos rever os valores da ultima proposta.' },
|
{ id: 1, from: 'customer', text: 'Precisamos rever os valores da última proposta.' },
|
||||||
{ id: 2, from: 'agent', text: 'Perfeito, vou encaminhar para o time comercial.' },
|
{ id: 2, from: 'agent', text: 'Perfeito, vou encaminhar para o time comercial.' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'joao-pedro',
|
id: 'joao-pedro',
|
||||||
name: 'Joao Pedro',
|
name: 'João Pedro',
|
||||||
channel: 'SMS',
|
channel: 'SMS',
|
||||||
status: 'online',
|
status: 'online',
|
||||||
lastMessage: 'Pode me ligar em 10 minutos?',
|
lastMessage: 'Pode me ligar em 10 minutos?',
|
||||||
unread: 1,
|
unread: 1,
|
||||||
time: '08:15',
|
time: '08:15',
|
||||||
messages: [
|
messages: [
|
||||||
{ id: 1, from: 'customer', text: 'Recebi a cobranca em duplicidade.' },
|
{ id: 1, from: 'customer', text: 'Recebi a cobrança em duplicidade.' },
|
||||||
{ id: 2, from: 'agent', text: 'Vou analisar isso agora para voce.' },
|
{ id: 2, from: 'agent', text: 'Vou analisar isso agora para você.' },
|
||||||
{ id: 3, from: 'customer', text: 'Pode me ligar em 10 minutos?' },
|
{ id: 3, from: 'customer', text: 'Pode me ligar em 10 minutos?' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const actionItems = [
|
export const actionItems = [
|
||||||
{ title: 'Area atual', value: 'Suporte' },
|
{ title: 'Área atual', value: 'Suporte' },
|
||||||
{ title: 'SLA restante', value: '18 min' },
|
{ title: 'SLA restante', value: '18 min' },
|
||||||
{ title: 'Prioridade', value: 'Alta' },
|
{ title: 'Prioridade', value: 'Alta' },
|
||||||
];
|
];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user