---
import Layout from '../layouts/Layout.astro';

const cofounders = [
  {
    name: "Davide Barbarossa",
    url: "https://davidebarbarossa12.github.io/index.html",
    interests: "Lambda-calculus, type theory, linear logic, category theory, classical realizability, philosophy of mathematics",
    affiliation: "Università di Bologna"
  },
  {
    name: "Pablo Donato 🌸",
    url: "https://pablogician.refl.fr/",
    role: "administrator",
    interests: "Proof theory, type theory, topos theory, proof assistants, human-computer interaction, end-user programming",
    affiliation: "Grothendieck Institute"
  },
  {
    name: "Boris Eng 🦖",
    url: "https://engboris.refl.fr",
    roles: ["administrator", "coordinator"],
    interests: "Transcendental syntax, proof theory, linear logic",
    affiliation: "R&D engineer at OCamlPro"
  },
  {
    name: "Valentin Maestracci",
    url: "https://vmaestracci.github.io/",
    interests: "Lambda-calculus, type theory, homotopy type theory, Dedukti, directed homotopy theory, rewriting",
    affiliation: "Université Aix-Marseille"
  }
];

const members = [
  {
    name: "Victor Benitah",
    interests: "Formal systems explorer, co-founder of an electronic firm",
    affiliation: "Airline pilot at Air France"
  },
  {
    name: "Hugo Cadière",
    url: "https://www.univ-lyon3.fr/m-hugo-cadiere",
    interests: "Philosophy of mathematics / computer science / language / mind, German Idealism and XXth century German philosophy",
    affiliation: "Université Jean-Moulin Lyon 3"
  },
  {
    name: "Pierre Cardascia 🎲",
    url: "https://suboptimal.games/",
    interests: "Philosophy, Game Design, Entrepreneurship, Immersive Experience, Poetry",
    affiliation: "SubOptimal Games"
  },
  {
    name: "Baptiste Chanus",
    interests: "Descriptive complexity",
    affiliation: "Université Paris 1 Panthéon-Sorbonne"
  },
  {
    name: "Kostia Chardonnet",
    url: "https://kostiachardonnet.github.io/",
    interests: "Computer science, quantum computation, cyclic proofs",
    affiliation: "Centre Inria de l'Université de Lorraine (MOCQUA)"
  },
  {
    name: "Sidney Congard",
    url: "https://dwarfobserver.github.io/",
    interests: "Semantics of programming languages",
    affiliation: "Centre Inria de l'Université de Rennes (Gallinette)"
  },
  {
    name: "Xavier Denis",
    url: "https://xav.io/",
    interests: "Deductive verification and specification of Rust programs",
    affiliation: ""
  },
  {
    name: "Pierre Benjamin Giraud",
    interests: "Multi-dimensional (Logic x Cubes & Rewriting systems x Automata), automata for proofs, philoTechny of mathematics",
    affiliation: "Centre Inria de l'Université de Rennes (Gallinette)"
  },
  {
    name: "Charles Grellois",
    url: "https://www.sheffield.ac.uk/cs/people/academic/charles-grellois",
    interests: "Semantics, (linear) logic, automata theory, higher-order model-checking, mathematical modeling, probabilistic termination",
    affiliation: "University of Sheffield"
  },
  {
    name: "Jérémy Hervé 🍄",
    role: "external communications",
    interests: "Mushrooms, operating systems design",
    affiliation: "Independent"
  },
  {
    name: "Ambroise Lafont",
    url: "https://amblafont.github.io/",
    interests: "Type Theory and Category Theory",
    affiliation: "École Polytechnique (LIX)"
  },
  {
    name: "Luc Pommeret",
    url: "https://lucpommeret.com/",
    interests: "Logic, LLM (Machine learning)",
    affiliation: "LISN Paris-Saclay"
  },
  {
    name: "Adrien Ragot",
    interests: "Proof-nets, interaction nets, implicit computational complexity, lambda-calculus, linear logic",
    affiliation: "Université Sorbonne Paris Nord / University Roma Tre"
  },
  {
    name: "Paul Séjourné",
    interests: "Archaic and contemporary philosophy (of mathematics), algebraic geometry, category theory",
    affiliation: "Université Paris-Sorbonne"
  },
  {
    name: "Vincent Moreau",
    url: "https://www.irif.fr/~moreau/",
    interests: "Category theory, type theory, denotational semantics, topology, algebra, proof assistants",
    affiliation: "Université Paris Cité (IRIF)"
  },
  {
    name: "François-René Rideau (Faré)",
    interests: "",
    affiliation: ""
  },
  {
    name: "Tito",
    url: "https://nguyentito.eu/",
    interests: "Links between linear logic and automata theory, combinatorics, computational complexity, algorithms",
    affiliation: "CNRS & Aix-Marseille"
  }
];

