Browse Source

Changed project structure

ts
galmio 7 months ago
parent
commit
f5d623c567
  1. 1
      .env.example
  2. 1
      .gitignore
  3. 8
      Dockerfile
  4. 5
      docker-compose.dev.yml
  5. 73
      package-lock.json
  6. 8
      package.json
  7. 0
      server/.eslintrc.js
  8. 0
      server/.prettierrc.js
  9. 0
      server/Dockerfile
  10. 0
      server/package-lock.json
  11. 0
      server/package.json
  12. 0
      server/src/server.js
  13. 6
      src/client/.babelrc
  14. 1
      src/client/.dockerignore
  15. 34
      src/client/.eslintrc.json
  16. 9
      src/client/.prettierrc.js
  17. 7
      src/client/Dockerfile
  18. 11141
      src/client/package-lock.json
  19. 45
      src/client/package.json
  20. BIN
      src/client/src/assets/font/nunito/Nunito-Black.ttf
  21. BIN
      src/client/src/assets/font/nunito/Nunito-BlackItalic.ttf
  22. BIN
      src/client/src/assets/font/nunito/Nunito-Bold.ttf
  23. BIN
      src/client/src/assets/font/nunito/Nunito-BoldItalic.ttf
  24. BIN
      src/client/src/assets/font/nunito/Nunito-ExtraBold.ttf
  25. BIN
      src/client/src/assets/font/nunito/Nunito-ExtraBoldItalic.ttf
  26. BIN
      src/client/src/assets/font/nunito/Nunito-ExtraLight.ttf
  27. BIN
      src/client/src/assets/font/nunito/Nunito-ExtraLightItalic.ttf
  28. BIN
      src/client/src/assets/font/nunito/Nunito-Italic.ttf
  29. BIN
      src/client/src/assets/font/nunito/Nunito-Light.ttf
  30. BIN
      src/client/src/assets/font/nunito/Nunito-LightItalic.ttf
  31. BIN
      src/client/src/assets/font/nunito/Nunito-Regular.ttf
  32. BIN
      src/client/src/assets/font/nunito/Nunito-SemiBold.ttf
  33. BIN
      src/client/src/assets/font/nunito/Nunito-SemiBoldItalic.ttf
  34. 93
      src/client/src/assets/font/nunito/OFL.txt
  35. 202
      src/client/src/assets/font/roboto/LICENSE.txt
  36. BIN
      src/client/src/assets/font/roboto/Roboto-Black.ttf
  37. BIN
      src/client/src/assets/font/roboto/Roboto-BlackItalic.ttf
  38. BIN
      src/client/src/assets/font/roboto/Roboto-Bold.ttf
  39. BIN
      src/client/src/assets/font/roboto/Roboto-BoldItalic.ttf
  40. BIN
      src/client/src/assets/font/roboto/Roboto-Italic.ttf
  41. BIN
      src/client/src/assets/font/roboto/Roboto-Light.ttf
  42. BIN
      src/client/src/assets/font/roboto/Roboto-LightItalic.ttf
  43. BIN
      src/client/src/assets/font/roboto/Roboto-Medium.ttf
  44. BIN
      src/client/src/assets/font/roboto/Roboto-MediumItalic.ttf
  45. BIN
      src/client/src/assets/font/roboto/Roboto-Regular.ttf
  46. BIN
      src/client/src/assets/font/roboto/Roboto-Thin.ttf
  47. BIN
      src/client/src/assets/font/roboto/Roboto-ThinItalic.ttf
  48. 9
      src/client/src/assets/icon/brand/logo-doulton-desc.svg
  49. 22
      src/client/src/assets/icon/brand/logo-doulton.svg
  50. 13
      src/client/src/assets/icon/brand/logo-siameses.svg
  51. 3
      src/client/src/assets/icon/buttons/caret-right.svg
  52. 3
      src/client/src/assets/icon/buttons/close.svg
  53. 3
      src/client/src/assets/icon/communication/ic_email.svg
  54. 3
      src/client/src/assets/icon/communication/phone.svg
  55. 3
      src/client/src/assets/icon/features/health.svg
  56. 3
      src/client/src/assets/icon/features/quality.svg
  57. 3
      src/client/src/assets/icon/features/technology.svg
  58. 3
      src/client/src/assets/icon/maps/my_location.svg
  59. 4
      src/client/src/assets/icon/social/facebook.svg
  60. 4
      src/client/src/assets/icon/social/linkedin.svg
  61. BIN
      src/client/src/assets/img/carlos.png
  62. BIN
      src/client/src/assets/img/doulton-banner.png
  63. BIN
      src/client/src/assets/img/doulton-logo.png
  64. BIN
      src/client/src/assets/img/main-showcase.png
  65. BIN
      src/client/src/assets/img/miguel.png
  66. BIN
      src/client/src/assets/img/objective-showcase.png
  67. BIN
      src/client/src/assets/video/doulton_peru.mp4
  68. 13
      src/client/src/index.html
  69. 6
      src/client/src/index.js
  70. 25
      src/client/src/js/App.js
  71. 32
      src/client/src/js/components/layout/Button/index.js
  72. 30
      src/client/src/js/components/layout/Card/CardItem/index.js
  73. 18
      src/client/src/js/components/layout/Card/index.js
  74. 18
      src/client/src/js/components/layout/Footer/index.js
  75. 60
      src/client/src/js/components/layout/Form/FormInput/index.js
  76. 36
      src/client/src/js/components/layout/Form/hooks.js
  77. 37
      src/client/src/js/components/layout/Form/index.js
  78. 40
      src/client/src/js/components/layout/Navbar/index.js
  79. 18
      src/client/src/js/components/layout/Showcase/BareShowcase/index.js
  80. 51
      src/client/src/js/components/layout/Showcase/index.js
  81. 35
      src/client/src/js/components/pages/About.js
  82. 68
      src/client/src/js/components/pages/Contact.js
  83. 17
      src/client/src/js/components/pages/Doulton.js
  84. 58
      src/client/src/js/components/pages/Index.js
  85. 24
      src/client/src/js/hooks/useFetch/index.js
  86. 10
      src/client/src/styles/base/_globals.scss
  87. 67
      src/client/src/styles/base/_mixins.scss
  88. 19
      src/client/src/styles/base/_typography.scss
  89. 24
      src/client/src/styles/base/_variables.scss
  90. 35
      src/client/src/styles/components/_button.scss
  91. 28
      src/client/src/styles/components/_card.scss
  92. 90
      src/client/src/styles/components/_form.scss
  93. 41
      src/client/src/styles/components/_navbar.scss
  94. 74
      src/client/src/styles/components/_showcase.scss
  95. 52
      src/client/src/styles/layout/_container.scss
  96. 39
      src/client/src/styles/layout/_footer.scss
  97. 0
      src/client/src/styles/layout/_header.scss
  98. 11
      src/client/src/styles/main.scss
  99. 99
      src/client/webpack.common.js
  100. 16
      src/client/webpack.dev.js

1
.env.example

@ -1,3 +1,4 @@
PORT=
HOSTNAME=
NETWORK=
NODE_ENV=

1
.gitignore

@ -1,3 +1,4 @@
node_modules/
dist/
.env
.env.dev

8
Dockerfile

@ -2,9 +2,9 @@
FROM node:lts-alpine as build
WORKDIR /usr/src/client/
COPY src/client/package*.json ./
COPY client/package*.json ./
RUN npm ci -qy
COPY src/client/ ./
COPY client/ ./
RUN npm run build
# Copy build dir to production container
@ -15,11 +15,11 @@ COPY --from=build /usr/src/client/dist/ ./usr/src/client/dist/
WORKDIR /usr/src/server/
# Install app dependencies
COPY src/server/package*.json ./
COPY server/package*.json ./
RUN npm install -qy --only production
# Bundle app source
COPY src/server/ ./
COPY server/ ./
EXPOSE 8000

5
docker-compose.dev.yml

@ -2,13 +2,14 @@ version: "3"
services:
client:
build:
context: ./src/client/
context: ./client/
command: npm start
image: siameses_client
container_name: siameses_client
env_file: .env.dev
ports:
- "8080:8080"
volumes:
- ./src/client:/usr/src/client
- ./client:/usr/src/client
- /usr/src/client/node_modules

73
package-lock.json

@ -59,12 +59,76 @@
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
"@types/eslint-visitor-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
"integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
"dev": true
},
"@types/json-schema": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
"integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==",
"dev": true
},
"@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.3.0.tgz",
"integrity": "sha512-Ybx/wU75Tazz6nU2d7nN6ll0B98odoiYLXwcuwS5WSttGzK46t0n7TPRQ4ozwcTv82UY6TQoIvI+sJfTzqK9dQ==",
"dev": true,
"requires": {
"@typescript-eslint/experimental-utils": "3.3.0",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
}
},
"@typescript-eslint/experimental-utils": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.3.0.tgz",
"integrity": "sha512-d4pGIAbu/tYsrPrdHCQ5xfadJGvlkUxbeBB56nO/VGmEDi/sKmfa5fGty5t5veL1OyJBrUmSiRn1R1qfVDydrg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.3",
"@typescript-eslint/typescript-estree": "3.3.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.3.0.tgz",
"integrity": "sha512-a7S0Sqn/+RpOOWTcaLw6RD4obsharzxmgMfdK24l364VxuBODXjuJM7ImCkSXEN7oz52aiZbXSbc76+2EsE91w==",
"dev": true,
"requires": {
"@types/eslint-visitor-keys": "^1.0.0",
"@typescript-eslint/experimental-utils": "3.3.0",
"@typescript-eslint/typescript-estree": "3.3.0",
"eslint-visitor-keys": "^1.1.0"
}
},
"@typescript-eslint/typescript-estree": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz",
"integrity": "sha512-3SqxylENltEvJsjjMSDCUx/edZNSC7wAqifUU1Ywp//0OWEZwMZJfecJud9XxJ/40rAKEbJMKBOQzeOjrLJFzQ==",
"dev": true,
"requires": {
"debug": "^4.1.1",
"eslint-visitor-keys": "^1.1.0",
"glob": "^7.1.6",
"is-glob": "^4.0.1",
"lodash": "^4.17.15",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
}
},
"acorn": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
@ -1824,6 +1888,15 @@
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
"tsutils": {
"version": "3.17.1",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
"integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
"dev": true,
"requires": {
"tslib": "^1.8.1"
}
},
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",

8
package.json

