Skip to content

Commit c8a9196

Browse files
author
Bouwmeester, Kevin
committed
Some more refactoring + fix galaxy page having different menu items (added SEiGS 2025 to global menu items)
1 parent 678773f commit c8a9196

File tree

6 files changed

+272
-134
lines changed

6 files changed

+272
-134
lines changed

app/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export const BUBBLETEAVIZ_STATUS = 'Active';
7171

7272
export const MENU_ITEMS = [
7373
{ name: 'Industrial Collaborations', route: './industrial-collabs' },
74+
{ name: 'SEiGS 2025', route: '../seigs25' },
7475
{ name: 'Projects & Tools', route: './projects' },
7576
{ name: 'News', route: './news' },
7677
{ name: 'Contact us', route: './contacts' }

app/industrial-collabs/page.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ import Navbar from '../components/Navbar';
44
import Footer from '../components/Footer';
55
import { Link } from '@nextui-org/react';
66
import Image from 'next/image';
7-
import ContactCard from '../components/ContactCard';
87
import IndustryImage from '../../public/industry-image-3.jpg';
98
import JProfilerLogo from '../../public/jprofiler_large.png';
10-
import MichelPortrait from '../../public/portraits/michel.jpeg';
119
import { MENU_ITEMS as menuItems } from '../constants';
10+
import { MichelContact } from '../person-constants';
1211

1312
const tools = [
1413
{
@@ -131,13 +130,7 @@ export default function IndustrialCollaborationsPage() {
131130
</ul>
132131
<p className="text-gray-600 mb-4"></p>
133132
<h1 className="text-2xl font-bold text-red-700 mb-4">Contact Us</h1>
134-
<ContactCard
135-
name="Michel R.V. Chaudron"
136-
position="Full Professor"
137-
image={MichelPortrait.src}
138-
email="m.r.v.chaudron@tue.nl"
139-
personalPage="https://research.tue.nl/en/persons/michel-rv-chaudron"
140-
/>
133+
<MichelContact />
141134
<h1 className="text-2xl font-bold text-red-700 mb-4">Tools we use</h1>
142135

143136
<Link href="https://www.ej-technologies.com/jprofiler">

app/page.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
'use client';
22
import Image from 'next/image';
3-
import MichelPortrait from '../public/portraits/michel.jpeg';
4-
import LinaPortrait from '../public/portraits/lina.jpeg';
5-
import SatrioPortrait from '../public/portraits/satrio.jpeg';
6-
import FilipPortrait from '../public/portraits/filip.jpeg';
7-
import MerelPortrait from '../public/portraits/merel.jpg';
8-
import FelipePortrait from '../public/portraits/felipe.jpeg';
9-
import KevinPortrait from '../public/portraits/kevin.jpeg';
10-
import JacobPortrait from '../public/portraits/jacob.jpg';
11-
import SupunPortrait from '../public/portraits/Supun.png';
123
import { NextUIProvider } from '@nextui-org/react';
13-
import PersonCard from './components/PersonCard';
14-
import { FelipeCard, FilipCard, JacobCard, KevinCard, LinaCard, MerelCard, MichelCard, SatrioCard, SupunCard } from './personcards';
4+
import { FelipeCard, FilipCard, JacobCard, KevinCard, LinaCard, MerelCard, MichelCard, SatrioCard, SupunCard } from './person-constants';
155
import Navbar from './components/Navbar';
166
import Footer from './components/Footer';
177
import { MENU_ITEMS as menuItems } from './constants';

app/person-constants.tsx

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
import PersonCard from './components/PersonCard';
2+
3+
import ContactCard from '../components/ContactCard';
4+
5+
import MichelPortrait from '../public/portraits/michel.jpeg';
6+
import LinaPortrait from '../public/portraits/lina.jpeg';
7+
import SatrioPortrait from '../public/portraits/satrio.jpeg';
8+
import FilipPortrait from '../public/portraits/filip.jpeg';
9+
import MerelPortrait from '../public/portraits/merel.jpg';
10+
import FelipePortrait from '../public/portraits/felipe.jpeg';
11+
import KevinPortrait from '../public/portraits/kevin.jpeg';
12+
import JacobPortrait from '../public/portraits/jacob.jpg';
13+
import SupunPortrait from '../public/portraits/Supun.png';
14+
15+
// Combined userprops of PersonCard and ContactCard
16+
interface UserProps {
17+
name: string;
18+
position: string;
19+
email: string;
20+
image: string;
21+
quote: string;
22+
personalPage: string;
23+
}
24+
25+
const MichelUserProps: UserProps = {
26+
name: "Michel R.V. Chaudron",
27+
position: "Full Professor",
28+
email: "m.r.v.chaudron@tue.nl",
29+
image: MichelPortrait.src,
30+
quote: "Research interests: Software Architecture, Software Design, Software Modelling with a special focus on UML, Software Composition and knowledge sharing, use of AI (Artificial Intelligence) for Software Development.",
31+
personalPage: "https://research.tue.nl/en/persons/michel-rv-chaudron"
32+
};
33+
34+
const LinaUserProps: UserProps = {
35+
name: "Lina Ochoa Venegas",
36+
position: "Assistant Professor",
37+
email: "l.m.ochoa.venegas@tue.nl",
38+
image: LinaPortrait.src,
39+
quote: "I am interested on studying the phenomena behind software evolution, maintenance, and analysis, and providing tools that support related processes.",
40+
personalPage: "https://research.tue.nl/en/persons/lina-ochoa-venegas"
41+
};
42+
43+
const JacobUserProps: UserProps = {
44+
name: "Jacob Krüger",
45+
position: "Assistant Professor",
46+
email: "j.kruger@tue.nl",
47+
image: JacobPortrait.src,
48+
quote: "I am specializing in the development and evolution of variant-rich software systems. Variant-rich systems exist in different customizable variants and have become the most widely existing form of software systems in all areas of society.",
49+
personalPage: "https://research.tue.nl/en/persons/jacob-kr%C3%BCger"
50+
};
51+
52+
const SatrioUserProps: UserProps = {
53+
name: "Satrio Adi Rukmono",
54+
position: "PhD Candidate",
55+
email: "s.a.rukmono@tue.nl",
56+
image: SatrioPortrait.src,
57+
quote: "Research interests: Application of Large Language Models (LLMs) in the field of Software Architecture, Software Visualisation",
58+
personalPage: "https://research.tue.nl/en/persons/satrio-rukmono"
59+
};
60+
61+
const FilipUserProps: UserProps = {
62+
name: "Filip Zamfirov",
63+
position: "PhD Candidate",
64+
email: "f.zamfirov@tue.nl",
65+
image: FilipPortrait.src,
66+
quote: "Research interests: Software Architecture Erosion, Software Visualisation, Static & Dynamic Analysis",
67+
personalPage: "https://research.tue.nl/en/persons/filip-zamfirov"
68+
};
69+
70+
const MerelUserProps: UserProps = {
71+
name: "Merel Veracx",
72+
position: "PhD Candidate",
73+
email: "m.m.s.veracx@tue.nl",
74+
image: MerelPortrait.src,
75+
quote: "Research interests: Engineering AI-intensive Systems, IT Architecture, Quality in Software Engineering, Educating HBO ICT students",
76+
personalPage: "https://www.linkedin.com/in/merel-veracx-a806115/?originalSubdomain=be"
77+
};
78+
79+
const FelipeUserProps: UserProps = {
80+
name: "Felipe Xavier",
81+
position: "PhD Candidate",
82+
email: "f.d.azeredo.coutinho.xavier@tue.nl",
83+
image: FelipePortrait.src,
84+
quote: "Research interests: Low-Code, Formal Verification, Embedded Systems, and Software architecture",
85+
personalPage: "https://research.tue.nl/en/persons/felipe-de-azeredo-coutinho-xavier"
86+
};
87+
88+
const KevinUserProps: UserProps = {
89+
name: "Kevin Bouwmeester",
90+
position: "PhD Candidate",
91+
email: "k.bouwmeester@tue.nl",
92+
image: KevinPortrait.src,
93+
quote: "Research interests: Digital Twins, Software Architecture, Game-Design, and Software Design",
94+
personalPage: "https://research.tue.nl/en/persons/kevin-bouwmeester"
95+
};
96+
97+
const SupunUserProps: UserProps = {
98+
name: "Supun Wijayakoon",
99+
position: "PhD Candidate",
100+
email: "s.c.w.wijekoon.bandara.mudiyanselage@tue.nl",
101+
image: SupunPortrait.src,
102+
quote: "Research interests: Software Architecture, Software Analytics, Software Visualization",
103+
personalPage: "https://research.tue.nl/en/persons/supun-wijekoon-bandara-mudiyanselage"
104+
};
105+
106+
export const MichelCard = () => (
107+
<PersonCard
108+
name={MichelUserProps.name}
109+
position={MichelUserProps.position}
110+
image={MichelUserProps.image}
111+
quote={MichelUserProps.quote}
112+
personalPage={MichelUserProps.personalPage}
113+
/>);
114+
export const MichelContact = () => (
115+
<ContactCard
116+
name={MichelUserProps.name}
117+
position={MichelUserProps.position}
118+
image={MichelUserProps.image}
119+
email={MichelUserProps.email}
120+
personalPage={MichelUserProps.personalPage}
121+
/>);
122+
123+
export const LinaCard = () => (
124+
<PersonCard
125+
name={LinaUserProps.name}
126+
position={LinaUserProps.position}
127+
image={LinaUserProps.image}
128+
quote={LinaUserProps.quote}
129+
personalPage={LinaUserProps.personalPage}
130+
/>);
131+
export const LinaContact = () => (
132+
<ContactCard
133+
name={LinaUserProps.name}
134+
position={LinaUserProps.position}
135+
image={LinaUserProps.image}
136+
email={LinaUserProps.email}
137+
personalPage={LinaUserProps.personalPage}
138+
/>);
139+
140+
export const JacobCard = () => (
141+
<PersonCard
142+
name={JacobUserProps.name}
143+
position={JacobUserProps.position}
144+
image={JacobUserProps.image}
145+
quote={JacobUserProps.quote}
146+
personalPage={JacobUserProps.personalPage}
147+
/>);
148+
export const JacobContact = () => (
149+
<ContactCard
150+
name={JacobUserProps.name}
151+
position={JacobUserProps.position}
152+
image={JacobUserProps.image}
153+
email={JacobUserProps.email}
154+
personalPage={JacobUserProps.personalPage}
155+
/>);
156+
157+
export const SatrioCard = () => (
158+
<PersonCard
159+
name={SatrioUserProps.name}
160+
position={SatrioUserProps.position}
161+
image={SatrioUserProps.image}
162+
quote={SatrioUserProps.quote}
163+
personalPage={SatrioUserProps.personalPage}
164+
/>);
165+
export const SatrioContact = () => (
166+
<ContactCard
167+
name={SatrioUserProps.name}
168+
position={SatrioUserProps.position}
169+
image={SatrioUserProps.image}
170+
email={SatrioUserProps.email}
171+
personalPage={SatrioUserProps.personalPage}
172+
/>);
173+
174+
export const FilipCard = () => (
175+
<PersonCard
176+
name={FilipUserProps.name}
177+
position={FilipUserProps.position}
178+
image={FilipUserProps.image}
179+
quote={FilipUserProps.quote}
180+
personalPage={FilipUserProps.personalPage}
181+
/>);
182+
export const FilipContact = () => (
183+
<ContactCard
184+
name={FilipUserProps.name}
185+
position={FilipUserProps.position}
186+
image={FilipUserProps.image}
187+
email={FilipUserProps.email}
188+
personalPage={FilipUserProps.personalPage}
189+
/>);
190+
191+
export const MerelCard = () => (
192+
<PersonCard
193+
name={MerelUserProps.name}
194+
position={MerelUserProps.position}
195+
image={MerelUserProps.image}
196+
quote={MerelUserProps.quote}
197+
personalPage={MerelUserProps.personalPage}
198+
/>);
199+
export const MerelContact = () => (
200+
<ContactCard
201+
name={MerelUserProps.name}
202+
position={MerelUserProps.position}
203+
image={MerelUserProps.image}
204+
email={MerelUserProps.email}
205+
personalPage={MerelUserProps.personalPage}
206+
/>);
207+
208+
export const FelipeCard = () => (
209+
<PersonCard
210+
name={FelipeUserProps.name}
211+
position={FelipeUserProps.position}
212+
image={FelipeUserProps.image}
213+
quote={FelipeUserProps.quote}
214+
personalPage={FelipeUserProps.personalPage}
215+
/>);
216+
export const FelipeContact = () => (
217+
<ContactCard
218+
name={FelipeUserProps.name}
219+
position={FelipeUserProps.position}
220+
image={FelipeUserProps.image}
221+
email={FelipeUserProps.email}
222+
personalPage={FelipeUserProps.personalPage}
223+
/>);
224+
225+
export const KevinCard = () => (
226+
<PersonCard
227+
name={KevinUserProps.name}
228+
position={KevinUserProps.position}
229+
image={KevinUserProps.image}
230+
quote={KevinUserProps.quote}
231+
personalPage={KevinUserProps.personalPage}
232+
/>);
233+
export const KevinContact = () => (
234+
<ContactCard
235+
name={KevinUserProps.name}
236+
position={KevinUserProps.position}
237+
image={KevinUserProps.image}
238+
email={KevinUserProps.email}
239+
personalPage={KevinUserProps.personalPage}
240+
/>);
241+
242+
export const SupunCard = () => (
243+
<PersonCard
244+
name={SupunUserProps.name}
245+
position={SupunUserProps.position}
246+
image={SupunUserProps.image}
247+
quote={SupunUserProps.quote}
248+
personalPage={SupunUserProps.personalPage}
249+
/>);
250+
export const SupunContact = () => (
251+
<ContactCard
252+
name={SupunUserProps.name}
253+
position={SupunUserProps.position}
254+
image={SupunUserProps.image}
255+
email={SupunUserProps.email}
256+
personalPage={SupunUserProps.personalPage}
257+
/>);

0 commit comments

Comments
 (0)