UI Changes, Prepare for Chatrooms
This commit is contained in:
@@ -6,5 +6,5 @@ export async function GET(req) {
|
||||
cookies().delete('user')
|
||||
cookies().delete('session')
|
||||
cookies().delete('uid')
|
||||
return NextResponse.json({}, { status: 200 });
|
||||
return NextResponse.redirect(new URL("/",req.url))
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
import { Inter } from "next/font/google";
|
||||
import "../globals.css";
|
||||
import { Header, Sidebar } from "./shared"
|
||||
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
@@ -13,13 +12,7 @@ export default function RootLayout({ children }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={inter.className}>
|
||||
<div className="grid grid-cols-4 auto-cols-max overflow-hidden">
|
||||
<div className="col-span-3 h-page">
|
||||
<Header/>
|
||||
{children}
|
||||
</div>
|
||||
<Sidebar/>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,66 @@
|
||||
"use client"
|
||||
import { useState, useEffect } from 'react'
|
||||
import {Map, Marker} from "pigeon-maps"
|
||||
import {Map, Marker, ZoomControl} from "pigeon-maps"
|
||||
|
||||
function Header() {
|
||||
return (
|
||||
<div className="m-2 rounded-lg h-[60px] bg-white shadow-2xl">
|
||||
<a href="/"><img src="/logos/logo_transparent_inverse.png" className="h-[60px]"/></a>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function Sidebar() {
|
||||
var nearbyTab = false
|
||||
return (
|
||||
<div className="h-dvh">
|
||||
<div className="bg-white shadow-2xl rounded-lg m-2 h-[98%]">
|
||||
<div className='p-2'>
|
||||
<div className='p-1 rounded-lg grid grid-cols-3 bg-white'>
|
||||
<div className='p-1 cursor-pointer rounded-lg bg-[#D3D3D3] hover:bg-white' onClick={() => {nearbyTab = true}}>Nearby</div>
|
||||
<div className='p-1 cursor-pointer rounded-lg hover:bg-[#D3D3D3] bg-white'>My Rooms</div>
|
||||
<div className='p-1 cursor-pointer rounded-lg hover:bg-[#D3D3D3] bg-white'>Create</div>
|
||||
</div>
|
||||
</div>
|
||||
{nearbyTab && <div className='overflow-y-auto h-[90%]'>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General"/>
|
||||
<ChatRoomSidebar roomName="Umaine General Last"/>
|
||||
</div> }
|
||||
</div>
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
function ChatRoomSidebar({roomName}) {
|
||||
|
||||
return (
|
||||
<div className='border-[black] border-1 shadow-lg p-2 m-2 rounded-lg grid grid-cols-3 cursor-pointer'>
|
||||
<div className=''>
|
||||
Icons
|
||||
</div>
|
||||
<div className='col-span-2'>
|
||||
<div className='font-bold'>{roomName}</div>
|
||||
<div className='italic'> x Members</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function WelcomeMessage() {
|
||||
//TODO: REALLY GROSS WAY TO GET COOKIES, NEED NEW WAY TO STORE USER DATA WITHOUT API CALLS. THIS PAGE HAS TO BE CLIENT SIDE DUE TO MAPS / GEOLOCATION
|
||||
@@ -20,7 +80,7 @@ function WelcomeMessage() {
|
||||
return (
|
||||
<div className="bg-white rounded-lg m-2 mt-4 text-left p-2 pl-5">
|
||||
<div>
|
||||
Welcome, {data.firstName} {data.lastName}
|
||||
Welcome, {data.firstName} {data.lastName} ({data.username})
|
||||
</div>
|
||||
<div>
|
||||
Lets see what's happening in your area.
|
||||
@@ -47,6 +107,7 @@ function Geo() {
|
||||
return (
|
||||
<Map className="rounded-lg" center={[data.latitude, data.longitude]} defaultZoom={14}>
|
||||
<Marker width={50} anchor={[data.latitude, data.longitude]} color="red"/>
|
||||
<ZoomControl />
|
||||
</Map>
|
||||
)
|
||||
} else {
|
||||
@@ -59,11 +120,17 @@ function Geo() {
|
||||
|
||||
function Home() {
|
||||
return (
|
||||
<div className="h-[calc(100%-75px)]">
|
||||
<WelcomeMessage/>
|
||||
<div className='h-[calc(100%-110px)] m-5 rounded-lg'>
|
||||
<Geo/>
|
||||
<div className="grid grid-cols-4 auto-cols-max overflow-hidden">
|
||||
<div className="col-span-3 h-page">
|
||||
<Header/>
|
||||
<div className="h-[calc(100%-75px)]">
|
||||
<WelcomeMessage/>
|
||||
<div className='h-[calc(100%-110px)] m-5 rounded-lg'>
|
||||
<Geo/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Sidebar/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
export function Header() {
|
||||
return (
|
||||
<div className="m-2 rounded-lg h-[60px] bg-white shadow-2xl">
|
||||
<a href="/"><img src="/logos/logo_transparent_inverse.png" className="h-[60px]"/></a>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export function Sidebar() {
|
||||
return (
|
||||
<div className="h-dvh">
|
||||
<div className="bg-white shadow-2xl rounded-lg m-2 h-[98%]">
|
||||
Sidebar
|
||||
</div>
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user