@ -1,19 +1,21 @@
{
"name": "siameses-v2",
"name": "siameses",
"version": "1.0.0",
"description": "Siameses website",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "cd src/server/src && node server"
"start": "cd server/src && node server"
},
"repository": {
"type": "git",
"url": "https://git.galm.io/galmio/siameses-v2.git"
"url": "https://git.galm.io/galmio/siameses"
},
"author": "galmio",
"license": "AGPL-3.0",
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^3.3.0",
"@typescript-eslint/parser": "^3.3.0",
"eslint": "^7.2.0",
"eslint-config-standard": "^14.1.1",
"eslint-plugin-import": "^2.21.2",

src/server/.eslintrc.js → server/.eslintrc.js

src/server/.prettierrc.js → server/.prettierrc.js

src/server/Dockerfile → server/Dockerfile

src/server/package-lock.json → server/package-lock.json

src/server/package.json → server/package.json

src/server/src/server.js → server/src/server.js

6
src/client/.babelrc

@ -1,6 +0,0 @@
{
"presets": [
"@babel/preset-env",
"@babel/react"
]
}

1
src/client/.dockerignore

@ -1 +0,0 @@
node_modules

34
src/client/.eslintrc.json

@ -1,34 +0,0 @@
{
"env": {
"browser": true,
"es2020": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 11,
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"indent":"off",
"react/destructuring-assignment": [ 1, "always" ],
"react/self-closing-comp": [ 1, {
"component": true,
"html": true
} ],
"react/jsx-indent": [ 1, 2, {
"checkAttributes": true,
"indentLogicalExpressions": true
} ],
"react/jsx-indent-props": [ 1, 2 ],
"react/jsx-no-useless-fragment": [ 1, true ]
}
}

9
src/client/.prettierrc.js

@ -1,9 +0,0 @@
module.exports = {
trailingComma: 'none',
tabWidth: 2,
semi: false,
singleQuote: true,
jsxBracketSameLine: true,
arrowParens: 'always',
bracketSpacing: true
}

7
src/client/Dockerfile

@ -1,7 +0,0 @@
FROM node:lts-alpine
WORKDIR /usr/src/client
COPY package*.json ./
RUN npm ci -qy
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]

11141
src/client/package-lock.json
File diff suppressed because it is too large
View File

45
src/client/package.json

@ -1,45 +0,0 @@
{
"name": "siameses_client",
"version": "1.0.0",
"description": "Siameses front-end",
"main": "src/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server --config webpack.dev.js --mode development",
"build": "webpack --config webpack.prod.js --mode production"
},
"repository": {
"type": "git",
"url": "https://git.galm.io/galmio/siameses-v2"
},
"author": "galmio",
"license": "AGPL-3.0",
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@babel/preset-react": "^7.10.1",
"@svgr/webpack": "^5.4.0",
"babel-loader": "^8.1.0",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^6.0.2",
"css-loader": "^3.5.3",
"file-loader": "^6.0.0",
"html-webpack-plugin": "^4.3.0",
"mini-css-extract-plugin": "^0.9.0",
"node-sass": "^4.14.1",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"resolve-url-loader": "^3.1.1",
"sass-loader": "^8.0.2",
"terser-webpack-plugin": "^3.0.3",
"url-loader": "^4.1.0",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^4.2.2"
},
"dependencies": {
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-router-dom": "^5.2.0"
}
}

BIN
src/client/src/assets/font/nunito/Nunito-Black.ttf

BIN
src/client/src/assets/font/nunito/Nunito-BlackItalic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-Bold.ttf

BIN
src/client/src/assets/font/nunito/Nunito-BoldItalic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-ExtraBold.ttf

BIN
src/client/src/assets/font/nunito/Nunito-ExtraBoldItalic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-ExtraLight.ttf

BIN
src/client/src/assets/font/nunito/Nunito-ExtraLightItalic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-Italic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-Light.ttf

BIN
src/client/src/assets/font/nunito/Nunito-LightItalic.ttf

BIN
src/client/src/assets/font/nunito/Nunito-Regular.ttf

BIN
src/client/src/assets/font/nunito/Nunito-SemiBold.ttf

BIN
src/client/src/assets/font/nunito/Nunito-SemiBoldItalic.ttf

93
src/client/src/assets/font/nunito/OFL.txt

