diff --git a/components/booking/pages/AvailabilityPage.tsx b/components/booking/pages/AvailabilityPage.tsx index ef29431e..acbd79a9 100644 --- a/components/booking/pages/AvailabilityPage.tsx +++ b/components/booking/pages/AvailabilityPage.tsx @@ -148,10 +148,10 @@ const AvailabilityPage = ({ profile, eventType, workingHours }: AvailabilityPage image: user.avatar, })) )} - size={16} + size={10} truncateAfter={3} /> -

{profile.name}

+

{profile.name}

{eventType.title}

diff --git a/components/team/screens/Team.tsx b/components/team/screens/Team.tsx index b3f418a4..c3f13efa 100644 --- a/components/team/screens/Team.tsx +++ b/components/team/screens/Team.tsx @@ -5,6 +5,7 @@ import Avatar from "@components/ui/Avatar"; import { ArrowRightIcon } from "@heroicons/react/outline"; import classnames from "classnames"; import { ArrowLeftIcon } from "@heroicons/react/solid"; +import Button from "@components/ui/Button"; const Team = ({ team }) => { const Member = ({ member }) => { @@ -68,11 +69,9 @@ const Team = ({ team }) => { {team.eventTypes.length && ( )} diff --git a/components/ui/Avatar.tsx b/components/ui/Avatar.tsx index bbed7bcf..290f81e3 100644 --- a/components/ui/Avatar.tsx +++ b/components/ui/Avatar.tsx @@ -13,17 +13,13 @@ export type AvatarProps = { }; export default function Avatar({ imageSrc, gravatarFallbackMd5, size, alt, title, ...props }: AvatarProps) { - const className = classNames( - "border-2 border-gray-300 rounded-full", - props.className, - `h-${size} w-${size}` - ); + const className = classNames("rounded-full", props.className, `h-${size} w-${size}`); const avatar = ( {gravatarFallbackMd5 && ( @@ -34,7 +30,7 @@ export default function Avatar({ imageSrc, gravatarFallbackMd5, size, alt, title ); return title ? ( - + {avatar} diff --git a/components/ui/Badge.tsx b/components/ui/Badge.tsx index ebd552de..d8457534 100644 --- a/components/ui/Badge.tsx +++ b/components/ui/Badge.tsx @@ -2,7 +2,7 @@ import classNames from "@lib/classNames"; import React from "react"; export type BadgeProps = { - variant: "default" | "success"; + variant: "default" | "success" | "gray"; } & JSX.IntrinsicElements["span"]; export const Badge = function Badge(props: BadgeProps) { @@ -12,9 +12,10 @@ export const Badge = function Badge(props: BadgeProps) { {props.children} diff --git a/components/ui/Button.tsx b/components/ui/Button.tsx index f02882ac..c980f7a4 100644 --- a/components/ui/Button.tsx +++ b/components/ui/Button.tsx @@ -12,6 +12,7 @@ export type ButtonProps = { onClick?: (event: React.MouseEvent) => void; StartIcon?: SVGComponent; EndIcon?: SVGComponent; + shallow?: boolean; } & ( | (Omit & { href: LinkProps["href"] }) | (JSX.IntrinsicElements["button"] & { href?: never }) @@ -24,6 +25,7 @@ export const Button = function Button(props: ButtonProps) { size = "base", StartIcon, EndIcon, + shallow, // attributes propagated from `HTMLAnchorProps` or `HTMLButtonProps` ...passThroughProps } = props; @@ -58,7 +60,7 @@ export const Button = function Button(props: ButtonProps) { color === "secondary" && (disabled ? "border border-gray-200 text-gray-400 bg-white" - : "border border-gray-300 text-gray-700 bg-white hover:bg-gray-50 hover:text-gray-900 hover:shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-neutral-900"), + : "border border-gray-300 text-gray-700 bg-white hover:bg-gray-50 hover:text-gray-900 hover:shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-neutral-900 dark:bg-transparent dark:text-white dark:border-gray-800 dark:hover:bg-gray-900"), color === "minimal" && (disabled ? "text-gray-400 bg-transparent" @@ -109,7 +111,7 @@ export const Button = function Button(props: ButtonProps) { ); return props.href ? ( - + {element} ) : ( diff --git a/pages/event-types/index.tsx b/pages/event-types/index.tsx index 1bbeacde..6630b867 100644 --- a/pages/event-types/index.tsx +++ b/pages/event-types/index.tsx @@ -36,6 +36,7 @@ import createEventType from "@lib/mutations/event-types/create-event-type"; import { HttpError } from "@lib/core/http/error"; import { asStringOrNull } from "@lib/asStringOrNull"; import AvatarGroup from "@components/ui/AvatarGroup"; +import Badge from "@components/ui/Badge"; const EventTypesPage = (props: inferSSRProps) => { const CreateFirstEventTypeView = () => ( @@ -53,18 +54,31 @@ const EventTypesPage = (props: inferSSRProps) => { ); const EventTypeListHeading = ({ profile, membershipCount }) => ( -
- +
+ + + + +
- {profile.name} + + {profile.name} + {membershipCount && ( - - {membershipCount} + + + + + + {membershipCount} + + + )} {typeof window !== "undefined" && ( - {`${window.location.host}/${profile.slug}`} + {`${window.location.host}/${profile.slug}`} )}
@@ -80,7 +94,7 @@ const EventTypesPage = (props: inferSSRProps) => { readOnly: boolean; types: EventType[]; }) => ( -
+
    {types.map((type) => (
  • { {profiles.map((profile) => ( router.push({ pathname: router.pathname, diff --git a/pages/team/[slug].tsx b/pages/team/[slug].tsx index eabae5f0..000517ff 100644 --- a/pages/team/[slug].tsx +++ b/pages/team/[slug].tsx @@ -12,6 +12,7 @@ import EventTypeDescription from "@components/eventtype/EventTypeDescription"; import Team from "@components/team/screens/Team"; import { useToggleQuery } from "@lib/hooks/useToggleQuery"; import AvatarGroup from "@components/ui/AvatarGroup"; +import Button from "@components/ui/Button"; function TeamPage({ team }: InferGetServerSidePropsType) { const { isReady } = useTheme(); @@ -25,20 +26,22 @@ function TeamPage({ team }: InferGetServerSidePropsType - +

    {type.title}

    - ({ - alt: user.name, - image: user.avatar, - }))} - /> +
    + ({ + alt: user.name, + image: user.avatar, + }))} + /> +
  • @@ -63,12 +66,26 @@ function TeamPage({ team }: InferGetServerSidePropsType {eventTypes} + +
    + +
    )} diff --git a/yarn.lock b/yarn.lock index e5f7d694..71763df4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -827,6 +827,14 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/popper@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@radix-ui/popper/-/popper-0.0.10.tgz#9f707d9cec8762423f81acaf8e650e40a554cb73" + integrity sha512-YFKuPqQPKscreQid7NuB4it3PMzSwGg03vgrud6sVliHkI43QNAOHyrHyMNo015jg6QK5GVDn+7J2W5uygqSGA== + dependencies: + "@babel/runtime" "^7.13.10" + csstype "^3.0.4" + "@radix-ui/popper@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/popper/-/popper-0.1.0.tgz#c387a38f31b7799e1ea0d2bb1ca0c91c2931b063" @@ -835,6 +843,13 @@ "@babel/runtime" "^7.13.10" csstype "^3.0.4" +"@radix-ui/primitive@0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-0.0.5.tgz#8464fb4db04401bde72d36e27e05714080668d40" + integrity sha512-VeL6A5LpKYRJhDDj5tCTnzP3zm+FnvybsAkgBHQ4LUPPBnqRdWLoyKpZhlwFze/z22QHINaTIcE9Z/fTcrUR1g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-0.1.0.tgz#6206b97d379994f0d1929809db035733b337e543" @@ -842,6 +857,15 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-arrow@0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-0.0.15.tgz#2fb7e4cab626f87d4f7a403672c57bce74b0a7b4" + integrity sha512-lw3/3nPmEeK67IgndT764w/65EMm5psXnr2efCeo0eWOERTnFAswNka2bKJUSKY02FHECkH4qVzhwupFyeYv0g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-polymorphic" "0.0.13" + "@radix-ui/react-primitive" "0.0.15" + "@radix-ui/react-arrow@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-0.1.0.tgz#9491f7244c574c0a7a281de8bf8c55b85438948d" @@ -894,6 +918,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-compose-refs@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz#cff6e780a0f73778b976acff2c2a5b6551caab95" + integrity sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-context@0.0.5": version "0.0.5" resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-0.0.5.tgz#7c15f46795d7765dabfaf6f9c53791ad28c521c2" @@ -901,6 +932,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-context@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-0.1.0.tgz#670a7a2a63f8380a7cb5ff0bce87d51bdb065c5c" + integrity sha512-o8h7SP6ePEBLC33BsHiuFqW898c+wiyBiY2ZC2xFJUUnHj1Z6XrQdZCNjm3/VuhljMkPrIA5xC4swVWBo/gzOA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-dialog@^0.0.20": version "0.0.20" resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-0.0.20.tgz#b26607bea68fc20067d06fab996bac7f1acf68c1" @@ -976,6 +1014,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-id@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-0.1.0.tgz#d01067520fb8f4b09da3f914bfe6cb0f88c26721" + integrity sha512-SubMSz7rAtl6w8qZ9YBRbDe9GjW36JugBsc6aYqng8tFydvNtkuBMj86zN/x5QiomMo+r8ylBVvuWzRkS0WbBA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-label@0.0.15": version "0.0.15" resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-0.0.15.tgz#ab70d7cd93d6ebaf2e1007cca70e9b1858bcb932" @@ -1018,6 +1063,22 @@ resolved "https://registry.yarnpkg.com/@radix-ui/react-polymorphic/-/react-polymorphic-0.0.13.tgz#d010d48281626191c9513f11db5d82b37662418a" integrity sha512-0sGqBp+v9/yrsMhPfAejxcem2MwAFgaSAxF3Sieaklm6ZVYM/hTZxxWI5NVOLGV+482GwW0wIqwpVUzREjmh+w== +"@radix-ui/react-popper@0.0.18": + version "0.0.18" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-0.0.18.tgz#e85ec077c18ffca92ce97cc19586dcc6f022fffb" + integrity sha512-j8nPqX5scAmeGuyW9VQv+M4MkKsV/ulR1Yt0eu13LyGLT3L7FM2YBMt3KlbpUxrT3mrNGC0eEQAiVgm/G3/fGQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/popper" "0.0.10" + "@radix-ui/react-arrow" "0.0.15" + "@radix-ui/react-compose-refs" "0.0.5" + "@radix-ui/react-context" "0.0.5" + "@radix-ui/react-polymorphic" "0.0.13" + "@radix-ui/react-primitive" "0.0.15" + "@radix-ui/react-use-rect" "0.0.7" + "@radix-ui/react-use-size" "0.0.6" + "@radix-ui/rect" "0.0.5" + "@radix-ui/react-popper@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-0.1.0.tgz#5b41c806870c51562ca7dbfc137bdfe8c8eeb761" @@ -1033,6 +1094,25 @@ "@radix-ui/react-use-size" "0.1.0" "@radix-ui/rect" "0.1.0" +"@radix-ui/react-portal@0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-0.0.15.tgz#833bccb192aafb9420bd037d5827e88caf429dc4" + integrity sha512-qMESsdqph1gbRGzy9oSzUoeZYXnR2egXVcEZDqmesfn8w/o1rC1wadKkyBf7qo/YyjUX4mvXknAA+ftp1aQp+w== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-polymorphic" "0.0.13" + "@radix-ui/react-primitive" "0.0.15" + "@radix-ui/react-use-layout-effect" "0.0.5" + +"@radix-ui/react-portal@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-0.1.0.tgz#5f72fa2f9837df9a5e27ca9ff7a63393ff8e1f0b" + integrity sha512-HiSDaQVlhoZWvp5Wy0JPPojqo31Z3efs890oyYkpKgRDWDdMYHzEWYZxC7pB60a6c6yM5JzjJc0bP7o6bye+/Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "0.1.0" + "@radix-ui/react-use-layout-effect" "0.1.0" + "@radix-ui/react-presence@0.0.15": version "0.0.15" resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-0.0.15.tgz#4ff12feb436f1499148feb11c3a63a5d8fab568a" @@ -1042,6 +1122,15 @@ "@radix-ui/react-compose-refs" "0.0.5" "@radix-ui/react-use-layout-effect" "0.0.5" +"@radix-ui/react-presence@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-0.1.0.tgz#e7931009cbaa383f17be7d9863da9f0424efae7b" + integrity sha512-MIj5dywsSB1mWi7f9EqsxNoR5hfIScquYANbMdRmzxqNQzq2UrO8GEhOMXPo99YssdfpK9d0Pc9nLNwsFyq5Eg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.0" + "@radix-ui/react-use-layout-effect" "0.1.0" + "@radix-ui/react-primitive@0.0.15": version "0.0.15" resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.0.15.tgz#c0cf609ee565a32969d20943e2697b42a04fbdf3" @@ -1050,6 +1139,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-polymorphic" "0.0.13" +"@radix-ui/react-primitive@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.1.0.tgz#4e6fb04ede36845cf3a061311a4f879c2051c1c5" + integrity sha512-ydO24k5Cvry5RCMfm5OJNnIwvxSIUuUZ3Kf6bu1GaSsDfBKiv5JeuQkipURW28KlX7I85Jr/I02JlE+Ec4HmWA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "0.1.0" + "@radix-ui/react-roving-focus@0.0.16": version "0.0.16" resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-0.0.16.tgz#79c7ee71cf9a3c7d55eefa562189c8de80252066" @@ -1093,6 +1190,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs" "0.0.5" +"@radix-ui/react-slot@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-0.1.0.tgz#56965f2af80576f9e3fcdbba839ef7fccbd3b577" + integrity sha512-ZuvAUhSK9EAE42b3+K7k7w4nF1uF+Wd4bFj2OCE1aSiW3tgiu7ZU+J61m2+RIDps0WLu95PUx6eZrnpfqBXFRg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.0" + "@radix-ui/react-switch@^0.0.15": version "0.0.15" resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-0.0.15.tgz#675e0abd509ac211f6c9193fab786f17bd335de3" @@ -1146,6 +1251,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-callback-ref@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz#934b6e123330f5b3a6b116460e6662cbc663493f" + integrity sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-controllable-state@0.0.6": version "0.0.6" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.0.6.tgz#c4b16bc911a25889333388a684a04df937e5fec7" @@ -1154,6 +1266,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "0.0.5" +"@radix-ui/react-use-controllable-state@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz#4fced164acfc69a4e34fb9d193afdab973a55de1" + integrity sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "0.1.0" + "@radix-ui/react-use-direction@0.0.1": version "0.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-direction/-/react-use-direction-0.0.1.tgz#9ac72eb6d9902ed505c8a34048981d94f9433e14" @@ -1161,6 +1281,14 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-escape-keydown@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.0.6.tgz#1ad1c81b99961b7dbe376ef54151ebc8bef627a0" + integrity sha512-MJpVj21BYwWllmp2xbXPqpKPssJ1WWrZi+Qx7PY5hVcBhQr5Jo6yKwIX677pH5Yql95ENTTT5LW3q+LVFYIISw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "0.0.5" + "@radix-ui/react-use-escape-keydown@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz#dc80cb3753e9d1bd992adbad9a149fb6ea941874" @@ -1176,6 +1304,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-layout-effect@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223" + integrity sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-previous@0.0.5": version "0.0.5" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-0.0.5.tgz#75191d1fa0ac24c560fe8cfbaa2f1174858cbb2f" @@ -1190,6 +1325,14 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-rect@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-0.0.7.tgz#e3a55fa7183ef436042198787bf38f8c9befcc14" + integrity sha512-OmaeFTgyiGNAchaxzDu+kFLz4Ly8RUcT5nwfoz4Nddd86I8Zdq93iNFnOpVLoVYqBnFEmvR6zexHXNFATrMbbQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "0.0.5" + "@radix-ui/react-use-rect@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-0.1.0.tgz#074defa995c104e66319817c0b57ddbe3a22d53e" @@ -1220,6 +1363,13 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "0.1.0" +"@radix-ui/rect@0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-0.0.5.tgz#6000d8d800288114af4bbc5863e6b58755d7d978" + integrity sha512-gXw171KbjyttA7K1DRIvPguLmKsg8raitB67MIcsdZwcquy+a1O2w3xY21NIKEqGhJwqJkECPUmMJDXgMNYuAg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-0.1.0.tgz#6e4becf9f0161bae08a40a8a13185e6bcac9b185"