fix: chatwindow

This commit is contained in:
Damien 2025-02-28 06:35:30 -05:00
parent f5819723cf
commit 47757ff5ef
4 changed files with 84 additions and 7 deletions

View File

@ -1,4 +1,47 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
# d4m13n.dev
Welcome to my personal website! This site showcases my software and game development projects, as well as my resume and contact information.
## Technologies Used
* Next.js
* Material UI (MUI)
* TypeScript
* React
* @casl/ability
* @emotion/react
* @emotion/styled
* @fontsource/roboto
* @mui/icons-material
* argon2
* better-sqlite3
* drizzle-orm
* next-auth
* pino
* zod
## Projects
### Software Development
* **Meilisearch.NET:** A .NET extension for Meilisearch that enables embedding the Meilisearch server and Ollama AI Server in your application. It also provides functionality for compressing and decompressing indexes.
* [Gitea Source](https://git.d4m13n.dev/damien/meilisearch.NET)
* [Gitea Package](https://git.d4m13n.dev/damien/-/packages/nuget/meilisearch.net/)
* **Folder Tree [WIP]:** A tool to help users visualize and understand their storage usage, with features for duplicate file reporting and automated file management.
* [Gitea Source](https://git.d4m13n.dev/damien/file-tree)
* [Gitea Release](https://git.d4m13n.dev/damien/file-tree/releases)
* **Art Comissions SAS Application:** A SAS solution providing a platform for artists to sell their artwork.
* [Backend Gitea Source](https://git.d4m13n.dev/damien/comissions-app-core-api)
* [Frontend Gitea Source](https://git.d4m13n.dev/damien/comissions-app-ui)
* [ArgoCD Deployment Gitea Source](https://git.d4m13n.dev/damien/comissions-app-argocd)
* [Demo](https://comissions-app-demo.d4m13n.dev/)
### Game Development
* **Godot Grid Inventory [WIP]:** A Resident Evil/Tarkov-style inventory system for Godot 4.2.1.
* [Gitea Source](https://git.d4m13n.dev/damien/godot_grid_inventory)
* **Godot CI/CD Template:** A template repository for Godot CI/CD that automatically builds and publishes your game for Windows, Mac, and Linux.
* [Gitea Source](https://git.d4m13n.dev/damien/godot_template)
## Getting Started
@ -16,16 +59,14 @@ bun dev
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
You can start editing the page by modifying `src/app/page.tsx`. The page auto-updates as you edit the file.
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
* [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
* [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!

View File

@ -15,6 +15,7 @@ import Timeline from '@/components/Timeline/Timeline';
import software_projects from '@/data/software_projects';
import game_projects from '@/data/game_projects';
import timelineData from '@/data/timeline';
import FloatingChatIcon from '@/components/ChatWindow';
export default function HomePage() {
const [showContent, setShowContent] = useState(false);
@ -38,7 +39,7 @@ export default function HomePage() {
{/* Social Icons */}
{showContent && <SocialIcons />}
<FloatingChatIcon />
<Fade in={showContent} timeout={1000} style={{ transitionDelay: showContent ? '500ms' : '0ms' }}>
<Box sx={{
display: 'flex',

View File

@ -0,0 +1,33 @@
import React, { useState } from 'react'; import { Box, IconButton, Drawer } from '@mui/material';
import ChatIcon from '@mui/icons-material/Chat'; import CloseIcon from '@mui/icons-material/Close';
const FloatingChatIcon: React.FC = () => {
const [isOpen, setIsOpen] = useState(false);
const toggleDrawer = () => {
setIsOpen(!isOpen);
}
return (
<>
<Box sx={{ position: 'fixed', bottom: 16, right: 16, zIndex: 1000, }} >
<IconButton onClick={toggleDrawer} sx={{ backgroundColor: 'primary.main', color: 'white', '&:hover': { backgroundColor: 'primary.dark', }, }} >
<ChatIcon />
</IconButton>
</Box>
<Drawer anchor="right" open={isOpen} onClose={toggleDrawer} >
<Box sx={{ width: 250, p: 2, display: 'flex', flexDirection: 'column', alignItems: 'flex-end', }} >
<IconButton onClick={toggleDrawer}>
<CloseIcon />
</IconButton>
</Box>
</Drawer>
</>
);
};
export default FloatingChatIcon;

View File

@ -102,6 +102,8 @@ const defaultSocialLinks: SocialLink[] = [
},
];
// Glow effects
const whiteGlowEffects = {
textShadow: '0 0 10px rgba(255, 255, 255, 0.25), 0 0 20px rgba(255, 255, 255, 0.15)',