-
- Person
- |
@@ -73,35 +71,20 @@ export default function Bookings({ bookings }) {
Unconfirmed
)}
-
- {booking.attendees[0].name}
+
+ {booking.title}
{booking.attendees[0].email}
-
- {booking.title}
-
-
-
-
- {booking.title}
-
-
- You and {booking.attendees[0].name}
-
|
{dayjs(booking.startTime).format("D MMMM YYYY")}
- {dayjs(booking.startTime).format("HH:mm")} - {dayjs(booking.endTime).format("HH:mm")}
+ {dayjs(booking.startTime).format("HH:mm")} -{" "}
+ {dayjs(booking.endTime).format("HH:mm")}
- |
+
{!booking.confirmed && !booking.rejected && (
<>
@@ -129,6 +112,68 @@ export default function Bookings({ bookings }) {
className="text-xs sm:text-sm inline-flex items-center px-4 py-2 border-transparent font-medium rounded-sm shadow-sm text-neutral-700 bg-white hover:bg-neutral-100 border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-black ml-2">
Reschedule
+
>
)}
{!booking.confirmed && booking.rejected && (
@@ -184,7 +229,7 @@ export async function getServerSideProps(context) {
},
});
- const bookings = b.map(booking=>{
+ const bookings = b.reverse().map(booking=>{
return ({...booking, startTime:booking.startTime.toISOString(), endTime:booking.endTime.toISOString(),})
});
diff --git a/pages/cancel/[uid].tsx b/pages/cancel/[uid].tsx
index a415e470..11724e01 100644
--- a/pages/cancel/[uid].tsx
+++ b/pages/cancel/[uid].tsx
@@ -15,10 +15,6 @@ dayjs.extend(isBetween);
dayjs.extend(utc);
dayjs.extend(timezone);
-function classNames(...classes) {
- return classes.filter(Boolean).join(' ')
-}
-
export default function Type(props) {
// Get router variables
const router = useRouter();
diff --git a/pages/cancel/success.tsx b/pages/cancel/success.tsx
index 749de20e..f221603b 100644
--- a/pages/cancel/success.tsx
+++ b/pages/cancel/success.tsx
@@ -1,4 +1,3 @@
-import {useState} from 'react';
import Head from 'next/head';
import prisma from '../../lib/prisma';
import {useRouter} from 'next/router';
@@ -14,16 +13,10 @@ dayjs.extend(isBetween);
dayjs.extend(utc);
dayjs.extend(timezone);
-function classNames(...classes) {
- return classes.filter(Boolean).join(' ')
-}
-
export default function Type(props) {
// Get router variables
const router = useRouter();
- const [is24h, setIs24h] = useState(false);
-
return (
diff --git a/pages/event-types/index.tsx b/pages/event-types/index.tsx
index 93b4e83c..f78bf5fc 100644
--- a/pages/event-types/index.tsx
+++ b/pages/event-types/index.tsx
@@ -7,10 +7,6 @@ import { getSession, useSession } from "next-auth/client";
import { Fragment, useRef, useState } from "react";
import { Menu, Transition } from "@headlessui/react";
-function classNames(...classes) {
- return classes.filter(Boolean).join(" ");
-}
-
import {
ClockIcon,
DotsHorizontalIcon,
@@ -21,6 +17,7 @@ import {
UserIcon,
} from "@heroicons/react/solid";
import Loader from "@components/Loader";
+import classNames from "@lib/classNames";
export default function Availability({ user, types }) {
const [session, loading] = useSession();
diff --git a/pages/integrations/index.tsx b/pages/integrations/index.tsx
index 36843394..76c0c39d 100644
--- a/pages/integrations/index.tsx
+++ b/pages/integrations/index.tsx
@@ -14,6 +14,7 @@ import {
import { InformationCircleIcon } from "@heroicons/react/outline";
import { Switch } from "@headlessui/react";
import Loader from '@components/Loader';
+import classNames from "@lib/classNames";
export default function Home({ integrations }) {
const [session, loading] = useSession();
@@ -81,10 +82,6 @@ export default function Home({ integrations }) {
}
}
- function classNames(...classes) {
- return classes.filter(Boolean).join(" ");
- }
-
useEffect(loadCalendars, [integrations]);
if (loading) {
From a151dcfd0108d4108fd6a91290d3f94860693a9c Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 10:34:43 +0200
Subject: [PATCH 16/70] removed unused imports
---
components/Shell.tsx | 3 +-
pages/bookings/index.tsx | 135 +++++++++++++++++++--------------------
2 files changed, 67 insertions(+), 71 deletions(-)
diff --git a/components/Shell.tsx b/components/Shell.tsx
index 3a20d701..063feaa8 100644
--- a/components/Shell.tsx
+++ b/components/Shell.tsx
@@ -16,8 +16,7 @@ import {
LinkIcon,
} from "@heroicons/react/solid";
import Logo from "./Logo";
-
-
+import classNames from "@lib/classNames";
export default function Shell(props) {
const router = useRouter();
diff --git a/pages/bookings/index.tsx b/pages/bookings/index.tsx
index 6612f7d3..f21bd5ac 100644
--- a/pages/bookings/index.tsx
+++ b/pages/bookings/index.tsx
@@ -4,10 +4,10 @@ import { getSession, useSession } from "next-auth/client";
import Shell from "../../components/Shell";
import { useRouter } from "next/router";
import dayjs from "dayjs";
-import {Fragment} from 'react';
-import {Menu, Transition} from '@headlessui/react';
-import {DotsHorizontalIcon, ExternalLinkIcon, LinkIcon} from '@heroicons/react/solid';
-
+import { Fragment } from "react";
+import { Menu, Transition } from "@headlessui/react";
+import { DotsHorizontalIcon } from "@heroicons/react/solid";
+import classNames from "@lib/classNames";
export default function Bookings({ bookings }) {
const [, loading] = useSession();
@@ -104,76 +104,73 @@ export default function Bookings({ bookings }) {
<>
+ className="hidden text-xs sm:text-sm lg:inline-flex items-center px-4 py-2 border-transparent font-medium rounded-sm shadow-sm text-neutral-700 bg-white hover:bg-neutral-100 border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-black ml-2">
Cancel
+ className="hidden text-xs sm:text-sm lg:inline-flex items-center px-4 py-2 border-transparent font-medium rounded-sm shadow-sm text-neutral-700 bg-white hover:bg-neutral-100 border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-black ml-2">
Reschedule
-
>
)}
{!booking.confirmed && booking.rejected && (
@@ -229,8 +226,8 @@ export async function getServerSideProps(context) {
},
});
- const bookings = b.reverse().map(booking=>{
- return ({...booking, startTime:booking.startTime.toISOString(), endTime:booking.endTime.toISOString(),})
+ const bookings = b.reverse().map((booking) => {
+ return { ...booking, startTime: booking.startTime.toISOString(), endTime: booking.endTime.toISOString() };
});
return { props: { bookings } };
From a4c1ac82759c61ce334ac414860517281e66b071 Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 10:47:01 +0200
Subject: [PATCH 17/70] added icons to buttons, added mailto to /booking, moved
date into one column
---
pages/bookings/index.tsx | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/pages/bookings/index.tsx b/pages/bookings/index.tsx
index f21bd5ac..fe5e27a4 100644
--- a/pages/bookings/index.tsx
+++ b/pages/bookings/index.tsx
@@ -8,6 +8,7 @@ import { Fragment } from "react";
import { Menu, Transition } from "@headlessui/react";
import { DotsHorizontalIcon } from "@heroicons/react/solid";
import classNames from "@lib/classNames";
+import { ClockIcon, XIcon } from "@heroicons/react/outline";
export default function Bookings({ bookings }) {
const [, loading] = useSession();
@@ -51,7 +52,7 @@ export default function Bookings({ bookings }) {
| |
+ className="hidden sm:table-cell px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Date
|
@@ -74,9 +75,22 @@ export default function Bookings({ bookings }) {
{booking.title}
- {booking.attendees[0].email}
+
+
+ {dayjs(booking.startTime).format("D MMMM YYYY")}:{" "}
+
+ {dayjs(booking.startTime).format("HH:mm")} -{" "}
+ {dayjs(booking.endTime).format("HH:mm")}
+
+
+
+
- |
+ |
{dayjs(booking.startTime).format("D MMMM YYYY")}
@@ -105,11 +119,19 @@ export default function Bookings({ bookings }) {
+
Cancel
+
Reschedule
@@ -145,6 +167,10 @@ export default function Bookings({ bookings }) {
: "text-neutral-700",
"group flex items-center px-4 py-2 text-sm font-medium"
)}>
+
Cancel
)}
@@ -161,6 +187,10 @@ export default function Bookings({ bookings }) {
: "text-neutral-700",
"group flex items-center px-4 py-2 text-sm w-full font-medium"
)}>
+
Reschedule
)}
From 2d36b5d2298e19c46cc2dbd74e26b789f5189b6b Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 11:09:15 +0200
Subject: [PATCH 18/70] /booking truncate event name for mobile
---
pages/bookings/index.tsx | 9 +++++----
pages/settings/password.tsx | 9 +++++----
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/pages/bookings/index.tsx b/pages/bookings/index.tsx
index fe5e27a4..e537de1a 100644
--- a/pages/bookings/index.tsx
+++ b/pages/bookings/index.tsx
@@ -11,7 +11,8 @@ import classNames from "@lib/classNames";
import { ClockIcon, XIcon } from "@heroicons/react/outline";
export default function Bookings({ bookings }) {
- const [, loading] = useSession();
+ const [session, loading] = useSession();
+ console.log(session)
const router = useRouter();
if (loading) {
@@ -72,8 +73,8 @@ export default function Bookings({ bookings }) {
Unconfirmed
)}
-
- {booking.title}
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dol
@@ -109,7 +110,7 @@ export default function Bookings({ bookings }) {
>
diff --git a/pages/settings/password.tsx b/pages/settings/password.tsx
index 347d1c3a..bd1423d8 100644
--- a/pages/settings/password.tsx
+++ b/pages/settings/password.tsx
@@ -1,15 +1,16 @@
import Head from "next/head";
-import Link from "next/link";
import { useRef, useState } from "react";
import prisma from "../../lib/prisma";
import Modal from "../../components/Modal";
import Shell from "../../components/Shell";
import SettingsShell from "../../components/Settings";
import { useSession, getSession } from "next-auth/client";
-import Loader from '@components/Loader';
+import Loader from "@components/Loader";
-export default function Settings(props) {
+export default function Settings() {
const [session, loading] = useSession();
+ console.log(session);
+
const [successModalOpen, setSuccessModalOpen] = useState(false);
const oldPasswordRef = useRef ();
const newPasswordRef = useRef();
@@ -42,7 +43,7 @@ export default function Settings(props) {
}
return (
-
+
Change Password | Calendso
From 927d7a4bb0b3b709b95a6cdd1577bc99a8a7e2d9 Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 11:09:21 +0200
Subject: [PATCH 19/70] /booking truncate event name for mobile
---
pages/settings/password.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/settings/password.tsx b/pages/settings/password.tsx
index bd1423d8..54220f49 100644
--- a/pages/settings/password.tsx
+++ b/pages/settings/password.tsx
@@ -16,7 +16,7 @@ export default function Settings() {
const newPasswordRef = useRef();
if (loading) {
- return ;
+ return ;
}
const closeSuccessModal = () => {
From 90aed4a2b95e8eaf602489f069939d633a068913 Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 11:32:37 +0200
Subject: [PATCH 20/70] removed zoom (caused some issues with dialogs) and
removed lorem ipsum (whoopsie)
---
pages/_document.tsx | 7 ++++++-
pages/bookings/index.tsx | 4 ++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/pages/_document.tsx b/pages/_document.tsx
index 4cd35999..7ed7e131 100644
--- a/pages/_document.tsx
+++ b/pages/_document.tsx
@@ -9,7 +9,12 @@ class MyDocument extends Document {
render() {
return (
-
+
+
+
diff --git a/pages/bookings/index.tsx b/pages/bookings/index.tsx
index e537de1a..9a5b906b 100644
--- a/pages/bookings/index.tsx
+++ b/pages/bookings/index.tsx
@@ -12,7 +12,7 @@ import { ClockIcon, XIcon } from "@heroicons/react/outline";
export default function Bookings({ bookings }) {
const [session, loading] = useSession();
- console.log(session)
+ console.log(session);
const router = useRouter();
if (loading) {
@@ -74,7 +74,7 @@ export default function Bookings({ bookings }) {
)}
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dol
+ {booking.title}
From 062d9a99357035faee6fedd8812bcfe58bec2a76 Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 11:39:06 +0200
Subject: [PATCH 21/70] added new favicon
---
pages/_document.tsx | 7 +++++++
public/android-chrome-192x192.png | Bin 0 -> 4544 bytes
public/android-chrome-256x256.png | Bin 0 -> 6336 bytes
public/apple-touch-icon.png | Bin 0 -> 2539 bytes
public/browserconfig.xml | 9 +++++++++
public/favicon-16x16.png | Bin 0 -> 736 bytes
public/favicon-32x32.png | Bin 0 -> 1181 bytes
public/favicon.ico | Bin 15086 -> 15086 bytes
public/mstile-150x150.png | Bin 0 -> 1874 bytes
public/safari-pinned-tab.svg | 21 +++++++++++++++++++++
public/site.webmanifest | 19 +++++++++++++++++++
11 files changed, 56 insertions(+)
create mode 100644 public/android-chrome-192x192.png
create mode 100644 public/android-chrome-256x256.png
create mode 100644 public/apple-touch-icon.png
create mode 100644 public/browserconfig.xml
create mode 100644 public/favicon-16x16.png
create mode 100644 public/favicon-32x32.png
create mode 100644 public/mstile-150x150.png
create mode 100644 public/safari-pinned-tab.svg
create mode 100644 public/site.webmanifest
diff --git a/pages/_document.tsx b/pages/_document.tsx
index 7ed7e131..2a640cc9 100644
--- a/pages/_document.tsx
+++ b/pages/_document.tsx
@@ -14,6 +14,13 @@ class MyDocument extends Document {
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
+
+
+
+
+
+
+
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2d42761bdeb30f48e8ecffb5f38739cf1151081
GIT binary patch
literal 4544
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
literal 0
HcmV?d00001
diff --git a/public/android-chrome-256x256.png b/public/android-chrome-256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2f5ab0349e02a74bb7d50e8d2f6e0cdb4236070
GIT binary patch
literal 6336
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
Yw%C{g|7gf&l3xMnYa44-YapNg58{{EcmMzZ
literal 0
HcmV?d00001
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a260ebf747ca71138cb5d8f28d0ac1a1f9aacc8
GIT binary patch
literal 2539
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
literal 0
HcmV?d00001
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
new file mode 100644
index 00000000..748e8459
--- /dev/null
+++ b/public/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #ff0000
+
+
+
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae31464df50fb905add4dfc71a8d596806605756
GIT binary patch
literal 736
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F
z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>V|oef#$O`3qmae)aPYN=eJOeC5j3tJiXJ
z3!-A;-@SW(=+I#+8+$7o2fu*eW5Dqu|Vc6VXuV3qX%a@b2eeO=j~axinM8h^<0
zI{*~w^>lFzk+__kkdTrj*2*LnX2!}eU1LF__ODkh@D^o*l0|P4q1I>pwLCFE3
zAvZrIGp!Q0hKN0hJAoR)t3o15f)dLW3X1a6GILTDN-7Id6*3D-k{K8(<~;ty!%-Nf
zp>fLp^cl~mK@7~w+!lvVtU&J%W50
z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081LN`lpAc7|g8xGV{QC9l
z^5rY@7c6RSX=`e3n=^O*`STZk{`~pm>C?LUMl%Z=6*VnIWp!m$O%pTA>e~9JPoKpn
zBrBhRb?f%syZ5$k+a3`WtE#T8
ztftl7)A#S+zZ*AhT3XwCdi&kHdF#oOr;*Wdj!tg(?>|_%a`l|K^EPhWym`yk-o6QX
z`o_mkoYV!9$4|_hHRt?=3yYU5Tef_qn}_$6t5*YpLhT(~?%liZ?GvzO?YdjHZ{NIi
zYvZOZAz_jI6DGwaB%52>np@gvYU`(GWWRp>rlzjJ)ZF^TiKc$uExq=R@Hy_Ne*ZRW0JSK3*&z#-FrX|dx@v7EBjLpW=>V(
z4_ST(fYLsmE{-7ir<(h^fQJ21YHnGh6eoz>xIFL9}O&keEf|5)ozQ$y-?E6qHXZsQ3Fb&Sq*}#2UBYh(cFYu?mV742@?vSLLEhqj@zu|Ri|&igkqd+we2bnfio)eIS~b}gX+
z5mQ?3PCTlr;Fh&AJJOObKP)6H^!k-uJFX;tUe=m!Yp_5{YWAMHv!XY!mj-1^8?1Gym0}N`_
z64!{5l*E!$tK_0oAjM#0U}UIkV4-VZ9AaQ;Wo&L`YN%~sU}a#S`S2zvFC#SM=BH$)
zRpQnVu_tjSP(yfCNJL3cV!1*=QGQxxPO3slWkIS!W2I
U`Q&6e6=(&6r>mdKI;Vst02tv#H~;_u
literal 0
HcmV?d00001
diff --git a/public/favicon.ico b/public/favicon.ico
index 4021a7bc259eeb8aaddb09c15e5107d290b99bc6..eaaa2f9f0f69e48699c5147c483e51f172a76941 100644
GIT binary patch
literal 15086
zcmd^G2~d?)6#h+Zo2Hy{nyHzR6bwNHH{3wdnrc!Ja7&V~G|f>nYii03+%PM1oyH}_
zHJ4Ib5G6%6aoU-QU3t&PY=Uo(zF0g(>y#X-y3P#8RRuW%HQ8@plPuv;Egi)L>mGyUySZ
z@+c4j!~v&)>wvTACK&tyYybuUPdF;CsT{t!ALt2e11XLar;JF8Iu}TT|e&KwG;20o%5ZLJ6;@Xrh4Y}0$AfU)*3HQz{g?QW_X1ceS
zca)BM9M`0}O20$!g1Ra^B^NWGH3Re(%!$dlGXQlFKOxBT$ozIl-I(msdQ}L
zR+cVVY`9)szkXfj&G|}N`*t9^juO}@Ks|FTe42ZzwlQtf%2!scSYhY@
zB<8p>LxnPLQ&e2Yb(NKsNz~vs%&PUWd*<+kMKo>W)Jmj0|>xw5W^ujI6zzoXtAE*uwo#C7zS#O<HfR*`q`n4pE?8CV|483QR#tw!W-)+*MFWRnCEIT?_ZFCYY@)_ue{h@oiS~n
z%_`*AV@G9R-|#B?*SPn_7_xt{zs%sV3<8D+^Tr4|x{36q*PQlqUQu>AVk-niJYOju-G(on;|11|S
zTyQtBZOX&FproWkp{%r2xb8cN>~A_wVysiOf9h0^5!KKiS9cCx)q5xxS(5>$DQ9(-
zy5_{8w)Vg|U2AnsW&eN;eY*{SWv*eVD;N59AFcGk1mL+YjRE_jZi<1&EH
zfFR(ZJ4r1uhz}A?t6-sMO)F>GMAJ%`KBj5;Odrs+6sGlWr!jo5r)j2?um1;%scfW5
zE!v;LeDqJgWr}_?_2UiZqhC$^EGf78opD+ozzcvmP7ASI_6XzpEHECR@mLR?;)U!u
zFcm;VnQg*vj5P@Z=s0l3<(YGx2B}EEdXKpec_RU?C(fpS!Qd0XECZf<1Fnoyp$w56
z38YU0djMBcCK!4FV*u)itBLwRo#gsy6#WLqM#ji+U3U+MuY)5%`%dQZ#OnSNVeDfBs1Z
z4d}1>gul~vswd@~I;DKfY-7(?Ulv<_h2Qh@rGI#+8k3j02TOilo^B$1zj1>(=3v><
zB{kOj>#<|9ZtWV`uzsCTSM(yr60q&<{8}rUxnA`;T91i8?ZZacjR$>2{iS?dqK6R3F|1NzGM(@8y##z$F
zzulSRWv6c5HQoXAxaZhmRqbbv`*@%+V8j{p5cuNesO|tS;@OpU9p1CT$=gJDj{sbu
zi@ay?u6Lh_H&eXRHq--12AmO?%EReCfOowryshM*K2RqU0UjprWqsg1nzp87fcLDY
zEP3%6_Jby{B|Mf7YfK6(4KXkm0J;JSX{VrB!UHhdDQd8YL4MvB
zR|B+j+avy;(|W)MRdakjfn=bzlz|U?fMvD)(4su$xR-k#+spfEH9B8Vpkgu^i&@*d
z$L{oW2@C0^_Hf2C&@a7juVbcwqM}0KIb`JUVQN1-k)17!If)t^A;s`_+oL@h84`%Q
z%b|k@%|$OF&YJsZDg4Uzh~M+>bNCRKv0KEra^3?SiB~ErDpEdp#y4eUWy;BuC*-3K
z#;G{yk`nv!lOy{tJf!!n{tN1=`jYWSHIVJ`!+kL=HAPZWlBJ;Fj!W>pTr5i<)1n&W
uawMB`&I90@R9i~M2VRwPkabWFM-Jy)x0VB*{5AzP&=}Z7YfJow-~I=a9nz2h
literal 15086
zcmeI350F(=9mmgOVK)#2`vXbrd;3#%ZQSn{p-_S3yy6H3cV<(I`nV%>hMFSmD7+
z>z@IFrDjp5CaZ~>EOYvU+vu$2NHz(UHCZGs63~Le5`T8V$Gd&Lk9)VXckg?9@B0Je
zv^(?J^XH!P`+d*3=bn4-x#t-ZGZm(;&Jfm^4Iee;Q^uH@8aF-0m~G^ZA=L3XLyh@5
z1wKX@s+d`z{OsS^CxUYQzv+VN5i6%9)^2^MHnV4Kt<$-tD
z>EDR{%3}4Sc__?>!{EG^^t;;U5+0QH_mY0JR=^$bAL;feqW_OF9-f1P5N6&gc>JJs
z2;2?_Jl$Scp#FE!{0+Dm_LWmVI;DL!?DsU=VFCK3y#+=<9qfm)^glXdFbnqCn(cT*
z{hs#IHIJZsV!8CAQQB{Uw{5-t_noC*xqod!PY}N+|7Catvf9h3AC1yJ
z1NQj!2BjBFj=!~TM&i88cg{KueWUWw=l(;vvh+V1Z-CAqtvT{K$WKJQx0FLaIOY@0lYuY0IVA&M#Dd$;JVvODgHSIsh*(PHtLqW&9%URi8%Zg#klJOe@Y^W|y$WxpR1j)Qw(
z4NQd!P#bg}^4SQZUww2g3;~^I&z{!!8r*i>Og!rK@D_E>0%?5=Ji8jFSGaa(6IcIv
z$NZt%*XJFa^g3Vp*GTKWI2QiqJGRR8a|!wSrtG($FTI8Gqv1^0>Z|*(Yxi>Udwj=i
zn@?~orn252=?ma5R-Hc+KLdjNtW!OX)k9SMo2euH6W~p-b$R`w>p7SH*Ex2fr`rz6
z*Le9FJOFw&sDga@6C7U%jj%Wbva7LC3DuBGf0ASOfo)guyWl)q^FVRRj|cyG&i4O6
zb@Ls^W={S2>P0=4Lw`$DJO1*n{%wT)#*e>jF=^~;o_x;dXKpbzRTq1@241l2YQDLn
zSi3>>v8#6r_0@6sIgAe~7c~z%S3?J+;VBpw)rRAA8N=J)|H2N#b|cd5ZkTdIEGs|b
zhH3U7Dc!>!BZZjhP}pH&*|5FJ$%ZL6G$+E08>Zc`#|^vOu)_`8tDJ28a)#~bZI3xl
zN+HcM`9fwqwWmF8D!K??*k`IXDr`2D6BIU?%8`WI6{&
zw3jFqw*C0kUZ#8DaKya?`JQz``NyaBBFzJR1B$X2=_Sswo;B=w+>Q_E-}QYLVbr}u
zntwkIzbMo{KD8I-)&G3%vr(fIM{F3{}u6)mgy{?a3zLg)wf297OTOa>Cb6Y1kHoD#e^pw>9Q*&xA
zYrQeCoBc74%{NImUz>P?Z>rCtq0Qwtgx`m;CeI(|J#_nbuBu%G&aTz{*|Dn>G1pMSki>izFU_y^?cN57tK%Impr6LfGM6yc=jK0%Pu3-b@K`MBn0(??f*{7
zcs3pP(SEg_{;ac|8Oi0de7eh%V9jc
z0jl$FI2&$*?eJy}G)^vp8z2L!E1RQ0-w?Gv>(%`k@uac-NNZniHK?z3&TaqalJ<_P
zOfK}yJp(-dKP9f`kg=dPs-F7tG|P3rD93gF{|;)yzaaE4oG3dT(xAEoWVi+T`KPX)gZuophIGGofuQ<#el|W7z5RaM
z61M*4rOEo|=O_2H-Cg6f&8tbb&P=Sm`;zQ$Hg3emNV|W6{O?&)dmU};cK1OZBfQG4
zW5n9)=BL8nwJ;Aqo8}P
zjva;u&^NEIz!cCJR~gOqOW^@GRJk9*A7K(Kf!m>XUk!2H+qOXV8>Zdwij&_0Z7|$E
lmW~-CdZ23}>!Al&8--?AZPC2lm=tBihNLmOw-~b@{tM}q(}@58
diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4990a1a445454270a4ccc16cc6610f18772abdf
GIT binary patch
literal 1874
zcmbtVc`(}v6#muGT8g%G9o05l4T~ZruC&+?T2v{DqN)wL5oepY5=U#@jjU$2$`VRd
zu&ydycdZbutUH>fB39IuAg)*y-HreDpPkv6eKT*~y!YmN$Gn;MWx8IyBrmHj3jlz;
z!)1gU031-*R~adBWc1hb24W+17w!xPfCi$R=(e=j2O%%JIRikv762sw005uGq2vVs
zz(N3EDF6UqPXRzBvat2qMR7vnj?*Os@K-vK-X-=9VH}+84t5?Jo6uD(#*6bI*GSLzST!eE
z6ceBF)8n~(g5^N0I#j~|^>A?14rWV&8VS1Uy}D2>R^v3EB7U|dQe-$eJJvB=-9EHM
zi7&ggrt!LuY<4hzfV^^d&-Z47In$tvC&yOCeNly4v9@sua{;3A0b-kew4$n%!45uY
zW@>W8JTl|P+zo@?6=}(LzjqFH3H4NyK1}au_{&l?@x?Lnm!YA!wpGl1J{baWjO(#n}o=ExbBIm-vi|WlCQ^v?`Q>H9AvAFU*_Db<-
z-iTJ1YkD)qS6{utp`c`BiB~o2{=1VYb>)af+#?Q;yUXDfiwfuCs}y5MPFMY+8;P43
z&MbIpl-89<|HQOBqs^IFQUAGlX%*jA@q=l7I_`xE4o#3PvNDS%_V+IPUq|+YZ=7*i
zY_xBjkIk>{){STdM;G^ZZ;xm64Uv6UYtFrnixLbjMc-0ya|xV7wi~Gu7@Z*Znvp~;
zRiYW*o9~~STetn?%^Y7)NN3pZ^nTZ5FqFa8Gm5IVmIKa_tJY#C
z`t&f){lznMoVgdhAo%mmPmXnUi(YK1bM14H&aBrjB{+qqMauZvt*skL@3cH^YwqgI
zX-0?-kHxo4^paVwZuH12hxteI%+`;U^Rv`)HdC^iOoi06CwJ1gg7J}4VOf?9&&r?v
zp-P7NFlw1fCw#Kh6t=shvea`n#|H0BN2Vm-Nkih67V6(*>PqYvP#QukH)xx_Qa08&
z@yZ%23M6J&Ha&a(^bhZfla*X;M#Gf@NqTb;dc0TH%G~>C=qH}DhPL4D8rpad+*
zMUeL(r@~v`H
zKBD;-_?C%N%LyGtw3^O$ocEMMsOWNu7*n|*2%`Rg`X
zx5t9nZtNp}2H3=Uw0d=`(`qyXTj}dr`q&5R>5h33yy(G*uf)Dy8C7z4P<&DcV}5pM
z7+o+qPZLsXi=U2g9_R2nBu^1?
zN^6N>knpY2g4KfqwPPExawzz(3`O~AUd{VmNB^8#pl~5!${aNEXJ6w7wDKb-@^X1M
z$9Ji5C}M~DWk@<5|C<{V
zpS#l^*NKuVOlNeyPf1kqn>brkwt;D7L5;T5M0>2Nrq4E~QI)W4Jn7;u@SdpT0rhGm
zwmoMIL14(7d{GsRZZky}O)Om6D-Cln5uW3s79vGGnYvY!bJbqEkEfU$2marC{7-1v
zMHh?Kr8j+*!hMbaW9+;!fwwV1Fyy@;u>p)AM(6b*=K2t04~PZK*bHW3qz8e(AQ08B
zdc@@N4?tK%ASyWS-vKBO+*vWeE8fE!<90g+6nQTq7!?`>!o)=efl!ecF$2XGa@P;b
zM0tMu?K_tNy2B?oKvGlA04b-WspLdbmQ(^ElA%3;lA4VkpaJH1Kb20^pdK1XzFgvH
Z04%8-#jM+y{ItKcgWXj`txdqgzX2?QOoRXc
literal 0
HcmV?d00001
diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg
new file mode 100644
index 00000000..1598a6c8
--- /dev/null
+++ b/public/safari-pinned-tab.svg
@@ -0,0 +1,21 @@
+
+
+
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 00000000..11e9eb0e
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "Calendso",
+ "short_name": "Calendso",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-256x256.png",
+ "sizes": "256x256",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
From 5b48b26111bfe93bf22d08fe23fa9263efe3aea7 Mon Sep 17 00:00:00 2001
From: Peer Richelsen
Date: Tue, 3 Aug 2021 12:01:12 +0200
Subject: [PATCH 22/70] fixed layout for event type detail view on mobile
---
pages/event-types/[type].tsx | 54 ++++++++++++++++++------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/pages/event-types/[type].tsx b/pages/event-types/[type].tsx
index 4d6329fe..1bb8b843 100644
--- a/pages/event-types/[type].tsx
+++ b/pages/event-types/[type].tsx
@@ -391,10 +391,10 @@ export default function EventTypePage({
|