fix: chatwindow
This commit is contained in:
parent
f5819723cf
commit
47757ff5ef
53
README.md
53
README.md
@ -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!
|
||||
|
||||
|
@ -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',
|
||||
|
33
src/components/ChatWindow.tsx
Normal file
33
src/components/ChatWindow.tsx
Normal 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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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)',
|
||||
|
Loading…
x
Reference in New Issue
Block a user