- Design and development of customized graphical interfaces and software components to facilitate the use of robots and industrial
- machines.
-
-
Production and maintenance of revisions of the documentation.
-
Providing technical assistance for R&D activities.
-
-
- {/* id="MinHub-lead" */}
-
-
- Co-founded{' '}
-
- MindHub Ferrara
-
- , the first programming school for children in Ferrara, under the{' '}
-
- MindHub Academy franchise
-
- , dedicated to teaching programming fundamentals and enhancing logical and analytical skills. My duties include:
-
-
Selecting and validating the hardware, the software, and the curriculum taught at our hall.
-
Supporting the hiring process and training of instructors and teachers.
-
Providing technical assistance for educational activities.
-
-
-
- {/* id="IIT-software" */}
-
-
- Worked in{' '}
-
- Alberobotics
-
- : a technology transfer project within the{' '}
-
- Humanoid and Human Centred Mechatronics (HHCM) Research Line
- {' '}
- of the Italian Institute of Technology (IIT). My duties included:
-
-
developing customized graphical interfaces and front-end/back-end software components to facilitate the use of robots.
-
evaluating, integrating, and maintaining perception systems for the development of new use cases and demonstrators.
-
- participating in the company stands at trade fairs and interacting with potential investors for the promotion of our project and
- robot.
-
-
producing and maintaining revisions of documentation.
-
providing technical assistance for research activities.
-
-
-
- {/* id="IIT-embedded" */}
-
-
- Worked in{' '}
-
- Alberobotics
-
- : a technology transfer project within the{' '}
-
- Humanoid and Human Centred Mechatronics (HHCM) Research Line
- {' '}
- of the Italian Institute of Technology (IIT). My duties included:
-
-
developing tests and procedures for the automatic calibration of EtherCAT actuators and robotic modules.
-
developing a suite of tests for the evaluation of prototypes' hardware and firmware.
-
developing firmware for electronic boards associated with customized sensing.
-
producing and maintaining revisions of documentation.
-
providing technical assistance for research activities.
-
-
-
- {/* id="WUT-intern" */}
-
-
- My main duties included:
-
-
Developing a voice interface and some user detection strategies for low-power robotic systems using ROS.
-
Developing a robotic setup for educational purposes.
-
Updating older robotics equipment.
-
-
-
- {/* id="WUT-intern" */}
-
-
- My main duties included:
-
-
Developing a setup to control a shape memory alloy material using an embedded PC (a Beagle Bone Black).
-
Developing two X20 PLC systems to control synchronous motors connected to flexible joints.
-
Implementating the control logic using Matlab and Automation Studio.
Consortium scholarship issued for EMARO+ students based on academic merits and offered to top applicants only.
-
Relevant courses: Research Methodology, Bio-Robotics, Dynamics of Multi-Body Systems, Advanced Mechanical Design.
-
Other relevant courses: 2 exams of Polish language and 1 of Polish culture.
-
- Thesis:{' '}
-
- Voice Controlled Mobile Robot for Indoor Applications
- {' '}
- (research publication available{' '}
-
- here
-
- ).
-
-
-
- {/* id="ECN" */}
-
-
-
Consortium scholarship issued for EMARO+ students based on academic merits and offered to top applicants only.
-
- Relevant courses: Mobile Robotics, Non-linear Control Theory, Software Architecture for Robotics, Artificial Intelligence, Computer
- Vision, Real Time Systems, Mechanical Design Methods in Robotics, Optimization Techniques.
-
-
Other relevant courses: 2 exams of French language.
-
- Project:{' '}
-
- Recharging electric cars with a mobile robot
-
- .
-
Relevant courses: Automation Controls, Electrical Circuit, Logical Design of Digital Systems.
-
Other relevant courses: 2 Exams about Chinese Language and 3 Exams about Chinese Culture.
-
- Thesis:{' '}
-
- Solar Panel Fault Detection Method Based on Infrared Image Processing
-
- .
-
-
-
- {/* id="UniBo" */}
-
-
-
Scholarship issued for Almatong Project student based on academic merits and offered to top applicants only.
-
Relevant courses: Foundation of Industrial Robotics, Automatic Machines, Computer Architectures.
-
Other relevant courses: 2 exams of French language.
-
- Thesis:{' '}
-
- Design of a Testing Machine for Flexure Hinges
-
- .
-
-
-
-
-
- High School Studies
-
- {/* id="Roiti" */}
-
-
- Liceo scientifico “Antonio Roiti” is a public high school in Ferrara, Italy. There I followed a P.N.I. specialism (“National Plan of
- Computer studies”). This curriculum is devised by the Ministry of Education, and emphasises the link between the humanistic tradition and
- scientific culture. It covers a complete and widespread range of disciplines, including Italian language and literature, mathematics,
- physics, chemistry, biology, history, philosophy, Latin language and culture, English language and culture, art history and technical
- drawing. At the end of the fifth year all students sit for the esame di Stato, a final examination which leads to the maturità
- scientifica.
-
- The school website can be found{' '}
-
- here
-
- .
-
-
- {/* id="EMHS" */}
-
-
- El Modena High School is a traditional 4 year public high school located in the El Modena neighborhood in the eastern portion of the city
- of Orange in Orange County, California. I studied there as a senior year stundent through a foreign exchange student program.
- The school website can be found{' '}
-
- here
-
- .
-
-
-
-
- Skills
-
-
-
-
-
- Languages
-
-
- Italian (Native Speaker), English (Proficient, IELTS 7.5), French (Good), Chinese (Basic, HSK3)
-
-
-
-
-
- Digital
-
-
-
- Languages: TypeScript/Javascript (Proficient), Python (Proficient), Bash (Good), C++ (Good), C (Fair)
-
-
-
-
- Softwares: git (Proficient), Matlab (Good), LaTeX (Good), CATIA (Fair)
-
-
-
-
- Middleware: Robotic Operative System (ROS, Good)
-
-
-
-
- OS Used: Linux, Microsoft
-
-
-
-
-
- Softskills
-
-
-
- Adaptability, Communication, Creativity, Critical Thinking, Problem-Solving, Self-Organization, Teamworking
-
-
-
-
-
- {/* Accomplishments */}
-
- Accomplishments
-
- Awards
-
-
- 21
-
- st
- {' '}
- MECSPE fair
- >
- }
- location="Bologna, Italy"
- />
- {/* https://twitter.com/IITalk/status/1466745516851617796 */}
- {/* https://www.linkedin.com/feed/update/urn:li:activity:6869549011855032321/ */}
-
-
-
-
-
-
- Press Releases
- window.open('https://www.youtube.com/watch?v=Blat-e2Vyzk&feature=youtu.be', '_blank'),
- sx: {
- cursor: 'pointer',
- ':hover': {
- backgroundColor: 'transparent',
- color: 'primary.main',
- },
- },
- }}
- organization="Talents in Motion"
- location="Rome, Italy"
- />
-
-
-
- Publications
-
- Zielinska T.,{' '}
-
- Tartari M.
-
- >
- }
- location="ROMANSY 23 - Robot Design, Dynamics and Control. CISM International Centre for Mechanical Sciences (Courses and Lectures), vol
- 601. Springer, Cham."
- href="https://doi.org/10.1007/978-3-030-58380-4_7"
- />
-
-
- {/* Extacurricoular */}
-
- Extracurricular
- {/* Volunteering */}
- Volunteering
-
-
-
-
-
- {/* Other */}
- {/* Interests */}
- Interests
-
-
-
-
-
-
-
- )
-}
-
-export default Curriculum
diff --git a/src/components/pages/CurriculumPage/index.ts b/src/components/pages/CurriculumPage/index.ts
deleted file mode 100644
index 2a04af9..0000000
--- a/src/components/pages/CurriculumPage/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './CurriculumPage'
diff --git a/src/components/pages/MainPage/MainPage.tsx b/src/components/pages/MainPage/MainPage.tsx
index 9d062bd..97256d6 100644
--- a/src/components/pages/MainPage/MainPage.tsx
+++ b/src/components/pages/MainPage/MainPage.tsx
@@ -1,106 +1,45 @@
import React from 'react'
-import { Box, Stack, Typography } from '@mui/material'
+import { Box } from '@mui/material'
import { ViewportProvider } from 'components/utils/viewport'
-import { AcademyIconLink, DescriptionIconLink, ExternalAppIconLink, GitHubIconLink, VideoIconLink } from 'components/atoms/index.js'
import { Footer, Hero, Toolbar, ProjectSpotlight } from 'components/molecules/index.js'
const MainPage = () => {
React.useEffect(() => {
- document.title = 'Michele Tartari'
+ document.title = "Compagnia d'Arme del Santo Luca"
}, [])
- const refIITLinfa = React.useRef(null)
- const refIITModular = React.useRef(null)
- const refIITCalibration = React.useRef(null)
- const refWUTThesis = React.useRef(null)
+ const refAboutUs = React.useRef(null)
+ const refTeaching = React.useRef(null)
+ const refTraining = React.useRef(null)
return (
-
- {/* 1 IIT - Linfa */}
+
+ {/* 1 Chi Siamo */}
-
- Software Engineer @ IIT
-
- }>
- This project aims to simplify the control, monitoring, and programming of reconfigurable robots through an intuitive block-programming
- interface. It includes a front-end web app, built with TypeScript and React, allowing users to effortlessly change robot operating modes and
- settings, monitor the robot's state, and assemble programs by dragging and dropping code blocks representing various robot capabilities.
- Additionally, back-end services, developed with TypeScript and Python, translate these programs into formats compatible with the underlying
- systems and manage mission execution. The project emphasizes extensibility, enabling users with Python experience to integrate custom blocks
- and capabilities. Automated CI/CD pipelines further streamline integration and deployment processes.
-
- {/* 2 IIT - Modular */}
-
-
-
- Software Engineer @ IIT
-
- }>
- This project focused on overhauling HHCM's Modular, enhancing its graphical interface, API, and deployment pipeline. Modular serves as a web
- application for the swift generation of modular robot models, with an offline approach (Building Mode) enabling users to set up robots in a
- virtual environment by selecting and assembling reconfigurable modules, immediately visualized in 3D. Additionally, an online approach
- (Discovery Mode) allows users to query the EtherCAT master for network topology, recognizing and displaying robots built from physical
- modules in 3D. The system seamlessly produces URDF, SRDF, and a full ROS package that can then be utilized for simulating and controlling
- the robot.
+ image="images/about-us.png"
+ mobileImage="images/about-us.png"
+ title="Chi Siamo">
+ La Compagnia d'Arme del Santo Luca è un gruppo di rievocazione storica di Ferrara affiliato al C.E.R.S. (Consorzio Europeo Rievocazioni
+ Storiche). Il periodo rievocato dalla Compagnia è il tardo XIV secolo (1380-1410).
- {/* 3 IIT - Motor Calibration */}
-
-
- Embedded Engineer @ IIT
-
- }>
- This project focused on automating the calibration of EtherCAT actuators and robotic modules, aiming for a fully automated procedure for
- newly assembled actuators. The process involved testing the PDO, conducting phase angle calibration, torque sensor calibration, ripple and
- position-dependent torque offset calibration, inertia and friction identification, and frequency response calibration. The goal was to
- optimize motor performance and collect necessary data for accurate characterization, with results stored centrally and presented in a
- comprehensive PDF report.
+ {/* 2. Attività didattiche */}
+
+ La Compagnia d'Arme del Santo Luca propone percorsi didattici sulla vita nel Medioevo attraverso la spiegazione delle attività che venivano
+ svolte all'interno del campo armato e che erano parte integrante della vita dell'uomo d'arme dell'epoca.
- {/* 4 WUT - Master Thesis */}
-
-
-
- Master Thesis @ WUT
-
- }>
- This thesis proposes a design for a small mobile robot controlled by voice. Firstly a preliminary analysis of the state of art of
- human-robot interaction has been conducted. Then, an analysis of the equipment selected took place, and, later, appropriate methodologies
- for voice recognition and user detection have been evaluated for this specific case. Finally, an overview of the complete software
- architecture of the system was given with three possible structures and their comparison. The results obtained show both the feasibility of
- using low power boards and some of their limitations.
+ {/* 3. Scuola d'arme */}
+
+ Altra attività di rilevante importanza è la scherma medievale. Il gruppo in arme si allena settimanalmente per studiare e riproporre i
+ trattati di scherma più importanti, dedicandosi allo studio e la messa in pratica delle tecniche di combattimento con differenti tipologie
+ di armi.
diff --git a/src/components/pages/ProjectsPage/ProjectsPage.test.tsx b/src/components/pages/ProjectsPage/ProjectsPage.test.tsx
deleted file mode 100644
index 8ea6315..0000000
--- a/src/components/pages/ProjectsPage/ProjectsPage.test.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { screen } from '@testing-library/react'
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-import { useAnalytics } from 'use-analytics'
-
-import { renderWithRouter as render } from 'components/utils/tests/index.js'
-import ProjectsPage from '.'
-
-// Mock the analytics module
-vi.mock('use-analytics', () => ({
- useAnalytics: () => ({ plugins: { enable: vi.fn(), disable: vi.fn() } }),
-}))
-
-vi.stubGlobal('open', vi.fn())
-describe('ProjectsPage component', () => {
- test('renders without crashing and displays the correct project titles', () => {
- render()
-
- // check the section titles
- expect(screen.getByText('Robotics')).toBeInTheDocument()
- expect(screen.getByText('Engineering')).toBeInTheDocument()
- expect(screen.getByText('Hobbies')).toBeInTheDocument()
-
- // check some of the projects
- expect(screen.getByText('LINFA: An Intuitive Block-Programming Interface for Reconfigurable Robots')).toBeInTheDocument()
- expect(screen.getByText("Revamping HHCM's Modular: Swift Generation and Control of Modular Robot Models")).toBeInTheDocument()
- expect(screen.getByText('Voice Controlled Mobile Robot for Indoor Applications')).toBeInTheDocument()
- })
-
- test('opens the correct links when the link buttons are clicked', async () => {
- render()
-
- // inspect one of the many links
- const link = screen.getByLabelText('Video-button')
- expect(link).toHaveAttribute('href', 'https://www.linkedin.com/feed/update/urn:li:activity:7034480841569284096/')
- expect(link).toHaveAttribute('target', '_blank')
- expect(link).toHaveAttribute('rel', 'noopener noreferrer')
- })
-})
diff --git a/src/components/pages/ProjectsPage/ProjectsPage.tsx b/src/components/pages/ProjectsPage/ProjectsPage.tsx
deleted file mode 100644
index 3e7859b..0000000
--- a/src/components/pages/ProjectsPage/ProjectsPage.tsx
+++ /dev/null
@@ -1,422 +0,0 @@
-import { Box, Divider, Link, Typography } from '@mui/material'
-
-import { GitHubIconLink, DescriptionIconLink, VideoIconLink, AcademyIconLink, ExternalAppIconLink } from 'components/atoms/index.js'
-import { Project } from 'components/molecules/index.js'
-import { Page } from 'components/templates/index.js'
-
-const ProjectsPage = () => {
- return (
-
-
-
- Robotics
-
-
- Here is a collection of all the projects that are strictly related to the design, development and functioning of robots:
-
- Software Engineering Consultant @ IIT}>
-
- This project aims to simplify the remote control, monitoring, programming of behavior trees through an intuitive web interface. It
- includes a frontend web app, built with TypeScript and React, allowing users to effortlessly add, remove, replace nodes by dragging and
- dropping them on the a behavior trees canvas. It also allows to start, stop, pause, and resume tree execution. Additionally, backend
- services, developed with C++ and Python, translate these programs into formats compatible with the underlying libraries, stream them to
- target systems, and manage the behavior-trees lifecycle. Automated CI/CD pipelines further streamline integration and deployment
- processes.
-
-
- Software Engineering Consultant @ IIT}>
-
- This project focuses on the development of a user interface for the control and monitoring of the digital twin of modular reconfigurable
- robots. It includes a frontend web app, built with TypeScript and React, allowing users to effortlessly monitor and control the digital
- twin of their robots. The backend is powered by Python, and provides robust APIs for seamless communication between the frontend and the
- digital twin simulation. Automated CI/CD pipelines further streamline integration and deployment processes.
-
-
-
-
- Software Engineer @ IIT
-
-
- {/* */}
-
- Software Engineer @ IIT
-
- >
- }>
-
- This project aims to simplify the control, monitoring, and programming of reconfigurable robots through an intuitive block-programming
- interface. It includes a frontend web app, built with TypeScript and React, allowing users to effortlessly change robot operating modes
- and settings, monitor the robot's state, and assemble programs by dragging and dropping code blocks representing various robot
- capabilities. Additionally, backend services, developed with TypeScript and Python, translate these programs into formats compatible with
- the underlying systems and manage mission execution. The project emphasizes extensibility, enabling users with Python experience to
- integrate custom blocks and capabilities. Automated CI/CD pipelines further streamline integration and deployment processes.
-
-
-
-
- Software Engineer @ IIT
-
-
-
-
- Software Engineer @ IIT
-
- >
- }>
-
- This project centered on overhauling HHCM's Modular by redesigning its graphical interface, API, and deployment pipeline. Modular serves
- as a web application for swiftly generating models of modular robots. Starting with a collection of fundamental robotic modules, the
- system produces URDF, SRDF, and a full ROS package seamlessly and without coding. These can then be utilized for simulating and
- controlling the robot.
-
-
-
-
- Master Thesis @ WUT
-
-
-
-
- Master Thesis @ WUT
-
- >
- }>
-
- This thesis proposes a design for a small mobile robot controlled by voice. Firstly a preliminary analysis of the state of art of
- human-robot interaction has been conducted. Then, an analysis of the equipment selected took place, and, later, appropriate methodologies
- for voice recognition and user detection have been evaluated for this specific case. Finally, an overview of the complete software
- architecture of the system was given with three possible structures and their comparison. The results obtained show both the feasibility
- of using low power boards and some of their limitations.
-
-
-
- }>
-
- The aim of this project was to prove the possibility to design an autonomous mobile robot whose task was to recharge electric cars in a
- parking lot. This was done in simulation, using the Gazebo and ROS.
-
-
-
-
-
- >
- }>
-
- For this project we worked using Matlab on data retrieved from a differential drive robot for its localization in a certain area by the
- means of the Extended Kalman filter (EKF).
-
-
-
-
-
- >
- }>
-
- This project proposes a conceptual design for a firefighting robot suitable for indoor environments by taking inspiration from the
- biological world.
-
-
-
- {/* */}
-
-
- >
- }>
-
- For this project we worked to find the optimal trajectory for a simple model of a robot performing point-to-point navigation in a room
- with some obstacles using MATLAB.
-
-
-
-
-
- >
- }>
- This project concerns the design and optimization of a 3RRR planar parallel manipulator using MATLAB and CATIA
-
-
-
- >
- }>
-
- Simple simulation and visualization of swarms of differential drive robots following a leader. Developed using C++ and ROS.
-
-
-
-
- >
- }>
- Industrial Robot Programming using VAL II and V+ tested on a PUMA and a RX90 robots.
-
-
-
- >
- }>
-
- This contains several projects regarding modelling and control of various manipulators using MATLAB, Simulink and ADAMS.
-
-
-
-
-
-
- Engineering
-
- Here there is a collection of all the projects that are related to all the other fields of engineering:
- Software Engineering Consultant}>
-
- This project focuses on the replacement of mission-critical software which was previously handled by a prioritary solution on an unsecure
- legacy machine. The converter developed here is a standalone, cross-platform command-line tool written in Rust that transforms ISO-style
- G-code programs into explicit Fanuc CNC format. Scripts and guides were provided to facilitate adoption for non-technical users, and
- automation workflows were setup to enable seamless compilation and distribution of the converter across Windows, Linux, and macOS
- platforms.
-
-
-
-
- Embedded Engineer @ IIT
-
-
-
- Embedded Engineer @ IIT
-
- >
- }>
-
- This project focused on automating the calibration of EtherCAT actuators and robotic modules, aiming for a fully automated procedure for
- newly assembled actuators. The process involved testing the PDO, conducting phase angle calibration, torque sensor calibration, ripple and
- position-dependent torque offset calibration, inertia and friction identification, and frequency response calibration. The goal was to
- optimize motor performance and collect necessary data for accurate characterization, with results stored centrally and presented in a
- comprehensive PDF report.
-
-
-
-
- Bachelor Thesis @ TONGJI
-
-
-
- Bachelor Thesis @ TONGJI
-
- >
- }>
-
- My Chinese bachelor thesis that proposes a method to detect malfunctioning solar panels by processing thermal images using MATLAB.
-
-
-
-
- Bachelor Thesis @ UNIBO
-
-
-
- Bachelor Thesis @ UNIBO
-
- >
- }>
-
- My Italian bachelor thesis that proposes a design from scratch of a machine for the empirical characterization of flexure hinges.
-
-
-
-
-
- >
- }>
-
- The aim of this project was to implement control laws for a nonlinear system (based on the model of a PVTOL aircraft).
-
-
-
-
-
- >
- }>
-
- For this project the kinematic analysis has been performed upon agiven mechanism using MATLAB. It has been then validated by comparing it
- to the ADAMS model of the same mechanism.
-
-
-
- }>
- Several Signal processing projects developed using MATLAB.
-
-
- }>
- Several real-time systems' projects developed using C++ and OIL, and run using Trampoline RTOS on a Teensy board.
-
-
-
-
-
- Hobbies
-
- Here there is a collection of projects related to things I do for fun:
-
- }>
-
- A collection of pdf and CAD models to create late XIV century furniture and medieval camp equipment. These objects are being realized by{' '}
-
- Compagnia d'Arme del Santo Luca
-
- .
-
-
-
- }>
-
- Publishes all photos from a{' '}
-
- selected website
- {' '}
- into a target Pinterest board using Python3 and the Pinterest API
-
-
-
-
- )
-}
-
-export default ProjectsPage
diff --git a/src/components/pages/ProjectsPage/index.ts b/src/components/pages/ProjectsPage/index.ts
deleted file mode 100644
index c38ff5e..0000000
--- a/src/components/pages/ProjectsPage/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './ProjectsPage'
diff --git a/src/components/pages/index.ts b/src/components/pages/index.ts
index a296ebb..52b0833 100644
--- a/src/components/pages/index.ts
+++ b/src/components/pages/index.ts
@@ -1,7 +1,5 @@
export { default as MainPage } from './MainPage'
export { default as ContactPage } from './ContactPage'
-export { default as CurriculumPage } from './CurriculumPage'
-export { default as ProjectsPage } from './ProjectsPage'
export { default as BusinessCardPage } from './BusinessCardPage'
export { default as ErrorPage } from './ErrorPage'
diff --git a/src/components/templates/Page/Page.test.tsx b/src/components/templates/Page/Page.test.tsx
index c0d143c..0e108ed 100644
--- a/src/components/templates/Page/Page.test.tsx
+++ b/src/components/templates/Page/Page.test.tsx
@@ -27,7 +27,7 @@ describe('Page component', () => {
expect(screen.getByText('Test Content')).toBeInTheDocument()
// sets the document title correctly
- expect(document.title).toBe(`Michele Tartari - ${defaultProps.title}`)
+ expect(document.title).toBe(`Compagnia d'Arme del Santo Luca - ${defaultProps.title}`)
})
it('does not render the title and divider when title is not provided', () => {
diff --git a/src/components/templates/Page/Page.tsx b/src/components/templates/Page/Page.tsx
index b4d776a..50ebed3 100644
--- a/src/components/templates/Page/Page.tsx
+++ b/src/components/templates/Page/Page.tsx
@@ -14,7 +14,7 @@ interface PageProps extends BoxProps {
const Page: React.FC = ({ title, children, showCookieConsent, ...props }) => {
React.useEffect(() => {
if (title) {
- document.title = `Michele Tartari - ${title}`
+ document.title = `Compagnia d'Arme del Santo Luca - ${title}`
}
}, [title])
diff --git a/src/index.css b/src/index.css
index 4860190..909d3ad 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,10 +1,18 @@
+@font-face {
+ font-family: 'Cloister Black';
+ src: url('/fonts/cloister-black/CloisterBlack.ttf') format('truetype');
+ font-weight: 400; /* the TTF you have is regular weight */
+ font-style: normal;
+ font-display: swap; /* avoids FOIT */
+}
+
html {
scroll-behavior: smooth;
}
body {
margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
+ font-family:
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
diff --git a/src/main.tsx b/src/main.tsx
index a759dc0..fa544e5 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,12 +1,7 @@
/* istanbul ignore file */
-import '@fontsource/oswald/700.css'
-import '@fontsource/oswald/500.css'
-import '@fontsource/oswald/400.css'
-import '@fontsource/oswald/300.css'
-import '@fontsource/inter/700.css'
-import '@fontsource/inter/500.css'
-import '@fontsource/inter/400.css'
-import '@fontsource/inter/300.css'
+import '@fontsource/eb-garamond' // Regular 400, SemiBold 600
+import '@fontsource/unifrakturcook' // Bold 700
+import '@fontsource/medievalsharp' // Regular
import React from 'react'
import ReactDOM from 'react-dom/client'
diff --git a/src/style/palette/index.ts b/src/style/palette/index.ts
index 7dae129..a229e43 100644
--- a/src/style/palette/index.ts
+++ b/src/style/palette/index.ts
@@ -3,7 +3,7 @@ import { PaletteOptions } from '@mui/material'
export const dark: PaletteOptions = {
mode: 'dark',
primary: {
- main: '#e44c65', // Rouge Red (similar)
+ main: '#20b540', // Rouge Red (similar)
// main:'#df4661', // Pantone PMS 198 C
},
secondary: {
@@ -11,13 +11,13 @@ export const dark: PaletteOptions = {
// main: '#3a5dae', // Pantone 7455 C Color
},
background: {
- default: '#101018',
- paper: '#1b1d27',
+ default: '#101810',
+ paper: '#1b271d',
},
}
export const light: PaletteOptions = {
primary: {
- main: '#AC1D1B', // Casual Red
+ main: '#20b540', // Casual Red
// main: '#AF231C' // Pantone 2350 C
// main: '#AB2328' // Pantone 7621 C
},
diff --git a/src/style/typography/index.ts b/src/style/typography/index.ts
index 231559e..e005c26 100644
--- a/src/style/typography/index.ts
+++ b/src/style/typography/index.ts
@@ -1,25 +1,31 @@
import { TypographyVariantsOptions } from '@mui/material'
const typography: TypographyVariantsOptions = {
- fontFamily: 'Inter, sans-serif', // Base font for headings
+ // ---------- Global defaults ----------
+ fontFamily: '"EB Garamond", serif',
+ // ---------- Headings ----------
h1: {
- fontFamily: 'Oswald, sans-serif',
- textTransform: 'uppercase',
+ fontFamily: '"Cloister Black", cursive',
fontWeight: 700,
},
h2: {
- fontFamily: 'Oswald, sans-serif',
- textTransform: 'uppercase',
+ fontFamily: '"Cloister Black", cursive',
fontWeight: 700,
},
h3: {
- fontFamily: 'Oswald, sans-serif',
+ fontFamily: '"Cloister Black", cursive',
fontWeight: 700,
},
- h4: {
- fontFamily: 'Oswald, sans-serif',
- fontWeight: 700,
+ // ---------- Buttons ----------
+ button: {
+ fontFamily: '"MedievalSharp", cursive',
+ textTransform: 'none', // keep original caps
+ fontWeight: 400,
+ },
+ // ---------- Caption / Overline ----------
+ overline: {
+ textTransform: 'uppercase',
},
}
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
index 500b864..0d57497 100644
--- a/src/vite-env.d.ts
+++ b/src/vite-env.d.ts
@@ -7,7 +7,7 @@ interface ImportMetaEnv {
readonly VITE_BC_VAT: string
readonly VITE_BC_PHONE: string
readonly VITE_BC_EMAIL: string
- readonly VITE_BC_LINKEDIN: string
+ readonly VITE_BC_FACEBOOK: string
}
interface ImportMeta {