Fixed Dockerfile and Loading component

This commit is contained in:
Fernando Videira
2024-06-16 04:46:47 +01:00
parent 598395aebe
commit 13212f6170
5 changed files with 31 additions and 21 deletions
+2 -4
View File
@@ -1,13 +1,11 @@
FROM node:18-alpine
# Path: /app
WORKDIR /lk-results/
COPY . .
RUN npm install
RUN npm run build
RUN npm install -g serve
RUN npm install -g
CMD ["serve", "-s", "build"]
CMD ["serve", "-s", "dist"]
+15 -16
View File
@@ -7,24 +7,24 @@
},
"hero": {
"heading": {
"part1": "CRESÇA O",
"part2": "SEU NEGÓCIO"
"part1": "CRESCE O",
"part2": "TEU NEGÓCIO"
},
"subheading": {
"part1": "Nós tratamos de toda a sua presença digital,",
"part2": "para que possa concentrar-se no que é importante!"
"part1": "Nós tratamos de toda atsua presença digital,",
"part2": "para que te possas concentrar no que é importante!"
},
"button": "Eu quero isto!"
},
"services": {
"heading": {
"part1": "Nós Cuidamos Da Sua",
"part1": "Nós Cuidamos Da Tua",
"part2": "Presença",
"part3": "Digital",
"part4": " ",
"part5": "Por Completo!"
},
"subheading": "Desbloqueie todo o potencial do seu negócio com os nossos serviços.",
"subheading": "Desbloqueia todo o potencial do teu negócio com os nossos serviços.",
"cards": {
"marketing": {
"card1": {
@@ -129,7 +129,7 @@
"cards": {
"card1": {
"title": "GARANTIDO",
"description": "Nós só ganhamos se você ganhar!\nEssa é a base para uma boa\nparceria.\nVocê não vai carregar todo o risco,\nnós vamos compartilhá-lo."
"description": "Nós só ganhamos stu ganhares!\nEssa é a base para uma boa\nparceria.n Não vasi carregar todo o risco,\n vamos compartilhá-lo."
},
"card2": {
"title": "RESULTADOS",
@@ -137,7 +137,7 @@
},
"card3": {
"title": "LOCAL",
"description": "Não somos um centro de chamadas anónimo. Somos uma\nempresa local, por isso pode\ncontactar-nos quando precisar."
"description": "Não somos um centro de chamadas anónimo. Somos uma\nempresa local, por isso podes\ncontactar-nos quando precisaes."
},
"card4": {
"title": "ESPECIALIZADO",
@@ -147,31 +147,30 @@
},
"contact": {
"heading": {
"part1": "Contacte-nos para uma",
"part1": "Contacta-nos para uma",
"part2": "Análise",
"part3": "Gratuita",
"part4": ""
},
"subheading": {
"part1": "Gostaria de saber o que podemos fazer por si? Preencha o formulário e nós entraremos",
"part2": "em contacto consigo. Sem obrigações, sem táticas irritantes. Não vamos desperdiçar o seu tempo."
"part1": "Gostarias de saber o que podemos fazer por ti? Preenche o formulário e nós entraremos",
"part2": "em contacto contigo. Sem obrigações, sem táticas irritantes. Não vamos desperdiçteu tempo."
},
"form": {
"name": "Nome",
"email": "Email",
"company": "Empresa",
"phone": "Telefone",
"question": "Qual é a sua pergunta mais importante?",
"question": "Qual é atua pergunta mais importante?",
"message": "Mensagem",
"button": "Enviar"
},
"toasts": {
"success": "A sua mensagem foi enviada com sucesso!",
"error": "Ocorreu um erro ao enviar a sua mensagem. Por favor, tente novamente mais tarde.",
"empty": "Por favor, preencha todos os campos antes de enviar a mensagem."
"success": "A tua mensagem foi enviada com sucesso!",
"error": "Ocorreu um erro ao enviar a tua mensagem. Por favor, tenta novamente mais tarde.",
"empty": "Por favor, preenche todos os campos antes de enviar a mensagem."
}
},
"footer": {
"rights": "©2024 Direitos reservados a LK Results"
}
+1
View File
@@ -10,3 +10,4 @@ export default function App() {
</div>
);
}
+11
View File
@@ -0,0 +1,11 @@
import React from 'react';
const Loading = () => {
return (
<div className="flex items-center justify-center h-screen">
<div className="animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-gray-900"></div>
</div>
);
};
export default Loading;
+2 -1
View File
@@ -5,11 +5,12 @@ import "./index.css";
import { BrowserRouter } from "react-router-dom";
import "./i18n";
import Loading from "./Components/Loading.tsx";
ReactDOM.createRoot(document.getElementById("root")!).render(
<BrowserRouter>
<React.StrictMode>
<Suspense fallback="...is loading">
<Suspense fallback={<Loading />}>
<App />
</Suspense>
</React.StrictMode>