Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,24 @@ jobs:
uses: actions/checkout@v4
with:
token: ${{ secrets.PA_TOKEN }}

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install Dependencies
run: yarn install

- name: Build
run: yarn build --if-present

- name: Linting
run: yarn lint

- name: Test
run: yarn test:cov

- name: 📂 Sync files (Deploy)
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
Expand All @@ -43,7 +43,7 @@ jobs:
password: ${{ secrets.AMITRAIKWAR_FTP_PASSWORD }}
local-dir: ./build/
server-dir: ./

- name: conventional changelog action
id: changelog
# https://github.com/TriPSs/conventional-changelog-action
Expand All @@ -52,7 +52,7 @@ jobs:
github-token: '${{ secrets.PA_TOKEN }}'
git-user-name: 'AR portfolio bot'
output-file: false

- name: create release
# https://github.com/actions/create-release
uses: softprops/action-gh-release@v1
Expand Down
2 changes: 2 additions & 0 deletions jest.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,5 @@ jest.mock('ogl', () => ({
Triangle: jest.fn(),
Mesh: jest.fn(),
}));


4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,12 @@
"dependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@chakra-ui/react": "^2.8.2",
"@dimforge/rapier3d-compat": "^0.19.3",
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
"@fontsource/space-mono": "^5.1.2",
"@mdxeditor/editor": "^3.21.1",
"@react-three/drei": "^9.121.2",
"@react-three/fiber": "^8.17.12",
"@react-three/postprocessing": "^2.16.6",
"@react-three/rapier": "^2.2.0",
"@tailwindcss/typography": "^0.5.16",
"@tanstack/react-query": "^5.66.0",
"@tanstack/react-query-devtools": "^5.66.0",
Expand All @@ -56,7 +53,6 @@
"immer": "^10.0.4",
"lodash": "^4.17.21",
"matter-js": "^0.20.0",
"meshline": "^3.3.1",
"ogl": "^1.0.11",
"react": "^18.2.0",
"react-dom": "^18.2.0",
Expand Down
188 changes: 188 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,194 @@
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<!-- CSS-only premium placeholder loader -->
<style>
.preloader-wrapper {
position: fixed;
inset: 0;
background-color: #070509;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 80px 24px;
z-index: 99999;
font-family: 'Space Mono', Consolas, Monaco, monospace;
overflow: hidden;
box-sizing: border-box;
transition: opacity 0.8s cubic-bezier(0.76, 0, 0.24, 1), visibility 0.8s;
}
.preloader-wrapper.preloader-fade-out {
opacity: 0;
visibility: hidden;
pointer-events: none;
}
.preloader-glow {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 400px;
height: 400px;
border-radius: 50%;
background: radial-gradient(
circle,
rgba(138, 43, 226, 0.15) 0%,
rgba(6, 182, 212, 0.05) 50%,
rgba(0, 0, 0, 0) 70%
);
filter: blur(50px);
animation: pulseGlow 4s ease-in-out infinite;
pointer-events: none;
}
.preloader-content {
display: flex;
flex-direction: column;
align-items: center;
margin-top: auto;
margin-bottom: auto;
z-index: 2;
}
.hologram-container {
position: relative;
width: 120px;
height: 120px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 32px;
}
.hologram-ring {
position: absolute;
border-radius: 50%;
border-style: dashed;
box-sizing: border-box;
}
.hologram-ring-outer {
inset: 0;
border-width: 2px;
border-color: rgba(138, 43, 226, 0.4);
animation: rotateClockwise 12s linear infinite;
}
.hologram-ring-inner {
inset: 16px;
border-width: 1.5px;
border-color: rgba(6, 182, 212, 0.4);
animation: rotateCounterClockwise 8s linear infinite;
}
.hologram-core {
position: absolute;
width: 36px;
height: 36px;
border-radius: 50%;
background: linear-gradient(135deg, #8a2be2 0%, #06b6d4 100%);
box-shadow: 0 0 20px rgba(138, 43, 226, 0.8), 0 0 40px rgba(6, 182, 212, 0.4);
animation: pulseCore 2.5s ease-in-out infinite;
}
.preloader-title {
font-size: clamp(1rem, 5vw, 1.35rem);
font-weight: 800;
color: #ffffff;
letter-spacing: 0.25em;
margin-bottom: 16px;
text-transform: uppercase;
background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.7) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
animation: fadeTitle 1.5s ease-out forwards;
}
.preloader-status {
font-size: 0.75rem;
font-weight: 700;
color: #06b6d4;
letter-spacing: 0.25em;
text-transform: uppercase;
display: flex;
align-items: center;
opacity: 0.85;
}
.status-dots {
margin-left: 2px;
animation: blinkDots 1.5s step-start infinite;
}
.preloader-footer {
font-size: 0.65rem;
font-weight: bold;
letter-spacing: 0.25em;
color: rgba(138, 43, 226, 0.5);
text-transform: uppercase;
z-index: 2;
}
@keyframes pulseGlow {
0%, 100% {
transform: translate(-50%, -50%) scale(1);
opacity: 0.6;
}
50% {
transform: translate(-50%, -50%) scale(1.2);
opacity: 0.9;
}
}
@keyframes rotateClockwise {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes rotateCounterClockwise {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-360deg);
}
}
@keyframes pulseCore {
0%, 100% {
transform: scale(0.9);
opacity: 0.8;
box-shadow: 0 0 15px rgba(138, 43, 226, 0.6), 0 0 30px rgba(6, 182, 212, 0.3);
}
50% {
transform: scale(1.1);
opacity: 1;
box-shadow: 0 0 25px rgba(138, 43, 226, 0.9), 0 0 50px rgba(6, 182, 212, 0.5);
}
}
@keyframes fadeTitle {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes blinkDots {
0%, 100% { opacity: 0.2; }
33% { opacity: 0.6; }
66% { opacity: 1; }
}
</style>
<div id="preloader" class="preloader-wrapper">
<div class="preloader-glow"></div>
<div class="preloader-content">
<div class="hologram-container">
<div class="hologram-ring hologram-ring-outer"></div>
<div class="hologram-ring hologram-ring-inner"></div>
<div class="hologram-core"></div>
</div>
<div class="preloader-title">SHIELD_OS // COGNITIVE_BOOT</div>
<div class="preloader-status">
<span>CONNECTING_TO_CORE</span><span class="status-dots">...</span>
</div>
</div>
<div class="preloader-footer">[SECURE_CHANNEL_INITIATED]</div>
</div>
<div id="root"></div>
</body>
</html>
Binary file removed src/assets/images/AmitRaikwar.png
Binary file not shown.
2 changes: 1 addition & 1 deletion src/components/CoverText/Cover.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const Cover = ({ children }: { children?: React.ReactNode }) => {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [ref.current]);

const SafeAnimatePresence = AnimatePresence as any;
const SafeAnimatePresence = AnimatePresence as any;

return (
<div
Expand Down
2 changes: 1 addition & 1 deletion src/components/CoverText/CoverText.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const CoverText = ({
<Text className="text-xl md:text-3xl lg:text-4xl pb-2">{text}</Text>
<Cover>{highlightedText}</Cover>
</Heading>
<ShinyText className="text-xl md:text-3xl lg:text-6xl pt-4" text={role} />
<ShinyText className="text-xl md:text-4xl lg:text-5xl pt-4" text={role} />
</Box>
);
};
Expand Down
Loading
Loading