added getinitialprops
This commit is contained in:
		
							parent
							
								
									87f7984d76
								
							
						
					
					
						commit
						ea75e8974d
					
				
					 1 changed files with 61 additions and 21 deletions
				
			
		|  | @ -1,26 +1,66 @@ | |||
| import Head from 'next/head'; | ||||
| import Shell from '../../components/Shell'; | ||||
| import SettingsShell from '../../components/Settings'; | ||||
| import prisma from '../../lib/prisma'; | ||||
| import {getSession, useSession} from 'next-auth/client'; | ||||
| 
 | ||||
| export default function Billing() { | ||||
|     return( | ||||
|         <Shell heading="Billing"> | ||||
|             <Head> | ||||
|                 <title>Billing | Calendso</title> | ||||
|             </Head> | ||||
|             <SettingsShell> | ||||
|                 <div className="py-6 px-4 sm:p-6 lg:pb-8 lg:col-span-9"> | ||||
|                     <div className="mb-6"> | ||||
|                         <h2 className="text-lg leading-6 font-medium text-gray-900">Change your Subscription</h2> | ||||
|                         <p className="mt-1 text-sm text-gray-500"> | ||||
|                             Cancel, update credit card or change plan | ||||
|                         </p> | ||||
|                     </div> | ||||
|                     <div className="my-6"> | ||||
|                         <iframe src="https://calendso.com/subscription-embed" style={{width: "100%", border: 0}} /> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </SettingsShell> | ||||
|         </Shell> | ||||
|     ); | ||||
| export default function Billing(props) { | ||||
|     const [ session, loading ] = useSession(); | ||||
| 
 | ||||
|     if (loading) { | ||||
|         return <p className="text-gray-400">Loading...</p>; | ||||
|     } | ||||
| 
 | ||||
|   return ( | ||||
|     <Shell heading="Billing"> | ||||
|       <Head> | ||||
|         <title>Billing | Calendso</title> | ||||
|       </Head> | ||||
|       <SettingsShell> | ||||
|         <div className="py-6 px-4 sm:p-6 lg:pb-8 lg:col-span-9"> | ||||
|           <div className="mb-6"> | ||||
|             <h2 className="text-lg leading-6 font-medium text-gray-900"> | ||||
|               Change your Subscription | ||||
|             </h2> | ||||
|             <p className="mt-1 text-sm text-gray-500"> | ||||
|               Cancel, update credit card or change plan | ||||
|             </p> | ||||
|           </div> | ||||
|           <div className="my-6"> | ||||
|             <iframe | ||||
|               src="https://calendso.com/subscription-embed" | ||||
|               style={{ width: "100%", border: 0 }} | ||||
|             /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </SettingsShell> | ||||
|     </Shell> | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export async function getServerSideProps(context) { | ||||
|     const session = await getSession(context); | ||||
|     if (!session) { | ||||
|         return { redirect: { permanent: false, destination: '/auth/login' } }; | ||||
|     } | ||||
| 
 | ||||
|     const user = await prisma.user.findFirst({ | ||||
|         where: { | ||||
|             email: session.user.email, | ||||
|         }, | ||||
|         select: { | ||||
|             id: true, | ||||
|             username: true, | ||||
|             name: true, | ||||
|             email: true, | ||||
|             bio: true, | ||||
|             avatar: true, | ||||
|             timeZone: true, | ||||
|             weekStart: true, | ||||
|         } | ||||
|     }); | ||||
| 
 | ||||
|     return { | ||||
|       props: {user}, // will be passed to the page component as props
 | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in a new issue
	
	 Peer Richelsen
						Peer Richelsen