@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.
Files changed (99) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/index.html +12 -19
  3. package/package.json +5 -8
  4. package/src/blog/app.tsx +21 -33
  5. package/src/blog/components/article/index.tsx +8 -17
  6. package/src/blog/components/index.tsx +0 -6
  7. package/src/blog/components/share/share-btn.tsx +5 -8
  8. package/src/blog/constants/index.ts +1 -16
  9. package/src/blog/constants/routes.ts +12 -22
  10. package/src/blog/context/bbcontext.tsx +7 -7
  11. package/src/blog/hooks/index.ts +3 -18
  12. package/src/blog/hooks/use_dynamic_logo.tsx +6 -11
  13. package/src/blog/hooks/use_posts.ts +19 -10
  14. package/src/blog/hooks/use_role.ts +9 -14
  15. package/src/blog/hooks/use_streaming.ts +2 -2
  16. package/src/blog/index.tsx +5 -11
  17. package/src/blog/pages/cover/index.tsx +0 -1
  18. package/src/blog/pages/extensions/txt/article.tsx +7 -21
  19. package/src/blog/pages/extensions/txt/index.tsx +2 -17
  20. package/src/blog/pages/login/index.tsx +18 -42
  21. package/src/blog/swr.tsx +4 -7
  22. package/src/blog/utils/index.ts +9 -172
  23. package/vite.config.js +2 -1
  24. package/src/blog/articles/anti-logic.mdx +0 -61
  25. package/src/blog/articles/bbking-manual.mdx +0 -7
  26. package/src/blog/articles/black-river.mdx +0 -8
  27. package/src/blog/articles/celebration.mdx +0 -21
  28. package/src/blog/articles/cloth.mdx +0 -11
  29. package/src/blog/articles/cooking.mdx +0 -7
  30. package/src/blog/articles/cooldown.mdx +0 -12
  31. package/src/blog/articles/cousin.mdx +0 -15
  32. package/src/blog/articles/fall.mdx +0 -8
  33. package/src/blog/articles/img.mdx +0 -104
  34. package/src/blog/articles/leaves.mdx +0 -7
  35. package/src/blog/articles/liqiu.mdx +0 -7
  36. package/src/blog/articles/loading.mdx +0 -144
  37. package/src/blog/articles/love.mdx +0 -19
  38. package/src/blog/articles/major-cold.mdx +0 -14
  39. package/src/blog/articles/marshroom.mdx +0 -17
  40. package/src/blog/articles/men-without-women.mdx +0 -19
  41. package/src/blog/articles/moment.mdx +0 -9
  42. package/src/blog/articles/movie-day.mdx +0 -15
  43. package/src/blog/articles/photos.mdx +0 -13
  44. package/src/blog/articles/projects.mdx +0 -8
  45. package/src/blog/articles/pseudo-spring.mdx +0 -7
  46. package/src/blog/articles/quote.mdx +0 -26
  47. package/src/blog/articles/red-gun.mdx +0 -19
  48. package/src/blog/articles/rice-noodle.mdx +0 -21
  49. package/src/blog/articles/spring-cooldown.mdx +0 -8
  50. package/src/blog/articles/spring-rain.mdx +0 -10
  51. package/src/blog/articles/travel.mdx +0 -22
  52. package/src/blog/articles/warming-up.mdx +0 -10
  53. package/src/blog/articles/web-burnning.mdx +0 -10
  54. package/src/blog/articles/woke-up.mdx +0 -7
  55. package/src/blog/articles/xwy-and-snowing.mdx +0 -13
  56. package/src/blog/articles/xwy.mdx +0 -9
  57. package/src/blog/components/ImageUploader.tsx +0 -55
  58. package/src/blog/components/Img_ctx_menu/index.tsx +0 -67
  59. package/src/blog/components/Logger.tsx +0 -9
  60. package/src/blog/components/Pochacco/Pochacco.tsx +0 -29
  61. package/src/blog/components/Pochacco/idle.tsx +0 -31
  62. package/src/blog/components/Pochacco/watch.tsx +0 -28
  63. package/src/blog/components/Version.tsx +0 -14
  64. package/src/blog/components/app_ctx_menu/LoginMenuItem.tsx +0 -72
  65. package/src/blog/components/app_ctx_menu/PostMenuItem.tsx +0 -22
  66. package/src/blog/components/app_ctx_menu/VersionMenuItem.tsx +0 -13
  67. package/src/blog/components/app_ctx_menu/ViewSourceMenuItem.tsx +0 -34
  68. package/src/blog/components/app_ctx_menu/index.tsx +0 -35
  69. package/src/blog/components/article_ctx_menu/index.tsx +0 -58
  70. package/src/blog/components/blur_cover/index.tsx +0 -28
  71. package/src/blog/components/hotkey_nav/index.tsx +0 -51
  72. package/src/blog/components/progress_bar/index.tsx +0 -31
  73. package/src/blog/components/reaction/emojis.tsx +0 -143
  74. package/src/blog/components/reaction/oh_reaction.tsx +0 -105
  75. package/src/blog/components/reload_prompt/index.tsx +0 -51
  76. package/src/blog/components/tags/index.tsx +0 -52
  77. package/src/blog/hooks/useLoadingIndicator.ts +0 -12
  78. package/src/blog/hooks/useScrollToTop.ts +0 -24
  79. package/src/blog/hooks/useTransitionCls.ts +0 -36
  80. package/src/blog/hooks/use_authed.ts +0 -7
  81. package/src/blog/hooks/use_authed_fetcher.ts +0 -9
  82. package/src/blog/hooks/use_authed_string_post.ts +0 -42
  83. package/src/blog/hooks/use_clipboard_content.ts +0 -21
  84. package/src/blog/hooks/use_clipboard_to_post.ts +0 -48
  85. package/src/blog/hooks/use_del_img.ts +0 -22
  86. package/src/blog/hooks/use_delete_post.ts +0 -22
  87. package/src/blog/hooks/use_file_to_post.ts +0 -38
  88. package/src/blog/hooks/use_img_loading.ts +0 -16
  89. package/src/blog/hooks/use_post.ts +0 -26
  90. package/src/blog/hooks/use_projects.ts +0 -67
  91. package/src/blog/hooks/use_route_name.ts +0 -7
  92. package/src/blog/hooks/use_shared_string_to_post.ts +0 -23
  93. package/src/blog/hooks/use_supa_session.ts +0 -32
  94. package/src/blog/hooks/use_text_plain_file.ts +0 -36
  95. package/src/blog/hooks/use_uploader.ts +0 -34
  96. package/src/blog/hooks/use_video_controls.ts +0 -71
  97. package/src/blog/types/supabase.ts +0 -12
  98. package/src/blog/types/upload.ts +0 -16
  99. 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
- };
@@ -1,12 +0,0 @@
1
- import { Session } from "@supabase/supabase-js";
2
-
3
- export interface BBKingSession extends Session {
4
- isKing: boolean;
5
- isQueen: boolean;
6
- }
7
-
8
- export enum OauthProvider {
9
- GITHUB = "github",
10
- Twitter = "twitter",
11
- Spotify = "spotify",
12
- }
@@ -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
- }
@@ -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
- };