Skip to content

Commit 4cafe73

Browse files
Under construction ribbons
1 parent 86ab0cf commit 4cafe73

File tree

2 files changed

+72
-34
lines changed

2 files changed

+72
-34
lines changed

src/components/ConstructionRibbon.tsx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import React from "react";
2+
import { motion } from "framer-motion";
3+
4+
const ConstructionRibbon: React.FC = () => {
5+
return (
6+
<div className="absolute top-0 left-0 w-full bg-yellow-400 overflow-hidden">
7+
<div className="relative h-8 flex items-center">
8+
<motion.div
9+
className="whitespace-nowrap text-black font-bold"
10+
animate={{
11+
x: [0, -1000],
12+
}}
13+
transition={{
14+
x: {
15+
repeat: Infinity,
16+
repeatType: "loop",
17+
duration: 20,
18+
ease: "linear",
19+
},
20+
}}
21+
>
22+
UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION
23+
&nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER
24+
CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp;
25+
UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION
26+
&nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER
27+
CONSTRUCTION &nbsp;&nbsp;&nbsp; UNDER CONSTRUCTION &nbsp;&nbsp;&nbsp;
28+
</motion.div>
29+
</div>
30+
</div>
31+
);
32+
};
33+
34+
export default ConstructionRibbon;

src/components/WorkDetailPanel.tsx

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import WindowPanel from "@/components/WindowPanel";
33
import Image from "next/image";
4+
import ConstructionRibbon from "./ConstructionRibbon";
45

56
interface WorkDetailPanelProps {
67
id: string;
@@ -35,44 +36,47 @@ const WorkDetailPanel: React.FC<WorkDetailPanelProps> = ({
3536
showBackArrow={false}
3637
showBreadcrumbs={false}
3738
onClose={onClose}
38-
className="absolute w-[80vw] max-w-5xl max-h-[75vh]"
39+
className="absolute w-[80vw] max-w-5xl max-h-[75vh] overflow-hidden"
3940
isDraggable={true}
4041
zIndex={zIndex}
4142
onFocus={onFocus}
4243
>
43-
<div className="overflow-y-auto max-h-[calc(90vh-4rem)] px-8 py-6">
44-
<h1 className="text-4xl font-bold mb-4">{title}</h1>
45-
<p className="text-lg text-gray-600 dark:text-gray-300 mb-8">
46-
{duration} | {location}
47-
</p>
48-
<div className="flex items-center mb-8">
49-
<Image
50-
src={imageUrl}
51-
alt={title}
52-
width={120}
53-
height={120}
54-
className="rounded-lg mr-6"
55-
/>
56-
<p className="text-xl leading-relaxed">{description}</p>
57-
</div>
58-
<h2 className="text-2xl font-semibold mb-4">Responsibilities</h2>
59-
<ul className="list-disc pl-5 mb-8 space-y-2">
60-
{responsibilities.map((responsibility, index) => (
61-
<li key={index} className="text-gray-600 dark:text-gray-300">
62-
{responsibility}
63-
</li>
64-
))}
65-
</ul>
66-
<h2 className="text-2xl font-semibold mb-4">Technologies Used</h2>
67-
<div className="flex flex-wrap gap-2 mb-8">
68-
{technologies.map((tech, index) => (
69-
<span
70-
key={index}
71-
className="bg-gray-200 dark:bg-gray-700 px-3 py-1 rounded-full text-sm"
72-
>
73-
{tech}
74-
</span>
75-
))}
44+
<div className="relative">
45+
<ConstructionRibbon />
46+
<div className="overflow-y-auto max-h-[calc(90vh-4rem)] px-8 py-4 mt-8">
47+
<h1 className="text-4xl font-bold mb-4">{title}</h1>
48+
<p className="text-lg text-gray-600 dark:text-gray-300 mb-8">
49+
{duration} | {location}
50+
</p>
51+
<div className="flex items-center mb-8">
52+
<Image
53+
src={imageUrl}
54+
alt={title}
55+
width={120}
56+
height={120}
57+
className="rounded-lg mr-6"
58+
/>
59+
<p className="text-xl leading-relaxed">{description}</p>
60+
</div>
61+
<h2 className="text-2xl font-semibold mb-4">Responsibilities</h2>
62+
<ul className="list-disc pl-5 mb-8 space-y-2">
63+
{responsibilities.map((responsibility, index) => (
64+
<li key={index} className="text-gray-600 dark:text-gray-300">
65+
{responsibility}
66+
</li>
67+
))}
68+
</ul>
69+
<h2 className="text-2xl font-semibold mb-4">Technologies Used</h2>
70+
<div className="flex flex-wrap gap-2 mb-8">
71+
{technologies.map((tech, index) => (
72+
<span
73+
key={index}
74+
className="bg-gray-200 dark:bg-gray-700 px-3 py-1 rounded-full text-sm"
75+
>
76+
{tech}
77+
</span>
78+
))}
79+
</div>
7680
</div>
7781
</div>
7882
</WindowPanel>

0 commit comments

Comments
 (0)