const visitors = [
  "Titouan Carette", "Clémence Chanavat", "Bernardo Marques", "Julien Marquet",
  "Rémi Nollet", "Federico Olimpieri", "Raphaël Tossings", "Pierre Vial",
  "Quentin", "Gaël Deest", "Martin Tricaud", "Fadi Shawki", "Éliès Harington",
  "Axel Kerinec", "Aloÿs Dufour", "Bernardo", "Anne-Laure", "Escherichia",
  "Alexey", "Roman Perez", "Nico", "Chirine Laghjichi", "Jonty Male",
	"Alexis Toumi", "Baptiste Colin", "Léo", "Noé Ensarguet"
];
---

<Layout seo={{ title: "Members", description: "Members of the ReFL research network" }}>
  <div class="max-w-4xl mx-auto">
    <h1 class="text-4xl font-bold mb-8">Members</h1>

    <!-- Co-founders -->
    <section class="mb-10">
      <h2 class="text-2xl font-bold mb-4">Co-founders</h2>
      <ul class="space-y-4">
        {cofounders.map((person) => (
          <li class="border-l-2 border-primary pl-4">
            <div class="flex flex-wrap items-center gap-2">
              {person.url ? (
                <a href={person.url} target="_blank" rel="noopener noreferrer" class="font-semibold text-primary hover:opacity-80">
                  {person.name}
                </a>
              ) : <span class="font-semibold">{person.name}</span>}
              {person.affiliation && <span class="text-base-content/70">— {person.affiliation}</span>}
              {person.role && <span class="badge badge-primary badge-sm">{person.role}</span>}
              {person.roles && person.roles.map((r) => (
                <span class="badge badge-primary badge-sm">{r}</span>
              ))}
            </div>
            {person.interests && <div class="text-sm text-base-content/80 mt-1">{person.interests}</div>}
          </li>
        ))}
      </ul>
    </section>

    <!-- Members -->
    <section class="mb-10">
      <h2 class="text-2xl font-bold mb-4">Members</h2>
      <ul class="space-y-4">
        {members.map((person) => (
          <li class="border-l-2 border-base-300 pl-4">
            <div class="flex flex-wrap items-center gap-2">
              {person.url ? (
                <a href={person.url} target="_blank" rel="noopener noreferrer" class="font-semibold text-primary hover:opacity-80">
                  {person.name}
                </a>
              ) : <span class="font-semibold">{person.name}</span>}
              {person.affiliation && <span class="text-base-content/70">— {person.affiliation}</span>}
              {person.role && <span class="badge badge-primary badge-sm">{person.role}</span>}
            </div>
            {person.interests && <div class="text-sm text-base-content/80 mt-1">{person.interests}</div>}
          </li>
        ))}
      </ul>
    </section>

    <!-- Visitors -->
    <section class="mb-10">
      <h2 class="text-2xl font-bold mb-4">Visitors and guests</h2>
      <p class="text-base-content/80">
        {visitors.join(", ")}.
      </p>
    </section>
  </div>
</Layout>
