+
+ {/* drawer items */}
+
+
+ Shared
+
+
+ {/* column list of drawer items - github first one */}
+ {testDrawerItems.map((link) => (
+
+ {/* */}
+
+
+
+
+ {link.linkName}
+
+ {link.relativeSentTime}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ))}
+
+
+ {/* main timeline view with action buttons on top */}
+
+
+ Timeline
+
+
+
+ >
+ );
+}
diff --git a/packages/web/pages/s/index.tsx b/packages/web/pages/s/index.tsx
index b66c968..1f88a1f 100644
--- a/packages/web/pages/s/index.tsx
+++ b/packages/web/pages/s/index.tsx
@@ -12,26 +12,13 @@ import { FaArrowLeft } from "react-icons/fa";
import KeyboardShortcutHandler from "../../components/MainTabsOrPages/KeyboardShortcutHandler";
import SearchResults from "../../components/FullPageExperiences/SearchResults";
import { QueryRoutes, Routes } from "@nirvana/common/helpers/routes";
+import ViewConvo from "../../components/MainTabsOrPages/ViewConvo";
export default function Me() {
// figure out what content to render from here
const router = useRouter();
const currPage = router.query.page;
-
- function getCurrentContent() {
- switch (currPage) {
- case QueryRoutes.convos:
- return ;
- case QueryRoutes.later:
- return ;
- case QueryRoutes.done:
- return ;
- case QueryRoutes.drawer:
- return ;
- default:
- return <>>;
- }
- }
+ const currConvo = router.query.convoId;
/** full page replacements: clean full page
* 1. search page:
@@ -45,6 +32,8 @@ export default function Me() {
fullCleanPageContent = ;
} else if (currPage === QueryRoutes.createConvo) {
fullCleanPageContent = ;
+ } else if (currConvo) {
+ fullCleanPageContent = ;
}
if (fullCleanPageContent) {
@@ -60,7 +49,7 @@ export default function Me() {
})
}
className="rounded-lg p-2 border flex flex-row items-center space-x-2
- text-slate-400 text-xs hover:bg-slate-50"
+ text-slate-400 text-xs hover:bg-slate-50"
>
back
@@ -86,6 +75,21 @@ export default function Me() {
);
}
+ function getCurrentContent() {
+ switch (currPage) {
+ case QueryRoutes.convos:
+ return ;
+ case QueryRoutes.later:
+ return ;
+ case QueryRoutes.done:
+ return ;
+ case QueryRoutes.drawer:
+ return ;
+ default:
+ return <>>;
+ }
+ }
+
return (
diff --git a/packages/web/services/firebaseService.js b/packages/web/services/firebaseService.js
index 6b01339..616dbc4 100644
--- a/packages/web/services/firebaseService.js
+++ b/packages/web/services/firebaseService.js
@@ -11,7 +11,7 @@
// Import the functions you need from the SDKs you need
import * as firebase from "firebase/app";
// import { getAnalytics } from "firebase/analytics";
-import { getFirestore } from "firebase/firestore";
+import { getFirestore, enableIndexedDbPersistence } from "firebase/firestore";
import {
browserSessionPersistence,
getAuth,
@@ -34,27 +34,23 @@ const firebaseConfig = {
};
// Initialize Firebase
-// if (typeof window !== "undefined") {
const app = firebase.initializeApp(firebaseConfig);
-// const analytics = getAnalytics(app);
-
console.log("initialized firebase");
+// const analytics = getAnalytics(app);
+
setPersistence(getAuth(), browserSessionPersistence);
-// }
-// import { credential } from 'firebase-admin';
-// import { initializeApp } from 'firebase-admin/app';
-
-// import serviceAccount from '../nirvana-for-business-firebase-adminsdk'
-
-// if(typeof window === 'undefined') {
-// console.log('initializing firebase admin')
-// initializeApp({
-// credential: credential.cert({
-// privateKey: serviceAccount.private_key,
-// clientEmail: serviceAccount.client_email,
-// projectId: serviceAccount.project_id,
-// })
-// });
-// }
+// Initialize firestore persistence for data caching
+const db = getFirestore(app);
+enableIndexedDbPersistence(db).catch((err) => {
+ if (err.code == "failed-precondition") {
+ // Multiple tabs open, persistence can only be enabled
+ // in one tab at a a time.
+ // ...
+ } else if (err.code == "unimplemented") {
+ // The current browser does not support all of the
+ // features required to enable persistence
+ // ...
+ }
+});