Fixed Dockerfile and Loading component
This commit is contained in:
+2
-4
@@ -1,13 +1,11 @@
|
|||||||
FROM node:18-alpine
|
FROM node:18-alpine
|
||||||
|
|
||||||
# Path: /app
|
|
||||||
|
|
||||||
WORKDIR /lk-results/
|
WORKDIR /lk-results/
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN npm install
|
RUN npm install
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
RUN npm install -g serve
|
RUN npm install -g
|
||||||
|
|
||||||
CMD ["serve", "-s", "build"]
|
CMD ["serve", "-s", "dist"]
|
||||||
+15
-16
@@ -7,24 +7,24 @@
|
|||||||
},
|
},
|
||||||
"hero": {
|
"hero": {
|
||||||
"heading": {
|
"heading": {
|
||||||
"part1": "CRESÇA O",
|
"part1": "CRESCE O",
|
||||||
"part2": "SEU NEGÓCIO"
|
"part2": "TEU NEGÓCIO"
|
||||||
},
|
},
|
||||||
"subheading": {
|
"subheading": {
|
||||||
"part1": "Nós tratamos de toda a sua presença digital,",
|
"part1": "Nós tratamos de toda atsua presença digital,",
|
||||||
"part2": "para que possa concentrar-se no que é importante!"
|
"part2": "para que te possas concentrar no que é importante!"
|
||||||
},
|
},
|
||||||
"button": "Eu quero isto!"
|
"button": "Eu quero isto!"
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
"heading": {
|
"heading": {
|
||||||
"part1": "Nós Cuidamos Da Sua",
|
"part1": "Nós Cuidamos Da Tua",
|
||||||
"part2": "Presença",
|
"part2": "Presença",
|
||||||
"part3": "Digital",
|
"part3": "Digital",
|
||||||
"part4": " ",
|
"part4": " ",
|
||||||
"part5": "Por Completo!"
|
"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": {
|
"cards": {
|
||||||
"marketing": {
|
"marketing": {
|
||||||
"card1": {
|
"card1": {
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
"cards": {
|
"cards": {
|
||||||
"card1": {
|
"card1": {
|
||||||
"title": "GARANTIDO",
|
"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": {
|
"card2": {
|
||||||
"title": "RESULTADOS",
|
"title": "RESULTADOS",
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
},
|
},
|
||||||
"card3": {
|
"card3": {
|
||||||
"title": "LOCAL",
|
"title": "LOCAL",
|
||||||
"description": "Não somos um centro de chamadas anónimo. Somos uma\nempresa local, por isso poderá\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": {
|
"card4": {
|
||||||
"title": "ESPECIALIZADO",
|
"title": "ESPECIALIZADO",
|
||||||
@@ -147,31 +147,30 @@
|
|||||||
},
|
},
|
||||||
"contact": {
|
"contact": {
|
||||||
"heading": {
|
"heading": {
|
||||||
"part1": "Contacte-nos para uma",
|
"part1": "Contacta-nos para uma",
|
||||||
"part2": "Análise",
|
"part2": "Análise",
|
||||||
"part3": "Gratuita",
|
"part3": "Gratuita",
|
||||||
"part4": ""
|
"part4": ""
|
||||||
},
|
},
|
||||||
"subheading": {
|
"subheading": {
|
||||||
"part1": "Gostaria de saber o que podemos fazer por si? Preencha o formulário e nós entraremos",
|
"part1": "Gostarias de saber o que podemos fazer por ti? Preenche 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."
|
"part2": "em contacto contigo. Sem obrigações, sem táticas irritantes. Não vamos desperdiçteu tempo."
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"name": "Nome",
|
"name": "Nome",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"company": "Empresa",
|
"company": "Empresa",
|
||||||
"phone": "Telefone",
|
"phone": "Telefone",
|
||||||
"question": "Qual é a sua pergunta mais importante?",
|
"question": "Qual é atua pergunta mais importante?",
|
||||||
"message": "Mensagem",
|
"message": "Mensagem",
|
||||||
"button": "Enviar"
|
"button": "Enviar"
|
||||||
},
|
},
|
||||||
"toasts": {
|
"toasts": {
|
||||||
"success": "A sua mensagem foi enviada com sucesso!",
|
"success": "A tua mensagem foi enviada com sucesso!",
|
||||||
"error": "Ocorreu um erro ao enviar a sua mensagem. Por favor, tente novamente mais tarde.",
|
"error": "Ocorreu um erro ao enviar a tua mensagem. Por favor, tenta novamente mais tarde.",
|
||||||
"empty": "Por favor, preencha todos os campos antes de enviar a mensagem."
|
"empty": "Por favor, preenche todos os campos antes de enviar a mensagem."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"footer": {
|
"footer": {
|
||||||
"rights": "©2024 Direitos reservados a LK Results"
|
"rights": "©2024 Direitos reservados a LK Results"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ export default function App() {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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
@@ -5,11 +5,12 @@ import "./index.css";
|
|||||||
import { BrowserRouter } from "react-router-dom";
|
import { BrowserRouter } from "react-router-dom";
|
||||||
|
|
||||||
import "./i18n";
|
import "./i18n";
|
||||||
|
import Loading from "./Components/Loading.tsx";
|
||||||
|
|
||||||
ReactDOM.createRoot(document.getElementById("root")!).render(
|
ReactDOM.createRoot(document.getElementById("root")!).render(
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<Suspense fallback="...is loading">
|
<Suspense fallback={<Loading />}>
|
||||||
<App />
|
<App />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
|
|||||||
Reference in New Issue
Block a user