memi-board 0.23.0 → 0.29.0
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/dist/composables/useMemiBoardAuthorMemo.d.ts +19 -0
- package/dist/composables/useMemiBoardStorage.d.ts +1 -0
- package/dist/composables/useMemiBoardUserComments.d.ts +19 -0
- package/dist/composables/useMemiBoardUserProfile.d.ts +10 -0
- package/dist/composables/useMemiBoardUsers.d.ts +4 -3
- package/dist/{heic2any-BXb_U1zK.js → heic2any-BHVEj2CD.js} +2 -2
- package/dist/{heic2any-BXb_U1zK.js.map → heic2any-BHVEj2CD.js.map} +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +845 -900
- package/dist/index.js.map +1 -1
- package/dist/module.mjs +35 -29
- package/dist/module.mjs.map +1 -1
- package/dist/runtime/components/Attachments.vue +1 -1
- package/dist/runtime/components/AuthorMenu.vue +129 -21
- package/dist/runtime/components/AvatarCropModal.vue +108 -0
- package/dist/runtime/components/CategorySettings.vue +1 -1
- package/dist/runtime/components/Detail.vue +9 -1
- package/dist/runtime/components/Editor.vue +15 -9
- package/dist/runtime/components/List.vue +6 -0
- package/dist/runtime/components/ListDefault.vue +24 -22
- package/dist/runtime/components/ListDense.vue +67 -75
- package/dist/runtime/components/ListVideo.vue +5 -1
- package/dist/runtime/components/Profile.vue +93 -0
- package/dist/runtime/components/ProfileEditModal.vue +190 -0
- package/dist/runtime/components/Settings.vue +1 -1
- package/dist/runtime/components/ShareButton.vue +49 -0
- package/dist/runtime/components/UserCommentList.vue +109 -0
- package/dist/runtime/components/UserPostList.vue +10 -1
- package/dist/runtime/components/Users.vue +1 -1
- package/dist/slugify-CDMIDDCN.js +122 -0
- package/dist/slugify-CDMIDDCN.js.map +1 -0
- package/dist/storage.d.ts +9 -0
- package/dist/storage.js +148 -0
- package/dist/storage.js.map +1 -0
- package/dist/types.d.ts +18 -1
- package/dist/utils/boardPaths.d.ts +4 -0
- package/docs/firestore.indexes.json.example +9 -0
- package/docs/firestore.rules.example +22 -6
- package/docs/storage.rules.example +9 -0
- package/package.json +7 -2
- package/dist/rolldown-runtime-DtPi1Y-2.js +0 -13
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { AuthorMemoSentiment } from '../types';
|
|
3
|
+
export declare const AUTHOR_MEMO_MAX_LENGTH = 100;
|
|
4
|
+
/**
|
|
5
|
+
* 다른 작성자에 대해 나만 보는 개인 메모 + 좋음/나쁨 평가. memiBoardUsers/{내uid}/memos/{targetUid}에
|
|
6
|
+
* 저장되고, 문서 ID가 targetUid라 대상당 메모가 항상 하나다(재저장 시 덮어씀).
|
|
7
|
+
* 다른 사용자·관리자는 규칙상 아예 못 읽으므로 비속어 필터 등 별도 검증이 없다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useMemiBoardAuthorMemo(targetUid: MaybeRefOrGetter<string>): {
|
|
10
|
+
text: import('vue').WritableComputedRef<string, string>;
|
|
11
|
+
sentiment: import('vue').ComputedRef<AuthorMemoSentiment | null>;
|
|
12
|
+
loaded: import('vue').ComputedRef<boolean>;
|
|
13
|
+
pending: import('vue').ComputedRef<boolean>;
|
|
14
|
+
saving: import('vue').ComputedRef<boolean>;
|
|
15
|
+
error: import('vue').ComputedRef<string>;
|
|
16
|
+
load: () => Promise<void>;
|
|
17
|
+
save: (nextText: string, nextSentiment: AuthorMemoSentiment) => Promise<void>;
|
|
18
|
+
remove: () => Promise<void>;
|
|
19
|
+
};
|
|
@@ -11,4 +11,5 @@ export declare function useMemiBoardStorage(): {
|
|
|
11
11
|
deleteAttachment: (attachment: Pick<Attachment, "path">) => Promise<void>;
|
|
12
12
|
uploadEditorImage: (file: File, postId: string) => Promise<EditorImageEntry>;
|
|
13
13
|
deleteEditorImage: (entry: Pick<EditorImageEntry, "originalPath" | "thumbnailPath">) => Promise<void>;
|
|
14
|
+
uploadAvatar: (uid: string, file: File) => Promise<string>;
|
|
14
15
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { CommentModel } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 작성자 uid로 모든 보드를 가로질러 댓글을 모은다. memiBoardComments 읽기 규칙이
|
|
5
|
+
* 더 이상 부모 글을 get()하지 않고 항상 허용이라(누구나 볼 수 있어야 하는 요구사항),
|
|
6
|
+
* useMemiBoardUserPosts와 동일하게 authorUid 동등 필터만으로 충분하다 — 부모 글이
|
|
7
|
+
* 비공개·삭제·블라인드 상태여도 댓글 자체는 여기서 그대로 보이고, 실제 글로
|
|
8
|
+
* 이동했을 때 그 글의 접근 상태에 따라 표현하는 건 호스트(클릭 시 이동하는 페이지)의 몫이다.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useMemiBoardUserComments(uid: MaybeRefOrGetter<string>, options?: {
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
}): {
|
|
13
|
+
comments: import('vue').ComputedRef<CommentModel[]>;
|
|
14
|
+
commentsPending: import('vue').Ref<boolean, boolean>;
|
|
15
|
+
hasMore: import('vue').Ref<boolean, boolean>;
|
|
16
|
+
loadingMore: import('vue').Ref<boolean, boolean>;
|
|
17
|
+
loadError: import('vue').Ref<string, string>;
|
|
18
|
+
loadMore: () => Promise<void>;
|
|
19
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { BoardUserModel } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 다른 사용자의 공개 프로필. memiBoardUsers/{uid}는 이메일만 빼면 전부 공개라
|
|
5
|
+
* 누구나 조회할 수 있다(rules) — email 필드는 애초에 이 문서에 없다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useMemiBoardUserProfile(uid: MaybeRefOrGetter<string>): {
|
|
8
|
+
profile: import('vue').Ref<import('vuefire').VueFirestoreDocumentData<BoardUserModel> | undefined, import('vuefire').VueFirestoreDocumentData<BoardUserModel> | undefined>;
|
|
9
|
+
profilePending: import('vue').Ref<boolean, boolean>;
|
|
10
|
+
};
|
|
@@ -6,9 +6,10 @@ export declare const BOARD_USER_ROLES: Array<{
|
|
|
6
6
|
description: string;
|
|
7
7
|
}>;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* memiBoardUsers/{uid}는 이메일만 빼면 공개 프로필이라 목록 읽기 자체는 누구나 할 수
|
|
10
|
+
* 있다(rules) — 이 컴포저블은 관리 화면(역할 변경)에서만 쓰라고 있는 것뿐이다.
|
|
11
|
+
* enabled가 false인 동안은 쿼리 자체를 시작하지 않는다 — role 확인이 끝나기 전에
|
|
12
|
+
* 미리 구독을 걸어두면 화면이 불필요하게 로딩 상태로 오래 머문다.
|
|
12
13
|
*
|
|
13
14
|
* 경로: memiBoardUsers/{uid} (flat)
|
|
14
15
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { O as e } from "./slugify-CDMIDDCN.js";
|
|
2
2
|
//#region node_modules/.pnpm/heic2any@0.0.4/node_modules/heic2any/dist/heic2any.js
|
|
3
3
|
var t = /* @__PURE__ */ e(((e, t) => {
|
|
4
4
|
(function(n, r, i, a) {
|
|
@@ -974,4 +974,4 @@ var t = /* @__PURE__ */ e(((e, t) => {
|
|
|
974
974
|
//#endregion
|
|
975
975
|
export default t();
|
|
976
976
|
|
|
977
|
-
//# sourceMappingURL=heic2any-
|
|
977
|
+
//# sourceMappingURL=heic2any-BHVEj2CD.js.map
|