@ -1,93 +0,0 @@
Copyright 2014 The Nunito Project Authors (https://github.com/googlefonts/NunitoFont)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

202
src/client/src/assets/font/roboto/LICENSE.txt

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

BIN
src/client/src/assets/font/roboto/Roboto-Black.ttf

BIN
src/client/src/assets/font/roboto/Roboto-BlackItalic.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Bold.ttf

BIN
src/client/src/assets/font/roboto/Roboto-BoldItalic.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Italic.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Light.ttf

BIN
src/client/src/assets/font/roboto/Roboto-LightItalic.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Medium.ttf

BIN
src/client/src/assets/font/roboto/Roboto-MediumItalic.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Regular.ttf

BIN
src/client/src/assets/font/roboto/Roboto-Thin.ttf

BIN
src/client/src/assets/font/roboto/Roboto-ThinItalic.ttf

9
src/client/src/assets/icon/brand/logo-doulton-desc.svg
File diff suppressed because it is too large
View File

22
src/client/src/assets/icon/brand/logo-doulton.svg

@ -1,22 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.0895 11.0398C12.0895 11.0398 10.9409 9.12559 10.5581 8.55133C10.1753 7.88136 9.88812 6.63713 9.98383 5.96715C10.0795 5.29718 9.6967 4.24437 9.98383 4.34008C10.271 4.43579 12.568 6.06286 13.238 7.21139C13.9079 8.35991 14.3865 9.02988 14.3865 9.02988C14.3865 9.02988 16.205 9.69985 16.7793 11.1355C17.3535 12.5712 17.4492 12.6669 17.4492 12.6669C17.4492 12.6669 15.9179 12.6669 15.3436 12.4754C14.7693 12.284 14.1951 11.5183 13.4294 11.3269C12.6637 11.2312 12.0895 11.0398 12.0895 11.0398Z" fill="#00684C"/>
<path d="M9.88672 3.86111C9.88672 3.86111 10.1738 0.989811 10.6524 0.41555C11.4181 -0.445842 11.5138 0.22413 11.6095 0.70268C11.7052 1.18123 11.7052 1.65978 11.7052 1.65978C11.7052 1.65978 12.4709 0.894101 12.758 1.08552C13.0452 1.27694 12.9494 2.52117 12.9494 2.52117C12.9494 2.52117 14.098 1.94691 14.2894 2.23404C14.4808 2.42546 14.1937 3.38256 14.1937 3.38256C14.1937 3.38256 15.1508 3.09543 15.3422 3.57398C15.5336 4.05254 15.0551 4.72251 15.0551 4.72251C15.0551 4.72251 16.0122 4.72251 16.1079 5.20106C16.2993 5.67961 15.6293 5.96674 15.6293 5.96674C15.6293 5.96674 16.1079 6.44529 16.2036 6.82813C16.2993 7.21097 15.8207 7.30668 15.8207 7.30668C15.8207 7.30668 16.2036 7.59381 16.2036 7.97665C16.2993 8.35949 15.9165 8.35949 15.9165 8.35949C15.9165 8.35949 16.2993 8.64662 16.1079 9.12517C15.9165 9.60373 15.9165 9.4123 15.5336 9.22088C15.1508 9.02946 14.3851 8.55091 14.3851 8.55091C14.3851 8.55091 13.7151 7.40239 13.3323 6.82813C12.9494 6.25387 11.7052 5.10535 11.2267 4.72251C10.5567 4.33967 9.88672 3.86111 9.88672 3.86111Z" fill="#003375"/>
<path d="M17.449 13.145C17.449 13.145 21.1817 9.22087 22.3302 8.64661C23.5744 8.07235 23.9573 6.92383 24.4358 6.92383C24.9144 6.92383 26.1586 7.49809 26.0629 8.74232C25.9672 9.98655 24.5315 11.2308 24.2444 12.2836C23.9573 13.3364 23.9573 14.4849 23.0002 15.1549C22.0431 15.8249 20.5117 16.3034 19.5546 15.9206C18.5975 15.6335 17.2576 14.0064 16.4919 14.2935C15.8219 14.4849 17.449 13.145 17.449 13.145Z" fill="#00684C"/>
<path d="M25.2973 6.82805C25.2973 6.82805 27.7857 3.5739 28.1686 2.80822C28.5514 2.04254 29.1257 1.75541 29.3171 2.23396C29.5085 2.6168 29.4128 3.19106 29.4128 3.19106C29.4128 3.19106 30.3699 2.71251 30.5613 2.99964C30.7527 3.28677 30.3699 4.24387 30.3699 4.24387C30.3699 4.24387 31.4227 3.95674 31.4227 4.33958C31.4227 4.72242 30.7527 5.77523 30.7527 5.77523C30.7527 5.77523 31.7098 5.4881 31.7098 5.87094C31.7098 6.15807 30.8484 7.11518 30.8484 7.11518C30.8484 7.11518 31.5184 7.11518 31.4227 7.49802C31.327 7.88086 30.3699 8.35941 30.3699 8.35941C30.3699 8.35941 30.9442 8.45512 30.9442 8.74225C30.9442 9.02938 30.0828 9.60364 30.0828 9.60364C30.0828 9.60364 30.657 9.89077 30.4656 10.2736C30.2742 10.6565 29.7956 10.7522 29.7956 10.7522C29.7956 10.7522 29.9871 11.0393 29.8913 11.4221C29.7956 11.7093 28.7428 11.9964 28.7428 11.9964C28.7428 11.9964 28.9342 12.2835 28.8385 12.5707C28.7428 12.8578 27.7857 12.9535 27.7857 12.9535C27.7857 12.9535 28.0729 13.8149 27.9771 14.102C27.8814 14.3891 26.8286 14.3891 26.8286 14.3891C26.8286 14.3891 27.02 15.0591 26.7329 15.442C26.4458 15.8248 25.9672 15.6334 25.9672 15.6334C25.9672 15.6334 26.1586 16.0162 25.8715 16.3034C25.6801 16.5905 25.393 16.3991 25.393 16.3991C25.393 16.3991 25.2015 16.7819 24.8187 16.9733C24.4359 17.2605 24.1487 17.069 24.1487 17.069C24.1487 17.069 24.2444 17.4519 23.9573 17.6433C23.6702 17.8347 23.1916 17.6433 23.1916 17.6433C23.1916 17.6433 23.1916 18.2176 22.9045 18.3133C22.6174 18.409 21.9474 18.1218 21.9474 18.1218C21.9474 18.1218 22.0431 18.7918 21.756 18.8875C21.4688 18.9832 20.7032 18.5047 20.5117 18.1218C20.3203 17.739 20.1289 16.3991 20.1289 16.3991C20.1289 16.3991 21.1817 16.4948 22.2345 15.9205C23.2873 15.3462 23.8616 15.2505 24.2444 13.8149C24.5316 12.3792 25.2015 11.3264 25.6801 10.5607C26.2544 9.79506 26.9243 8.16799 26.1586 7.68944C25.5844 7.40231 25.2973 6.82805 25.2973 6.82805Z" fill="#003375"/>
<path d="M11.9941 17.8351C11.9941 17.8351 13.2384 19.3665 14.3869 19.7493C15.5354 20.1322 16.9711 20.4193 16.9711 20.4193C16.9711 20.4193 17.2582 22.7163 17.4496 23.3863C17.641 24.0563 17.641 24.152 17.641 24.152C17.641 24.152 19.8424 21.855 19.9381 20.0365C20.0338 18.218 19.9381 17.2609 19.8424 16.7823L19.7467 16.3038C19.7467 16.3038 18.981 16.0166 18.311 15.4424C17.641 14.8681 17.1625 14.2939 16.2054 14.6767C15.2483 14.9638 14.0998 14.8681 14.0998 14.8681C14.0998 14.8681 12.9512 16.3995 12.2813 16.4952C12.2813 16.4952 13.047 16.7823 12.8555 17.0694C12.6641 17.4523 11.9941 17.8351 11.9941 17.8351Z" fill="#E29B2B"/>
<path d="M19.6494 21.8555C19.6494 21.8555 19.8408 24.4397 19.4579 25.3968C19.4579 25.3968 18.788 25.3011 18.6923 25.1097C18.5965 24.8225 18.2137 25.1097 17.9266 24.9182C17.6394 24.7268 16.9695 24.4397 16.8738 24.1526C16.7781 23.7697 16.2995 23.8654 16.2038 23.4826C16.1081 23.0998 15.9167 23.004 15.7252 22.9083C15.5338 22.7169 15.6295 22.4298 16.1081 21.9512C16.5866 21.5684 16.8738 21.1855 16.8738 21.1855C16.8738 21.1855 17.1609 23.7697 17.5437 24.344C17.5437 24.344 18.5965 23.5783 18.9794 22.8126C19.5537 22.0469 19.6494 21.8555 19.6494 21.8555Z" fill="#00684C"/>
<path d="M15.438 12.7616C15.438 12.7616 13.8109 11.613 12.8538 11.4216C11.8967 11.2302 11.0353 10.8474 9.98253 12.1873C8.92972 13.4315 8.7383 15.25 8.45117 15.92C8.45117 15.92 9.31256 15.4415 9.98253 14.6758C10.6525 13.9101 11.5139 13.2401 12.5667 13.2401C13.7152 13.3358 15.438 12.7616 15.438 12.7616Z" fill="#00684C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.438 12.9531C15.438 12.9531 13.9066 13.336 13.3324 13.336C12.7581 13.336 11.801 13.1445 11.131 13.7188C10.4611 14.2931 9.12112 15.7287 8.73828 15.9201C8.73828 15.9201 10.1739 14.8673 10.5568 14.5802C10.9396 14.2931 11.131 14.3888 11.3225 14.5802C11.3225 14.5802 11.9924 14.1016 12.7581 14.1016C13.5238 14.0059 14.0981 13.9102 14.5766 13.6231C15.0552 13.336 15.438 12.9531 15.438 12.9531Z" fill="#003375"/>
<path d="M13.9064 14.1973C13.9064 14.1973 12.6622 14.3887 12.2794 14.4844C11.9922 14.5801 11.5137 14.9629 11.5137 14.9629C11.5137 14.9629 11.7051 15.3458 11.2266 15.5372C11.2266 15.5372 12.3751 15.6329 12.8536 15.2501C13.3322 14.7715 13.9064 14.1973 13.9064 14.1973Z" fill="#E29B2B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.8109 14.9629C13.8109 14.9629 12.6623 15.4414 11.9924 15.6329C11.3224 15.8243 11.0353 15.6329 11.0353 15.6329C11.0353 15.6329 10.3653 15.7286 10.0782 16.0157C9.79104 16.3985 9.88675 16.7814 9.4082 17.1642C9.4082 17.1642 9.79104 16.6857 10.5567 16.59C11.2267 16.4943 12.1838 16.4943 12.8538 15.92C13.5237 15.4414 13.8109 14.9629 13.8109 14.9629Z" fill="#00684C"/>
<path d="M8.64248 16.1113C8.64248 16.1113 4.23981 20.4183 4.33552 20.514C4.43123 20.7054 5.57976 19.7483 6.63257 19.0783C7.68538 18.4084 9.69529 16.877 9.69529 16.877L9.88671 16.1113C9.88671 16.1113 9.40816 16.3985 9.12103 16.4942C8.73819 16.4942 8.64248 16.1113 8.64248 16.1113Z" fill="black"/>
<path d="M11.8967 17.7384C11.8967 17.7384 11.3224 17.4512 10.7482 17.4512C10.0782 17.4512 9.3125 17.3555 9.3125 17.3555C9.3125 17.3555 9.69534 17.1641 9.98247 17.0684C10.2696 16.877 10.9396 16.7813 11.4181 16.7813C11.8967 16.7813 12.3752 16.6855 12.3752 16.6855C12.3752 16.6855 12.7581 16.7813 12.8538 16.9727C12.8538 17.2598 11.8967 17.7384 11.8967 17.7384Z" fill="#EDBF50"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.4495 12.8569C17.4495 12.8569 16.1096 12.8569 15.8225 12.7612C15.631 12.6655 15.631 12.8569 15.3439 13.1441C15.1525 13.4312 14.6739 13.7183 14.2911 13.9097C13.9083 14.1012 13.7168 14.3883 13.5254 14.6754C13.2383 14.9626 13.2383 14.9626 13.2383 14.9626C13.2383 14.9626 14.004 14.5797 14.2911 14.5797C14.4825 14.5797 14.7696 14.5797 15.3439 14.484C15.9182 14.3883 16.0139 14.2926 16.4924 13.814C16.8753 13.4312 17.4495 12.8569 17.4495 12.8569Z" fill="#EDBF50"/>
<path d="M10.0781 15.0586C10.0781 15.0586 9.79101 15.4414 9.88672 15.6329C9.98243 15.8243 10.6524 15.6329 10.6524 15.6329C10.6524 15.6329 10.2696 15.5371 10.2696 15.4414C10.1739 15.3457 10.0781 15.0586 10.0781 15.0586Z" fill="black"/>
<path d="M10.8453 14.6758C10.6538 14.6758 10.4624 14.7715 10.3667 14.8672C10.271 14.9629 10.271 15.1543 10.3667 15.25C10.4624 15.3458 10.6538 15.4415 10.8453 15.3458C11.0367 15.25 11.1324 15.0586 11.2281 14.8672V14.6758H10.8453Z" fill="black"/>
<path d="M10.6524 14.8672C10.6524 14.8672 10.6524 15.0586 10.7481 15.1543C10.8438 15.25 10.8438 15.25 10.8438 15.25C10.8438 15.25 10.6524 15.25 10.5566 15.1543C10.4609 15.0586 10.4609 14.9629 10.4609 14.8672C10.5566 14.9629 10.6524 14.8672 10.6524 14.8672Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0796 15.8243C10.0796 15.8243 9.88819 15.92 9.79248 15.8243C9.69677 15.7285 9.88819 15.3457 9.88819 15.3457C9.88819 15.3457 9.12251 15.92 9.0268 16.1114C8.93109 16.3985 9.12251 16.3985 9.12251 16.3985C9.12251 16.3985 9.21822 16.3985 9.50535 16.3028C9.69677 16.1114 10.0796 15.8243 10.0796 15.8243Z" fill="#003375"/>
<path d="M3.85783 21.1855C3.85783 21.1855 1.08224 24.344 0.220846 27.2153C-0.449125 29.5123 0.412267 32.0008 2.70931 32.0008C5.77204 32.0008 6.44201 28.8424 4.62351 26.9282C2.6136 24.6311 3.85783 21.1855 3.85783 21.1855Z" fill="#2B8ED1"/>
<path d="M4.62316 27.7891C4.62316 27.7891 5.77168 29.4161 4.62316 30.8518C4.14461 31.426 3.0918 31.3303 3.0918 31.3303C3.0918 31.3303 3.95319 31.1389 4.43174 29.9904C4.71887 29.2247 4.62316 27.7891 4.62316 27.7891Z" fill="white"/>
<path d="M31.2305 2.04297C31.5176 2.04297 31.7091 2.23439 31.7091 2.52152C31.7091 2.80865 31.5176 3.00007 31.2305 3.00007C30.9434 3.00007 30.752 2.80865 30.752 2.52152C30.752 2.3301 30.9434 2.04297 31.2305 2.04297ZM31.2305 2.13868C30.9434 2.13868 30.752 2.3301 30.752 2.61723C30.752 2.90436 30.9434 3.09578 31.2305 3.09578C31.5176 3.09578 31.7091 2.90436 31.7091 2.61723C31.7091 2.3301 31.5176 2.13868 31.2305 2.13868ZM31.5176 2.80865H31.3262C31.1348 2.52152 31.1348 2.52152 31.1348 2.52152C31.1348 2.61723 31.1348 2.71294 31.1348 2.80865H31.0391H30.9434C30.9434 2.80865 30.9434 2.71294 30.9434 2.52152C30.9434 2.3301 30.9434 2.3301 30.9434 2.23439H31.0391H31.1348C31.2305 2.23439 31.3262 2.3301 31.3262 2.3301C31.3262 2.42581 31.2305 2.42581 31.2305 2.52152L31.5176 2.80865ZM31.2305 2.3301C31.2305 2.42581 31.2305 2.52152 31.2305 2.52152C31.2305 2.52152 31.3262 2.52152 31.3262 2.42581C31.3262 2.3301 31.3262 2.3301 31.2305 2.3301Z" fill="#595959"/>
</svg>

13
src/client/src/assets/icon/brand/logo-siameses.svg

@ -1,13 +0,0 @@
<svg width="135" height="25" viewBox="0 0 135 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.8917 6.23868C12.5425 6.23868 13.0947 6.49673 13.5286 6.99297C13.9624 7.48922 14.1794 8.02517 14.1794 8.58096C14.1794 9.21616 13.9427 9.77195 13.4694 10.2484C12.9961 10.7247 12.4636 10.9629 11.8917 10.9629H5.64019C5.34438 10.9629 5.10772 11.0423 4.89079 11.221C4.69358 11.3996 4.57526 11.6378 4.57526 11.9554C4.57526 12.2929 4.67386 12.5509 4.89079 12.7494C5.088 12.9281 5.34438 13.0273 5.64019 13.0273H9.74215C10.4915 13.0273 11.1818 13.1861 11.8326 13.5037C12.4834 13.8213 13.0355 14.2382 13.5088 14.7741C13.9821 15.2902 14.3568 15.846 14.6132 16.4415C14.8893 17.0172 15.0076 17.6921 15.0076 18.4265C15.0274 19.2403 14.8893 19.9946 14.5935 20.6894C14.2977 21.404 13.8835 21.9995 13.3708 22.4759C12.8581 22.9721 12.2664 23.3493 11.5959 23.6272C10.9254 23.9051 10.1563 24.044 9.30828 24.044H2.62289C1.99182 24.044 1.43963 23.8257 0.986047 23.389C0.532465 22.9523 0.295814 22.3965 0.295814 21.7414C0.295814 21.1261 0.512745 20.5703 0.946605 20.074C1.38047 19.5778 1.91293 19.3197 2.544 19.28H9.2294C9.88019 19.28 10.2154 18.9823 10.2154 18.4066C10.2154 17.7516 9.88019 17.4142 9.2294 17.4142H5.22605C4.49637 17.4142 3.80614 17.2554 3.17507 16.9576C2.52428 16.6599 1.97209 16.2232 1.49879 15.6872C1.02549 15.1513 0.650791 14.5756 0.394419 13.9404C0.118326 13.3052 0 12.6303 0 11.8959C0 11.1614 0.138047 10.4667 0.41414 9.77195C0.690233 9.09706 1.06493 8.50156 1.55795 7.98547C2.05098 7.46937 2.60316 7.07237 3.27368 6.75477C3.94419 6.43718 4.63442 6.27838 5.42326 6.25853H11.8917V6.23868Z" fill="#1C3E94"/>
<path d="M19.5237 6.41732C20.1548 6.41732 20.6873 6.65552 21.1014 7.11206C21.5155 7.56861 21.7522 8.14426 21.8113 8.7993V21.7414C21.8113 22.3965 21.6141 22.9523 21.2 23.389C20.7859 23.8257 20.2337 24.0639 19.5237 24.1234C18.8926 24.1234 18.3602 23.9249 17.9263 23.5279C17.4925 23.1309 17.2164 22.595 17.1178 21.8804V8.66035C17.1572 8.02516 17.4136 7.50906 17.8869 7.09221C18.3602 6.67537 18.8926 6.43717 19.5237 6.41732Z" fill="#1C3E94"/>
<path d="M19.4646 5.52407C20.7607 5.52407 21.8113 4.46651 21.8113 3.16194C21.8113 1.85737 20.7607 0.799805 19.4646 0.799805C18.1685 0.799805 17.1178 1.85737 17.1178 3.16194C17.1178 4.46651 18.1685 5.52407 19.4646 5.52407Z" fill="#1C3E94"/>
<path d="M33.7228 6.35777C34.8074 6.47687 35.8329 6.79447 36.7993 7.31056C37.7656 7.82666 38.5741 8.4817 39.2644 9.2757C39.9546 10.0697 40.5068 10.9629 40.9012 11.9753C41.2956 12.9876 41.4928 14.0595 41.4928 15.1711V21.6422C41.4928 22.2972 41.2562 22.853 40.7632 23.3294C40.2701 23.786 39.7377 24.0242 39.1263 24.0242C38.2783 24.0242 37.6078 23.6272 37.0951 22.853C36.9767 22.8927 36.8584 22.9523 36.7598 23.0118C36.6612 23.0714 36.5626 23.1309 36.464 23.1706C35.8921 23.4485 35.2807 23.647 34.6891 23.786C34.058 23.9249 33.3875 24.0043 32.6973 24.0043C30.883 24.0043 29.2659 23.5081 27.8262 22.5156C26.3866 21.5231 25.3217 20.2527 24.6314 18.6845C24.3948 18.1287 24.1976 17.5531 24.0595 16.9576C23.9215 16.382 23.8623 15.7666 23.8623 15.1314C23.8623 14.4962 23.9215 13.8809 24.0595 13.3052C24.1976 12.7296 24.3751 12.1539 24.6314 11.5783C25.3414 9.99029 26.4063 8.7199 27.8262 7.74726C29.2461 6.77462 30.883 6.27837 32.6973 6.27837C32.8945 6.27837 33.072 6.27837 33.2298 6.27837C33.3875 6.27837 33.565 6.31807 33.7228 6.35777ZM32.6776 19.2602C33.2298 19.2602 33.7622 19.1609 34.2553 18.9426C34.7483 18.7441 35.1821 18.4463 35.5371 18.089C35.8921 17.7317 36.1879 17.295 36.4048 16.7988C36.6218 16.3026 36.7401 15.7468 36.7401 15.1711C36.7401 14.6352 36.6218 14.1191 36.4048 13.6228C36.1879 13.1266 35.8921 12.6899 35.5174 12.3127C35.1427 11.9356 34.7088 11.6378 34.2158 11.4195C33.7228 11.2011 33.21 11.082 32.6776 11.082C32.1451 11.082 31.6324 11.2011 31.1591 11.4195C30.666 11.6378 30.2519 11.9356 29.8772 12.3127C29.5025 12.6899 29.2067 13.1266 28.9898 13.6228C28.7728 14.1191 28.6545 14.6352 28.6545 15.1711C28.6545 15.7269 28.7728 16.2629 28.9898 16.7591C29.2264 17.2553 29.5222 17.692 29.8969 18.0493C30.2716 18.4066 30.7055 18.7044 31.1788 18.9227C31.6521 19.1411 32.1648 19.2602 32.6776 19.2602Z" fill="#1C3E94"/>
<path d="M49.6573 6.31806C50.387 6.31806 51.097 6.43716 51.7872 6.65551C52.4774 6.89371 53.1085 7.25101 53.7001 7.72741C54.8637 6.77461 56.2244 6.29821 57.7626 6.29821C58.6106 6.29821 59.4192 6.45701 60.208 6.79446C60.9969 7.13191 61.6871 7.56861 62.2787 8.1244C62.8703 8.6802 63.3437 9.35509 63.6986 10.1292C64.0536 10.9034 64.2311 11.7371 64.2311 12.6105V21.801C64.2311 22.3766 63.9945 22.8927 63.5014 23.3294C63.0084 23.7661 62.4562 23.9844 61.8251 23.9844C61.1941 23.9844 60.6419 23.7463 60.1686 23.2699C59.6953 22.7935 59.4586 22.2377 59.4586 21.6025V12.7494C59.4586 12.2929 59.3009 11.8959 58.9656 11.5783C58.6304 11.2607 58.2359 11.1019 57.7429 11.1019C57.3288 11.1019 56.9541 11.2408 56.5991 11.5187C56.2441 11.7966 56.0666 12.2135 56.0666 12.7494V21.6422C56.0666 22.2972 55.83 22.853 55.3567 23.3294C54.8834 23.7859 54.3115 24.0241 53.6607 24.0241C53.0493 24.0241 52.5169 23.8058 52.0238 23.389C51.5308 22.9721 51.2942 22.4362 51.2942 21.8407V12.7494C51.2744 12.2532 51.097 11.8562 50.742 11.5584C50.4067 11.2607 50.032 11.1019 49.6179 11.1019C49.1643 11.1019 48.7699 11.2607 48.4346 11.5783C48.0994 11.8959 47.9416 12.2929 47.9022 12.7891V21.8605C47.8627 22.4362 47.6063 22.9523 47.1528 23.3691C46.6992 23.8058 46.1667 24.0043 45.5356 24.0043C45.2004 24.0043 44.8849 23.9447 44.589 23.8256C44.2932 23.7066 44.0369 23.5279 43.8199 23.3096C43.603 23.0912 43.4255 22.8332 43.2875 22.5354C43.1494 22.2377 43.0903 21.9399 43.1297 21.6223V12.6303C43.1297 11.7768 43.3072 10.9629 43.6424 10.1888C43.9777 9.41464 44.451 8.7596 45.0229 8.18395C45.5948 7.60831 46.285 7.15176 47.0739 6.81431C47.9022 6.47686 48.7502 6.31806 49.6573 6.31806Z" fill="#1C3E94"/>
<path d="M96.3959 6.23868C97.0467 6.23868 97.5989 6.49673 98.0328 6.99297C98.4666 7.48922 98.6836 8.02517 98.6836 8.58096C98.6836 9.21616 98.4469 9.77195 97.9736 10.2484C97.5003 10.7247 96.9678 10.9629 96.3959 10.9629H90.1444C89.8486 10.9629 89.6119 11.0423 89.395 11.221C89.1978 11.3996 89.0795 11.6378 89.0795 11.9554C89.0795 12.2929 89.1781 12.5509 89.395 12.7494C89.5922 12.9281 89.8486 13.0273 90.1444 13.0273H94.2661C95.0155 13.0273 95.7057 13.1861 96.3565 13.5037C97.0073 13.8213 97.5595 14.2382 98.0328 14.7741C98.5061 15.2902 98.8808 15.846 99.1372 16.4415C99.4132 17.0172 99.5316 17.6921 99.5316 18.4265C99.5513 19.2403 99.4132 19.9946 99.1174 20.6894C98.8216 21.404 98.4075 21.9995 97.8947 22.4759C97.382 22.9721 96.7904 23.3493 96.1199 23.6272C95.4493 23.9051 94.6802 24.044 93.8322 24.044H87.1468C86.5157 24.044 85.9636 23.8257 85.51 23.389C85.0564 22.9523 84.8197 22.3965 84.8197 21.7414C84.8197 21.1261 85.0367 20.5703 85.4705 20.074C85.9044 19.5778 86.4369 19.3197 87.0679 19.28H93.7533C94.4041 19.28 94.7394 18.9823 94.7394 18.4066C94.7394 17.7516 94.4041 17.4142 93.7533 17.4142H89.75C89.0203 17.4142 88.3301 17.2554 87.699 16.9576C87.0482 16.6599 86.496 16.2232 86.0227 15.6872C85.5494 15.1513 85.1747 14.5756 84.9184 13.9404C84.6423 13.3052 84.5239 12.6303 84.5239 11.8959C84.5239 11.1614 84.662 10.4667 84.9381 9.77196C85.2142 9.09706 85.5889 8.50156 86.0819 7.98547C86.5749 7.46937 87.1271 7.07237 87.7976 6.75477C88.4484 6.45703 89.1583 6.27838 89.9472 6.25853H96.3959V6.23868Z" fill="#1C3E94"/>
<path d="M131.282 6.23868C131.933 6.23868 132.485 6.49673 132.919 6.99297C133.353 7.48922 133.57 8.02517 133.57 8.58096C133.57 9.21616 133.333 9.77195 132.86 10.2484C132.387 10.7247 131.854 10.9629 131.282 10.9629H125.031C124.735 10.9629 124.498 11.0423 124.281 11.221C124.084 11.3996 123.966 11.6378 123.966 11.9554C123.966 12.2929 124.064 12.5509 124.281 12.7494C124.479 12.9281 124.735 13.0273 125.031 13.0273H129.133C129.882 13.0273 130.572 13.1861 131.223 13.5037C131.874 13.8213 132.426 14.2382 132.899 14.7741C133.373 15.2902 133.747 15.846 134.004 16.4415C134.28 17.0172 134.398 17.6921 134.398 18.4265C134.418 19.2403 134.28 19.9946 133.984 20.6894C133.688 21.404 133.274 21.9995 132.761 22.4759C132.249 22.9721 131.657 23.3493 130.986 23.6272C130.316 23.9051 129.547 24.044 128.699 24.044H122.013C121.382 24.044 120.83 23.8257 120.377 23.389C119.923 22.9523 119.686 22.3965 119.686 21.7414C119.686 21.1261 119.903 20.5703 120.337 20.074C120.771 19.5778 121.303 19.3197 121.935 19.28H128.62C129.271 19.28 129.606 18.9823 129.606 18.4066C129.606 17.7516 129.271 17.4142 128.62 17.4142H124.636C123.907 17.4142 123.216 17.2554 122.585 16.9576C121.935 16.6599 121.382 16.2232 120.909 15.6872C120.436 15.1513 120.061 14.5756 119.805 13.9404C119.529 13.3052 119.41 12.6303 119.41 11.8959C119.41 11.1614 119.548 10.4667 119.824 9.77196C120.1 9.09706 120.475 8.50156 120.968 7.98547C121.461 7.46937 122.013 7.07237 122.684 6.75477C123.335 6.45703 124.045 6.27838 124.834 6.25853H131.282V6.23868Z" fill="#1C3E94"/>
<path d="M109.491 24.5998C108.189 24.5998 106.947 24.3418 105.823 23.8455C104.698 23.3493 103.693 22.6744 102.864 21.8407C102.036 21.007 101.346 19.9946 100.873 18.8632C100.38 17.7318 100.143 16.4812 100.143 15.1711C100.143 13.861 100.399 12.6105 100.873 11.479C101.366 10.3476 102.036 9.33526 102.864 8.50156C103.693 7.66787 104.698 6.99297 105.823 6.49673C106.966 6.00048 108.189 5.74243 109.491 5.74243C110.556 5.74243 111.561 5.90123 112.488 6.21883C113.395 6.53643 114.224 6.95327 114.953 7.48922C115.683 8.02517 116.314 8.66036 116.847 9.39481C117.379 10.1293 117.813 10.9232 118.168 11.7569C118.464 12.5311 118.641 13.1861 118.7 13.7419V13.8015C118.7 14.4168 118.483 14.9329 118.05 15.3696C117.616 15.7865 117.103 16.0048 116.492 16.0048H105.093C105.152 16.382 105.27 16.7393 105.428 17.0767C105.685 17.5928 106 18.0493 106.414 18.4463C106.809 18.8235 107.282 19.1411 107.814 19.3594C108.347 19.5778 108.919 19.6969 109.51 19.6969C110.496 19.6969 111.246 19.5579 111.759 19.2999C112.291 19.022 112.745 18.7044 113.08 18.3471C113.455 17.9501 113.77 17.6127 114.026 17.3149C114.401 16.8782 114.934 16.64 115.545 16.64C116.117 16.64 116.649 16.8584 117.162 17.2951C117.675 17.7516 117.951 18.3669 117.951 19.0617C117.951 19.6373 117.714 20.2527 117.221 20.9474C116.787 21.5628 116.176 22.1583 115.427 22.7141C114.677 23.25 113.81 23.7066 112.804 24.0837C111.739 24.4013 110.634 24.5998 109.491 24.5998ZM105.803 12.3127H113.218C112.922 11.8165 112.528 11.3798 112.054 11.0026C111.325 10.4469 110.496 10.169 109.53 10.169C108.544 10.169 107.716 10.4469 107.006 11.0026C106.493 11.3996 106.099 11.8363 105.803 12.3127Z" fill="#1C3E94"/>
<path d="M74.6634 24.5998C73.3619 24.5998 72.1194 24.3418 70.9953 23.8455C69.8713 23.3493 68.8655 22.6744 68.0372 21.8407C67.1892 21.007 66.5187 19.9946 66.0454 18.8632C65.5524 17.7318 65.3157 16.4812 65.3157 15.1711C65.3157 13.861 65.5721 12.6105 66.0454 11.479C66.5384 10.3476 67.2089 9.33526 68.0372 8.50156C68.8655 7.66787 69.8713 6.99297 70.9953 6.49673C72.1392 6.00048 73.3619 5.74243 74.6634 5.74243C75.7284 5.74243 76.7341 5.90123 77.661 6.21883C78.5682 6.53643 79.3965 6.95327 80.1261 7.48922C80.8558 8.02517 81.4869 8.66036 82.0194 9.39481C82.5518 10.1293 82.9857 10.9232 83.3407 11.7569C83.6365 12.5311 83.814 13.1861 83.8731 13.7419V13.8015C83.8731 14.4168 83.6562 14.9329 83.2223 15.3696C82.7885 15.7865 82.2757 16.0048 81.6644 16.0048H70.2657C70.3248 16.382 70.4432 16.7393 70.6009 17.0767C70.8573 17.5928 71.1728 18.0493 71.587 18.4463C71.9814 18.8235 72.4547 19.1411 72.9872 19.3594C73.5196 19.5778 74.0915 19.6969 74.6832 19.6969C75.6692 19.6969 76.4186 19.5579 76.9314 19.2999C77.4638 19.022 77.9174 18.7044 78.2527 18.3471C78.6273 17.9501 78.9429 17.6127 79.1993 17.3149C79.574 16.8782 80.1064 16.64 80.7178 16.64C81.2897 16.64 81.8221 16.8584 82.3349 17.2951C82.8476 17.7516 83.1237 18.3669 83.1237 19.0617C83.1237 19.6373 82.8871 20.2527 82.3941 20.9474C81.9602 21.5628 81.3488 22.1583 80.5994 22.7141C79.8501 23.25 78.9823 23.7066 77.9766 24.0837C76.9314 24.4013 75.827 24.5998 74.6634 24.5998ZM70.9953 12.3127H78.3907C78.0949 11.8165 77.7005 11.3798 77.2272 11.0026C76.4975 10.4469 75.6692 10.169 74.7029 10.169C73.7168 10.169 72.8886 10.4469 72.1786 11.0026C71.6856 11.3996 71.2912 11.8363 70.9953 12.3127Z" fill="#1C3E94"/>
<path d="M49.5784 5.52407C50.8745 5.52407 51.9252 4.46651 51.9252 3.16194C51.9252 1.85737 50.8745 0.799805 49.5784 0.799805C48.2823 0.799805 47.2316 1.85737 47.2316 3.16194C47.2316 4.46651 48.2823 5.52407 49.5784 5.52407Z" fill="#1C3E94"/>
<path d="M57.7232 5.52407C59.0193 5.52407 60.07 4.46651 60.07 3.16194C60.07 1.85737 59.0193 0.799805 57.7232 0.799805C56.4271 0.799805 55.3764 1.85737 55.3764 3.16194C55.3764 4.46651 56.4271 5.52407 57.7232 5.52407Z" fill="#1C3E94"/>
</svg>

3
src/client/src/assets/icon/buttons/caret-right.svg

@ -1,3 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.58984 16.34L13.1698 11.75L8.58984 7.16L9.99984 5.75L15.9998 11.75L9.99984 17.75L8.58984 16.34Z" fill="#C5A677"/>
</svg>

3
src/client/src/assets/icon/buttons/close.svg

@ -1,3 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.85355 4.14645C4.65829 3.95118 4.34171 3.95118 4.14645 4.14645C3.95118 4.34171 3.95118 4.65829 4.14645 4.85355L11.2938 12.001L4.14927 19.1455C3.954 19.3408 3.954 19.6574 4.14927 19.8526C4.34453 20.0479 4.66111 20.0479 4.85637 19.8526L12.001 12.7081L19.1446 19.8517C19.3399 20.047 19.6565 20.047 19.8517 19.8517C20.047 19.6565 20.047 19.3399 19.8517 19.1446L12.7081 12.001L19.8545 4.85447C20.0498 4.65921 20.0498 4.34262 19.8545 4.14736C19.6593 3.9521 19.3427 3.9521 19.1474 4.14736L12.001 11.2938L4.85355 4.14645Z" fill="#A5B0CF"/>
</svg>

3
src/client/src/assets/icon/communication/ic_email.svg

@ -1,3 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.334 2.66602H2.66732C1.93398 2.66602 1.34065 3.26602 1.34065 3.99935L1.33398 11.9993C1.33398 12.7327 1.93398 13.3327 2.66732 13.3327H13.334C14.0673 13.3327 14.6673 12.7327 14.6673 11.9993V3.99935C14.6673 3.26602 14.0673 2.66602 13.334 2.66602ZM13.334 5.33268L8.00065 8.66602L2.66732 5.33268V3.99935L8.00065 7.33268L13.334 3.99935V5.33268Z" fill="#1C3E94"/>
</svg>

3
src/client/src/assets/icon/communication/phone.svg

@ -1,3 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.41333 7.19333C5.37333 9.08 6.92 10.62 8.80667 11.5867L10.2733 10.12C10.4533 9.94 10.72 9.88 10.9533 9.96C11.7 10.2067 12.5067 10.34 13.3333 10.34C13.7 10.34 14 10.64 14 11.0067V13.3333C14 13.7 13.7 14 13.3333 14C7.07333 14 2 8.92667 2 2.66667C2 2.3 2.3 2 2.66667 2H5C5.36667 2 5.66667 2.3 5.66667 2.66667C5.66667 3.5 5.8 4.3 6.04667 5.04667C6.12 5.28 6.06667 5.54 5.88 5.72667L4.41333 7.19333Z" fill="#1C3E94"/>
</svg>

3
src/client/src/assets/icon/features/health.svg

@ -1,3 +0,0 @@
<svg width="34" height="45" viewBox="0 0 34 45" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.5889 0.662946C18.557 0.622768 18.5145 0.592634 18.4933 0.5625L18.4827 0.552455C18.1 0.210937 17.5792 0 17.0053 0C16.4208 0 15.9 0.210937 15.528 0.552455L15.5174 0.5625C15.4855 0.592634 15.4536 0.622768 15.4217 0.662946C14.7734 1.29576 13.955 2.10938 13.041 3.08371C11.1916 5.0625 8.93842 7.70424 6.82338 10.798C3.27352 16.0011 0.138168 22.4598 0.0106282 29.1897C0.0106282 29.3203 0 29.4609 0 29.5915C0 31.5703 0.414505 33.4587 1.15849 35.1964C1.59425 36.2009 2.13629 37.1451 2.77399 38.029C5.80306 42.2277 11.0428 45 16.9947 45C26.3901 45 34 38.0993 34 29.5915C34 16.7444 22.819 4.74107 18.5889 0.662946ZM16.9947 39.375C15.3154 39.375 13.7318 39.0033 12.3289 38.3605C19.3329 36.9141 24.9128 31.8616 26.7621 25.3527C27.3148 26.5681 27.6336 27.9141 27.6336 29.3304C27.623 34.875 22.8615 39.375 16.9947 39.375Z" fill="#C5A677"/>
</svg>

3
src/client/src/assets/icon/features/quality.svg

@ -1,3 +0,0 @@
<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.983529 24.1573C-0.327843 22.9549 -0.327843 20.9036 0.983529 19.7719L1.81176 18.9939C2.70902 18.1451 3.05412 16.8012 2.57098 15.6694L2.15686 14.6085C1.46667 12.9816 2.36392 11.1426 4.02039 10.6474L5.12471 10.3645C6.29804 10.0108 7.12628 8.94986 7.19529 7.67668L7.26431 6.54496C7.33333 4.77665 8.92078 3.50346 10.6463 3.78639L11.7506 3.99859C12.9239 4.21079 14.1663 3.64493 14.7874 2.51321L15.3396 1.52295C16.1678 -0.0331601 18.1004 -0.457555 19.5498 0.5327L20.4471 1.24002C21.4133 1.94735 22.7937 1.94735 23.76 1.24002L24.6573 0.603432C26.0376 -0.386822 28.0392 0.0375723 28.7984 1.59369L29.3506 2.58394C29.9027 3.71566 31.1451 4.28152 32.3184 4.06932L33.4227 3.85713C35.1482 3.5742 36.6667 4.84738 36.7357 6.61569L36.8047 7.74741C36.8737 9.02059 37.702 10.0816 38.8753 10.4352L39.9796 10.7182C41.6361 11.2133 42.4643 13.0523 41.8431 14.6792L41.429 15.7402C40.9459 16.8719 41.222 18.2158 42.1882 19.0646L43.0165 19.8427C44.3278 21.0451 44.3278 23.0964 43.0165 24.2281L42.1882 25.0061C41.291 25.8549 40.9459 27.1988 41.429 28.3306L41.8431 29.3915C42.5333 31.0184 41.6361 32.8574 39.9796 33.3526L38.8753 33.6355C37.702 33.9892 36.8737 35.0501 36.8047 36.3233L36.7357 37.455C36.6667 39.2234 35.0792 40.4965 33.3537 40.2136L32.2494 40.0014C31.0761 39.7892 29.8337 40.3551 29.2126 41.4868L28.6604 42.477C27.8322 44.0332 25.8996 44.4576 24.4502 43.4673L23.5529 42.76C22.5867 42.0527 21.2063 42.0527 20.24 42.76L19.3427 43.4673C17.9624 44.4576 15.9608 44.0332 15.2016 42.477L14.6494 41.4868C14.0973 40.3551 12.8549 39.7892 11.6816 40.0014L10.5773 40.2136C8.85176 40.4965 7.33333 39.2234 7.26431 37.455L7.19529 36.3233C7.12628 35.0501 6.29804 33.9892 5.12471 33.6355L4.02039 33.3526C2.36392 32.8574 1.53569 31.0184 2.15686 29.3915L2.57098 28.3306C3.05412 27.1988 2.77804 25.8549 1.81176 25.0061L0.983529 24.1573ZM7.95451 21.9646C7.95451 29.8867 14.2353 36.3233 21.9655 36.3233C29.6957 36.3233 35.9765 29.8867 35.9765 21.9646C35.9765 14.0426 29.6957 7.60595 21.9655 7.60595C14.2353 7.67668 7.95451 14.0426 7.95451 21.9646ZM14.7184 29.8159H16.9961C17.2722 29.8159 17.6173 29.7452 17.8243 29.533C17.8933 29.4623 18.1694 29.1793 18.1694 28.3306V24.4403C18.1694 24.4403 18.1694 29.1793 20.7922 29.533C21.6894 29.6037 22.8627 29.6745 24.0361 29.6037C25.0714 29.6745 26.1757 29.6745 27.0729 29.533C30.1098 28.8964 29.3506 26.7037 29.3506 26.7037C31.0071 25.4305 30.0408 23.8744 30.0408 23.8744C31.4902 22.3183 30.0408 21.0451 30.0408 21.0451C30.0408 21.0451 30.8 19.7719 29.8337 18.8524C28.5914 17.65 25.1404 18.428 25.1404 18.428C24.9333 18.4987 24.6573 18.4987 24.3812 18.5695C24.3812 18.5695 23.2078 19.1353 24.3812 15.4572C25.5545 11.7792 23.622 11.2133 22.7937 11.2133C21.9655 11.2133 22.2416 13.0523 22.2416 13.0523C22.2416 13.0523 20.4471 18.0743 18.7906 19.3475C18.3075 19.8427 18.1004 20.4085 17.9624 20.7622C17.6863 20.55 17.3412 20.4085 16.9961 20.4085H14.7184C13.8902 20.4085 13.2 21.1158 13.2 21.9646V28.1891C13.2 29.1086 13.8902 29.8159 14.7184 29.8159Z" fill="#C5A677"/>
</svg>

3
src/client/src/assets/icon/features/technology.svg

@ -1,3 +0,0 @@
<svg width="48" height="52" viewBox="0 0 48 52" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.9483 7.22199C24.9483 7.74542 24.5237 8.16946 24.0008 8.16946C23.4779 8.16946 23.0533 7.74542 23.0533 7.22256V1.53829C23.0533 1.01487 23.4779 0.59082 24.0008 0.59082C24.5237 0.59082 24.9483 1.01487 24.9483 1.53829V7.22199ZM32.2109 10.37C32.6637 10.6309 33.2436 10.4756 33.505 10.0228L36.3474 5.10023C36.6083 4.64682 36.4536 4.06693 36.0002 3.80607C35.5479 3.54407 34.9675 3.69935 34.7066 4.15219L31.8636 9.07532C31.6028 9.52816 31.7575 10.1075 32.2109 10.37ZM3.56265 13.8848L8.48577 16.7266C8.93862 16.9886 9.51794 16.8328 9.77993 16.3799C10.0408 15.9271 9.88609 15.3472 9.43268 15.0858L4.51012 12.2433C4.05727 11.9819 3.47739 12.1372 3.21596 12.59C2.95453 13.044 3.1098 13.6239 3.56265 13.8848ZM18.9479 42.5674H29.0528C29.7507 42.5674 30.3159 43.1326 30.3159 43.83C30.3159 44.5273 29.7501 45.0931 29.0528 45.0931H18.9479C18.25 45.0931 17.6848 44.5273 17.6848 43.83C17.6848 43.1326 18.25 42.5674 18.9479 42.5674ZM18.9479 46.4879H29.0528C29.7507 46.4879 30.3164 47.0543 30.3164 47.7516C30.3164 48.4489 29.7507 49.0147 29.0533 49.0147H27.7835C27.714 50.3473 26.6146 51.4082 25.264 51.4082H22.7372C21.3866 51.4082 20.2867 50.3473 20.2172 49.0142H18.9479C18.25 49.0142 17.6848 48.4484 17.6848 47.751C17.6848 47.0537 18.25 46.4879 18.9479 46.4879ZM39.5158 32.4547L44.4384 35.2971C44.8923 35.5585 45.0465 36.1379 44.785 36.5907C44.5242 37.0436 43.9443 37.2 43.4915 36.9374L38.5683 34.0956C38.1155 33.8341 37.9602 33.2548 38.2216 32.8014C38.4836 32.3486 39.0624 32.1933 39.5158 32.4547ZM7.57864 24.5905C7.57864 24.0677 7.1546 23.643 6.63117 23.643H0.947472C0.424612 23.643 0 24.0671 0 24.5905C0 25.1139 0.424047 25.538 0.947472 25.538H6.63174C7.1546 25.538 7.57864 25.1139 7.57864 24.5905ZM41.3691 23.643H47.0534C47.5768 23.643 48.0008 24.0677 48.0008 24.5905C48.0008 25.1139 47.5768 25.538 47.0534 25.538H41.3691C40.8462 25.538 40.4216 25.1139 40.4216 24.5905C40.4216 24.0671 40.8462 23.643 41.3691 23.643ZM8.48577 32.4547L3.56265 35.2971C3.1098 35.5585 2.95453 36.1379 3.21596 36.5913C3.47739 37.0447 4.05727 37.1999 4.51012 36.938L9.43324 34.0961C9.88609 33.8347 10.0414 33.2548 9.77993 32.8019C9.51851 32.3485 8.93862 32.1933 8.48577 32.4547ZM44.4389 13.8847L39.5158 16.7272C39.063 16.9886 38.4831 16.8333 38.2216 16.3805C37.9602 15.9271 38.1155 15.3472 38.5683 15.0857L43.4915 12.2433C43.9443 11.9819 44.5242 12.1372 44.7856 12.5906C45.047 13.0434 44.8923 13.6233 44.4389 13.8847ZM14.496 10.0224C14.7575 10.4758 15.3374 10.6305 15.7902 10.3691C16.243 10.1077 16.3983 9.52833 16.1369 9.07492L13.2945 4.15236C13.033 3.69952 12.4532 3.54424 12.0003 3.80567C11.5475 4.0671 11.3922 4.64699 11.6536 5.09984L14.496 10.0224ZM11.4009 23.0662C11.4467 16.2317 17.2241 10.696 24.001 10.696C30.7784 10.696 36.5552 16.2317 36.6015 23.0662C36.6015 26.5172 35.2697 28.8377 33.7624 31.4641C32.4543 33.7433 31.014 36.2529 30.1974 39.9315C30.046 40.6124 29.3888 41.1703 28.692 41.1703H19.3093C18.612 41.1703 17.9553 40.6124 17.804 39.9315C16.9876 36.2528 15.5475 33.7432 14.2396 31.4639C12.7325 28.8376 11.4009 26.5171 11.4009 23.0662Z" fill="#C5A677"/>
</svg>

3
src/client/src/assets/icon/maps/my_location.svg

@ -1,3 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.99935 5.33268C6.52602 5.33268 5.33268 6.52602 5.33268 7.99935C5.33268 9.47268 6.52602 10.666 7.99935 10.666C9.47268 10.666 10.666 9.47268 10.666 7.99935C10.666 6.52602 9.47268 5.33268 7.99935 5.33268ZM13.9593 7.33268C13.6527 4.55268 11.446 2.34602 8.66602 2.03935V0.666016H7.33268V2.03935C4.55268 2.34602 2.34602 4.55268 2.03935 7.33268H0.666016V8.66602H2.03935C2.34602 11.446 4.55268 13.6527 7.33268 13.9593V15.3327H8.66602V13.9593C11.446 13.6527 13.6527 11.446 13.9593 8.66602H15.3327V7.33268H13.9593ZM7.99935 12.666C5.41935 12.666 3.33268 10.5793 3.33268 7.99935C3.33268 5.41935 5.41935 3.33268 7.99935 3.33268C10.5793 3.33268 12.666 5.41935 12.666 7.99935C12.666 10.5793 10.5793 12.666 7.99935 12.666Z" fill="#1C3E94"/>
</svg>

4
src/client/src/assets/icon/social/facebook.svg

@ -1,4 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="12" fill="#1C3E94"/>
<path d="M13.0998 18V12.5266H14.9612L15.2404 10.3929H13.0998V9.03088C13.0998 8.41332 13.2729 7.99246 14.1715 7.99246L15.3158 7.99199V6.08354C15.1179 6.05817 14.4387 6 13.6481 6C11.9972 6 10.867 6.99418 10.867 8.81956V10.3929H9V12.5266H10.867V18H13.0998Z" fill="white"/>
</svg>

4
src/client/src/assets/icon/social/linkedin.svg

@ -1,4 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="12" fill="#1C3E94"/>
<path d="M8.88466 18H6.16092V9.90327H8.88466V18ZM7.52288 8.79766H7.50513C6.59113 8.79766 6 8.17598 6 7.399C6 6.60449 6.60922 6 7.54097 6C8.47271 6 9.04609 6.60449 9.06384 7.399C9.06384 8.17598 8.47271 8.79766 7.52288 8.79766ZM18.7059 18H15.9825V13.6684C15.9825 12.5799 15.5881 11.8375 14.6026 11.8375C13.8502 11.8375 13.4021 12.3382 13.2052 12.8217C13.1332 12.9947 13.1156 13.2365 13.1156 13.4784V18H10.392C10.392 18 10.4277 10.6629 10.392 9.90327H13.1156V11.0497C13.4775 10.498 14.1251 9.71324 15.5702 9.71324C17.3622 9.71324 18.7059 10.8704 18.7059 13.3574V18Z" fill="white"/>
</svg>

BIN
src/client/src/assets/img/carlos.png

Before After
Width: 120  |  Height: 120  |  Size: 34 KiB

BIN
src/client/src/assets/img/doulton-banner.png

Before After
Width: 1360  |  Height: 348  |  Size: 472 KiB

BIN
src/client/src/assets/img/doulton-logo.png

Before After
Width: 312  |  Height: 160  |  Size: 20 KiB

BIN
src/client/src/assets/img/main-showcase.png

Before After
Width: 664  |  Height: 400  |  Size: 280 KiB

BIN
src/client/src/assets/img/miguel.png

Before After
Width: 120  |  Height: 120  |  Size: 52 KiB

BIN
src/client/src/assets/img/objective-showcase.png

Before After
Width: 664  |  Height: 448  |  Size: 523 KiB

BIN
src/client/src/assets/video/doulton_peru.mp4

13
src/client/src/index.html

@ -1,13 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" href="assets/icon/brand/logo-siameses.svg">
<title>Siameses</title>
</head>
<body>
<div id="app"></div>
</body>
</html>

6
src/client/src/index.js

@ -1,6 +0,0 @@
import React from 'react'
import ReactDOM from 'react-dom'
import App from './js/App'
import './styles/main.scss'
ReactDOM.render(<App />, document.querySelector('#app'))

25
src/client/src/js/App.js

@ -1,25 +0,0 @@
import React from 'react'
import { Navbar } from './components/layout/Navbar'
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'
import Index from './components/pages/Index'
import About from './components/pages/About'
import Doulton from './components/pages/Doulton'
import Contact from './components/pages/Contact'
import Footer from './components/layout/Footer'
const App = () => {
return (
<Router>
<Route path="/" render={ () => <Navbar /> } />
<Switch>
<Route exact path="/" component={ Index } />
<Route exact path="/about" component={ About } />
<Route exact path="/doulton" component={ Doulton } />
<Route exact path="/contact" component={ Contact } />
</Switch>
<Route path="/" render={ () => <Footer /> } />
</Router>
)
}
export default App

32
src/client/src/js/components/layout/Button/index.js

@ -1,32 +0,0 @@
import React from 'react'
import { Link } from 'react-router-dom'
import CaretRight from '../../../../assets/icon/buttons/caret-right.svg'
const Button = ({ type, content, path, bgColor }) => {
return (
<Link to={path}>
<button className={'btn ' + (type === 'full' && bgColor !== '#1c3e94' ? 'fullBtn' : type === 'bare' && bgColor !== '#1c3e94' ? 'bareBtn' : 'altFullBtn')}>
{ content }
{ type === 'bare' ? <CaretRight /> : null}
</button>
</Link>
)
}
export const ButtonWrapper = ({ buttons, bgColor }) => (
<div className="btn-wrapper">
{buttons
? buttons.map((button, i) => (
<Button
type={button.type}
content={button.content}
bgColor={bgColor}
path={button.path}
key={i}
/>
))
: null}
</div>
)
export default Button

30
src/client/src/js/components/layout/Card/CardItem/index.js

@ -1,30 +0,0 @@
import React from 'react'
import { ButtonWrapper } from '../../Button'
const CardItem = ({ avatar, name, position, socialLink }) => (
<div className="card-item">
<div className="avatar">
<img src={avatar} alt="" />
</div>
<div className="details">
<span className="name">{name}</span>
<span className="position">{position}</span>
</div>
<ButtonWrapper
buttons={[
{
type: 'full',
content: 'LinkedIn',
path: 'https://linkedin.com'
},
{
type: 'bare',
content: 'LinkedIn',
path: 'https://linkedin.com'
}
]}
/>
</div>
)
export default CardItem

18
src/client/src/js/components/layout/Card/index.js

@ -1,18 +0,0 @@
import React from 'react'
import CardItem from './CardItem'
const Card = ({ cards }) => (
<div className="card-wrapper">
{cards.map((card, i) => (
<CardItem
avatar={card.avatar}
name={card.name}
position={card.position}
socialLink={card.socialLink}
key={i}
/>
))}
</div>
)
export default Card

18
src/client/src/js/components/layout/Footer/index.js

@ -1,18 +0,0 @@
import React from 'react'
import SiamesesLogo from '../../../../assets/icon/brand/logo-siameses.svg'
import DoultonLogo from '../../../../assets/icon/brand/logo-doulton.svg'
const Footer = () => (
<footer>
<div className="rights">
<SiamesesLogo />
<span>&copy; { new Date().getFullYear() } Siameses SAC. Todos los derechos reservados</span>
</div>
<div className="branding">
<DoultonLogo />
<span>Conoce más en <a target="_blank" rel="noreferrer" href="https://doulton.com.pe">www.doulton.com.pe</a></span>
</div>
</footer>
)
export default Footer

60
src/client/src/js/components/layout/Form/FormInput/index.js

@ -1,60 +0,0 @@
import React, { useState, useEffect, useRef } from 'react'
const FormInput = ({
type,
isActive,
label,
id,
onChange,
value,
onClick,
onBlur,
onFocus,
outerDiv
}) => {
return (
<div ref={outerDiv}>
{type !== 'textarea' ? (
<div className="input-wrapper">
<div
className={
'label ' + (value !== '' || isActive ? 'selected' : '')
}>
{label}
</div>
<input
type="text"
id={id}
name={id}
value={value}
onChange={onChange}
onClick={onClick}
onBlur={onBlur}
onFocus={onFocus}
/>
</div>
) : (
<div className="input-wrapper large">
<div
className={
'label ' + (value !== '' || isActive ? 'selected' : '')
}>
{label}
</div>
<textarea
id={id}
name={id}
value={value}
onChange={onChange}
onClick={onClick}
onBlur={onBlur}
onFocus={onFocus}
/>
</div>
)}
</div>
)
}
export default FormInput

36
src/client/src/js/components/layout/Form/hooks.js

@ -1,36 +0,0 @@
import { useState, useEffect, useRef } from 'react'
export const useFormInput = (initialValue = '') => {
const [value, setValue] = useState(initialValue)
const [isActive, setIsActive] = useState(false)
const outerDiv = useRef(null)
const handleChange = (e) => setValue(e.target.value)
const handleClick = () => setIsActive(true)
const handleOutsideClick = (e) => {
if (outerDiv.current.contains(e.target)) {
return
}
setIsActive(false)
}
const handleFocus = () => setIsActive(true)
const handleFocusOut = () => setIsActive(false)
useEffect(() => {
document.addEventListener('click', handleOutsideClick)
return () => {
document.removeEventListener('click', handleOutsideClick)
}
}, [isActive])
return {
value,
isActive,
onChange: handleChange,
onClick: handleClick,
onFocus: handleFocus,
onBlur: handleFocusOut,
outerDiv
}
}

37
src/client/src/js/components/layout/Form/index.js

@ -1,37 +0,0 @@
import React, { useRef } from 'react'
import Button from '../Button'
import FormInput from './FormInput'
import { useFetch } from '../../../hooks/useFetch'
import { useFormInput } from './hooks'
const Form = () => {
const formRef = useRef(null)
const name = useFormInput()
const email = useFormInput()
const phone = useFormInput()
const message = useFormInput()
const handleSubmit = (e) => {
e.preventDefault()
useFetch('/api/email', {
name: name,
email: email,
phone: phone,
message: message
})
}
return (
<div className="form-wrapper">
<form method="POST" onSubmit={handleSubmit} ref={formRef}>
<FormInput label="Nombres y apellidos" id="name" focus={true} {...name} />
<FormInput label="Email" id="email" {...email} />
<FormInput label="Celular" id="phone" {...phone} />
<FormInput label="Mensaje" type="textarea" id="message" {...message} />
<Button type="full" content="Enviar consulta" path="/api/sendemail" />
</form>
</div>
)
}
export default Form

40
src/client/src/js/components/layout/Navbar/index.js

@ -1,40 +0,0 @@
import React from 'react'
import { NavLink } from 'react-router-dom'
import PropTypes from 'prop-types'
import Logo from '../../../../assets/icon/brand/logo-siameses.svg'
import FbLogo from '../../../../assets/icon/social/facebook.svg'
import LiLogo from '../../../../assets/icon/social/linkedin.svg'
export const NavbarItem = ({ url, exact, title }) => {
return (
<NavLink to={ url } activeClassName="active" exact={ exact }>
<li>{ title }</li>
</NavLink>
)
}
NavbarItem.propTypes = {
url: PropTypes.string.isRequired,
exact: PropTypes.bool,
title: PropTypes.string.isRequired
}
export const Navbar = () => {
return (
<nav className="nav-wrapper">
<NavLink to="/" className="logo">
<Logo />
</NavLink>
<ul className="navbar">
<NavbarItem title="Inicio" url="/" active={false} exact={true} />
<NavbarItem title="Nosotros" url="/about" active={false} />
<NavbarItem title="Doulton Filters" url="/doulton" active={false} />
<NavbarItem title="Contacto" url="/contact" active={false} />
<div className="social-links">
<a target="_blank" rel="noreferrer" href="https://facebook.com/siameses.com.pe"><FbLogo /></a>
<a target="_blank" rel="noreferrer" href="https://linkedin.com/company/siameses/"><LiLogo /></a>
</div>
</ul>
</nav>
)
}

18
src/client/src/js/components/layout/Showcase/BareShowcase/index.js

@ -1,18 +0,0 @@
import React from 'react'
import Button from '../../Button'
const BareShowcase = ({ content, children, link }) => {
return (
<div className="bare-showcase">
<div className="heading">
<span>{children}</span>
</div>
<div className="content">
{content}
<Button type="bare" content={link.label} path={link.path} />
</div>
</div>
)
}
export default BareShowcase

51
src/client/src/js/components/layout/Showcase/index.js

@ -1,51 +0,0 @@
import React from 'react'
import Button, { ButtonWrapper } from '../Button'
const Showcase = ({
label,
title,
description,
orientation,
buttons,
bgColor,
image,
imageSize
}) => {
const wrapperStyle = {
backgroundColor: bgColor ? bgColor : 'white'
}
const textStyle = {
color: bgColor === '#1c3e94' ? 'white' : null
}
return (
<div className="showcase-wrapper" style={wrapperStyle}>
<div
className="showcase-container"
style={{
order: orientation === 'left' ? 2 : null
}}
>
<div className="title">
<span className="label" style={textStyle}>
{label}
</span>
<h1 className={bgColor === '#1c3e94' ? 'alt' : bgColor === '#e2f5f9' ? 'light' : null}>
{title}
</h1>
</div>
<div className="description">
<p style={textStyle}>{description}</p>
{buttons ? (
<ButtonWrapper buttons={buttons} bgColor={bgColor} />
) : null}
</div>
</div>
<div className="showcase-image-wrapper">
<img src={image.path} alt={image.path} style={image.size === 'auto' ? { minWidth: '310px',height: 'auto', width: '310px' } : null }/>
</div>
</div>
)
}
export default Showcase

35
src/client/src/js/components/pages/About.js

@ -1,35 +0,0 @@
import React from 'react'
import BareShowcase from '../layout/Showcase/BareShowcase'
import Card from '../layout/Card'
const About = () => (
<div className="about-wrapper">
<BareShowcase
content="Ofrecemos soluciones de calidad y ecoamigables de purificación de agua para las familias y comercios del Perú."
link={{
label: 'Conoce nuestra historia',
path: ''
}}>
¡Hola!
<br /> <b>Somos Siameses</b>
</BareShowcase>
<Card
cards={[
{
avatar: 'assets/img/carlos.png',
name: 'Carlos Siles Molinelli',
position: 'Director Ejecutivo',
socialLink: 'https://linkedin.com'
},
{
avatar: 'assets/img/miguel.png',
name: 'Miguel Moreno Revilla',
position: 'Director Ejecutivo',
socialLink: 'https://linkedin'
}
]}
/>
</div>
)
export default About

68
src/client/src/js/components/pages/Contact.js

@ -1,68 +0,0 @@
import React from 'react'
import Form from '../layout/Form'
import PhoneIcon from '../../../assets/icon/communication/phone.svg'
import MailIcon from '../../../assets/icon/communication/ic_email.svg'
import MapIcon from '../../../assets/icon/maps/my_location.svg'
import FbLogo from '../../../assets/icon/social/facebook.svg'
import LiLogo from '../../../assets/icon/social/linkedin.svg'
const Contact = () => (
<div className="contact-wrapper">
<div className="contact-container">
<div className="contact-details">
<div className="title">
<h1>Estamos para resolver tus dudas y atenderte</h1>
</div>
<div className="content">
<div className="content-link">
<PhoneIcon />
<a href="tel:016543210">01 654 3210</a>
</div>
<div className="content-link">
<MailIcon />
<a href="mailto:contacto@siameses.com.pe">
contacto@siameses.com.pe
</a>
</div>
<div className="content-link">
<MapIcon width="25" />
<a
target="blank"
rel="noreferrer"
href="https://www.openstreetmap.org/?mlat=-12.1345101&mlon=-77.026404&zoom=17#map=17/-12.13451/-77.02640">
Av. Armedariz 480 Miraflores, Lima, Peru
</a>
</div>
</div>
</div>
<div className="branding">
<div className="social-links">
<span>Visitanos en</span>
<div className="social-icons">
<a
target="_blank"
rel="noreferrer"
href="https://facebook.com/siameses.com.pe">
<FbLogo />
</a>
<a
target="_blank"
rel="noreferrer"
href="https://linkedin.com/company/siameses/">
<LiLogo />
</a>
</div>
</div>
<span>
Conoce más en{' '}
<a target="_blank" rel="noreferrer" href="https://doulton.com.pe">
www.doulton.com.pe
</a>
</span>
</div>
</div>
<Form />
</div>
)
export default Contact

17
src/client/src/js/components/pages/Doulton.js

@ -1,17 +0,0 @@
import React from 'react'
import BareShowcase from '../layout/Showcase/BareShowcase'
const Doulton = () => (
<div className="doulton-wrapper">
<BareShowcase
content="Somos representantes de Doulton Filters ® del Reino Unido, para ofrecer la mejor calidad de agua purificada a las familias y comercios del Perú."
link={{
label: 'Ir a Doulton.com.pe',
path: 'https://doulton.com.pe'
}}>
¡La marca Nº1 en <b>purificadores de agua</b> ya está aquí!
</BareShowcase>
</div>
)
export default Doulton

58
src/client/src/js/components/pages/Index.js

@ -1,58 +0,0 @@
import React from 'react'
import Showcase from '../layout/Showcase'
import Contact from '../pages/Contact'
const Index = () => (
<>
<Showcase
title="Agua purificada para cuidar tu salud"
description="Soluciones ecoamigables de purificacion de agua para las familias y comercios del Perú."
orientation="right"
image={{
path: 'assets/img/main-showcase.png'
}}
/>
<Showcase
title="Llegó la marca N°1 en purificadores de agua al Perú"
description="Somos representantes de Doulton Filters &reg; en Perú."
orientation="left"
buttons={[
{
type: 'full',
content: 'Ir a Doulton',
path: '/doulton'
},
{
type: 'bare',
content: 'Ver vídeo',
path: '/doulton#video'
}
]}
image={{
path: 'assets/img/doulton-logo.png',
size: 'auto',
icon: true
}}
bgColor="#e2f5f9"
/>
<Showcase
label="Nuestro objectivo"
title="Comprometidos con la calidad del agua"
description="Buscamos lo mejor para ti y los que más quieres"
buttons={[
{
type: 'full',
content: 'Conócenos',
path: '/about'
}
]}
bgColor="#1c3e94"
image={{
path: 'assets/img/objective-showcase.png'
}}
/>
<Contact />
</>
)
export default Index

24
src/client/src/js/hooks/useFetch/index.js

@ -1,24 +0,0 @@
import { useState, useEffect } from 'react'
export const useFetch = (url, options) => {
const [ response, setResponse ] = useState(null)
const [ error, setError ] = useState(null)
const [ isLoading, setIsLoading ] = useState(false)
useEffect(() => {
const fetchData = async () => {
setIsLoading(true)
try {
const res = await fetch(url, options)
const json = await res.json()
setResponse(json)
setIsLoading(false)
} catch (error) {
setError(error)
}
}
fetchData()
}, [])
return { response, error, isLoading }
}

10
src/client/src/styles/base/_globals.scss

@ -1,10 +0,0 @@
*, :root {
padding: 0;
margin: 0;
border: none;
}
body {
background: white;
color: #747B8E;
font-family: $nunito-light;
}

67
src/client/src/styles/base/_mixins.scss

@ -1,67 +0,0 @@
@mixin flexbox-center() {
@include flexbox;
@include align-items(center);
@include justify-content(center);
}
@mixin flexbox() {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
@mixin flex($values) {
-webkit-box-flex: $values;
-moz-box-flex: $values;
-webkit-flex: $values;
-ms-flex: $values;
flex: $values;
}
@mixin flex-direction($direction) {
-webkit-box-direction: $direction;
-moz-flex-direction: $direction;
-ms-flex-direction: $direction;
flex-direction: $direction;
}
@mixin flex-wrap($wrap) {
-webkit-flex-wrap: $wrap;
-moz-flex-wrap: $wrap;
-ms-flex-wrap: $wrap;
flex-wrap: $wrap;
}
@mixin flex-basis($width) {
-webkit-flex-basis: $width;
-moz-flex-basis: $width;
-ms-flex-basis: $width;
flex-basis: $width;
}
@mixin justify-content($justify) {
-webkit-justify-content: $justify;
-moz-justify-content: $justify;
-ms-justify-content: $justify;
justify-content: $justify;
-ms-flex-pack: $justify;
}
@mixin justify-self($justify) {
-webkit-justify-self: $justify;
-moz-justify-self: $justify;
-ms-justify-self: $justify;
justify-self: $justify;
-ms-flex-pack: $justify;
}
@mixin align-items($align) {
-webkit-align-items: $align;
-moz-align-items: $align;
-ms-align-items: $align;
align-items: $align;
}
@mixin user-select-none() {
outline: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
&::-moz-focus-inner {
padding: 0;
border: 0;