From 96c1c7ebc4be693af446fa15cf681d7f8a9654ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Lobo?=
 <30907944+joaodiaslobo@users.noreply.github.com>
Date: Thu, 7 Dec 2023 16:35:17 +0000
Subject: [PATCH] feat: apply `select-none` to all titles and buttons (#593)

---
 components/Badge/index.tsx                                  | 2 +-
 components/BadgeFilter/index.tsx                            | 2 +-
 components/Balance/index.jsx                                | 4 +++-
 components/Button/index.tsx                                 | 2 +-
 components/Footer/index.tsx                                 | 6 +++---
 components/Heading/index.tsx                                | 2 +-
 components/Input/index.tsx                                  | 2 +-
 components/JoinUs/index.jsx                                 | 2 +-
 components/Layout/Layout.tsx                                | 6 +++---
 components/Navbar/index.jsx                                 | 6 +++---
 components/Schedule/Day/index.tsx                           | 2 +-
 components/Schedule/index.jsx                               | 2 +-
 components/Select/index.tsx                                 | 2 +-
 layout/Attendee/Badgedex/Badgedex.tsx                       | 6 +++---
 layout/Attendee/Identifier/Identifier.tsx                   | 2 +-
 layout/Attendee/Inventory/Inventory.tsx                     | 2 +-
 layout/Attendee/Profile/Profile.tsx                         | 6 +++---
 layout/Attendee/Profile/components/CVInput/index.tsx        | 4 ++--
 .../Attendee/Profile/components/CheckpointTracker/index.tsx | 2 +-
 layout/Attendee/Store/components/Product/index.tsx          | 2 +-
 layout/Attendee/Wheel/Wheel.tsx                             | 2 +-
 layout/Attendee/Wheel/components/ListItem3Cols/index.tsx    | 6 ++++--
 layout/Attendee/Wheel/components/ListItem4Cols/index.tsx    | 2 +-
 layout/Attendee/Wheel/components/WheelMessage/index.tsx     | 2 +-
 layout/Attendees/Attendees.tsx                              | 6 ++++--
 layout/Challenges/components/Challenges/Challenge/index.tsx | 2 +-
 layout/Challenges/components/Challenges/index.jsx           | 2 +-
 layout/Challenges/components/Hero/index.jsx                 | 2 +-
 layout/FAQs/FAQs.tsx                                        | 2 +-
 layout/FAQs/components/FindUs/index.tsx                     | 4 ++--
 layout/FAQs/components/Question/index.tsx                   | 6 +++---
 layout/Home/components/Hero/ExpectList/index.jsx            | 2 +-
 layout/Home/components/Hero/Organization/index.jsx          | 1 +
 layout/Home/components/Hero/Pitch/index.jsx                 | 2 +-
 layout/Home/components/Hero/index.tsx                       | 4 ++--
 layout/Home/components/Partners/index.jsx                   | 4 ++--
 layout/Home/components/Speakers/index.jsx                   | 4 ++--
 layout/Home/components/Sponsors/index.jsx                   | 2 +-
 layout/Login/Login.tsx                                      | 2 +-
 layout/Product/Product.tsx                                  | 4 ++--
 layout/Schedule/components/Hero/index.jsx                   | 2 +-
 layout/SignUp/SignUp.tsx                                    | 2 +-
 layout/Speakers/components/Hero/index.jsx                   | 2 +-
 layout/Speakers/components/Schedule/Table/Block/index.jsx   | 4 ++--
 layout/Speakers/components/Schedule/index.jsx               | 2 +-
 layout/Sponsor/Scanner/Scanner.tsx                          | 2 +-
 layout/Sponsor/Visitors/Visitors.tsx                        | 4 ++--
 layout/Staff/Badges/Badges.tsx                              | 4 +++-
 layout/Staff/Identifier/Identifier.tsx                      | 2 +-
 layout/Staff/Prizes/Prizes.tsx                              | 2 +-
 layout/Team/components/Hero/index.jsx                       | 2 +-
 layout/Team/components/Organization/Member/index.jsx        | 1 +
 layout/Team/components/Organization/index.jsx               | 4 ++--
 layout/shared/Leaderboard/Leaderboard.tsx                   | 3 +--
 layout/shared/Leaderboard/components/Table/index.tsx        | 2 +-
 55 files changed, 86 insertions(+), 77 deletions(-)

diff --git a/components/Badge/index.tsx b/components/Badge/index.tsx
index aea56971..f8ad5730 100644
--- a/components/Badge/index.tsx
+++ b/components/Badge/index.tsx
@@ -6,7 +6,7 @@ export default function Badge({ name, id, avatar, tokens, owned }) {
       href={`/badge/${id}`}
       className={`h-full w-full ${owned ? "opacity-100" : "opacity-30"}`}
     >
-      <div>
+      <div className="select-none">
         <img src={avatar} alt={name}></img>
       </div>
       <div className="flex flex-col justify-items-center text-center font-iregular">
diff --git a/components/BadgeFilter/index.tsx b/components/BadgeFilter/index.tsx
index 5a1bfed4..4d40fcb1 100644
--- a/components/BadgeFilter/index.tsx
+++ b/components/BadgeFilter/index.tsx
@@ -6,7 +6,7 @@ export default function BadgeFilter({ onChange }) {
       <select
         id="location"
         name="location"
-        className="mt-1 block w-full rounded-full border-2 border-quinary bg-white py-2 pl-3 pr-10 text-black ring-quinary focus:border-quinary"
+        className="mt-1 block w-full select-none rounded-full border-2 border-quinary bg-white py-2 pl-3 pr-10 text-black ring-quinary focus:border-quinary"
         defaultValue="All"
         onChange={(e) => {
           const badge = badgeTypes.find(
diff --git a/components/Balance/index.jsx b/components/Balance/index.jsx
index 00dcbd19..2324f064 100644
--- a/components/Balance/index.jsx
+++ b/components/Balance/index.jsx
@@ -1,7 +1,9 @@
 export default function Balance({ token_balance, badge_count }) {
   return (
     <div className="text-white lg:grid lg:grid-cols-3">
-      <span className="col-span-1 font-ibold text-xl sm:text-2xl">Balance</span>
+      <span className="col-span-1 select-none font-ibold text-xl sm:text-2xl">
+        Balance
+      </span>
       <div className="col-span-2 flex gap-x-4 lg:flex-row-reverse">
         <span className="text-md font-iregular sm:text-lg">
           💰 {token_balance} tokens
diff --git a/components/Button/index.tsx b/components/Button/index.tsx
index dc0deab6..fb9a1c7e 100644
--- a/components/Button/index.tsx
+++ b/components/Button/index.tsx
@@ -20,7 +20,7 @@ export default function Button({
   return (
     <button
       {...rest}
-      className={`m-auto block rounded-full hover:opacity-75 disabled:bg-gray-400 disabled:opacity-75 ${
+      className={`m-auto block select-none rounded-full hover:opacity-75 disabled:bg-gray-400 disabled:opacity-75 ${
         rest.className || ""
       }`}
     >
diff --git a/components/Footer/index.tsx b/components/Footer/index.tsx
index ec4b5147..e2d8778a 100644
--- a/components/Footer/index.tsx
+++ b/components/Footer/index.tsx
@@ -86,7 +86,7 @@ export default function Footer(props: IFooterProps) {
       ref={observe}
     >
       <div className="flex flex-col justify-between gap-16 py-10 lg:flex-row">
-        <div className="flex items-start justify-center font-ibold lg:justify-start">
+        <div className="flex select-none items-start justify-center font-ibold lg:justify-start">
           <Image
             src="/images/sei-logo.svg"
             width={100}
@@ -101,7 +101,7 @@ export default function Footer(props: IFooterProps) {
           </p>
         </div>
 
-        <div className="mx-2 mt-20 hidden justify-center pb-10 lg:flex">
+        <div className="mx-2 mt-20 hidden select-none justify-center pb-10 lg:flex">
           <Animation
             text={
               props.footerAnimationText != undefined ? (
@@ -116,7 +116,7 @@ export default function Footer(props: IFooterProps) {
         </div>
 
         <div className="flex-2">
-          <div className="grid grid-rows-2 justify-items-center gap-8 whitespace-nowrap font-iregular text-sm text-white lg:grid-cols-2 lg:justify-items-start">
+          <div className="grid select-none grid-rows-2 justify-items-center gap-8 whitespace-nowrap font-iregular text-sm text-white lg:grid-cols-2 lg:justify-items-start">
             <Link
               href="https://2022.seium.org/"
               className="text-white hover:underline"
diff --git a/components/Heading/index.tsx b/components/Heading/index.tsx
index 8d1c95da..763563f3 100644
--- a/components/Heading/index.tsx
+++ b/components/Heading/index.tsx
@@ -7,7 +7,7 @@ export default function Heading({ text, children }: IHeadingProps) {
   return (
     <div className="border-b-solid mb-5 w-full grid-cols-2 overflow-hidden border-b-2 border-slate-400 pb-3">
       <div className="col-span-1 float-left flex h-full font-ibold">
-        <p className="inline-block align-middle font-ibold text-2xl font-bold text-white">
+        <p className="inline-block select-none align-middle font-ibold text-2xl font-bold text-white">
           {text}
         </p>
       </div>
diff --git a/components/Input/index.tsx b/components/Input/index.tsx
index 3f5015a5..6bd3534d 100644
--- a/components/Input/index.tsx
+++ b/components/Input/index.tsx
@@ -28,7 +28,7 @@ export function InputBase({
     <div>
       <label
         htmlFor={id}
-        className={`pl-6 font-iregular text-${fgColor} mt-5 block text-sm`}
+        className={`pl-6 font-iregular text-${fgColor} mt-5 block select-none text-sm`}
       >
         {text}
       </label>
diff --git a/components/JoinUs/index.jsx b/components/JoinUs/index.jsx
index cecc6b0f..c62ad1a1 100644
--- a/components/JoinUs/index.jsx
+++ b/components/JoinUs/index.jsx
@@ -2,7 +2,7 @@ export default function JoinUs(props) {
   return (
     <a
       href="https://sei23.eventbrite.pt"
-      className={`flex h-28 w-28 flex-shrink-0 rotate-15 transform items-center justify-center font-ibold text-xl text-${props.fgColor} bg-${props.button} translate-x-0 rounded-full`}
+      className={`flex h-28 w-28 flex-shrink-0 rotate-15 transform items-center justify-center font-ibold text-xl text-${props.fgColor} bg-${props.button} translate-x-0 select-none rounded-full`}
     >
       Join us 👋
     </a>
diff --git a/components/Layout/Layout.tsx b/components/Layout/Layout.tsx
index 2a82e41b..6619ac00 100644
--- a/components/Layout/Layout.tsx
+++ b/components/Layout/Layout.tsx
@@ -64,7 +64,7 @@ export default function Layout({ title, description, children }: LayoutProps) {
       />
 
       {/* NAVBAR */}
-      <aside className="inset-y-0 hidden w-72 overflow-y-scroll border-r-2 bg-secondary px-8 py-5 lg:fixed lg:flex lg:flex-col">
+      <aside className="inset-y-0 hidden w-72 select-none overflow-y-scroll border-r-2 bg-secondary px-8 py-5 lg:fixed lg:flex lg:flex-col">
         <div className="flex flex-1">
           <nav className="mt-8 flex flex-col">
             <Link href="/" className="pb-8">
@@ -107,7 +107,7 @@ export default function Layout({ title, description, children }: LayoutProps) {
 
       {/* CONTENT */}
       <main className="w-full px-4 pb-6 pt-20 lg:ml-72 lg:px-20">
-        <h2 className="font-ibold text-5xl">{title}</h2>
+        <h2 className="select-none font-ibold text-5xl">{title}</h2>
         <p className="mt-2 font-iregular text-lg">{description}</p>
 
         {children}
@@ -160,7 +160,7 @@ function MobileNavbar({
             leaveTo="-translate-x-full"
             className="z-1 absolute h-full w-full justify-between bg-secondary p-8 "
           >
-            <aside className="flex h-full flex-col justify-between">
+            <aside className="flex h-full select-none flex-col justify-between">
               <div>
                 <div className="flex items-center justify-between">
                   <Link href="/" className="font-iregular text-quinary">
diff --git a/components/Navbar/index.jsx b/components/Navbar/index.jsx
index d710350a..4cebc1c6 100644
--- a/components/Navbar/index.jsx
+++ b/components/Navbar/index.jsx
@@ -53,7 +53,7 @@ export default function Navbar({ bgColor, fgColor, button, children }) {
               <div className="relative z-50 flex flex-auto">
                 <div className="grid w-full grid-cols-4">
                   <Link href="/">
-                    <div className={`${styles.logo} pt-4 lg:pt-8`}>
+                    <div className={`${styles.logo} select-none pt-4 lg:pt-8`}>
                       <Image
                         className="cursor-pointer opacity-60 hover:opacity-100"
                         src="/images/sei-logo.svg"
@@ -64,7 +64,7 @@ export default function Navbar({ bgColor, fgColor, button, children }) {
                     </div>
                   </Link>
                   <div className="col-span-3 hidden justify-self-end lg:block">
-                    <div className="flex">
+                    <div className="flex select-none">
                       <div className="mr-6 grid grid-cols-3 gap-y-4 gap-x-20 pt-4">
                         {navigation.map((item) => (
                           <Link
@@ -160,7 +160,7 @@ export default function Navbar({ bgColor, fgColor, button, children }) {
           </div>
 
           <Disclosure.Panel className={`lg:hidden bg-${bgColor}`}>
-            <div className="relative z-50 min-h-screen object-cover px-2 pt-12">
+            <div className="relative z-50 min-h-screen select-none object-cover px-2 pt-12">
               {navigation.map((item) => (
                 <Disclosure.Button
                   key={item.slug}
diff --git a/components/Schedule/Day/index.tsx b/components/Schedule/Day/index.tsx
index 4ad16e08..0aa354f2 100644
--- a/components/Schedule/Day/index.tsx
+++ b/components/Schedule/Day/index.tsx
@@ -52,7 +52,7 @@ export default function Day(props) {
   );
 
   const Ans = () => (
-    <div className="flex w-full justify-center">
+    <div className="flex w-full select-none justify-center">
       <div className="flex w-full justify-between text-4xl xs:text-5xl sm:text-7xl lg:text-8xl xl:mx-20 xl:text-7xl">
         <div className={`${styles.leftArrow} ${styles.arrowWrapper}`}>
           <button
diff --git a/components/Schedule/index.jsx b/components/Schedule/index.jsx
index c37d794f..d0cd706d 100644
--- a/components/Schedule/index.jsx
+++ b/components/Schedule/index.jsx
@@ -162,7 +162,7 @@ export default function Schedule(props) {
 
   return (
     <div
-      className={`px-5 md:px-32 xl:grid xl:grid-cols-2 xl:px-16 2xl:px-32 bg-${props.color} relative pt-20`}
+      className={`px-5 md:px-32 xl:grid xl:grid-cols-2 xl:px-16 2xl:px-32 bg-${props.color} relative select-none pt-20`}
     >
       <div className="mb-20 xl:mb-0">
         <div className="sticky top-12 z-50">
diff --git a/components/Select/index.tsx b/components/Select/index.tsx
index 2f1f5f7d..bbd8379c 100644
--- a/components/Select/index.tsx
+++ b/components/Select/index.tsx
@@ -34,7 +34,7 @@ export default function Select({
     <div>
       <label
         htmlFor={id}
-        className={`pl-6 font-iregular text-${fgColor} mt-5 block text-sm`}
+        className={`pl-6 font-iregular text-${fgColor} mt-5 block select-none text-sm`}
       >
         {text}
       </label>
diff --git a/layout/Attendee/Badgedex/Badgedex.tsx b/layout/Attendee/Badgedex/Badgedex.tsx
index 12b7b5ba..1b658f8b 100644
--- a/layout/Attendee/Badgedex/Badgedex.tsx
+++ b/layout/Attendee/Badgedex/Badgedex.tsx
@@ -49,13 +49,13 @@ function Badgedex() {
   return (
     <Layout title="BadgeDex" description="Explore all existing badges">
       <div className="border-slate-400 pt-10 text-white xl:flex xl:flex-auto">
-        <div className="m-auto flex flex-auto space-x-5">
+        <div className="m-auto flex flex-auto select-none space-x-5">
           <p className="mb-10 text-2xl font-bold xl:mb-0">Filter by</p>
           <BadgeFilter onChange={updateFilter} />
         </div>
         <div className="flex w-auto font-bold lg:w-1/2 xl:w-auto">
-          <div className="my-auto text-2xl">Show</div>
-          <div className="flex flex-row-reverse gap-x-8">
+          <div className="my-auto select-none text-2xl">Show</div>
+          <div className="flex select-none flex-row-reverse gap-x-8">
             <button
               className={`font-iregular bg-${
                 all ? "white" : "quinary"
diff --git a/layout/Attendee/Identifier/Identifier.tsx b/layout/Attendee/Identifier/Identifier.tsx
index 581cc424..a07114e6 100644
--- a/layout/Attendee/Identifier/Identifier.tsx
+++ b/layout/Attendee/Identifier/Identifier.tsx
@@ -12,7 +12,7 @@ function Identifier() {
       description="Scan this QR Code to identify yourself to the staff"
     >
       <div className="mt-12 grid-cols-2 overflow-hidden">
-        <div className="flex h-full justify-center overflow-hidden rounded-md lg:h-96">
+        <div className="flex h-full select-none justify-center overflow-hidden rounded-md lg:h-96">
           <QRCodeCanvas uuid={user.id} />
         </div>
       </div>
diff --git a/layout/Attendee/Inventory/Inventory.tsx b/layout/Attendee/Inventory/Inventory.tsx
index d3e5f564..05781632 100644
--- a/layout/Attendee/Inventory/Inventory.tsx
+++ b/layout/Attendee/Inventory/Inventory.tsx
@@ -28,7 +28,7 @@ function Inventory() {
       title="Inventory"
       description="Check the prizes that you have accumulated throughout the week"
     >
-      <div className="my-5">
+      <div className="my-5 select-none">
         <button
           className={`font-iregular bg-${
             tab ? "quinary" : "white"
diff --git a/layout/Attendee/Profile/Profile.tsx b/layout/Attendee/Profile/Profile.tsx
index 4f3c9494..4464b19f 100644
--- a/layout/Attendee/Profile/Profile.tsx
+++ b/layout/Attendee/Profile/Profile.tsx
@@ -112,7 +112,7 @@ function Profile({ courses }) {
 
           <Form onSubmit={handleSubmitForm} id="profile-form">
             <div className="pl-6">
-              <div className="relative h-[220px] w-[220px] overflow-hidden rounded-full border-2 border-white hover:border-quinary">
+              <div className="relative h-[220px] w-[220px] select-none overflow-hidden rounded-full border-2 border-white hover:border-quinary">
                 {photoFileUrl == null ? (
                   <img
                     src="/images/mascot-head.png"
@@ -174,7 +174,7 @@ function Profile({ courses }) {
             />
 
             <button
-              className="inline-block h-auto pl-6 pb-5 text-quinary underline"
+              className="inline-block h-auto select-none pl-6 pb-5 text-quinary underline"
               onClick={(e) => {
                 e.preventDefault();
                 onResetPassword();
@@ -251,7 +251,7 @@ function Profile({ courses }) {
           </div>
           <div className="mt-10 text-white">
             <Heading text="Upload CV" />
-            <CVInput cv={user?.cv} onSubmit={submitCV}></CVInput>
+            <CVInput cv={user?.cv} onSubmit={submitCV} />
           </div>
         </div>
       </div>
diff --git a/layout/Attendee/Profile/components/CVInput/index.tsx b/layout/Attendee/Profile/components/CVInput/index.tsx
index d9a9fac4..d7f55914 100644
--- a/layout/Attendee/Profile/components/CVInput/index.tsx
+++ b/layout/Attendee/Profile/components/CVInput/index.tsx
@@ -36,7 +36,7 @@ export default function CVInput({ cv, onSubmit }) {
     <>
       {uploading ? (
         <form onSubmit={handleSubmit} id="cv-form" className="mt-2">
-          <label className="m-auto inline-block w-full cursor-pointer rounded-lg border-2 border-quinary text-center duration-500 hover:bg-quinary hover:opacity-50">
+          <label className="m-auto inline-block w-full cursor-pointer select-none rounded-lg border-2 border-quinary text-center duration-500 hover:bg-quinary hover:opacity-50">
             <BookOpenIcon className="m-auto h-12 w-12 flex-shrink-0" />
 
             <input
@@ -64,7 +64,7 @@ export default function CVInput({ cv, onSubmit }) {
                 &#10003;
               </span>
             </label>
-            <label className="ml-2 text-sm">
+            <label className="ml-2 select-none text-sm">
               By submitting your CV you are consenting to it being shared with
               the companies you visit during the event
             </label>
diff --git a/layout/Attendee/Profile/components/CheckpointTracker/index.tsx b/layout/Attendee/Profile/components/CheckpointTracker/index.tsx
index 3addc0a5..d3af663e 100644
--- a/layout/Attendee/Profile/components/CheckpointTracker/index.tsx
+++ b/layout/Attendee/Profile/components/CheckpointTracker/index.tsx
@@ -15,7 +15,7 @@ function Step({ count, progress, checkpoints }) {
 export default function CheckpointTracker({ checkpoints, progress }) {
   const ml = (progress / checkpoints) * 100 + "%";
   return (
-    <div className="w-80 py-5">
+    <div className="w-80 select-none py-5">
       <div>
         <span className="font-iregular" style={{ marginLeft: ml }}>
           🏁
diff --git a/layout/Attendee/Store/components/Product/index.tsx b/layout/Attendee/Store/components/Product/index.tsx
index 307cf061..6e2dbee3 100644
--- a/layout/Attendee/Store/components/Product/index.tsx
+++ b/layout/Attendee/Store/components/Product/index.tsx
@@ -13,7 +13,7 @@ export default function Product({ name, id, image, price, enabled }) {
           <img
             src={image}
             alt={name}
-            className="h-full w-full object-cover object-center lg:h-full lg:w-full"
+            className="h-full w-full select-none object-cover object-center lg:h-full lg:w-full"
           />
         </div>
       </div>
diff --git a/layout/Attendee/Wheel/Wheel.tsx b/layout/Attendee/Wheel/Wheel.tsx
index 6cbf0c1a..56fa88c4 100644
--- a/layout/Attendee/Wheel/Wheel.tsx
+++ b/layout/Attendee/Wheel/Wheel.tsx
@@ -224,7 +224,7 @@ function WheelPage() {
 
           <div className="mt-10">
             <Heading text="Awards"></Heading>
-            <div className="mb-5 grid w-full grid-cols-6 pb-3">
+            <div className="mb-5 grid w-full select-none grid-cols-6 pb-3">
               <div className="text-center">
                 <p className="text-iregular pr-4">Image</p>
               </div>
diff --git a/layout/Attendee/Wheel/components/ListItem3Cols/index.tsx b/layout/Attendee/Wheel/components/ListItem3Cols/index.tsx
index ddf90cca..6ff2dcc2 100644
--- a/layout/Attendee/Wheel/components/ListItem3Cols/index.tsx
+++ b/layout/Attendee/Wheel/components/ListItem3Cols/index.tsx
@@ -15,14 +15,16 @@ export default function ListItem3Cols({
       <div className="text-left">
         <p className="font-ibold">{user}</p>
       </div>
-      <div className="justify-self-end">
+      <div className="select-none justify-self-end">
         <img src={prize.avatar} className="w-10" />
       </div>
       <div className="col-span-2 ml-4 text-left">
         <p className="text-iregular">{prize.name}</p>
       </div>
       <div className="text-right">
-        <p className="text-ibold pr-4 font-bold text-quinary">{when}</p>
+        <p className="text-ibold select-none pr-4 font-bold text-quinary">
+          {when}
+        </p>
       </div>
     </div>
   );
diff --git a/layout/Attendee/Wheel/components/ListItem4Cols/index.tsx b/layout/Attendee/Wheel/components/ListItem4Cols/index.tsx
index 0df2d83e..562aa040 100644
--- a/layout/Attendee/Wheel/components/ListItem4Cols/index.tsx
+++ b/layout/Attendee/Wheel/components/ListItem4Cols/index.tsx
@@ -10,7 +10,7 @@ export default function ListItem4Cols({
   }
   return (
     <div className={`mb-5 w-full pb-3 ${border} grid grid-cols-6 items-center`}>
-      <div className="justify-self-center">
+      <div className="select-none justify-self-center">
         <img src={img} className="w-6" />
       </div>
       <div className="col-span-3 text-left">
diff --git a/layout/Attendee/Wheel/components/WheelMessage/index.tsx b/layout/Attendee/Wheel/components/WheelMessage/index.tsx
index e5fd699d..2e210bc6 100644
--- a/layout/Attendee/Wheel/components/WheelMessage/index.tsx
+++ b/layout/Attendee/Wheel/components/WheelMessage/index.tsx
@@ -8,7 +8,7 @@ export default function WheelMessage({ title, description, onExit }) {
       <div className="fixed inset-0 z-30 h-full w-screen bg-white opacity-70"></div>
       <Dialog
         open={true}
-        className="fixed top-1/2 left-1/2 z-50 -translate-y-2/4 -translate-x-2/4 overflow-y-auto rounded-3xl border-8 border-secondary bg-white p-10 px-12 drop-shadow-xl"
+        className="fixed top-1/2 left-1/2 z-50 -translate-y-2/4 -translate-x-2/4 select-none overflow-y-auto rounded-3xl border-8 border-secondary bg-white p-10 px-12 drop-shadow-xl"
         onClose={(_) => {}}
       >
         <Dialog.Overlay />
diff --git a/layout/Attendees/Attendees.tsx b/layout/Attendees/Attendees.tsx
index f2f8f7a4..8d765867 100644
--- a/layout/Attendees/Attendees.tsx
+++ b/layout/Attendees/Attendees.tsx
@@ -36,7 +36,7 @@ function Profile() {
         <div className="col-span-1 float-left w-full xl:w-1/2">
           <Heading text="User Profile"></Heading>
           <div className="pl-6">
-            <div className="relative h-[220px] w-[220px] overflow-hidden rounded-full border-2 border-white hover:border-quinary">
+            <div className="relative h-[220px] w-[220px] select-none overflow-hidden rounded-full border-2 border-white hover:border-quinary">
               {attendee.avatar == null ? (
                 <img
                   src="/images/mascot-head.png"
@@ -75,7 +75,9 @@ function Profile() {
       <div className="mt-10">
         <Heading text="Badges"></Heading>
         <div className="mt-5 flex flex-auto space-x-5">
-          <p className="mb-10 text-2xl font-bold xl:mb-0">Filter by</p>
+          <p className="mb-10 select-none text-2xl font-bold xl:mb-0">
+            Filter by
+          </p>
           <BadgeFilter onChange={updateFilter} />
         </div>
         <div className="mt-8 grid grid-cols-1 gap-y-3 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-6">
diff --git a/layout/Challenges/components/Challenges/Challenge/index.tsx b/layout/Challenges/components/Challenges/Challenge/index.tsx
index dcf0a9cd..6371e868 100644
--- a/layout/Challenges/components/Challenges/Challenge/index.tsx
+++ b/layout/Challenges/components/Challenges/Challenge/index.tsx
@@ -41,7 +41,7 @@ export default function Challenge(props: IProps) {
     >
       <div className="sticky top-60">
         <div>
-          <h2 className="font-terminal-uppercase text-3xl text-white md:text-4xl xl:text-5xl">
+          <h2 className="font-terminal-uppercase select-none text-3xl text-white md:text-4xl xl:text-5xl">
             {props.title}
           </h2>
           <p className="mt-10 font-iregular text-white">{props.description}</p>
diff --git a/layout/Challenges/components/Challenges/index.jsx b/layout/Challenges/components/Challenges/index.jsx
index 1a91c3b5..9b03e8d0 100644
--- a/layout/Challenges/components/Challenges/index.jsx
+++ b/layout/Challenges/components/Challenges/index.jsx
@@ -9,7 +9,7 @@ export default function Challenges() {
     <div className="spacing relative z-20 flex w-full flex-col px-40 py-10">
       <div className="mb-24 grid grid-cols-1 gap-20 xl:grid-cols-2">
         <div className="hidden xl:flex">
-          <ul className="font-terminal-uppercase text-xl">
+          <ul className="font-terminal-uppercase select-none text-xl">
             {Object.keys(challenges).map((i) => (
               <li
                 key={i}
diff --git a/layout/Challenges/components/Hero/index.jsx b/layout/Challenges/components/Hero/index.jsx
index bed04b30..9b445cb1 100644
--- a/layout/Challenges/components/Hero/index.jsx
+++ b/layout/Challenges/components/Hero/index.jsx
@@ -8,7 +8,7 @@ const Animation = dynamic(() => import("@components/Animation"), {
 
 export default function Hero() {
   return (
-    <div className=" bg-secondary">
+    <div className=" select-none bg-secondary">
       <div className="spacing relative z-20 md:pb-32">
         <Animation type="2" />
         <div className="pt-2">
diff --git a/layout/FAQs/FAQs.tsx b/layout/FAQs/FAQs.tsx
index 892e10f2..2cda99fb 100644
--- a/layout/FAQs/FAQs.tsx
+++ b/layout/FAQs/FAQs.tsx
@@ -13,7 +13,7 @@ function Faq() {
       <Navbar bgColor="primary" button="quinary" fgColor="white">
         <div className="spacing flex flex-col justify-between bg-primary py-20 lg:h-3/4 lg:flex-row">
           <div className="mb-10 text-white lg:w-2/5">
-            <h1 className="font-terminal-uppercase mb-4 text-4xl font-bold lg:text-6xl">
+            <h1 className="font-terminal-uppercase mb-4 select-none text-4xl font-bold lg:text-6xl">
               Frequently Asked Questions
             </h1>
             <p className="text-lg">
diff --git a/layout/FAQs/components/FindUs/index.tsx b/layout/FAQs/components/FindUs/index.tsx
index b5015166..e60f6bee 100644
--- a/layout/FAQs/components/FindUs/index.tsx
+++ b/layout/FAQs/components/FindUs/index.tsx
@@ -6,7 +6,7 @@ export default function FindUs() {
   return (
     <section className="spacing flex flex-col bg-primary py-20 lg:flex-row lg:justify-between">
       <div className="mb-10 mr-10 flex flex-col text-white">
-        <h2 className="font-terminal-uppercase mb-2 text-6xl">
+        <h2 className="font-terminal-uppercase mb-2 select-none text-6xl">
           How to find us
         </h2>
 
@@ -28,7 +28,7 @@ export default function FindUs() {
           <li className="">Phone: +351 253 604 448</li>
         </ul>
       </div>
-      <div className="w-full lg:w-3/5">
+      <div className="w-full select-none lg:w-3/5">
         <img src="/images/map/location.svg" alt="" />
       </div>
     </section>
diff --git a/layout/FAQs/components/Question/index.tsx b/layout/FAQs/components/Question/index.tsx
index d4b49686..38efc1a1 100644
--- a/layout/FAQs/components/Question/index.tsx
+++ b/layout/FAQs/components/Question/index.tsx
@@ -18,7 +18,7 @@ export default function Question({
 
   return (
     <div className="border-t-2 border-white py-4 text-white">
-      <h2 className="font-terminal-uppercase mb-4 text-2xl md:text-4xl">
+      <h2 className="font-terminal-uppercase mb-4 select-none text-2xl md:text-4xl">
         {title}
       </h2>
       <div
@@ -31,12 +31,12 @@ export default function Question({
       <div className="flex items-center justify-end">
         <Link
           href={href}
-          className="font-terminal-uppercase mr-4 text-sm text-quinary"
+          className="font-terminal-uppercase mr-4 select-none text-sm text-quinary"
         >
           {link}
         </Link>
         <button
-          className="font-terminal-uppercase w-16 transform rounded-full bg-quinary px-2 text-xl text-white transition-transform duration-300 hover:scale-110"
+          className="font-terminal-uppercase w-16 transform select-none rounded-full bg-quinary px-2 text-xl text-white transition-transform duration-300 hover:scale-110"
           onClick={() =>
             setShowQuestion((prevShowQuestion) => !prevShowQuestion)
           }
diff --git a/layout/Home/components/Hero/ExpectList/index.jsx b/layout/Home/components/Hero/ExpectList/index.jsx
index 57954a99..e2476922 100644
--- a/layout/Home/components/Hero/ExpectList/index.jsx
+++ b/layout/Home/components/Hero/ExpectList/index.jsx
@@ -1,7 +1,7 @@
 export default function ExpectList() {
   return (
     <div className="mt-20 w-3/5 text-white sm:mt-0">
-      <h3 className="md:text5xl font-terminal-uppercase text-4xl">
+      <h3 className="md:text5xl font-terminal-uppercase select-none text-4xl">
         What you can expect:
       </h3>
       <ul className="mt-8 list-disc pl-4 font-iregular">
diff --git a/layout/Home/components/Hero/Organization/index.jsx b/layout/Home/components/Hero/Organization/index.jsx
index 7308a5c4..2b89fe36 100644
--- a/layout/Home/components/Hero/Organization/index.jsx
+++ b/layout/Home/components/Hero/Organization/index.jsx
@@ -10,6 +10,7 @@ export default function Organization() {
           width="120"
           height="41"
           alt="CeSIUM"
+          className="select-none"
         />
       </a>
     </div>
diff --git a/layout/Home/components/Hero/Pitch/index.jsx b/layout/Home/components/Hero/Pitch/index.jsx
index 4811e564..b3048322 100644
--- a/layout/Home/components/Hero/Pitch/index.jsx
+++ b/layout/Home/components/Hero/Pitch/index.jsx
@@ -2,7 +2,7 @@ import Button from "@components/Button";
 
 export default function Pitch() {
   return (
-    <div className="xl:9/12 font-terminal-uppercase w-full text-white lg:w-9/12">
+    <div className="xl:9/12 font-terminal-uppercase w-full select-none text-white lg:w-9/12">
       <h2 className="text-4xl font-bold">
         We gather speakers, attract partners and give our imagination wings, all
         for this to be your favorite week.
diff --git a/layout/Home/components/Hero/index.tsx b/layout/Home/components/Hero/index.tsx
index 0d40b5b3..ca55af33 100644
--- a/layout/Home/components/Hero/index.tsx
+++ b/layout/Home/components/Hero/index.tsx
@@ -21,7 +21,7 @@ export default function Hero() {
     <div className="bg-secondary">
       <div className="spacing relative z-40 pb-32">
         <Animation type="1" />
-        <div className="pt-2">
+        <div className="select-none pt-2">
           <Title />
         </div>
         <div className="relative mt-20 grid grid-cols-2">
@@ -36,7 +36,7 @@ export default function Hero() {
             <Organization />
           </div>
           {isAuthenticated || (
-            <div className="absolute right-0 block lg:hidden">
+            <div className="absolute right-0 block select-none lg:hidden">
               <JoinUs button="quinary" fgColor="white" />
             </div>
           )}
diff --git a/layout/Home/components/Partners/index.jsx b/layout/Home/components/Partners/index.jsx
index 959060fd..b15cdeac 100644
--- a/layout/Home/components/Partners/index.jsx
+++ b/layout/Home/components/Partners/index.jsx
@@ -5,13 +5,13 @@ import partners from "/data/partners";
 export default function Partners() {
   return (
     <div className="spacing w-full bg-secondary pt-20 pb-20">
-      <h2 className="font-terminal-uppercase py-10 text-center text-5xl text-white lg:text-6xl">
+      <h2 className="font-terminal-uppercase select-none py-10 text-center text-5xl text-white lg:text-6xl">
         Partners who made this possible
       </h2>
       <div className="my-10 flex flex-wrap items-center justify-center gap-10">
         {partners.map((partner, i) => (
           <div
-            className="m-auto w-40 grayscale filter hover:filter-none"
+            className="m-auto w-40 select-none grayscale filter hover:filter-none"
             key={i}
           >
             <a href={partner.url} target="_blank" rel="noreferrer">
diff --git a/layout/Home/components/Speakers/index.jsx b/layout/Home/components/Speakers/index.jsx
index f2a880df..b22937f0 100644
--- a/layout/Home/components/Speakers/index.jsx
+++ b/layout/Home/components/Speakers/index.jsx
@@ -9,14 +9,14 @@ export default function Speakers() {
   return (
     <div className="spacing flex flex-col justify-around bg-secondary pt-20 lg:flex-row">
       <div className="mb-10 lg:w-1/2">
-        <h2 className="font-terminal-uppercase mb-8 text-4xl text-white xs:text-5xl lg:text-6xl">
+        <h2 className="font-terminal-uppercase mb-8 select-none text-4xl text-white xs:text-5xl lg:text-6xl">
           Here’s a selection of this year’s speakers
         </h2>
         <div className="xs:w-70 w-60 sm:w-80">
           <Link href="/speakers">
             <Button
               title="MEET THE SPEAKERS"
-              className="h-20 w-full border-4 border-white text-white hover:border-quinary hover:bg-quinary"
+              className="h-20 w-full border-4 border-white text-white hover:border-quinary hover:bg-quinary select-none"
               bold={true}
             />
           </Link>
diff --git a/layout/Home/components/Sponsors/index.jsx b/layout/Home/components/Sponsors/index.jsx
index 7176910b..d5761bda 100644
--- a/layout/Home/components/Sponsors/index.jsx
+++ b/layout/Home/components/Sponsors/index.jsx
@@ -21,7 +21,7 @@ export default function Sponsors(props) {
   const [val, setValue] = useState(0);
 
   return (
-    <div className="spacing bg-tertiary py-20 text-white">
+    <div className="spacing select-none bg-tertiary py-20 text-white">
       <h2 className="font-terminal-uppercase flex justify-center py-10 text-center text-4xl xs:text-5xl sm:text-6xl md:text-8xl">
         Our amazing sponsors
       </h2>
diff --git a/layout/Login/Login.tsx b/layout/Login/Login.tsx
index ed36b7ef..015c01b7 100644
--- a/layout/Login/Login.tsx
+++ b/layout/Login/Login.tsx
@@ -15,7 +15,7 @@ import { LoginForm } from "./components";
 
 function Login() {
   return (
-    <div className="min-h-screen overflow-hidden bg-secondary">
+    <div className="min-h-screen select-none overflow-hidden bg-secondary">
       <Return componentStyle="sm:ml-20 mt-20 sm:mt-20" />
       <img
         className="absolute -left-[380px] bottom-0 hidden w-[750px] xl:block"
diff --git a/layout/Product/Product.tsx b/layout/Product/Product.tsx
index 7a3c893c..1566b7f9 100644
--- a/layout/Product/Product.tsx
+++ b/layout/Product/Product.tsx
@@ -41,7 +41,7 @@ function ProductSlug() {
       <div className="bg-primary">
         <div className="mx-auto max-w-2xl py-16 px-4 sm:py-24 sm:px-6 lg:grid lg:max-w-7xl lg:grid-cols-2 lg:gap-x-8 lg:px-8">
           {/* Product details */}
-          <div className="lg:max-w-lg lg:self-end">
+          <div className="select-none lg:max-w-lg lg:self-end">
             <Link
               href="/attendee/store"
               className="text-center font-imedium text-quinary"
@@ -68,7 +68,7 @@ function ProductSlug() {
               <img
                 src={product.image}
                 alt={product.name}
-                className="h-full w-full object-cover object-center"
+                className="h-full w-full select-none object-cover object-center"
               />
             </div>
           </div>
diff --git a/layout/Schedule/components/Hero/index.jsx b/layout/Schedule/components/Hero/index.jsx
index 054ed147..c5aeddd7 100644
--- a/layout/Schedule/components/Hero/index.jsx
+++ b/layout/Schedule/components/Hero/index.jsx
@@ -9,7 +9,7 @@ const Animation = dynamic(() => import("@components/Animation"), {
 export default function Hero() {
   return (
     <div className="bg-tertiary">
-      <div className="spacing relative z-20 pb-32">
+      <div className="spacing relative z-20 select-none pb-32">
         <Animation type="3" />
         <div className="pt-2">
           <Title />
diff --git a/layout/SignUp/SignUp.tsx b/layout/SignUp/SignUp.tsx
index 52171290..8418bd54 100644
--- a/layout/SignUp/SignUp.tsx
+++ b/layout/SignUp/SignUp.tsx
@@ -11,7 +11,7 @@ import Text from "@layout/moonstone/authentication/Text";
 
 function Signup({ courses }) {
   return (
-    <div className="min-h-screen overflow-hidden bg-secondary">
+    <div className="min-h-screen select-none overflow-hidden bg-secondary">
       <Return componentStyle="sm:ml-14 mt-10 sm:mt-20 mb-6" />
       <div className="flex flex-col items-center justify-center sm:mt-16">
         <Title text="Sign up" />
diff --git a/layout/Speakers/components/Hero/index.jsx b/layout/Speakers/components/Hero/index.jsx
index 4f61ac79..fa5ebe2e 100644
--- a/layout/Speakers/components/Hero/index.jsx
+++ b/layout/Speakers/components/Hero/index.jsx
@@ -8,7 +8,7 @@ const Animation = dynamic(() => import("@components/Animation"), {
 
 export default function Hero() {
   return (
-    <div className="spacing bg-secondary pb-40">
+    <div className="spacing select-none bg-secondary pb-40">
       <div className="relative z-20">
         <Animation type="2" />
         <div className="pt-2">
diff --git a/layout/Speakers/components/Schedule/Table/Block/index.jsx b/layout/Speakers/components/Schedule/Table/Block/index.jsx
index 34af5668..45527f0e 100644
--- a/layout/Speakers/components/Schedule/Table/Block/index.jsx
+++ b/layout/Speakers/components/Schedule/Table/Block/index.jsx
@@ -27,7 +27,7 @@ export default function Block({
   return (
     <div key={id} className="border-t-2 border-white py-4 text-white">
       <div className="mb-2 flex">
-        <div className="w-[210px]">
+        <div className="w-[210px] select-none">
           <Image
             src={`/images/speakers/${id}.png`}
             width="210"
@@ -78,7 +78,7 @@ export default function Block({
             </div>
           </div>
 
-          <div className="z-50 flex items-center justify-end">
+          <div className="z-50 flex select-none items-center justify-end">
             <p className="grow text-gray-400">{talk}</p>
             {description && (
               <button
diff --git a/layout/Speakers/components/Schedule/index.jsx b/layout/Speakers/components/Schedule/index.jsx
index ec4ecb75..e8842698 100644
--- a/layout/Speakers/components/Schedule/index.jsx
+++ b/layout/Speakers/components/Schedule/index.jsx
@@ -107,7 +107,7 @@ export default function Schedule(props) {
 
   return (
     <section className="spacing relative bg-secondary pb-20 lg:pt-10 2xl:grid 2xl:grid-cols-2">
-      <div className="relative z-50 mb-10 grid place-items-center text-white sm:flex sm:flex-col md:mr-10 md:place-items-start">
+      <div className="relative z-50 mb-10 grid select-none place-items-center text-white sm:flex sm:flex-col md:mr-10 md:place-items-start">
         <Day date={date} previousDay={previous_day} nextDay={next_day} />
         <p className="text-md mt-10 w-5/6 font-iregular md:px-20">
           During this week, you have the opportunity to interact with many
diff --git a/layout/Sponsor/Scanner/Scanner.tsx b/layout/Sponsor/Scanner/Scanner.tsx
index 1d28bc00..95d4f49f 100644
--- a/layout/Sponsor/Scanner/Scanner.tsx
+++ b/layout/Sponsor/Scanner/Scanner.tsx
@@ -48,7 +48,7 @@ const SponsorBadges: React.FC = () => {
       title="Scanner"
       description="Recompensa os teus visitantes com o badge"
     >
-      <div className="mt-5">
+      <div className="mt-5 select-none">
         <QRScanner
           handleCode={handleUUID}
           pauseRef={pauseRef}
diff --git a/layout/Sponsor/Visitors/Visitors.tsx b/layout/Sponsor/Visitors/Visitors.tsx
index 55b95db0..7691392c 100644
--- a/layout/Sponsor/Visitors/Visitors.tsx
+++ b/layout/Sponsor/Visitors/Visitors.tsx
@@ -64,7 +64,7 @@ const SponsorVisitors: React.FC = () => {
       <div className="mt-5 h-screen text-white">
         {visitors.filter((v) => v.cv != null).length > 0 && (
           <button
-            className="m-auto mb-5 block rounded-full bg-quinary px-5 py-2 font-ibold text-2xl text-white"
+            className="m-auto mb-5 block select-none rounded-full bg-quinary px-5 py-2 font-ibold text-2xl text-white"
             onClick={downloadCVs}
           >
             {downloading ? "Downloading" : "Download All CV's"}
@@ -79,7 +79,7 @@ const SponsorVisitors: React.FC = () => {
               <img
                 alt={visitor.name}
                 src={visitor.avatar}
-                className="mb-2 h-40 w-40 rounded-full border-2 border-white object-cover hover:border-pink-500"
+                className="mb-2 h-40 w-40 select-none rounded-full border-2 border-white object-cover hover:border-pink-500"
               />
               <p className="text-center">{visitor.name}</p>
               <p className="text-center">{visitor.email}</p>
diff --git a/layout/Staff/Badges/Badges.tsx b/layout/Staff/Badges/Badges.tsx
index 0cfc9ae5..fc372715 100644
--- a/layout/Staff/Badges/Badges.tsx
+++ b/layout/Staff/Badges/Badges.tsx
@@ -86,7 +86,9 @@ function Badges() {
         <>
           <div className="pt-10 text-white xl:flex xl:flex-auto">
             <div className="flex flex-auto space-x-5">
-              <p className="mb-10 text-2xl font-bold xl:mb-0">Filter by</p>
+              <p className="mb-10 select-none text-2xl font-bold xl:mb-0">
+                Filter by
+              </p>
 
               <Filter onChange={updateFilter} />
             </div>
diff --git a/layout/Staff/Identifier/Identifier.tsx b/layout/Staff/Identifier/Identifier.tsx
index 7e2009d3..900d0a40 100644
--- a/layout/Staff/Identifier/Identifier.tsx
+++ b/layout/Staff/Identifier/Identifier.tsx
@@ -50,7 +50,7 @@ function Identifier() {
 
   return (
     <Layout title="Identifier" description="Identify an attendee">
-      <div className="mt-5">
+      <div className="mt-5 select-none">
         <QRScanner
           handleCode={handleUUID}
           pauseRef={pauseRef}
diff --git a/layout/Staff/Prizes/Prizes.tsx b/layout/Staff/Prizes/Prizes.tsx
index 3cc516a5..4c9e76e4 100644
--- a/layout/Staff/Prizes/Prizes.tsx
+++ b/layout/Staff/Prizes/Prizes.tsx
@@ -19,7 +19,7 @@ function Prizes() {
 
   return (
     <Layout title="Prizes" description="Mark a prize as redeemed">
-      <div className="mt-5">
+      <div className="mt-5 select-none">
         <QRScanner
           handleCode={handleUUID}
           pauseRef={pauseRef}
diff --git a/layout/Team/components/Hero/index.jsx b/layout/Team/components/Hero/index.jsx
index aa6f93f4..1eff9efd 100644
--- a/layout/Team/components/Hero/index.jsx
+++ b/layout/Team/components/Hero/index.jsx
@@ -9,7 +9,7 @@ const Animation = dynamic(() => import("@components/Animation"), {
 
 export default function Hero() {
   return (
-    <div className="spacing bg-primary">
+    <div className="spacing select-none bg-primary">
       <div className="relative z-50">
         <Animation type="1" />
         <div className="pt-2">
diff --git a/layout/Team/components/Organization/Member/index.jsx b/layout/Team/components/Organization/Member/index.jsx
index 77baf39a..9934211d 100644
--- a/layout/Team/components/Organization/Member/index.jsx
+++ b/layout/Team/components/Organization/Member/index.jsx
@@ -22,6 +22,7 @@ export default function Member({
         width="210"
         height="210"
         alt={name}
+        className="select-none"
       />
       <p className="text-md font-terminal-uppercase mb-1"> {name} </p>
       <div className="flex">
diff --git a/layout/Team/components/Organization/index.jsx b/layout/Team/components/Organization/index.jsx
index 5850ba96..f318cb25 100644
--- a/layout/Team/components/Organization/index.jsx
+++ b/layout/Team/components/Organization/index.jsx
@@ -53,7 +53,7 @@ export default function Organization() {
   return (
     <section className="spacing grid grid-cols-1 gap-x-32 gap-y-8 bg-primary py-20 lg:grid-cols-2">
       <div className="text-white">
-        <h2 className="font-terminal-uppercase mb-4 text-4xl font-bold">
+        <h2 className="font-terminal-uppercase mb-4 select-none text-4xl font-bold">
           Organization
         </h2>
         <p className="font-imedium">
@@ -73,7 +73,7 @@ export default function Organization() {
         list={sortListMembers(team["marketing"].list).slice(0, 2)}
       />
 
-      <div className="hidden items-center justify-center lg:flex">
+      <div className="hidden select-none items-center justify-center lg:flex">
         <Animation />
       </div>
 
diff --git a/layout/shared/Leaderboard/Leaderboard.tsx b/layout/shared/Leaderboard/Leaderboard.tsx
index 0c92b071..26a3d7af 100644
--- a/layout/shared/Leaderboard/Leaderboard.tsx
+++ b/layout/shared/Leaderboard/Leaderboard.tsx
@@ -121,10 +121,9 @@ function Leaderboard() {
               previousDay={previous_day}
               nextDay={next_day}
               fontSize="lg"
-              className=""
             />
           ) : (
-            <h2 className="font-terminal-uppercase text-center text-4xl text-quinary xs:text-5xl sm:text-7xl md:text-8xl">
+            <h2 className="font-terminal-uppercase select-none text-center text-4xl text-quinary xs:text-5xl sm:text-7xl md:text-8xl">
               All Time
             </h2>
           )}
diff --git a/layout/shared/Leaderboard/components/Table/index.tsx b/layout/shared/Leaderboard/components/Table/index.tsx
index fe57fe53..b3067077 100644
--- a/layout/shared/Leaderboard/components/Table/index.tsx
+++ b/layout/shared/Leaderboard/components/Table/index.tsx
@@ -59,7 +59,7 @@ export default function Table({ list, user, maxUsersToShow }) {
 
   return (
     <div className="overflow-hidden">
-      <div className="mt-12 h-8 grid-cols-3 pt-2 ">
+      <div className="mt-12 h-8 select-none grid-cols-3 pt-2">
         <div className="col-span-1 float-left w-1/3 text-left font-iregular">
           Rank
         </div>