mirror of
				https://github.com/theoludwig/theoludwig.git
				synced 2025-10-14 20:23:25 +02:00 
			
		
		
		
	feat(portfolio): add Fusey
This commit is contained in:
		
							
								
								
									
										4
									
								
								.github/ISSUE_TEMPLATE/BUG.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/ISSUE_TEMPLATE/BUG.md
									
									
									
									
										vendored
									
									
								
							| @@ -6,8 +6,8 @@ labels: "bug" | ||||
| --- | ||||
|  | ||||
| <!-- | ||||
|   Please provide a clear and concise description of what the bug is. Include | ||||
|   screenshots if needed. Please make sure your issue has not already been fixed. | ||||
| Please provide a clear and concise description of what the bug is. Include | ||||
| screenshots if needed. Please make sure your issue has not already been fixed. | ||||
| --> | ||||
|  | ||||
| ## Steps To Reproduce | ||||
|   | ||||
| @@ -20,21 +20,16 @@ community include: | ||||
| - Demonstrating empathy and kindness toward other people | ||||
| - Being respectful of differing opinions, viewpoints, and experiences | ||||
| - Giving and gracefully accepting constructive feedback | ||||
| - Accepting responsibility and apologizing to those affected by our mistakes, | ||||
|   and learning from the experience | ||||
| - Focusing on what is best not just for us as individuals, but for the | ||||
|   overall community | ||||
| - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience | ||||
| - Focusing on what is best not just for us as individuals, but for the overall community | ||||
|  | ||||
| Examples of unacceptable behavior include: | ||||
|  | ||||
| - The use of sexualized language or imagery, and sexual attention or | ||||
|   advances of any kind | ||||
| - The use of sexualized language or imagery, and sexual attention or advances of any kind | ||||
| - Trolling, insulting or derogatory comments, and personal or political attacks | ||||
| - Public or private harassment | ||||
| - Publishing others' private information, such as a physical or email | ||||
|   address, without their explicit permission | ||||
| - Other conduct which could reasonably be considered inappropriate in a | ||||
|   professional setting | ||||
| - Publishing others' private information, such as a physical or email address, without their explicit permission | ||||
| - Other conduct which could reasonably be considered inappropriate in a professional setting | ||||
|  | ||||
| ## Enforcement Responsibilities | ||||
|  | ||||
|   | ||||
							
								
								
									
										22
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,18 +1,18 @@ | ||||
| <h1 align="center"><a href="https://theoludwig.fr/">Théo LUDWIG</a></h1> | ||||
|  | ||||
| <p align="center"> | ||||
|   <strong>Developer Full Stack • Open-Source Enthusiast</strong> | ||||
|     <strong>Developer Full Stack • Open-Source Enthusiast</strong> | ||||
| </p> | ||||
|  | ||||
| <p align="center"> | ||||
|   <a href="https://github.com/theoludwig"><img alt="GitHub" src="https://img.shields.io/badge/-GitHub-5A5A5A?style=flat&labelColor=5A5A5A&logo=github&logoColor=white"/></a> | ||||
|   <a href="https://gitlab.com/theoludwig"><img alt="GitLab" src="https://img.shields.io/badge/-GitLab-303030?style=flat&labelColor=303030&logo=gitlab&logoColor=white"/></a> | ||||
|   <a href="https://www.npmjs.com/~theoludwig"><img alt="npm" src="https://img.shields.io/badge/-npm-c4302b?style=flat&labelColor=c4302b&logo=npm&logoColor=white"/></a> | ||||
|   <a href="https://twitter.com/theoludwig_"><img alt="Twitter" src="https://img.shields.io/badge/-Twitter-1ca0f1?style=flat&labelColor=1ca0f1&logo=x&logoColor=white"/></a> | ||||
|   <a href="https://www.youtube.com/@theo_ludwig"><img alt="YouTube" src="https://img.shields.io/badge/-YouTube-c4302b?style=flat&labelColor=c4302b&logo=youtube&logoColor=white"/></a> | ||||
|   <a href="https://www.twitch.tv/theoludwig"><img alt="Twitch" src="https://img.shields.io/badge/-Twitch-9147FF?style=flat&labelColor=9147FF&logo=twitch&logoColor=white"/></a> | ||||
|   <a href="https://theoludwig.fr/"><img alt="Website" src="https://img.shields.io/badge/-Website-181818?style=flat&labelColor=181818&logo=Google-Chrome&logoColor=white"/></a> | ||||
|   <a href="mailto:contact@theoludwig.fr"><img alt="Email" src="https://img.shields.io/badge/-contact@theoludwig.fr-2F7EBE?style=flat&labelColor=2F7EBE&logo=minutemailer&logoColor=white"/></a> | ||||
|     <a href="https://github.com/theoludwig"><img alt="GitHub" src="https://img.shields.io/badge/-GitHub-5A5A5A?style=flat&labelColor=5A5A5A&logo=github&logoColor=white"/></a> | ||||
|     <a href="https://gitlab.com/theoludwig"><img alt="GitLab" src="https://img.shields.io/badge/-GitLab-303030?style=flat&labelColor=303030&logo=gitlab&logoColor=white"/></a> | ||||
|     <a href="https://www.npmjs.com/~theoludwig"><img alt="npm" src="https://img.shields.io/badge/-npm-c4302b?style=flat&labelColor=c4302b&logo=npm&logoColor=white"/></a> | ||||
|     <a href="https://twitter.com/theoludwig_"><img alt="Twitter" src="https://img.shields.io/badge/-Twitter-1ca0f1?style=flat&labelColor=1ca0f1&logo=x&logoColor=white"/></a> | ||||
|     <a href="https://www.youtube.com/@theo_ludwig"><img alt="YouTube" src="https://img.shields.io/badge/-YouTube-c4302b?style=flat&labelColor=c4302b&logo=youtube&logoColor=white"/></a> | ||||
|     <a href="https://www.twitch.tv/theoludwig"><img alt="Twitch" src="https://img.shields.io/badge/-Twitch-9147FF?style=flat&labelColor=9147FF&logo=twitch&logoColor=white"/></a> | ||||
|     <a href="https://theoludwig.fr/"><img alt="Website" src="https://img.shields.io/badge/-Website-181818?style=flat&labelColor=181818&logo=Google-Chrome&logoColor=white"/></a> | ||||
|     <a href="mailto:contact@theoludwig.fr"><img alt="Email" src="https://img.shields.io/badge/-contact@theoludwig.fr-2F7EBE?style=flat&labelColor=2F7EBE&logo=minutemailer&logoColor=white"/></a> | ||||
| </p> | ||||
|  | ||||
| <hr /> | ||||
| @@ -51,6 +51,6 @@ | ||||
| ## 📈 Statistics | ||||
|  | ||||
| <p align=center> | ||||
|   <img height=175 align="center" src="https://github-readme-stats.vercel.app/api?username=theoludwig&show_icons=true&theme=dark" alt="Théo LUDWIG's GitHub Stats" /> | ||||
|   <img height=175 align="center" src="https://github-readme-stats.vercel.app/api/top-langs/?username=theoludwig&hide=html,css,javascript&langs_count=8&layout=compact&theme=dark" alt="Théo LUDWIG's Programming Languages" /> | ||||
|     <img height=175 align="center" src="https://github-readme-stats.vercel.app/api?username=theoludwig&show_icons=true&theme=dark" alt="Théo LUDWIG's GitHub Stats" /> | ||||
|     <img height=175 align="center" src="https://github-readme-stats.vercel.app/api/top-langs/?username=theoludwig&hide=html,css,javascript&langs_count=8&layout=compact&theme=dark" alt="Théo LUDWIG's Programming Languages" /> | ||||
| </p> | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								apps/website/public/images/portfolio/Fusey.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								apps/website/public/images/portfolio/Fusey.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 945 KiB | 
| @@ -40,8 +40,8 @@ These configurations are stored in the `.gitconfig` file in your home directory | ||||
|  | ||||
| ```sh | ||||
| [user] | ||||
|   name = Username | ||||
|   email = email@example.com | ||||
|     name = Username | ||||
|     email = email@example.com | ||||
| ``` | ||||
|  | ||||
| You can find more information and useful `git` configurations in the [official documentation](https://git-scm.com/docs/git-config). | ||||
| @@ -268,7 +268,7 @@ Sometimes, you want to compare what commits have been made between two branches, | ||||
|  | ||||
| ```sh | ||||
| [alias] | ||||
|   diff-commits = !sh -c 'echo -n "Commits in $2 not in $1 \\(" && printf "%d" $(git cherry -v $1 $2 | wc -l) && echo "\\)" && git cherry -v $1 $2 && echo "" && echo -n "Commits in $1 not in $2 \\(" && printf "%d" $(git cherry -v $2 $1 | wc -l) && echo "\\)" && git cherry -v $2 $1' - | ||||
|     diff-commits = !sh -c 'echo -n "Commits in $2 not in $1 \\(" && printf "%d" $(git cherry -v $1 $2 | wc -l) && echo "\\)" && git cherry -v $1 $2 && echo "" && echo -n "Commits in $1 not in $2 \\(" && printf "%d" $(git cherry -v $2 $1 | wc -l) && echo "\\)" && git cherry -v $2 $1' - | ||||
| ``` | ||||
|  | ||||
| With this alias, we can compare the commits between `main` and `develop` branches for example: | ||||
|   | ||||
| @@ -140,6 +140,10 @@ | ||||
|       "title": "Open-Source" | ||||
|     }, | ||||
|     "portfolio": { | ||||
|       "fusey": { | ||||
|         "description": "ARK: Survival Ascended Wiki and Player stats tracker.", | ||||
|         "title": "Fusey" | ||||
|       }, | ||||
|       "carolo": { | ||||
|         "description": "Strategy board game similar to chess which allows grandiose moves (only available in French).", | ||||
|         "title": "Carolo" | ||||
|   | ||||
| @@ -140,6 +140,10 @@ | ||||
|       "title": "Open-Source" | ||||
|     }, | ||||
|     "portfolio": { | ||||
|       "fusey": { | ||||
|         "description": "ARK: Survival Ascended Wiki et suivi des statistiques des joueurs.", | ||||
|         "title": "Fusey" | ||||
|       }, | ||||
|       "carolo": { | ||||
|         "description": "Jeu de plateau stratégique similaire aux échecs qui permet des coups grandioses, reposant sur des enchaînements remarquables.", | ||||
|         "title": "Carolo" | ||||
|   | ||||
| @@ -9,18 +9,25 @@ export const Portfolio: React.FC<PortfolioProps> = () => { | ||||
|   const t = useTranslations() | ||||
|  | ||||
|   const items: PortfolioProject[] = [ | ||||
|     { | ||||
|       id: "fusey", | ||||
|       title: t("home.portfolio.fusey.title"), | ||||
|       description: t("home.portfolio.fusey.description"), | ||||
|       link: "https://fusey.gg", | ||||
|       image: "/images/portfolio/Fusey.webp", | ||||
|     }, | ||||
|     { | ||||
|       id: "carolo", | ||||
|       title: t("home.portfolio.carolo.title"), | ||||
|       description: t("home.portfolio.carolo.description"), | ||||
|       link: "https://carolo.theoludwig.fr/", | ||||
|       link: "https://carolo.theoludwig.fr", | ||||
|       image: "/images/portfolio/Carolo.webp", | ||||
|     }, | ||||
|     { | ||||
|       id: "leon", | ||||
|       title: t("home.portfolio.leon.title"), | ||||
|       description: t("home.portfolio.leon.description"), | ||||
|       link: "https://getleon.ai/", | ||||
|       link: "https://getleon.ai", | ||||
|       image: "/images/portfolio/Leon.webp", | ||||
|     }, | ||||
|   ] | ||||
|   | ||||
| @@ -33,7 +33,7 @@ export const PortfolioItem: React.FC<PortfolioItemProps> = (props) => { | ||||
|           <div className="flex justify-center"> | ||||
|             <Image | ||||
|               quality={100} | ||||
|               className="size-[300px] transition-opacity duration-500 group-hover:opacity-20 dark:group-hover:opacity-5" | ||||
|               className="size-[300px] rounded-xl transition-opacity duration-500 group-hover:opacity-20 dark:group-hover:opacity-5" | ||||
|               width={300} | ||||
|               height={300} | ||||
|               src={image} | ||||
|   | ||||
| @@ -2,7 +2,6 @@ | ||||
|  | ||||
| import { classNames } from "@repo/config-tailwind/classNames" | ||||
| import { usePathname, useRouter } from "@repo/i18n/routing" | ||||
| import type { Locale } from "@repo/utils/constants" | ||||
| import { LOCALES } from "@repo/utils/constants" | ||||
| import { useLocale } from "next-intl" | ||||
| import { useEffect, useRef } from "react" | ||||
| @@ -16,7 +15,7 @@ export interface LocalesProps {} | ||||
| export const Locales: React.FC<LocalesProps> = () => { | ||||
|   const router = useRouter() | ||||
|   const pathname = usePathname() | ||||
|   const localeCurrent = useLocale() as Locale | ||||
|   const localeCurrent = useLocale() | ||||
|  | ||||
|   const { | ||||
|     value: isVisibleMenu, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user