mirror of
https://github.com/snachodog/tok-to-insta-follower-bridge.git
synced 2025-09-13 07:23:32 -06:00
[fix] use plasmohq/storage
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import { useStorage } from "@plasmohq/storage/hook";
|
||||
import { Storage } from "@plasmohq/storage";
|
||||
import React from "react";
|
||||
import { BskyServiceWorkerClient } from "~lib/bskyServiceWorkerClient";
|
||||
import {
|
||||
@@ -9,13 +11,15 @@ import {
|
||||
import { wait } from "~lib/utils";
|
||||
import type { BskyUser, MatchType } from "~types";
|
||||
|
||||
export const useBskyUserManager = ({
|
||||
users,
|
||||
setUsers,
|
||||
}: {
|
||||
users: BskyUser[];
|
||||
setUsers: React.Dispatch<React.SetStateAction<BskyUser[]>>;
|
||||
}) => {
|
||||
export const useBskyUserManager = () => {
|
||||
const [users, setUsers] = useStorage<BskyUser[]>({
|
||||
key: STORAGE_KEYS.DETECTED_BSKY_USERS,
|
||||
instance: new Storage({
|
||||
area: "local",
|
||||
}),
|
||||
},
|
||||
(v) => (v === undefined ? [] : v)
|
||||
);
|
||||
const bskyClient = React.useRef<BskyServiceWorkerClient | null>(null);
|
||||
const [actionMode, setActionMode] = React.useState<
|
||||
(typeof ACTION_MODE)[keyof typeof ACTION_MODE]
|
||||
@@ -40,7 +44,7 @@ export const useBskyUserManager = ({
|
||||
const result = await bskyClient.current.follow(user.did);
|
||||
resultUri = result.uri;
|
||||
}
|
||||
setUsers((prev) =>
|
||||
await setUsers((prev) =>
|
||||
prev.map((prevUser) => {
|
||||
if (prevUser.did === user.did) {
|
||||
return {
|
||||
@@ -62,7 +66,7 @@ export const useBskyUserManager = ({
|
||||
const result = await bskyClient.current.block(user.did);
|
||||
resultUri = result.uri;
|
||||
}
|
||||
setUsers((prev) =>
|
||||
await setUsers((prev) =>
|
||||
prev.map((prevUser) => {
|
||||
if (prevUser.did === user.did) {
|
||||
return {
|
||||
@@ -125,7 +129,7 @@ export const useBskyUserManager = ({
|
||||
}
|
||||
const result = await bskyClient.current.follow(user.did);
|
||||
resultUri = result.uri;
|
||||
setUsers((prev) =>
|
||||
await setUsers((prev) =>
|
||||
prev.map((prevUser) => {
|
||||
if (prevUser.did === user.did) {
|
||||
return {
|
||||
@@ -149,7 +153,7 @@ export const useBskyUserManager = ({
|
||||
const result = await bskyClient.current.block(user.did);
|
||||
resultUri = result.uri;
|
||||
}
|
||||
setUsers((prev) =>
|
||||
await setUsers((prev) =>
|
||||
prev.map((prevUser) => {
|
||||
if (prevUser.did === user.did) {
|
||||
return {
|
||||
@@ -175,7 +179,7 @@ export const useBskyUserManager = ({
|
||||
bskyClient.current = new BskyServiceWorkerClient(session);
|
||||
setActionMode(
|
||||
MESSAGE_NAME_TO_ACTION_MODE_MAP[
|
||||
result[STORAGE_KEYS.BSKY_MESSAGE_NAME]
|
||||
result[STORAGE_KEYS.BSKY_MESSAGE_NAME]
|
||||
],
|
||||
);
|
||||
},
|
||||
|
@@ -1,4 +1,6 @@
|
||||
import type { AtpSessionData } from "@atproto/api";
|
||||
import { useStorage } from "@plasmohq/storage/hook";
|
||||
import { Storage } from "@plasmohq/storage";
|
||||
import React from "react";
|
||||
import { BskyServiceWorkerClient } from "~lib/bskyServiceWorkerClient";
|
||||
import {
|
||||
@@ -39,7 +41,14 @@ export const useRetrieveBskyUsers = () => {
|
||||
const [detectedXUsers, setDetectedXUsers] = React.useState<
|
||||
ReturnType<typeof detectXUsers>
|
||||
>([]);
|
||||
const [users, setUsers] = React.useState<BskyUser[]>([]);
|
||||
const [users, setUsers] = useStorage<BskyUser[]>({
|
||||
key: STORAGE_KEYS.DETECTED_BSKY_USERS,
|
||||
instance: new Storage({
|
||||
area: "local",
|
||||
})
|
||||
},
|
||||
(v) => (v === undefined ? [] : v)
|
||||
);
|
||||
const [loading, setLoading] = React.useState(true);
|
||||
const [errorMessage, setErrorMessage] = React.useState("");
|
||||
const [isBottomReached, setIsBottomReached] = React.useState(false);
|
||||
@@ -62,7 +71,7 @@ export const useRetrieveBskyUsers = () => {
|
||||
userData,
|
||||
});
|
||||
if (searchResult) {
|
||||
setUsers((prev) => {
|
||||
await setUsers((prev) => {
|
||||
if (prev.some((u) => u.did === searchResult.bskyProfile.did)) {
|
||||
return prev;
|
||||
}
|
||||
@@ -85,7 +94,7 @@ export const useRetrieveBskyUsers = () => {
|
||||
}
|
||||
}
|
||||
},
|
||||
[],
|
||||
[setUsers],
|
||||
);
|
||||
|
||||
const abortControllerRef = React.useRef<AbortController | null>(null);
|
||||
@@ -170,6 +179,7 @@ export const useRetrieveBskyUsers = () => {
|
||||
},
|
||||
);
|
||||
setLoading(true);
|
||||
await setUsers([]);
|
||||
showModal();
|
||||
}, []);
|
||||
|
||||
|
Reference in New Issue
Block a user