Skip to content

Commit 35e695d

Browse files
authored
Merge pull request #12 from cindywu/cindywu/set-client-id
set client id in localStorage
2 parents 9814dd9 + 9a5c2c0 commit 35e695d

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

src/frontend/user-uses.tsx

+9
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,15 @@ function UserItems({userID, items}: any){
6464
return bDate.getTime() - aDate.getTime()
6565
})
6666
}
67+
68+
if (filteredItems.length === 0) {
69+
return (
70+
<div className={'pt-2 pl-8'}>
71+
No items yet
72+
</div>
73+
)
74+
}
75+
6776
return (
6877
<div className={'pt-2'}>
6978
{filteredItems.map((item: any) => {

src/pages/uses/[username].tsx

+10-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ import UserUses from '../../frontend/user-uses';
1111
export default function Home() {
1212
const [reflect, setReflectClient] = useState<Reflect<M> | null>(null);
1313
const [_, setOnline] = useState(false);
14+
const [clientUserID, setClientUserID] = useState<string | null>(null);
15+
16+
const LOCAL_STORAGE_KEY = 'uses.userID'
1417

1518
const logSink = process.env.NEXT_PUBLIC_DATADOG_CLIENT_TOKEN
1619
? new DataDogBrowserLogSink()
@@ -22,7 +25,7 @@ export default function Home() {
2225

2326
(async () => {
2427
logger.info?.(`Connecting to worker at ${workerWsURI}`);
25-
const userID = nanoid();
28+
const userID = clientUserID ? clientUserID : nanoid();
2629
const r = new Reflect<M>({
2730
socketOrigin: workerWsURI,
2831
onOnlineChange: setOnline,
@@ -47,6 +50,12 @@ export default function Home() {
4750
})();
4851
}, []);
4952

53+
useEffect(() => {
54+
const userID = localStorage.getItem(LOCAL_STORAGE_KEY)
55+
if ( userID != null) setClientUserID(userID)
56+
},[])
57+
58+
5059
if (!reflect) {
5160
return null;
5261
}

src/pages/uses/index.tsx

+11-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ export default function Home() {
1212
const [reflect, setReflectClient] = useState<Reflect<M> | null>(null);
1313
const [_, setOnline] = useState(false);
1414

15+
const [clientUserID, setClientUserID] = useState<string | null>(null);
16+
17+
const LOCAL_STORAGE_KEY = 'uses.userID'
18+
1519
const logSink = process.env.NEXT_PUBLIC_DATADOG_CLIENT_TOKEN
1620
? new DataDogBrowserLogSink()
1721
: consoleLogSink;
@@ -22,7 +26,7 @@ export default function Home() {
2226

2327
(async () => {
2428
logger.info?.(`Connecting to worker at ${workerWsURI}`);
25-
const userID = nanoid();
29+
const userID = clientUserID ? clientUserID : nanoid();
2630
const r = new Reflect<M>({
2731
socketOrigin: workerWsURI,
2832
onOnlineChange: setOnline,
@@ -47,6 +51,12 @@ export default function Home() {
4751
})();
4852
}, []);
4953

54+
useEffect(() => {
55+
const userID = localStorage.getItem(LOCAL_STORAGE_KEY)
56+
if ( userID != null) setClientUserID(userID)
57+
},[])
58+
59+
5060
if (!reflect) {
5161
return null;
5262
}

0 commit comments

Comments
 (0)