@bbki.ng/site 5.4.22 → 5.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/index.html +12 -19
- package/package.json +5 -8
- package/src/blog/app.tsx +21 -33
- package/src/blog/components/article/index.tsx +8 -17
- package/src/blog/components/index.tsx +0 -6
- package/src/blog/components/share/share-btn.tsx +5 -8
- package/src/blog/constants/index.ts +1 -16
- package/src/blog/constants/routes.ts +12 -22
- package/src/blog/context/bbcontext.tsx +7 -7
- package/src/blog/hooks/index.ts +3 -18
- package/src/blog/hooks/use_dynamic_logo.tsx +6 -11
- package/src/blog/hooks/use_posts.ts +19 -10
- package/src/blog/hooks/use_role.ts +9 -14
- package/src/blog/hooks/use_streaming.ts +2 -2
- package/src/blog/index.tsx +5 -11
- package/src/blog/pages/cover/index.tsx +0 -1
- package/src/blog/pages/extensions/txt/article.tsx +7 -21
- package/src/blog/pages/extensions/txt/index.tsx +2 -17
- package/src/blog/pages/login/index.tsx +18 -42
- package/src/blog/swr.tsx +4 -7
- package/src/blog/utils/index.ts +9 -172
- package/vite.config.js +2 -1
- package/src/blog/articles/anti-logic.mdx +0 -61
- package/src/blog/articles/bbking-manual.mdx +0 -7
- package/src/blog/articles/black-river.mdx +0 -8
- package/src/blog/articles/celebration.mdx +0 -21
- package/src/blog/articles/cloth.mdx +0 -11
- package/src/blog/articles/cooking.mdx +0 -7
- package/src/blog/articles/cooldown.mdx +0 -12
- package/src/blog/articles/cousin.mdx +0 -15
- package/src/blog/articles/fall.mdx +0 -8
- package/src/blog/articles/img.mdx +0 -104
- package/src/blog/articles/leaves.mdx +0 -7
- package/src/blog/articles/liqiu.mdx +0 -7
- package/src/blog/articles/loading.mdx +0 -144
- package/src/blog/articles/love.mdx +0 -19
- package/src/blog/articles/major-cold.mdx +0 -14
- package/src/blog/articles/marshroom.mdx +0 -17
- package/src/blog/articles/men-without-women.mdx +0 -19
- package/src/blog/articles/moment.mdx +0 -9
- package/src/blog/articles/movie-day.mdx +0 -15
- package/src/blog/articles/photos.mdx +0 -13
- package/src/blog/articles/projects.mdx +0 -8
- package/src/blog/articles/pseudo-spring.mdx +0 -7
- package/src/blog/articles/quote.mdx +0 -26
- package/src/blog/articles/red-gun.mdx +0 -19
- package/src/blog/articles/rice-noodle.mdx +0 -21
- package/src/blog/articles/spring-cooldown.mdx +0 -8
- package/src/blog/articles/spring-rain.mdx +0 -10
- package/src/blog/articles/travel.mdx +0 -22
- package/src/blog/articles/warming-up.mdx +0 -10
- package/src/blog/articles/web-burnning.mdx +0 -10
- package/src/blog/articles/woke-up.mdx +0 -7
- package/src/blog/articles/xwy-and-snowing.mdx +0 -13
- package/src/blog/articles/xwy.mdx +0 -9
- package/src/blog/components/ImageUploader.tsx +0 -55
- package/src/blog/components/Img_ctx_menu/index.tsx +0 -67
- package/src/blog/components/Logger.tsx +0 -9
- package/src/blog/components/Pochacco/Pochacco.tsx +0 -29
- package/src/blog/components/Pochacco/idle.tsx +0 -31
- package/src/blog/components/Pochacco/watch.tsx +0 -28
- package/src/blog/components/Version.tsx +0 -14
- package/src/blog/components/app_ctx_menu/LoginMenuItem.tsx +0 -72
- package/src/blog/components/app_ctx_menu/PostMenuItem.tsx +0 -22
- package/src/blog/components/app_ctx_menu/VersionMenuItem.tsx +0 -13
- package/src/blog/components/app_ctx_menu/ViewSourceMenuItem.tsx +0 -34
- package/src/blog/components/app_ctx_menu/index.tsx +0 -35
- package/src/blog/components/article_ctx_menu/index.tsx +0 -58
- package/src/blog/components/blur_cover/index.tsx +0 -28
- package/src/blog/components/hotkey_nav/index.tsx +0 -51
- package/src/blog/components/progress_bar/index.tsx +0 -31
- package/src/blog/components/reaction/emojis.tsx +0 -143
- package/src/blog/components/reaction/oh_reaction.tsx +0 -105
- package/src/blog/components/reload_prompt/index.tsx +0 -51
- package/src/blog/components/tags/index.tsx +0 -52
- package/src/blog/hooks/useLoadingIndicator.ts +0 -12
- package/src/blog/hooks/useScrollToTop.ts +0 -24
- package/src/blog/hooks/useTransitionCls.ts +0 -36
- package/src/blog/hooks/use_authed.ts +0 -7
- package/src/blog/hooks/use_authed_fetcher.ts +0 -9
- package/src/blog/hooks/use_authed_string_post.ts +0 -42
- package/src/blog/hooks/use_clipboard_content.ts +0 -21
- package/src/blog/hooks/use_clipboard_to_post.ts +0 -48
- package/src/blog/hooks/use_del_img.ts +0 -22
- package/src/blog/hooks/use_delete_post.ts +0 -22
- package/src/blog/hooks/use_file_to_post.ts +0 -38
- package/src/blog/hooks/use_img_loading.ts +0 -16
- package/src/blog/hooks/use_post.ts +0 -26
- package/src/blog/hooks/use_projects.ts +0 -67
- package/src/blog/hooks/use_route_name.ts +0 -7
- package/src/blog/hooks/use_shared_string_to_post.ts +0 -23
- package/src/blog/hooks/use_supa_session.ts +0 -32
- package/src/blog/hooks/use_text_plain_file.ts +0 -36
- package/src/blog/hooks/use_uploader.ts +0 -34
- package/src/blog/hooks/use_video_controls.ts +0 -71
- package/src/blog/types/supabase.ts +0 -12
- package/src/blog/types/upload.ts +0 -16
- package/src/blog/utils/tags.ts +0 -21
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ReactEventHandler,
|
|
3
|
-
useRef,
|
|
4
|
-
useState,
|
|
5
|
-
RefObject,
|
|
6
|
-
useEffect,
|
|
7
|
-
} from "react";
|
|
8
|
-
|
|
9
|
-
export const useVideoControls = () => {
|
|
10
|
-
const videoRef = useRef<HTMLVideoElement>(null);
|
|
11
|
-
const [isPlay, setIsPlay] = useState(false);
|
|
12
|
-
|
|
13
|
-
const toggle = async () => {
|
|
14
|
-
const { current: video } = videoRef;
|
|
15
|
-
|
|
16
|
-
if (!video) return;
|
|
17
|
-
|
|
18
|
-
if (video.paused || video.ended) {
|
|
19
|
-
await video.play();
|
|
20
|
-
setIsPlay(true);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
video.pause();
|
|
24
|
-
setIsPlay(false);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const isEnd = videoRef && videoRef.current && videoRef.current.ended;
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
videoRef,
|
|
31
|
-
isPlay: isPlay && !isEnd,
|
|
32
|
-
toggle,
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export const useVideoProgress = () => {
|
|
37
|
-
const [progress, setProgress] = useState(0);
|
|
38
|
-
const onTimeUpdate: ReactEventHandler<HTMLVideoElement> = (event) => {
|
|
39
|
-
const video = event.currentTarget;
|
|
40
|
-
if (!video.duration) {
|
|
41
|
-
setProgress(0);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
setProgress(video.currentTime / video.duration);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
return { progress, onTimeUpdate };
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const useVideoEleHeight = (
|
|
51
|
-
videoRef: RefObject<HTMLVideoElement>
|
|
52
|
-
): number => {
|
|
53
|
-
const [height, setHeight] = useState(0);
|
|
54
|
-
const updateHeight = () => {
|
|
55
|
-
if (!videoRef.current) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const { height } = videoRef.current.getBoundingClientRect();
|
|
59
|
-
setHeight(height);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
useEffect(() => {
|
|
63
|
-
window.addEventListener("resize", updateHeight);
|
|
64
|
-
return () => {
|
|
65
|
-
window.removeEventListener("resize", updateHeight);
|
|
66
|
-
};
|
|
67
|
-
}, []);
|
|
68
|
-
|
|
69
|
-
useEffect(updateHeight);
|
|
70
|
-
return height;
|
|
71
|
-
};
|
package/src/blog/types/upload.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ImageDropProps } from "@bbki.ng/components/lib";
|
|
2
|
-
|
|
3
|
-
export type UploadResult = {
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
src: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export interface ImageUploaderProps
|
|
10
|
-
extends Pick<ImageDropProps<undefined>, "onUploadFinish" | "placeholder"> {
|
|
11
|
-
onBeforeUpload?: () => void;
|
|
12
|
-
onUploadError?: () => void;
|
|
13
|
-
onUploadSuccess?: (res: UploadResult) => void;
|
|
14
|
-
projectId?: string;
|
|
15
|
-
projectName?: string;
|
|
16
|
-
}
|
package/src/blog/utils/tags.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { MdxArticle } from "@/types/articles";
|
|
2
|
-
import { ROUTES } from "@/constants";
|
|
3
|
-
|
|
4
|
-
export const getAllTags = (mdxArticles: MdxArticle[]): string[] => {
|
|
5
|
-
return Array.from(
|
|
6
|
-
new Set(mdxArticles.map(({ meta }) => meta.tags || []).flat())
|
|
7
|
-
);
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const getArticleListByTag = (mdxArticles: MdxArticle[], tag: string) => {
|
|
11
|
-
return mdxArticles
|
|
12
|
-
.filter(({ meta }) => {
|
|
13
|
-
return meta.tags && meta.tags.includes(tag);
|
|
14
|
-
})
|
|
15
|
-
.map(({ meta }) => {
|
|
16
|
-
return {
|
|
17
|
-
to: `${ROUTES.CONTENT}/${meta.title}`,
|
|
18
|
-
name: meta.title,
|
|
19
|
-
};
|
|
20
|
-
});
|
|
21
|
-
};
|