diff --git a/CHANGELOG.md b/CHANGELOG.md index 06a0d15a..fbf69487 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,9 @@ All notable changes to paopao-ce are documented in this file. UNIQUE KEY `idx_topic_user_uid_tid` ( `topic_id`, `user_id` ) USING BTREE ) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户话题'; ``` +- add tweet comment thumbs up/down feature support [#275](https://github.com/rocboss/paopao-ce/pull/275) + mirgration database first(sql ddl file in `scripts/migration/**/*_comment_thumbs.up.sql`): +- add load more comments feature support [&60b217b](https://github.com/rocboss/paopao-ce/commit/60b217bcd950c69ba45cebcaa17efdf8048d5a4f 'commit 60b217b') ### Fixed @@ -87,12 +90,26 @@ All notable changes to paopao-ce are documented in this file. - optimize web frontend dark theme [&b082a8f](https://github.com/rocboss/paopao-ce/commit/b082a8fa5e43dd6dacf459df93fa7e243dd901ea 'commit b082a8f') - change web frontend main content layout default size to 544px [&b082a8f](https://github.com/rocboss/paopao-ce/commit/b082a8fa5e43dd6dacf459df93fa7e243dd901ea 'commit b082a8f') - optimize web frontend in mobile environment use Drawer to display menu [#265](https://github.com/rocboss/paopao-ce/pull/265) -- optimize Dockerfile use pre-build builder/runner image to prevent network latency problem (`bitbus/paopao-ce-backend-builder` `bitbus/paopao-ce-backend-runner`) [#265](https://github.com/rocboss/paopao-ce/pull/265) +- optimize Dockerfile use pre-build builder/runner image to prevent network latency problem (`bitbus/paopao-ce-backend-builder` `bitbus/paopao-ce-backend-runner`) [#265](https://github.com/rocboss/paopao-ce/pull/265) +- optimize web ui in mobile environment [#280](https://github.com/rocboss/paopao-ce/pull/280) ### Removed - remove `Deprecated:OldWeb` feature [#256](https://github.com/rocboss/paopao-ce/pull/256) +## 0.2.5 + +### Changed + +- fixed sql ddl error for contact table [#281](https://github.com/rocboss/paopao-ce/pull/281) + +## 0.2.4 + +### Added + +- add PWA support for web frontend [#242](https://github.com/rocboss/paopao-ce/pull/242) + + ## 0.2.3 ### Added diff --git a/Dockerfile b/Dockerfile index f05e0642..48190375 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:experimental + # build frontend FROM node:19-alpine as frontend ARG API_HOST diff --git a/Makefile b/Makefile index 68a36027..d5de4232 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ RELEASE_DARWIN_AMD64 = $(RELEASE_ROOT)/darwin-amd64/$(TARGET) RELEASE_DARWIN_ARM64 = $(RELEASE_ROOT)/darwin-arm64/$(TARGET) RELEASE_WINDOWS_AMD64 = $(RELEASE_ROOT)/windows-amd64/$(TARGET) -BUILD_VERSION := $(shell git describe --tags | cut -f 1 -d "-") +BUILD_VERSION := $(shell git describe --tags --always | cut -f1 -f2 -d "-") BUILD_DATE := $(shell date +'%Y-%m-%d %H:%M:%S') SHA_SHORT := $(shell git rev-parse --short HEAD) @@ -51,22 +51,22 @@ release: linux-amd64 darwin-amd64 darwin-arm64 windows-x64 .PHONY: linux-amd64 linux-amd64: - @echo Build paopao-ce [linux-amd64] CGO_ENABLED=$(CGO_ENABLED) + @echo Build paopao-ce [linux-amd64] CGO_ENABLED=$(CGO_ENABLED) TAGS="'$(TAGS)'" @CGO_ENABLED=$(CGO_ENABLED) GOOS=linux GOARCH=amd64 go build -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $(RELEASE_LINUX_AMD64)/$(TARGET_BIN) .PHONY: darwin-amd64 darwin-amd64: - @echo Build paopao-ce [darwin-amd64] CGO_ENABLED=$(CGO_ENABLED) + @echo Build paopao-ce [darwin-amd64] CGO_ENABLED=$(CGO_ENABLED) TAGS="'$(TAGS)'" @CGO_ENABLED=$(CGO_ENABLED) GOOS=darwin GOARCH=amd64 go build -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $(RELEASE_DARWIN_AMD64)/$(TARGET_BIN) .PHONY: darwin-arm64 darwin-arm64: - @echo Build paopao-ce [darwin-arm64] CGO_ENABLED=$(CGO_ENABLED) + @echo Build paopao-ce [darwin-arm64] CGO_ENABLED=$(CGO_ENABLED) TAGS="'$(TAGS)'" @CGO_ENABLED=$(CGO_ENABLED) GOOS=darwin GOARCH=arm64 go build -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $(RELEASE_DARWIN_ARM64)/$(TARGET_BIN) .PHONY: windows-x64 windows-x64: - @echo Build paopao-ce [windows-x64] CGO_ENABLED=$(CGO_ENABLED) + @echo Build paopao-ce [windows-x64] CGO_ENABLED=$(CGO_ENABLED) TAGS="'$(TAGS)'" @CGO_ENABLED=$(CGO_ENABLED) GOOS=windows GOARCH=amd64 go build -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $(RELEASE_WINDOWS_AMD64)/$(TARGET_BIN).exe .PHONY: generate diff --git a/README.md b/README.md index d4911218..b97f25b8 100644 --- a/README.md +++ b/README.md @@ -544,8 +544,9 @@ x/sqlx | 名称 | 说明 | 备注| | ----- | ----- | ----- | | [`main`](https://github.com/rocboss/paopao-ce) | 主分支 |分支`main`是主分支,也是paopao-ce的稳定版本发布分支,只有经过内部测试,没有重大bug出现的稳定代码才会推进到这个分支;该分支主要由`beta`分支代码演进而来,原则上**只接受bug修复PR**。`rc版本/稳定版本` 发布都应该在`main`主分支中进行。| -| [`beta`](https://github.com/rocboss/paopao-ce/tree/beta) | 公测分支 |分支`beta`是公测分支,代码推进到`main`主分支的候选分支;该分支主要由`dev`分支代码演进而来,**接受bug修复以及新功能优化的PR**,原则上不接受新功能PR。`alpha/beta版本` 发布都应该在`beta`公测分支下进行。| -| [`dev`](https://github.com/rocboss/paopao-ce/tree/dev) | 开发分支 | 分支`dev`是开发分支,**不定期频繁更新**,接受 *新功能PR、代码优化PR、bug修复PR*;**新功能PR** 都应该首先提交给`dev`分支进行合并,bug修复/代码优化 后 **冻结新功能** 将代码演进合并到`beta`分支。| +| [`beta`](https://github.com/rocboss/paopao-ce/tree/beta) | 公测分支 |分支`beta`是公测分支,代码推进到`main`主分支的候选分支;该分支主要由`alpha`分支代码演进而来,**接受bug修复以及新功能优化的PR**,原则上不接受新功能PR。`beta版本` 发布都应该在`beta`公测分支下进行。| +| [`alpha`](https://github.com/rocboss/paopao-ce/tree/alpha) | 内测分支 |分支`alpha`是内测分支,代码推进到`beta`分支的候选分支;该分支主要由`dev`分支代码演进而来,**接受bug修复以及新功能相关的PR**,接受新功能PR。分支代码演进到一个里程碑式的阶段后**冻结所有新功能**,合并代码到`beta`公测分支进行下一阶段的持续演进。`alpha版本` 发布都应该在`alpha`内测分支下进行。| +| [`dev`](https://github.com/rocboss/paopao-ce/tree/dev) | 开发分支 | 分支`dev`是开发分支,**不定期频繁更新**,接受 *新功能PR、代码优化PR、bug修复PR*;**新功能PR** 都应该首先提交给`dev`分支进行合并,bug修复/新功能开发/代码优化 **阶段性冻结** 后将代码演进合并到`alpha`分支。| | `feature/*` | 子功能分支 |`feature/*`是新功能子分支,一般新功能子分支都是 *从`dev`开发分支fork出来的*;子功能分支 **只专注于该新功能** 代码的开发/优化,待开发接近内测阶段 *提交新功能PR给`dev`分支进行review/merge*,待新功能代码演进到`beta`分支后,原则上是可以删除该分支,但也可以保留到稳定版本发布。**该分支专注于新功能的开发,只接受新功能的bug修复/优化PR**。| | `jc/*` |维护者的开发分支|`jc/*`是代码库维护者的开发分支,一般包含一些局部优化或者bug修复代码,有时可以直接将代码merge到`dev/beta`分支,原则上不允许直接merge代码到`main`主分支。| | `x/*` |实验分支|`x/*`是技术实验分支,某些技术的引入需要经过具体的代码实现与真实场景的测评,考量评估后如果某项技术适合引入到paopao-ce,就fork出一个`feature/*`分支,作为新功能引入到paopao-ce。一般一些比较激进的技术,从`dev`分支fork出一个新的`x/*`分支,各种尝试、考量、评估后,或丢弃、或引入到paopao-ce。| @@ -556,9 +557,10 @@ x/sqlx | 名称 | 说明 | 维护者 | 备注 | | ----- | ----- | ----- | ----- | |[`paopao-ce`](https://github.com/rocboss/paopao-ce/tree/dev)|paopao-ce 主发行版本|[ROC](https://github.com/rocboss 'ROC')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架,适配MySQL/PostgreSQL/Sqlite3数据库。| +|[`r/paopao-ce`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce)|paopao-ce 主分支预览版本|[ROC](https://github.com/rocboss 'ROC')
[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架,适配MySQL/PostgreSQL/Sqlite3数据库。代码较`main`分支新,是主发行版本的前瞻预览版本。| |[`r/paopao-ce-plus`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus)|paopao-ce-plus 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus/internal/dao/sakila) 使用[sqlx](https://github.com/jmoiron/sqlx)作为数据逻辑层的ORM框架,专注于为MySQL/PostgreSQL/Sqlite3使用更优化的查询语句以提升数据检索效率。建议熟悉[sqlx](https://github.com/jmoiron/sqlx)的开发人员可以基于此版本来做 二次开发。| |[`r/paopao-ce-pro`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro)|paopao-ce-pro 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro/internal/dao/slonik) 使用[sqlc](https://github.com/kyleconroy/sqlc)作为sql语句生成器自动生成ORM代码,专门针对特定数据库MySQL/PostgreSQL进行查询优化,熟悉[sqlc](https://github.com/kyleconroy/sqlc)的开发人员可以基于此版本来做 二次开发。(另:分支目前只使用[pgx-v5](https://github.com/jackc/pgx)适配了PostgreSQL数据库,后续或许会适配MySQL/TiDB数据库。)| -|[`r/paopao-ce-xtra`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-xtra)|paopao-ce-xtra 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 是paopao-ce、r/paopao-ce-plus、r/paopao-ce-pro的合集| +|[`r/paopao-ce-xtra`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-xtra)|paopao-ce-xtra 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 是r/paopao-ce、r/paopao-ce-plus、r/paopao-ce-pro的合集| **代码分支演进图** ![](docs/proposal/.assets/000-01.png) diff --git a/ROADMAP.md b/ROADMAP.md index 4b29771c..fa77d3be 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -2,16 +2,21 @@ [paopao-ce](https://github.com/rocboss/paopao-ce/tree/dev)/[paopao-ce-plus](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus)/[paopao-ce-pro](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro) features develop or optimize and bug fix roadmap. ## paopao-ce roadmap -#### v0.3.0 +#### dev+ * [ ] add `Followship` feature * [ ] add `Auth:Bcrypt` feature * [ ] add `Auth:MD5` feature (just for compatible) -* [x] add `RedisCacheIndex` feature -* [x] add `Sentry` feature * [x] add extend base ORM code for implement data logic base sqlx/sqlc * [ ] optimize media tweet submit logic * [ ] optimize search logic service + +#### v0.3.0 * [x] remove `Deprecated:OldWeb` feature +* [x] add user topic follow feature support +* [x] add tweet link share support +* [ ] add comment thumbsUp/thumbsDown support +* [x] add `RedisCacheIndex` feature +* [x] add `Sentry` feature #### v0.2.0 * [x] add `Friendship` feature @@ -40,11 +45,14 @@ * [ ] add reactions support * [ ] add tweet thread like twitter support * [ ] add short link support -* [ ] optimize current message push logic service use `ims` module * [ ] optimize topics service +* [ ] optimize current message push logic service use `ims` module * [ ] optimize backend data logic service(optimize database CRUD operate) ## paopao-ce-plus roadmap +#### paopao-ce-plus/v0.4.0 +* [ ] adapt for paopao-ce v0.4.0 + #### paopao-ce-plus/v0.3.0 * [ ] adapt for paopao-ce v0.3.0 @@ -52,6 +60,9 @@ * [ ] adapt for paopao-ce v0.2.0 ## paopao-ce-pro roadmap +#### paopao-ce-pro/v0.4.0 +* [ ] adapt for paopao-ce v0.4.0 + #### paopao-ce-pro/v0.3.0 * [ ] adapt for paopao-ce v0.3.0 diff --git a/auto/api/v1/priv.go b/auto/api/v1/priv.go index 77e1cdc0..09c55a7b 100644 --- a/auto/api/v1/priv.go +++ b/auto/api/v1/priv.go @@ -19,6 +19,10 @@ type Priv interface { UnfollowTopic(*web.UnfollowTopicReq) mir.Error FollowTopic(*web.FollowTopicReq) mir.Error StickTopic(*web.StickTopicReq) (*web.StickTopicResp, mir.Error) + ThumbsDownTweetReply(*web.TweetReplyThumbsReq) mir.Error + ThumbsUpTweetReply(*web.TweetReplyThumbsReq) mir.Error + ThumbsDownTweetComment(*web.TweetCommentThumbsReq) mir.Error + ThumbsUpTweetComment(*web.TweetCommentThumbsReq) mir.Error DeleteCommentReply(*web.DeleteCommentReplyReq) mir.Error CreateCommentReply(*web.CreateCommentReplyReq) (*web.CreateCommentReplyResp, mir.Error) DeleteComment(*web.DeleteCommentReq) mir.Error @@ -41,6 +45,10 @@ type PrivBinding interface { BindUnfollowTopic(*gin.Context) (*web.UnfollowTopicReq, mir.Error) BindFollowTopic(*gin.Context) (*web.FollowTopicReq, mir.Error) BindStickTopic(*gin.Context) (*web.StickTopicReq, mir.Error) + BindThumbsDownTweetReply(*gin.Context) (*web.TweetReplyThumbsReq, mir.Error) + BindThumbsUpTweetReply(*gin.Context) (*web.TweetReplyThumbsReq, mir.Error) + BindThumbsDownTweetComment(*gin.Context) (*web.TweetCommentThumbsReq, mir.Error) + BindThumbsUpTweetComment(*gin.Context) (*web.TweetCommentThumbsReq, mir.Error) BindDeleteCommentReply(*gin.Context) (*web.DeleteCommentReplyReq, mir.Error) BindCreateCommentReply(*gin.Context) (*web.CreateCommentReplyReq, mir.Error) BindDeleteComment(*gin.Context) (*web.DeleteCommentReq, mir.Error) @@ -63,6 +71,10 @@ type PrivRender interface { RenderUnfollowTopic(*gin.Context, mir.Error) RenderFollowTopic(*gin.Context, mir.Error) RenderStickTopic(*gin.Context, *web.StickTopicResp, mir.Error) + RenderThumbsDownTweetReply(*gin.Context, mir.Error) + RenderThumbsUpTweetReply(*gin.Context, mir.Error) + RenderThumbsDownTweetComment(*gin.Context, mir.Error) + RenderThumbsUpTweetComment(*gin.Context, mir.Error) RenderDeleteCommentReply(*gin.Context, mir.Error) RenderCreateCommentReply(*gin.Context, *web.CreateCommentReplyResp, mir.Error) RenderDeleteComment(*gin.Context, mir.Error) @@ -135,6 +147,66 @@ func RegisterPrivServant(e *gin.Engine, s Priv, b PrivBinding, r PrivRender) { r.RenderStickTopic(c, resp, err) }) + router.Handle("POST", "/tweet/reply/thumbsdown", func(c *gin.Context) { + select { + case <-c.Request.Context().Done(): + return + default: + } + + req, err := b.BindThumbsDownTweetReply(c) + if err != nil { + r.RenderThumbsDownTweetReply(c, err) + return + } + r.RenderThumbsDownTweetReply(c, s.ThumbsDownTweetReply(req)) + }) + + router.Handle("POST", "/tweet/reply/thumbsup", func(c *gin.Context) { + select { + case <-c.Request.Context().Done(): + return + default: + } + + req, err := b.BindThumbsUpTweetReply(c) + if err != nil { + r.RenderThumbsUpTweetReply(c, err) + return + } + r.RenderThumbsUpTweetReply(c, s.ThumbsUpTweetReply(req)) + }) + + router.Handle("POST", "/tweet/comment/thumbsdown", func(c *gin.Context) { + select { + case <-c.Request.Context().Done(): + return + default: + } + + req, err := b.BindThumbsDownTweetComment(c) + if err != nil { + r.RenderThumbsDownTweetComment(c, err) + return + } + r.RenderThumbsDownTweetComment(c, s.ThumbsDownTweetComment(req)) + }) + + router.Handle("POST", "/tweet/comment/thumbsup", func(c *gin.Context) { + select { + case <-c.Request.Context().Done(): + return + default: + } + + req, err := b.BindThumbsUpTweetComment(c) + if err != nil { + r.RenderThumbsUpTweetComment(c, err) + return + } + r.RenderThumbsUpTweetComment(c, s.ThumbsUpTweetComment(req)) + }) + router.Handle("DELETE", "/post/comment/reply", func(c *gin.Context) { select { case <-c.Request.Context().Done(): @@ -378,6 +450,22 @@ func (UnimplementedPrivServant) StickTopic(req *web.StickTopicReq) (*web.StickTo return nil, mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) } +func (UnimplementedPrivServant) ThumbsDownTweetReply(req *web.TweetReplyThumbsReq) mir.Error { + return mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) +} + +func (UnimplementedPrivServant) ThumbsUpTweetReply(req *web.TweetReplyThumbsReq) mir.Error { + return mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) +} + +func (UnimplementedPrivServant) ThumbsDownTweetComment(req *web.TweetCommentThumbsReq) mir.Error { + return mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) +} + +func (UnimplementedPrivServant) ThumbsUpTweetComment(req *web.TweetCommentThumbsReq) mir.Error { + return mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) +} + func (UnimplementedPrivServant) DeleteCommentReply(req *web.DeleteCommentReplyReq) mir.Error { return mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) } @@ -453,6 +541,22 @@ func (r *UnimplementedPrivRender) RenderStickTopic(c *gin.Context, data *web.Sti r.RenderAny(c, data, err) } +func (r *UnimplementedPrivRender) RenderThumbsDownTweetReply(c *gin.Context, err mir.Error) { + r.RenderAny(c, nil, err) +} + +func (r *UnimplementedPrivRender) RenderThumbsUpTweetReply(c *gin.Context, err mir.Error) { + r.RenderAny(c, nil, err) +} + +func (r *UnimplementedPrivRender) RenderThumbsDownTweetComment(c *gin.Context, err mir.Error) { + r.RenderAny(c, nil, err) +} + +func (r *UnimplementedPrivRender) RenderThumbsUpTweetComment(c *gin.Context, err mir.Error) { + r.RenderAny(c, nil, err) +} + func (r *UnimplementedPrivRender) RenderDeleteCommentReply(c *gin.Context, err mir.Error) { r.RenderAny(c, nil, err) } @@ -534,6 +638,30 @@ func (b *UnimplementedPrivBinding) BindStickTopic(c *gin.Context) (*web.StickTop return obj, err } +func (b *UnimplementedPrivBinding) BindThumbsDownTweetReply(c *gin.Context) (*web.TweetReplyThumbsReq, mir.Error) { + obj := new(web.TweetReplyThumbsReq) + err := b.BindAny(c, obj) + return obj, err +} + +func (b *UnimplementedPrivBinding) BindThumbsUpTweetReply(c *gin.Context) (*web.TweetReplyThumbsReq, mir.Error) { + obj := new(web.TweetReplyThumbsReq) + err := b.BindAny(c, obj) + return obj, err +} + +func (b *UnimplementedPrivBinding) BindThumbsDownTweetComment(c *gin.Context) (*web.TweetCommentThumbsReq, mir.Error) { + obj := new(web.TweetCommentThumbsReq) + err := b.BindAny(c, obj) + return obj, err +} + +func (b *UnimplementedPrivBinding) BindThumbsUpTweetComment(c *gin.Context) (*web.TweetCommentThumbsReq, mir.Error) { + obj := new(web.TweetCommentThumbsReq) + err := b.BindAny(c, obj) + return obj, err +} + func (b *UnimplementedPrivBinding) BindDeleteCommentReply(c *gin.Context) (*web.DeleteCommentReplyReq, mir.Error) { obj := new(web.DeleteCommentReplyReq) err := b.BindAny(c, obj) diff --git a/build-image.sh b/build-image.sh new file mode 100755 index 00000000..dba722d3 --- /dev/null +++ b/build-image.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# eg.1 : sh build-image.sh +# eg.2, set image: sh build-image.sh bitbus/paopao-ce + +VERSION=`git describe --tags --always | cut -f1 -f2 -d "-"` # eg.: 0.2.5 +IMAGE="bitbus/paopao-ce" + +if [ -n "$1" ]; then + IMAGE="$1" +fi +if [ -n "$2" ]; then + VERSION="$2" +fi + +# build image +docker buildx build \ + --build-arg USE_DIST="yes" \ + --tag "$IMAGE:${VERSION}" \ + --tag "$IMAGE:latest" \ + . -f Dockerfile + +# push to image rep +# if [ -n "$1" ]; then +# docker push "$IMAGE:${VERSION}" +# docker push "$IMAGE:latest" +# fi diff --git a/build-release.sh b/build-release.sh new file mode 100755 index 00000000..9530c07f --- /dev/null +++ b/build-release.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# eg.1 : sh build-image.sh +# eg.2, set tags: sh build-image.sh 'embed go_json' + +TAGS='embed go_json' + +if [ -n "$1" ]; then + TAGS="$1" +fi + +make release CGO_ENABLED=0 TAGS="$TAGS" diff --git a/docker-compose.yaml b/docker-compose.yaml index 814dfa83..09a7dd60 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -111,7 +111,7 @@ services: - paopao-network backend: - image: bitbus/paopao-ce:latest + image: bitbus/paopao-ce:nightly restart: always depends_on: - db diff --git a/go.mod b/go.mod index 4f5767de..4e95ce64 100644 --- a/go.mod +++ b/go.mod @@ -40,13 +40,13 @@ require ( google.golang.org/protobuf v1.30.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/resty.v1 v1.12.0 - gorm.io/driver/mysql v1.4.7 + gorm.io/driver/mysql v1.5.0 gorm.io/driver/postgres v1.5.0 gorm.io/driver/sqlite v1.4.4 gorm.io/gorm v1.25.0 gorm.io/plugin/dbresolver v1.4.1 - gorm.io/plugin/soft_delete v1.2.0 - modernc.org/sqlite v1.21.2 + gorm.io/plugin/soft_delete v1.2.1 + modernc.org/sqlite v1.22.0 ) require ( diff --git a/go.sum b/go.sum index 90dbb650..1da547eb 100644 --- a/go.sum +++ b/go.sum @@ -2097,8 +2097,8 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/mysql v1.4.3/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= -gorm.io/driver/mysql v1.4.7 h1:rY46lkCspzGHn7+IYsNpSfEv9tA+SU4SkkB+GFX125Y= -gorm.io/driver/mysql v1.4.7/go.mod h1:SxzItlnT1cb6e1e4ZRpgJN2VYtcqJgqnHxWr4wsP8oc= +gorm.io/driver/mysql v1.5.0 h1:6hSAT5QcyIaty0jfnff0z0CLDjyRgZ8mlMHLqSt7uXM= +gorm.io/driver/mysql v1.5.0/go.mod h1:FFla/fJuCvyTi7rJQd27qlNX2v3L6deTR1GgTjSOLPo= gorm.io/driver/postgres v1.0.8/go.mod h1:4eOzrI1MUfm6ObJU/UcmbXyiHSs8jSwH95G5P5dxcAg= gorm.io/driver/postgres v1.5.0 h1:u2FXTy14l45qc3UeCJ7QaAXZmZfDDv0YrthvmRq1l0U= gorm.io/driver/postgres v1.5.0/go.mod h1:FUZXzO+5Uqg5zzwzv4KK49R8lvGIyscBOqYrtI1Ce9A= @@ -2117,8 +2117,8 @@ gorm.io/gorm v1.25.0 h1:+KtYtb2roDz14EQe4bla8CbQlmb9dN3VejSai3lprfU= gorm.io/gorm v1.25.0/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gorm.io/plugin/dbresolver v1.4.1 h1:Ug4LcoPhrvqq71UhxtF346f+skTYoCa/nEsdjvHwEzk= gorm.io/plugin/dbresolver v1.4.1/go.mod h1:CTbCtMWhsjXSiJqiW2R8POvJ2cq18RVOl4WGyT5nhNc= -gorm.io/plugin/soft_delete v1.2.0 h1:txWHRMqLPqfXUFytXCdxb/jthRe3CrG4R5XOdagut6Q= -gorm.io/plugin/soft_delete v1.2.0/go.mod h1:Zv7vQctOJTGOsJ/bWgrN1n3od0GBAZgnLjEx+cApLGk= +gorm.io/plugin/soft_delete v1.2.1 h1:qx9D/c4Xu6w5KT8LviX8DgLcB9hkKl6JC9f44Tj7cGU= +gorm.io/plugin/soft_delete v1.2.1/go.mod h1:Zv7vQctOJTGOsJ/bWgrN1n3od0GBAZgnLjEx+cApLGk= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= @@ -2209,8 +2209,8 @@ modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/ql v1.0.0/go.mod h1:xGVyrLIatPcO2C1JvI/Co8c0sr6y91HKFNy4pt9JXEY= modernc.org/sortutil v1.1.0/go.mod h1:ZyL98OQHJgH9IEfN71VsamvJgrtRX9Dj2gX+vH86L1k= modernc.org/sqlite v1.10.6/go.mod h1:Z9FEjUtZP4qFEg6/SiADg9XCER7aYy9a/j7Pg9P7CPs= -modernc.org/sqlite v1.21.2 h1:ixuUG0QS413Vfzyx6FWx6PYTmHaOegTY+hjzhn7L+a0= -modernc.org/sqlite v1.21.2/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= +modernc.org/sqlite v1.22.0 h1:Uo+wEWePCspy4SAu0w2VbzUHEftOs7yoaWX/cYjsq84= +modernc.org/sqlite v1.22.0/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= diff --git a/internal/conf/config.yaml b/internal/conf/config.yaml index 2732591f..0f74e77e 100644 --- a/internal/conf/config.yaml +++ b/internal/conf/config.yaml @@ -1,7 +1,7 @@ App: # APP基础设置项 RunMode: debug AttachmentIncomeRate: 0.8 - MaxCommentCount: 10 + MaxCommentCount: 1000 DefaultContextTimeout: 60 DefaultPageSize: 10 MaxPageSize: 100 diff --git a/internal/core/comments.go b/internal/core/comments.go index c5501b4b..537d7068 100644 --- a/internal/core/comments.go +++ b/internal/core/comments.go @@ -5,6 +5,7 @@ package core import ( + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" ) @@ -24,6 +25,7 @@ type CommentService interface { GetCommentReplyByID(id int64) (*CommentReply, error) GetCommentContentsByIDs(ids []int64) ([]*CommentContent, error) GetCommentRepliesByID(ids []int64) ([]*CommentReplyFormated, error) + GetCommentThumbsMap(tweetId int64) (cs.CommentThumbsMap, cs.CommentThumbsMap, error) } // CommentManageService 评论管理服务 @@ -33,4 +35,8 @@ type CommentManageService interface { CreateCommentReply(reply *CommentReply) (*CommentReply, error) DeleteCommentReply(reply *CommentReply) error CreateCommentContent(content *CommentContent) (*CommentContent, error) + ThumbsUpComment(userId int64, tweetId, commentId int64) error + ThumbsDownComment(userId int64, tweetId, commentId int64) error + ThumbsUpReply(userId int64, tweetId, commentId, replyId int64) error + ThumbsDownReply(userId int64, tweetId, commentId, replyId int64) error } diff --git a/internal/core/cs/comment_thumbs.go b/internal/core/cs/comment_thumbs.go new file mode 100644 index 00000000..cb6f7d0d --- /dev/null +++ b/internal/core/cs/comment_thumbs.go @@ -0,0 +1,19 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +type CommentThumbs struct { + UserID int64 `json:"user_id"` + TweetID int64 `json:"tweet_id"` + CommentID int64 `json:"comment_id"` + ReplyID int64 `json:"reply_id"` + CommentType int8 `json:"comment_type"` + IsThumbsUp int8 `json:"is_thumbs_up"` + IsThumbsDown int8 `json:"is_thumbs_down"` +} + +type CommentThumbsList []*CommentThumbs + +type CommentThumbsMap map[int64]*CommentThumbs diff --git a/internal/dao/jinzhu/comments.go b/internal/dao/jinzhu/comments.go index ec7ab75d..b7e4ee4e 100644 --- a/internal/dao/jinzhu/comments.go +++ b/internal/dao/jinzhu/comments.go @@ -5,8 +5,12 @@ package jinzhu import ( + "time" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" + "github.com/rocboss/paopao-ce/pkg/types" "gorm.io/gorm" ) @@ -35,6 +39,23 @@ func newCommentManageService(db *gorm.DB) core.CommentManageService { } } +func (s *commentSrv) GetCommentThumbsMap(tweetId int64) (cs.CommentThumbsMap, cs.CommentThumbsMap, error) { + commentThumbsList := cs.CommentThumbsList{} + err := s.db.Model(&dbr.TweetCommentThumbs{}).Where("tweet_id=?", tweetId).Find(&commentThumbsList).Error + if err != nil { + return nil, nil, err + } + commentThumbs, replyThumbs := make(cs.CommentThumbsMap), make(cs.CommentThumbsMap) + for _, thumbs := range commentThumbsList { + if thumbs.CommentType == 0 { + commentThumbs[thumbs.CommentID] = thumbs + } else { + replyThumbs[thumbs.ReplyID] = thumbs + } + } + return commentThumbs, replyThumbs, nil +} + func (s *commentSrv) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { return (&dbr.Comment{}).List(s.db, conditions, offset, limit) } @@ -106,7 +127,22 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFor } func (s *commentManageSrv) DeleteComment(comment *core.Comment) error { - return comment.Delete(s.db) + db := s.db.Begin() + defer db.Rollback() + + err := comment.Delete(s.db) + if err != nil { + return err + } + err = db.Model(&dbr.TweetCommentThumbs{}).Where("user_id=? AND tweet_id=? AND comment_id=?", comment.UserID, comment.PostID, comment.ID).Updates(map[string]any{ + "deleted_on": time.Now().Unix(), + "is_del": 1, + }).Error + if err != nil { + return err + } + db.Commit() + return nil } func (s *commentManageSrv) CreateComment(comment *core.Comment) (*core.Comment, error) { @@ -117,10 +153,244 @@ func (s *commentManageSrv) CreateCommentReply(reply *core.CommentReply) (*core.C return reply.Create(s.db) } -func (s *commentManageSrv) DeleteCommentReply(reply *core.CommentReply) error { - return reply.Delete(s.db) +func (s *commentManageSrv) DeleteCommentReply(reply *core.CommentReply) (err error) { + db := s.db.Begin() + defer db.Rollback() + + err = reply.Delete(s.db) + if err != nil { + return + } + err = db.Model(&dbr.TweetCommentThumbs{}). + Where("user_id=? AND comment_id=? AND reply_id=?", reply.UserID, reply.CommentID, reply.ID).Updates(map[string]any{ + "deleted_on": time.Now().Unix(), + "is_del": 1, + }).Error + if err != nil { + return + } + db.Commit() + return } func (s *commentManageSrv) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { return content.Create(s.db) } + +func (s *commentManageSrv) ThumbsUpComment(userId int64, tweetId, commentId int64) error { + db := s.db.Begin() + defer db.Rollback() + + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := s.db.Where("user_id=? AND tweet_id=? AND comment_id=? AND comment_type=0", userId, tweetId, commentId).Take(commentThumbs).Error + if err == nil { + switch { + case commentThumbs.IsThumbsUp == types.Yes && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = -1, 0 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 1, 0 + default: + thumbsUpCount, thumbsDownCount = 1, -1 + commentThumbs.IsThumbsDown = types.No + } + commentThumbs.IsThumbsUp = 1 - commentThumbs.IsThumbsUp + commentThumbs.ModifiedOn = time.Now().Unix() + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + IsThumbsUp: types.Yes, + IsThumbsDown: types.No, + CommentType: 0, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 1, 0 + } + // 更新thumbs状态 + if err = s.db.Save(commentThumbs).Error; err != nil { + return err + } + // 更新thumbsUpCount + if err = s.updateCommentThumbsUpCount(&dbr.Comment{}, commentId, thumbsUpCount, thumbsDownCount); err != nil { + return err + } + db.Commit() + return nil +} + +func (s *commentManageSrv) ThumbsDownComment(userId int64, tweetId, commentId int64) error { + db := s.db.Begin() + defer db.Rollback() + + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := s.db.Where("user_id=? AND tweet_id=? AND comment_id=? AND comment_type=0", userId, tweetId, commentId).Take(commentThumbs).Error + if err == nil { + switch { + case commentThumbs.IsThumbsDown == types.Yes: + thumbsUpCount, thumbsDownCount = 0, -1 + case commentThumbs.IsThumbsDown == types.No && commentThumbs.IsThumbsUp == types.No: + thumbsUpCount, thumbsDownCount = 0, 1 + default: + thumbsUpCount, thumbsDownCount = -1, 1 + commentThumbs.IsThumbsUp = types.No + + } + commentThumbs.IsThumbsDown = 1 - commentThumbs.IsThumbsDown + commentThumbs.ModifiedOn = time.Now().Unix() + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + IsThumbsUp: types.No, + IsThumbsDown: types.Yes, + CommentType: 0, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 0, 1 + } + // 更新thumbs状态 + if err = s.db.Save(commentThumbs).Error; err != nil { + return err + } + // 更新thumbsUpCount + if err = s.updateCommentThumbsUpCount(&dbr.Comment{}, commentId, thumbsUpCount, thumbsDownCount); err != nil { + return err + } + db.Commit() + return nil +} + +func (s *commentManageSrv) ThumbsUpReply(userId int64, tweetId, commentId, replyId int64) error { + db := s.db.Begin() + defer db.Rollback() + + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := s.db.Where("user_id=? AND tweet_id=? AND comment_id=? AND reply_id=? AND comment_type=1", userId, tweetId, commentId, replyId).Take(commentThumbs).Error + if err == nil { + switch { + case commentThumbs.IsThumbsUp == types.Yes: + thumbsUpCount, thumbsDownCount = -1, 0 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 1, 0 + default: + thumbsUpCount, thumbsDownCount = 1, -1 + commentThumbs.IsThumbsDown = types.No + } + commentThumbs.IsThumbsUp = 1 - commentThumbs.IsThumbsUp + commentThumbs.ModifiedOn = time.Now().Unix() + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + ReplyID: replyId, + IsThumbsUp: types.Yes, + IsThumbsDown: types.No, + CommentType: 1, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 1, 0 + } + // 更新thumbs状态 + if err = s.db.Save(commentThumbs).Error; err != nil { + return err + } + // 更新thumbsUpCount + if err = s.updateCommentThumbsUpCount(&dbr.CommentReply{}, replyId, thumbsUpCount, thumbsDownCount); err != nil { + return err + } + db.Commit() + return nil +} + +func (s *commentManageSrv) ThumbsDownReply(userId int64, tweetId, commentId, replyId int64) error { + db := s.db.Begin() + defer db.Rollback() + + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := s.db.Where("user_id=? AND tweet_id=? AND comment_id=? AND reply_id=? AND comment_type=1", userId, tweetId, commentId, replyId).Take(commentThumbs).Error + if err == nil { + switch { + case commentThumbs.IsThumbsDown == types.Yes: + thumbsUpCount, thumbsDownCount = 0, -1 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 0, 1 + default: + thumbsUpCount, thumbsDownCount = -1, 1 + commentThumbs.IsThumbsUp = types.No + } + commentThumbs.IsThumbsDown = 1 - commentThumbs.IsThumbsDown + commentThumbs.ModifiedOn = time.Now().Unix() + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + ReplyID: replyId, + IsThumbsUp: types.No, + IsThumbsDown: types.Yes, + CommentType: 1, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 0, 1 + } + // 更新thumbs状态 + if err = s.db.Save(commentThumbs).Error; err != nil { + return err + } + // 更新thumbsUpCount + if err = s.updateCommentThumbsUpCount(&dbr.CommentReply{}, replyId, thumbsUpCount, thumbsDownCount); err != nil { + return err + } + db.Commit() + return nil +} + +func (s *commentManageSrv) updateCommentThumbsUpCount(obj any, id int64, thumbsUpCount, thumbsDownCount int32) error { + updateColumns := make(map[string]any, 2) + if thumbsUpCount == 1 { + updateColumns["thumbs_up_count"] = gorm.Expr("thumbs_up_count + 1") + } else if thumbsUpCount == -1 { + updateColumns["thumbs_up_count"] = gorm.Expr("thumbs_up_count - 1") + } + if thumbsDownCount == 1 { + updateColumns["thumbs_down_count"] = gorm.Expr("thumbs_down_count + 1") + } else if thumbsDownCount == -1 { + updateColumns["thumbs_down_count"] = gorm.Expr("thumbs_down_count - 1") + } + if len(updateColumns) > 0 { + updateColumns["modified_on"] = time.Now().Unix() + return s.db.Model(obj).Where("id=?", id).UpdateColumns(updateColumns).Error + } + return nil +} diff --git a/internal/dao/jinzhu/dbr/comment.go b/internal/dao/jinzhu/dbr/comment.go index 80192df7..6f2f33c3 100644 --- a/internal/dao/jinzhu/dbr/comment.go +++ b/internal/dao/jinzhu/dbr/comment.go @@ -7,27 +7,33 @@ package dbr import ( "time" + "github.com/rocboss/paopao-ce/pkg/types" "gorm.io/gorm" ) type Comment struct { *Model - PostID int64 `json:"post_id"` - UserID int64 `json:"user_id"` - IP string `json:"ip"` - IPLoc string `json:"ip_loc"` + PostID int64 `json:"post_id"` + UserID int64 `json:"user_id"` + IP string `json:"ip"` + IPLoc string `json:"ip_loc"` + ThumbsUpCount int32 `json:"thumbs_up_count"` + ThumbsDownCount int32 `json:"-"` } type CommentFormated struct { - ID int64 `json:"id"` - PostID int64 `json:"post_id"` - UserID int64 `json:"user_id"` - User *UserFormated `json:"user"` - Contents []*CommentContent `json:"contents"` - Replies []*CommentReplyFormated `json:"replies"` - IPLoc string `json:"ip_loc"` - CreatedOn int64 `json:"created_on"` - ModifiedOn int64 `json:"modified_on"` + ID int64 `json:"id"` + PostID int64 `json:"post_id"` + UserID int64 `json:"user_id"` + User *UserFormated `json:"user"` + Contents []*CommentContent `json:"contents"` + Replies []*CommentReplyFormated `json:"replies"` + IPLoc string `json:"ip_loc"` + ThumbsUpCount int32 `json:"thumbs_up_count"` + IsThumbsUp int8 `json:"is_thumbs_up"` + IsThumbsDown int8 `json:"is_thumbs_down"` + CreatedOn int64 `json:"created_on"` + ModifiedOn int64 `json:"modified_on"` } func (c *Comment) Format() *CommentFormated { @@ -35,15 +41,18 @@ func (c *Comment) Format() *CommentFormated { return &CommentFormated{} } return &CommentFormated{ - ID: c.Model.ID, - PostID: c.PostID, - UserID: c.UserID, - User: &UserFormated{}, - Contents: []*CommentContent{}, - Replies: []*CommentReplyFormated{}, - IPLoc: c.IPLoc, - CreatedOn: c.CreatedOn, - ModifiedOn: c.ModifiedOn, + ID: c.Model.ID, + PostID: c.PostID, + UserID: c.UserID, + User: &UserFormated{}, + Contents: []*CommentContent{}, + Replies: []*CommentReplyFormated{}, + IPLoc: c.IPLoc, + ThumbsUpCount: c.ThumbsUpCount, + IsThumbsUp: types.No, + IsThumbsDown: types.No, + CreatedOn: c.CreatedOn, + ModifiedOn: c.ModifiedOn, } } diff --git a/internal/dao/jinzhu/dbr/comment_reply.go b/internal/dao/jinzhu/dbr/comment_reply.go index fe527be5..a1c562f6 100644 --- a/internal/dao/jinzhu/dbr/comment_reply.go +++ b/internal/dao/jinzhu/dbr/comment_reply.go @@ -7,30 +7,36 @@ package dbr import ( "time" + "github.com/rocboss/paopao-ce/pkg/types" "gorm.io/gorm" ) type CommentReply struct { *Model - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` - AtUserID int64 `json:"at_user_id"` - Content string `json:"content"` - IP string `json:"ip"` - IPLoc string `json:"ip_loc"` + CommentID int64 `json:"comment_id"` + UserID int64 `json:"user_id"` + AtUserID int64 `json:"at_user_id"` + Content string `json:"content"` + IP string `json:"ip"` + IPLoc string `json:"ip_loc"` + ThumbsUpCount int32 `json:"thumbs_up_count"` + ThumbsDownCount int32 `json:"-"` } type CommentReplyFormated struct { - ID int64 `json:"id"` - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` - User *UserFormated `json:"user"` - AtUserID int64 `json:"at_user_id"` - AtUser *UserFormated `json:"at_user"` - Content string `json:"content"` - IPLoc string `json:"ip_loc"` - CreatedOn int64 `json:"created_on"` - ModifiedOn int64 `json:"modified_on"` + ID int64 `json:"id"` + CommentID int64 `json:"comment_id"` + UserID int64 `json:"user_id"` + User *UserFormated `json:"user"` + AtUserID int64 `json:"at_user_id"` + AtUser *UserFormated `json:"at_user"` + Content string `json:"content"` + IPLoc string `json:"ip_loc"` + ThumbsUpCount int32 `json:"thumbs_up_count"` + IsThumbsUp int8 `json:"is_thumbs_up"` + IsThumbsDown int8 `json:"is_thumbs_down"` + CreatedOn int64 `json:"created_on"` + ModifiedOn int64 `json:"modified_on"` } func (c *CommentReply) Format() *CommentReplyFormated { @@ -39,16 +45,19 @@ func (c *CommentReply) Format() *CommentReplyFormated { } return &CommentReplyFormated{ - ID: c.ID, - CommentID: c.CommentID, - UserID: c.UserID, - User: &UserFormated{}, - AtUserID: c.AtUserID, - AtUser: &UserFormated{}, - Content: c.Content, - IPLoc: c.IPLoc, - CreatedOn: c.CreatedOn, - ModifiedOn: c.ModifiedOn, + ID: c.ID, + CommentID: c.CommentID, + UserID: c.UserID, + User: &UserFormated{}, + AtUserID: c.AtUserID, + AtUser: &UserFormated{}, + Content: c.Content, + IPLoc: c.IPLoc, + ThumbsUpCount: c.ThumbsUpCount, + IsThumbsUp: types.No, + IsThumbsDown: types.No, + CreatedOn: c.CreatedOn, + ModifiedOn: c.ModifiedOn, } } diff --git a/internal/dao/jinzhu/dbr/comment_thumbs.go b/internal/dao/jinzhu/dbr/comment_thumbs.go new file mode 100644 index 00000000..7d66ca46 --- /dev/null +++ b/internal/dao/jinzhu/dbr/comment_thumbs.go @@ -0,0 +1,16 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package dbr + +type TweetCommentThumbs struct { + *Model + UserID int64 `json:"user_id"` + TweetID int64 `json:"tweet_id"` + CommentID int64 `json:"comment_id"` + ReplyID int64 `json:"reply_id"` + CommentType int8 `json:"comment_type"` + IsThumbsUp int8 `json:"is_thumbs_up"` + IsThumbsDown int8 `json:"is_thumbs_down"` +} diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index 42cd607e..d0c57caf 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -13,6 +13,19 @@ import ( "github.com/rocboss/paopao-ce/internal/core/cs" ) +type TweetCommentThumbsReq struct { + SimpleInfo `json:"-" binding:"-"` + TweetId int64 `json:"tweet_id" binding:"required"` + CommentId int64 `json:"comment_id" binding:"required"` +} + +type TweetReplyThumbsReq struct { + SimpleInfo `json:"-" binding:"-"` + TweetId int64 `json:"tweet_id" binding:"required"` + CommentId int64 `json:"comment_id" binding:"required"` + ReplyId int64 `json:"reply_id" binding:"required"` +} + type PostContentItem struct { Content string `json:"content" binding:"required"` Type core.PostContentT `json:"type" binding:"required"` diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index c8b2b097..8dc7a2b7 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -144,6 +144,38 @@ func (s *privSrv) Chain() gin.HandlersChain { return gin.HandlersChain{chain.JWT(), chain.Priv()} } +func (s *privSrv) ThumbsDownTweetReply(req *web.TweetReplyThumbsReq) mir.Error { + if err := s.Ds.ThumbsDownReply(req.Uid, req.TweetId, req.CommentId, req.ReplyId); err != nil { + logrus.Errorf("thumbs down tweet reply error: %s req:%v", err, req) + return _errThumbsDownTweetReply + } + return nil +} + +func (s *privSrv) ThumbsUpTweetReply(req *web.TweetReplyThumbsReq) mir.Error { + if err := s.Ds.ThumbsUpReply(req.Uid, req.TweetId, req.CommentId, req.ReplyId); err != nil { + logrus.Errorf("thumbs up tweet reply error: %s req:%v", err, req) + return _errThumbsUpTweetReply + } + return nil +} + +func (s *privSrv) ThumbsDownTweetComment(req *web.TweetCommentThumbsReq) mir.Error { + if err := s.Ds.ThumbsDownComment(req.Uid, req.TweetId, req.CommentId); err != nil { + logrus.Errorf("thumbs down tweet comment error: %s req:%v", err, req) + return _errThumbsDownTweetComment + } + return nil +} + +func (s *privSrv) ThumbsUpTweetComment(req *web.TweetCommentThumbsReq) mir.Error { + if err := s.Ds.ThumbsUpComment(req.Uid, req.TweetId, req.CommentId); err != nil { + logrus.Errorf("thumbs up tweet comment error: %s req:%v", err, req) + return _errThumbsUpTweetComment + } + return nil +} + func (s *privSrv) UnfollowTopic(req *web.UnfollowTopicReq) mir.Error { if err := s.Ds.UnfollowTopic(req.Uid, req.TopicId); err != nil { logrus.Errorf("user(%d) unfollow topic(%d) failed: %s", req.Uid, req.TopicId, err) diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index 113a9ffb..8c87099a 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -102,15 +102,26 @@ func (s *pubSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsRes return nil, _errGetCommentsFailed } + commentThumbs, replyThumbs, err := s.Ds.GetCommentThumbsMap(req.TweetId) + if err != nil { + return nil, _errGetCommentsFailed + } + commentsFormated := []*core.CommentFormated{} for _, comment := range comments { commentFormated := comment.Format() + if thumbs, exist := commentThumbs[comment.ID]; exist { + commentFormated.IsThumbsUp, commentFormated.IsThumbsDown = thumbs.IsThumbsUp, thumbs.IsThumbsDown + } for _, content := range contents { if content.CommentID == comment.ID { commentFormated.Contents = append(commentFormated.Contents, content) } } for _, reply := range replies { + if thumbs, exist := replyThumbs[reply.ID]; exist { + reply.IsThumbsUp, reply.IsThumbsDown = thumbs.IsThumbsUp, thumbs.IsThumbsDown + } if reply.CommentID == commentFormated.ID { commentFormated.Replies = append(commentFormated.Replies, reply) } diff --git a/internal/servants/web/xerror.go b/internal/servants/web/xerror.go index 337637e4..aacf9a01 100644 --- a/internal/servants/web/xerror.go +++ b/internal/servants/web/xerror.go @@ -54,6 +54,7 @@ var ( _errCreateReplyFailed = xerror.NewError(40005, "评论回复失败") _errGetReplyFailed = xerror.NewError(40006, "获取评论详情失败") _errMaxCommentCount = xerror.NewError(40007, "评论数已达最大限制") + _errGetCommentThumbs = xerror.NewError(40008, "获取评论点赞信息失败") _errGetMessagesFailed = xerror.NewError(50001, "获取消息列表失败") _errReadMessageFailed = xerror.NewError(50002, "标记消息已读失败") @@ -78,9 +79,13 @@ var ( _errGetContactsFailed = xerror.NewError(80007, "获取联系人列表失败") _errNoActionToSelf = xerror.NewError(80008, "不允许对自己操作") - _errFollowTopicFailed = xerror.NewError(90001, "关注话题失败") - _errUnfollowTopicFailed = xerror.NewError(90002, "取消关注话题失败") - _errStickTopicFailed = xerror.NewError(90003, "更行话题置顶状态失败") + _errFollowTopicFailed = xerror.NewError(90001, "关注话题失败") + _errUnfollowTopicFailed = xerror.NewError(90002, "取消关注话题失败") + _errStickTopicFailed = xerror.NewError(90003, "更行话题置顶状态失败") + _errThumbsUpTweetComment = xerror.NewError(90101, "评论点赞失败") + _errThumbsDownTweetComment = xerror.NewError(90102, "评论点踩失败") + _errThumbsUpTweetReply = xerror.NewError(90103, "评论回复点赞失败") + _errThumbsDownTweetReply = xerror.NewError(90104, "评论回复点踩失败") _errFileUploadFailed = xerror.NewError(10200, "文件上传失败") _errFileInvalidExt = xerror.NewError(10201, "文件类型不合法") diff --git a/mirc/web/v1/priv.go b/mirc/web/v1/priv.go index ba21ec79..15817543 100644 --- a/mirc/web/v1/priv.go +++ b/mirc/web/v1/priv.go @@ -57,6 +57,18 @@ type Priv struct { // DeleteCommentReply 删除评论回复 DeleteCommentReply func(Delete, web.DeleteCommentReplyReq) `mir:"/post/comment/reply"` + // ThumbsUpTweetComment 点赞评论 + ThumbsUpTweetComment func(Post, web.TweetCommentThumbsReq) `mir:"/tweet/comment/thumbsup"` + + // ThumbsDownTweetComment 点踩评论 + ThumbsDownTweetComment func(Post, web.TweetCommentThumbsReq) `mir:"/tweet/comment/thumbsdown"` + + // ThumbsUpTweetReply 点赞评论回复 + ThumbsUpTweetReply func(Post, web.TweetReplyThumbsReq) `mir:"/tweet/reply/thumbsup"` + + // ThumbsDownTweetReply 点踩评论回复 + ThumbsDownTweetReply func(Post, web.TweetReplyThumbsReq) `mir:"/tweet/reply/thumbsdown"` + // StickTopic 置顶动态 StickTopic func(Post, web.StickTopicReq) web.StickTopicResp `mir:"/topic/stick"` diff --git a/pkg/types/types.go b/pkg/types/types.go index e2bb9331..725f18e4 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -4,6 +4,14 @@ package types +const ( + // No 二态值 否 + No int8 = 0 + + // Yes 二态值 是 + Yes int8 = 1 +) + // Empty empty alias type type Empty = struct{} diff --git a/scripts/migration/mysql/0007_comment_thumbs.down.sql b/scripts/migration/mysql/0007_comment_thumbs.down.sql new file mode 100644 index 00000000..38e4e51b --- /dev/null +++ b/scripts/migration/mysql/0007_comment_thumbs.down.sql @@ -0,0 +1,6 @@ +ALTER TABLE `p_comment` DROP COLUMN `thumbs_up_count`; +ALTER TABLE `p_comment` DROP COLUMN `thumbs_down_count`; +ALTER TABLE `p_comment_reply` DROP COLUMN `thumbs_up_count`; +ALTER TABLE `p_comment_reply` DROP COLUMN `thumbs_down_count`; + +DROP TABLE IF EXISTS `p_tweet_comment_thumbs`; diff --git a/scripts/migration/mysql/0007_comment_thumbs.up.sql b/scripts/migration/mysql/0007_comment_thumbs.up.sql new file mode 100644 index 00000000..e483142b --- /dev/null +++ b/scripts/migration/mysql/0007_comment_thumbs.up.sql @@ -0,0 +1,21 @@ +ALTER TABLE `p_comment` ADD COLUMN `thumbs_up_count` INT unsigned NOT NULL DEFAULT '0' COMMENT '点赞数'; +ALTER TABLE `p_comment` ADD COLUMN `thumbs_down_count` INT unsigned NOT NULL DEFAULT '0' COMMENT '点踩数'; +ALTER TABLE `p_comment_reply` ADD COLUMN `thumbs_up_count` INT unsigned NOT NULL DEFAULT '0' COMMENT '点赞数'; +ALTER TABLE `p_comment_reply` ADD COLUMN `thumbs_down_count` INT unsigned NOT NULL DEFAULT '0' COMMENT '点踩数'; + +CREATE TABLE `p_tweet_comment_thumbs` ( + `id` BIGINT unsigned NOT NULL AUTO_INCREMENT COMMENT 'thumbs ID', + `user_id` BIGINT unsigned NOT NULL, + `tweet_id` BIGINT unsigned NOT NULL COMMENT '推文ID', + `comment_id` BIGINT unsigned NOT NULL COMMENT '评论ID', + `reply_id` BIGINT unsigned COMMENT '评论回复ID', + `comment_type` TINYINT NOT NULL DEFAULT '0' COMMENT '评论类型 0为推文评论、1为评论回复', + `is_thumbs_up` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否点赞', + `is_thumbs_down` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否点踩', + `created_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `modified_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', + `deleted_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + `is_del` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否删除 0 为未删除、1 为已删除', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tweet_comment_thumbs_uid_tid` (`user_id`, `tweet_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='推文评论点赞'; diff --git a/scripts/migration/postgres/0006_comment_thumbs.down.sql b/scripts/migration/postgres/0006_comment_thumbs.down.sql new file mode 100644 index 00000000..79f878e2 --- /dev/null +++ b/scripts/migration/postgres/0006_comment_thumbs.down.sql @@ -0,0 +1,6 @@ +ALTER TABLE p_comment DROP COLUMN thumbs_up_count; +ALTER TABLE p_comment DROP COLUMN thumbs_down_count; +ALTER TABLE p_comment_reply DROP COLUMN thumbs_up_count; +ALTER TABLE p_comment_reply DROP COLUMN thumbs_down_count; + +DROP TABLE IF EXISTS p_tweet_comment_thumbs; diff --git a/scripts/migration/postgres/0006_comment_thumbs.up.sql b/scripts/migration/postgres/0006_comment_thumbs.up.sql new file mode 100644 index 00000000..02250b7d --- /dev/null +++ b/scripts/migration/postgres/0006_comment_thumbs.up.sql @@ -0,0 +1,20 @@ +ALTER TABLE p_comment ADD COLUMN thumbs_up_count INT NOT NULL DEFAULT 0; +ALTER TABLE p_comment ADD COLUMN thumbs_down_count INT NOT NULL DEFAULT 0; +ALTER TABLE p_comment_reply ADD COLUMN thumbs_up_count INT NOT NULL DEFAULT 0; +ALTER TABLE p_comment_reply ADD COLUMN thumbs_down_count INT NOT NULL DEFAULT 0; + +CREATE TABLE p_tweet_comment_thumbs ( + ID BIGSERIAL PRIMARY KEY, + user_id BIGINT NOT NULL, + tweet_id BIGINT NOT NULL, + comment_id BIGINT NOT NULL, + reply_id BIGINT, + comment_type SMALLINT NOT NULL DEFAULT 0,-- 评论类型 0为推文评论、1为评论回复 + is_thumbs_up SMALLINT NOT NULL DEFAULT 0,-- 是否点赞 0 为否 1为是 + is_thumbs_down SMALLINT NOT NULL DEFAULT 0,-- 是否点踩 0 为否 1为是 + created_on BIGINT NOT NULL DEFAULT 0, + modified_on BIGINT NOT NULL DEFAULT 0, + deleted_on BIGINT NOT NULL DEFAULT 0, + is_del SMALLINT NOT NULL DEFAULT 0 -- 是否删除 0 为未删除、1 为已删除 +); +CREATE INDEX idx_tweet_comment_thumbs_uid_tid ON p_tweet_comment_thumbs USING btree ( user_id, tweet_id ); \ No newline at end of file diff --git a/scripts/migration/sqlite3/0007_comment_thumbs.down.sql b/scripts/migration/sqlite3/0007_comment_thumbs.down.sql new file mode 100644 index 00000000..2ed41f59 --- /dev/null +++ b/scripts/migration/sqlite3/0007_comment_thumbs.down.sql @@ -0,0 +1,6 @@ +ALTER TABLE "p_comment" DROP COLUMN "thumbs_up_count"; +ALTER TABLE "p_comment" DROP COLUMN "thumbs_down_count"; +ALTER TABLE "p_comment_reply" DROP COLUMN "thumbs_up_count"; +ALTER TABLE "p_comment_reply" DROP COLUMN "thumbs_down_count"; + +DROP TABLE IF EXISTS "p_tweet_comment_thumbs"; diff --git a/scripts/migration/sqlite3/0007_comment_thumbs.up.sql b/scripts/migration/sqlite3/0007_comment_thumbs.up.sql new file mode 100644 index 00000000..33d87ad2 --- /dev/null +++ b/scripts/migration/sqlite3/0007_comment_thumbs.up.sql @@ -0,0 +1,19 @@ +ALTER TABLE "p_comment" ADD COLUMN "thumbs_up_count" integer NOT NULL DEFAULT 0; +ALTER TABLE "p_comment" ADD COLUMN "thumbs_down_count" integer NOT NULL DEFAULT 0; +ALTER TABLE "p_comment_reply" ADD COLUMN "thumbs_up_count" integer NOT NULL DEFAULT 0; +ALTER TABLE "p_comment_reply" ADD COLUMN "thumbs_down_count" integer NOT NULL DEFAULT 0; + +CREATE TABLE "p_tweet_comment_thumbs" ( + "id" integer PRIMARY KEY, + "user_id" integer NOT NULL, + "tweet_id" integer NOT NULL, + "comment_id" integer NOT NULL, + "reply_id" integer, + "comment_type" integer NOT NULL DEFAULT 0, -- 评论类型 0为推文评论、1为评论回复 + "is_thumbs_up" integer NOT NULL DEFAULT 0, -- 是否点赞 0 为否 1为是 + "is_thumbs_down" integer NOT NULL DEFAULT 0, -- 是否点踩 0 为否 1为是 + "created_on" integer NOT NULL DEFAULT 0, + "modified_on" integer NOT NULL DEFAULT 0, + "deleted_on" integer NOT NULL DEFAULT 0, + "is_del" integer NOT NULL DEFAULT 0 -- 是否删除 0 为未删除、1 为已删除 +); diff --git a/scripts/paopao-mysql.sql b/scripts/paopao-mysql.sql index 5c2a6a49..5a3b4c0b 100644 --- a/scripts/paopao-mysql.sql +++ b/scripts/paopao-mysql.sql @@ -51,6 +51,8 @@ CREATE TABLE `p_comment` ( `user_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', `ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'IP地址', `ip_loc` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'IP城市地址', + `thumbs_up_count` int unsigned NOT NULL DEFAULT '0' COMMENT '点赞数', + `thumbs_down_count` int unsigned NOT NULL DEFAULT '0' COMMENT '点踩数', `created_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `modified_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', `deleted_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', @@ -94,6 +96,8 @@ CREATE TABLE `p_comment_reply` ( `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '内容', `ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'IP地址', `ip_loc` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'IP城市地址', + `thumbs_up_count` int unsigned NOT NULL DEFAULT '0' COMMENT '点赞数', + `thumbs_down_count` int unsigned NOT NULL DEFAULT '0' COMMENT '点踩数', `created_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `modified_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', `deleted_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', @@ -102,6 +106,27 @@ CREATE TABLE `p_comment_reply` ( KEY `idx_comment_reply_comment_id` (`comment_id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=12000015 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='评论回复'; +-- ---------------------------- +-- Table structure for p_tweet_comment_thumbs +-- ---------------------------- +DROP TABLE IF EXISTS `p_tweet_comment_thumbs`; +CREATE TABLE `p_tweet_comment_thumbs` ( + `id` BIGINT unsigned NOT NULL AUTO_INCREMENT COMMENT 'thumbs ID', + `user_id` BIGINT unsigned NOT NULL, + `tweet_id` BIGINT unsigned NOT NULL COMMENT '推文ID', + `comment_id` BIGINT unsigned NOT NULL COMMENT '评论ID', + `reply_id` BIGINT unsigned COMMENT '评论回复ID', + `comment_type` TINYINT NOT NULL DEFAULT '0' COMMENT '评论类型 0为推文评论、1为评论回复', + `is_thumbs_up` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否点赞', + `is_thumbs_down` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否点踩', + `created_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `modified_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', + `deleted_on` BIGINT unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + `is_del` TINYINT unsigned NOT NULL DEFAULT '0' COMMENT '是否删除 0 为未删除、1 为已删除', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tweet_comment_thumbs_uid_tid` (`user_id`, `tweet_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='推文评论点赞'; + -- ---------------------------- -- Table structure for p_message -- ---------------------------- @@ -324,7 +349,7 @@ CREATE TABLE `p_contact_group` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '联系人ID', `user_id` int NOT NULL DEFAULT '0' COMMENT '用户id', `name` varchar(32) NOT NULL DEFAULT '' COMMENT '分组名称', - `is_delete` tinyint NOT NULL DEFAULT '1' COMMENT '是否删除, 0否, 1是', + `is_del` tinyint NOT NULL DEFAULT '1' COMMENT '是否删除, 0否, 1是', `created_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `modified_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', `deleted_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', diff --git a/scripts/paopao-postgres.sql b/scripts/paopao-postgres.sql index abe38d81..9830cd62 100644 --- a/scripts/paopao-postgres.sql +++ b/scripts/paopao-postgres.sql @@ -43,6 +43,8 @@ CREATE TABLE p_comment ( user_id BIGINT NOT NULL DEFAULT 0, ip VARCHAR(64) NOT NULL DEFAULT '', ip_loc VARCHAR(64) NOT NULL DEFAULT '', + thumbs_up_count int NOT NULL DEFAULT 0, -- 点赞数 + thumbs_down_count int NOT NULL DEFAULT 0, -- 点踩数 created_on BIGINT NOT NULL DEFAULT 0, modified_on BIGINT NOT NULL DEFAULT 0, deleted_on BIGINT NOT NULL DEFAULT 0, @@ -78,6 +80,8 @@ CREATE TABLE p_comment_reply ( content VARCHAR(255) NOT NULL DEFAULT '', ip VARCHAR(64) NOT NULL DEFAULT '', ip_loc VARCHAR(64) NOT NULL DEFAULT '', + thumbs_up_count int NOT NULL DEFAULT 0, -- 点赞数 + thumbs_down_count int NOT NULL DEFAULT 0, -- 点踩数 created_on BIGINT NOT NULL DEFAULT 0, modified_on BIGINT NOT NULL DEFAULT 0, deleted_on BIGINT NOT NULL DEFAULT 0, @@ -85,12 +89,29 @@ CREATE TABLE p_comment_reply ( ); CREATE INDEX idx_comment_reply_comment_id ON p_comment_reply USING btree (comment_id); +DROP TABLE IF EXISTS p_tweet_comment_thumbs; +CREATE TABLE p_tweet_comment_thumbs ( + id BIGSERIAL PRIMARY KEY, + user_id BIGINT NOT NULL, + tweet_id BIGINT NOT NULL, + comment_id BIGINT NOT NULL, + reply_id BIGINT, + comment_type SMALLINT NOT NULL DEFAULT 0, -- 评论类型 0为推文评论、1为评论回复 + is_thumbs_up SMALLINT NOT NULL DEFAULT 0, -- 是否点赞 0 为否 1为是 + is_thumbs_down SMALLINT NOT NULL DEFAULT 0, -- 是否点踩 0 为否 1为是 + created_on BIGINT NOT NULL DEFAULT 0, + modified_on BIGINT NOT NULL DEFAULT 0, + deleted_on BIGINT NOT NULL DEFAULT 0, + is_del SMALLINT NOT NULL DEFAULT 0 -- 是否删除 0 为未删除、1 为已删除 +); +CREATE INDEX idx_tweet_comment_thumbs_uid_tid ON p_tweet_comment_thumbs USING btree (user_id, tweet_id); + DROP TABLE IF EXISTS p_message; CREATE TABLE p_message ( id BIGSERIAL PRIMARY KEY, sender_user_id BIGINT NOT NULL DEFAULT 0, receiver_user_id BIGINT NOT NULL DEFAULT 0, - type SMALLINT NOT NULL DEFAULT 1, + "type" SMALLINT NOT NULL DEFAULT 1, brief VARCHAR(255) NOT NULL DEFAULT '', content VARCHAR(255) NOT NULL DEFAULT '', post_id BIGINT NOT NULL DEFAULT 0, diff --git a/scripts/paopao-sqlite3.sql b/scripts/paopao-sqlite3.sql index 754ce4d2..746204b9 100644 --- a/scripts/paopao-sqlite3.sql +++ b/scripts/paopao-sqlite3.sql @@ -46,6 +46,8 @@ CREATE TABLE "p_comment" ( "user_id" integer NOT NULL, "ip" text(64) NOT NULL, "ip_loc" text(64) NOT NULL, + "thumbs_up_count" integer NOT NULL DEFAULT 0, -- 点赞数 + "thumbs_down_count" integer NOT NULL DEFAULT 0, -- 点踩数 "created_on" integer NOT NULL, "modified_on" integer NOT NULL, "deleted_on" integer NOT NULL, @@ -83,6 +85,8 @@ CREATE TABLE "p_comment_reply" ( "content" text(255) NOT NULL, "ip" text(64) NOT NULL, "ip_loc" text(64) NOT NULL, + "thumbs_up_count" integer NOT NULL DEFAULT 0, -- 点赞数 + "thumbs_down_count" integer NOT NULL DEFAULT 0, -- 点踩数 "created_on" integer NOT NULL, "modified_on" integer NOT NULL, "deleted_on" integer NOT NULL, @@ -90,6 +94,25 @@ CREATE TABLE "p_comment_reply" ( PRIMARY KEY ("id") ); +-- ---------------------------- +-- Table structure for p_tweet_comment_thumbs +-- ---------------------------- +DROP TABLE IF EXISTS p_tweet_comment_thumbs; +CREATE TABLE "p_tweet_comment_thumbs" ( + "id" integer PRIMARY KEY, + "user_id" integer NOT NULL, + "tweet_id" integer NOT NULL, + "comment_id" integer NOT NULL, + "reply_id" integer, + "comment_type" integer NOT NULL DEFAULT 0, -- 评论类型 0为推文评论、1为评论回复 + "is_thumbs_up" integer NOT NULL DEFAULT 0, -- 是否点赞 0 为否 1为是 + "is_thumbs_down" integer NOT NULL DEFAULT 0, -- 是否点踩 0 为否 1为是 + "created_on" integer NOT NULL DEFAULT 0, + "modified_on" integer NOT NULL DEFAULT 0, + "deleted_on" integer NOT NULL DEFAULT 0, + "is_del" integer NOT NULL DEFAULT 0 -- 是否删除 0 为未删除、1 为已删除 +); + -- ---------------------------- -- Table structure for p_contact -- ---------------------------- @@ -397,6 +420,15 @@ ON "p_comment_reply" ( "comment_id" ASC ); +-- ---------------------------- +-- Indexes structure for table idx_tweet_comment_thumbs_uid_tid +-- ---------------------------- +CREATE INDEX "idx_tweet_comment_thumbs_uid_tid" +ON "p_tweet_comment_thumbs"( + "user_id" ASC, + "tweet_id" ASC +); + -- ---------------------------- -- Indexes structure for table p_contact -- ---------------------------- diff --git a/web/dist/assets/404-85c252ce.js b/web/dist/assets/404-85cc3505.js similarity index 50% rename from web/dist/assets/404-85c252ce.js rename to web/dist/assets/404-85cc3505.js index cba047a0..df407012 100644 --- a/web/dist/assets/404-85c252ce.js +++ b/web/dist/assets/404-85cc3505.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as a}from"./vue-router-29025daf.js";import{F as i,e as c,a2 as u}from"./naive-ui-ddb574dd.js";import{d as l,c as d,L as t,Y as o,o as f,e as x}from"./@vue-f70ab1bd.js";import{_ as g}from"./index-2c67ab1f.js";import"./vuex-cc1858c6.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./@vicons-2f3cb6b9.js";import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const K=g(v,[["__scopeId","data-v-e62daa85"]]);export{K as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as a}from"./vue-router-88cc84d1.js";import{F as i,e as c,a2 as u}from"./naive-ui-2035804c.js";import{d as l,c as d,L as t,$ as o,o as f,e as x}from"./@vue-ca177dbe.js";import{_ as g}from"./index-f67b4cc5.js";import"./vuex-d28e9067.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/@css-render-66126308.js b/web/dist/assets/@css-render-480a363d.js similarity index 96% rename from web/dist/assets/@css-render-66126308.js rename to web/dist/assets/@css-render-480a363d.js index 4da6572f..9921db76 100644 --- a/web/dist/assets/@css-render-66126308.js +++ b/web/dist/assets/@css-render-480a363d.js @@ -1,3 +1,3 @@ -import{i as d}from"./@vue-f70ab1bd.js";function C(i){let r=".",s="__",m="--",f;if(i){let e=i.blockPrefix;e&&(r=e),e=i.elementPrefix,e&&(s=e),e=i.modifierPrefix,e&&(m=e)}const b={install(e){f=e.c;const l=e.context;l.bem={},l.bem.b=null,l.bem.els=null}};function y(e){let l,n;return{before(t){l=t.bem.b,n=t.bem.els,t.bem.els=null},after(t){t.bem.b=l,t.bem.els=n},$({context:t,props:u}){return e=typeof e=="string"?e:e({context:t,props:u}),t.bem.b=e,`${(u==null?void 0:u.bPrefix)||r}${t.bem.b}`}}}function v(e){let l;return{before(n){l=n.bem.els},after(n){n.bem.els=l},$({context:n,props:t}){return e=typeof e=="string"?e:e({context:n,props:t}),n.bem.els=e.split(",").map(u=>u.trim()),n.bem.els.map(u=>`${(t==null?void 0:t.bPrefix)||r}${n.bem.b}${s}${u}`).join(", ")}}}function P(e){return{$({context:l,props:n}){e=typeof e=="string"?e:e({context:l,props:n});const t=e.split(",").map(o=>o.trim());function u(o){return t.map(x=>`&${(n==null?void 0:n.bPrefix)||r}${l.bem.b}${o!==void 0?`${s}${o}`:""}${m}${x}`).join(", ")}const c=l.bem.els;return c!==null?u(c[0]):u()}}}function _(e){return{$({context:l,props:n}){e=typeof e=="string"?e:e({context:l,props:n});const t=l.bem.els;return`&:not(${(n==null?void 0:n.bPrefix)||r}${l.bem.b}${t!==null&&t.length>0?`${s}${t[0]}`:""}${m}${e})`}}}return Object.assign(b,{cB:(...e)=>f(y(e[0]),e[1],e[2]),cE:(...e)=>f(v(e[0]),e[1],e[2]),cM:(...e)=>f(P(e[0]),e[1],e[2]),cNotM:(...e)=>f(_(e[0]),e[1],e[2])}),b}const $=Symbol("@css-render/vue3-ssr");function M(i,r){return``}function S(i,r){const s=d($,null);if(s===null){console.error("[css-render/vue3-ssr]: no ssr context found.");return}const{styles:m,ids:f}=s;f.has(i)||m!==null&&(f.add(i),m.push(M(i,r)))}const j=typeof document<"u";function N(){if(j)return;const i=d($,null);if(i!==null)return{adapter:S,context:i}}export{C as p,N as u}; diff --git a/web/dist/assets/@vicons-2f3cb6b9.js b/web/dist/assets/@vicons-6d35273b.js similarity index 69% rename from web/dist/assets/@vicons-2f3cb6b9.js rename to web/dist/assets/@vicons-6d35273b.js index 89f52dbc..125ad615 100644 --- a/web/dist/assets/@vicons-2f3cb6b9.js +++ b/web/dist/assets/@vicons-6d35273b.js @@ -1 +1 @@ -import{d as n,o,c as e,a as t,b as i}from"./@vue-f70ab1bd.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},d=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),h=[d],Rt=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,h)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],It=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],Pt=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},g=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),m=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[g,m],Tt=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],Wt=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},j=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),z=[j,O],Ft=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,z)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],Nt=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),y={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},S=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),b=[S],Gt=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",y,b)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),q=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),R=[E,q],Jt=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,R)}}),I={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},P=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),W=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),F=[P,T,W],Kt=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",I,F)}}),N={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},G=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),J=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),K=[G,J],Qt=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",N,K)}}),Q={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},U=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[U,X],Ut=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",Q,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),n1=[t1],Xt=n({name:"Heart",render:function(s,l){return o(),e("svg",Z,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=[e1],Yt=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",o1,r1)}}),s1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),i1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),d1=[l1,i1,c1],Zt=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",s1,d1)}}),h1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a1=t("rect",{x:"48",y:"80",width:"416",height:"352",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),w1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),u1=t("path",{d:"M304 335.79l-90.66-90.49a32 32 0 0 0-43.87-1.3L48 352",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_1=t("path",{d:"M224 432l123.34-123.34a32 32 0 0 1 43.11-2L464 368",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),k1=[a1,w1,u1,_1],tn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",h1,k1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},p1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),g1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),m1=[p1,g1],nn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",x1,m1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),f1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),C1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),M1=[$1,f1,C1],on=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",v1,M1)}}),j1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),z1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),B1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),L1=[O1,z1,B1],en=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",j1,L1)}}),H1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},V1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),A1=[V1],rn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",H1,A1)}}),y1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},S1=i('',6),b1=[S1],sn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",y1,b1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},E1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),q1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),R1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),I1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),P1=[E1,q1,R1,I1],ln=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",D1,P1)}}),T1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},W1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),F1=[W1],cn=n({name:"Search",render:function(s,l){return o(),e("svg",T1,F1)}}),N1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},G1=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),J1=[G1],dn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",N1,J1)}}),K1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q1=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),U1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),X1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),Y1=[Q1,U1,X1],hn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",K1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=i('',5),nt=[tt],an=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),st=[et,rt],wn=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},it=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ct=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),dt=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),ht=[it,ct,dt],un=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",lt,ht)}}),at={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},wt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),ut=[wt],_n=n({name:"Edit",render:function(s,l){return o(),e("svg",at,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},kt=i('',1),xt=[kt],kn=n({name:"Hash",render:function(s,l){return o(),e("svg",_t,xt)}}),pt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},gt=i('',1),mt=[gt],xn=n({name:"Trash",render:function(s,l){return o(),e("svg",pt,mt)}}),vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},$t=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),ft=[$t],pn=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",vt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Mt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),jt=[Mt],gn=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Ct,jt)}}),Ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},zt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),Bt=[zt],mn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Ot,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ht=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Vt=[Ht],vn=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Lt,Vt)}}),At={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},yt=t("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),St=[yt],$n=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",At,St)}}),bt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Et=[Dt],fn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",bt,Et)}});export{Rt as A,Tt as B,Ft as C,mn as D,Ut as E,Zt as H,tn as I,nn as L,sn as M,ln as P,cn as S,xn as T,wn as V,un as W,dn as a,kn as b,en as c,Qt as d,$n as e,Yt as f,Xt as g,Wt as h,Pt as i,It as j,an as k,fn as l,hn as m,Gt as n,Jt as o,Nt as p,on as q,Kt as r,rn as s,_n as t,pn as u,vn as v,gn as w}; +import{d as n,o,c as e,a as t,b as i}from"./@vue-ca177dbe.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],Zt=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],tn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],nn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],on=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],en=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],rn=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],sn=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),S=[y],ln=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,S)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),q=[T,E],cn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,q)}}),R={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},U=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),F=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),I=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),P=[U,F,I],hn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",R,P)}}),W={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),G=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[N,G],dn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",W,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],an=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),n1=[t1],wn=n({name:"Heart",render:function(s,l){return o(),e("svg",Z,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=[e1],un=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",o1,r1)}}),s1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),i1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),h1=[l1,i1,c1],_n=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",s1,h1)}}),d1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a1=t("rect",{x:"48",y:"80",width:"416",height:"352",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),w1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),u1=t("path",{d:"M304 335.79l-90.66-90.49a32 32 0 0 0-43.87-1.3L48 352",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_1=t("path",{d:"M224 432l123.34-123.34a32 32 0 0 1 43.11-2L464 368",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),k1=[a1,w1,u1,_1],kn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",d1,k1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},p1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),m1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),g1=[p1,m1],xn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",x1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),f1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),C1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),M1=[$1,f1,C1],pn=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",v1,M1)}}),z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),B1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),L1=[O1,j1,B1],mn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",z1,L1)}}),H1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},V1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),A1=[V1],gn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",H1,A1)}}),b1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y1=i('',6),S1=[y1],vn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",b1,S1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),E1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),q1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),R1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),U1=[T1,E1,q1,R1],$n=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",D1,U1)}}),F1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),P1=[I1],fn=n({name:"Search",render:function(s,l){return o(),e("svg",F1,P1)}}),W1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N1=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),G1=[N1],Cn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",W1,G1)}}),J1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},K1=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Q1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),X1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),Y1=[K1,Q1,X1],Mn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",J1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=i('',5),nt=[tt],zn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),st=[et,rt],On=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},it=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ct=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ht=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),dt=[it,ct,ht],jn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",lt,dt)}}),at={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},wt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),ut=[wt],Bn=n({name:"Edit",render:function(s,l){return o(),e("svg",at,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},kt=i('',1),xt=[kt],Ln=n({name:"Hash",render:function(s,l){return o(),e("svg",_t,xt)}}),pt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},mt=i('',1),gt=[mt],Hn=n({name:"Trash",render:function(s,l){return o(),e("svg",pt,gt)}}),vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},$t=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),ft=[$t],Vn=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",vt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Mt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),zt=[Mt],An=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Ct,zt)}}),Ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},jt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),Bt=[jt],bn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Ot,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ht=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Vt=[Ht],yn=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Lt,Vt)}}),At={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},bt=t("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),yt=[bt],Sn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",At,yt)}}),St={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Tt=[Dt],Dn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",St,Tt)}}),Et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},qt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Rt=[qt],Tn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Et,Rt)}}),Ut={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ft=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),It=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Pt=[Ft,It],En=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Ut,Pt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Gt=[Nt],qn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Wt,Gt)}}),Jt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Kt=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),Qt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Xt=[Kt,Qt],Rn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",Jt,Xt)}});export{Zt as A,on as B,rn as C,bn as D,an as E,An as F,_n as H,kn as I,xn as L,vn as M,$n as P,fn as S,Hn as T,On as V,jn as W,Cn as a,Ln as b,mn as c,dn as d,qn as e,Rn as f,Tn as g,En as h,Sn as i,un as j,wn as k,en as l,nn as m,tn as n,zn as o,Dn as p,Mn as q,ln as r,cn as s,sn as t,pn as u,hn as v,gn as w,Bn as x,Vn as y,yn as z}; diff --git a/web/dist/assets/@vue-ca177dbe.js b/web/dist/assets/@vue-ca177dbe.js new file mode 100644 index 00000000..8c69982e --- /dev/null +++ b/web/dist/assets/@vue-ca177dbe.js @@ -0,0 +1 @@ +function $n(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Bn(e){if(S(e)){const t={};for(let n=0;n{if(n){const s=n.split(di);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function jn(e){let t="";if(ee(e))t=e;else if(S(e))for(let n=0;nee(e)?e:e==null?"":S(e)||Z(e)&&(e.toString===sr||!D(e.toString))?JSON.stringify(e,er,2):String(e),er=(e,t)=>t&&t.__v_isRef?er(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:tr(t)?{[`Set(${t.size})`]:[...t.values()]}:Z(t)&&!S(t)&&!rr(t)?String(t):t,X={},ot=[],Te=()=>{},_i=()=>!1,bi=/^on[^a-z]/,en=e=>bi.test(e),Un=e=>e.startsWith("onUpdate:"),ie=Object.assign,Kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yi=Object.prototype.hasOwnProperty,K=(e,t)=>yi.call(e,t),S=Array.isArray,lt=e=>Lt(e)==="[object Map]",tr=e=>Lt(e)==="[object Set]",xi=e=>Lt(e)==="[object RegExp]",D=e=>typeof e=="function",ee=e=>typeof e=="string",kn=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",nr=e=>Z(e)&&D(e.then)&&D(e.catch),sr=Object.prototype.toString,Lt=e=>sr.call(e),Ci=e=>Lt(e).slice(8,-1),rr=e=>Lt(e)==="[object Object]",Vn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ei=/-(\w)/g,Pe=tn(e=>e.replace(Ei,(t,n)=>n?n.toUpperCase():"")),wi=/\B([A-Z])/g,tt=tn(e=>e.replace(wi,"-$1").toLowerCase()),nn=tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=tn(e=>e?`on${nn(e)}`:""),At=(e,t)=>!Object.is(e,t),ct=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Tn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let _s;const vi=()=>_s||(_s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Ce;class ir{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ce,!t&&Ce&&(this.index=(Ce.scopes||(Ce.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ce;try{return Ce=this,t()}finally{Ce=n}}}on(){Ce=this}off(){Ce=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},or=e=>(e.w&ke)>0,lr=e=>(e.n&ke)>0,Ii=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":S(e)?Vn(n)&&l.push(o.get("length")):(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"delete":S(e)||(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"set":lt(e)&&l.push(o.get(Ge));break}if(l.length===1)l[0]&&On(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);On(Wn(f))}}function On(e,t){const n=S(e)?e:[...e];for(const s of n)s.computed&&ys(s);for(const s of n)s.computed||ys(s)}function ys(e,t){(e!==Ee||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Fi(e,t){var n;return(n=Yt.get(e))===null||n===void 0?void 0:n.get(t)}const Mi=$n("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(kn)),Ni=qn(),Si=qn(!1,!0),Li=qn(!0),xs=Ri();function Ri(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=U(this);for(let i=0,o=this.length;i{e[t]=function(...n){gt();const s=U(this)[t].apply(this,n);return mt(),s}}),e}function Di(e){const t=U(this);return de(t,"has",e),t.hasOwnProperty(e)}function qn(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Zi:gr:t?pr:hr).get(s))return s;const o=S(s);if(!e){if(o&&K(xs,r))return Reflect.get(xs,r,i);if(r==="hasOwnProperty")return Di}const l=Reflect.get(s,r,i);return(kn(r)?ur.has(r):Mi(r))||(e||de(s,"get",r),t)?l:le(l)?o&&Vn(r)?l:l.value:Z(l)?e?mr(l):Yn(l):l}}const Hi=ar(),$i=ar(!0);function ar(e=!1){return function(n,s,r,i){let o=n[s];if(dt(o)&&le(o)&&!le(r))return!1;if(!e&&(!Xt(r)&&!dt(r)&&(o=U(o),r=U(r)),!S(n)&&le(o)&&!le(r)))return o.value=r,!0;const l=S(n)&&Vn(s)?Number(s)e,sn=e=>Reflect.getPrototypeOf(e);function Ht(e,t,n=!1,s=!1){e=e.__v_raw;const r=U(e),i=U(t);n||(t!==i&&de(r,"get",t),de(r,"get",i));const{has:o}=sn(r),l=s?Jn:n?Zn:Ot;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function $t(e,t=!1){const n=this.__v_raw,s=U(n),r=U(e);return t||(e!==r&&de(s,"has",e),de(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Bt(e,t=!1){return e=e.__v_raw,!t&&de(U(e),"iterate",Ge),Reflect.get(e,"size",e)}function Cs(e){e=U(e);const t=U(this);return sn(t).has.call(t,e)||(t.add(e),Se(t,"add",e,e)),this}function Es(e,t){t=U(t);const n=U(this),{has:s,get:r}=sn(n);let i=s.call(n,e);i||(e=U(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?At(t,o)&&Se(n,"set",e,t):Se(n,"add",e,t),this}function ws(e){const t=U(this),{has:n,get:s}=sn(t);let r=n.call(t,e);r||(e=U(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&Se(t,"delete",e,void 0),i}function Ts(){const e=U(this),t=e.size!==0,n=e.clear();return t&&Se(e,"clear",void 0,void 0),n}function jt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=U(o),f=t?Jn:e?Zn:Ot;return!e&&de(l,"iterate",Ge),o.forEach((a,d)=>s.call(r,f(a),f(d),i))}}function Ut(e,t,n){return function(...s){const r=this.__v_raw,i=U(r),o=lt(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,a=r[e](...s),d=n?Jn:t?Zn:Ot;return!t&&de(i,"iterate",f?An:Ge),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:this}}function Vi(){const e={get(i){return Ht(this,i)},get size(){return Bt(this)},has:$t,add:Cs,set:Es,delete:ws,clear:Ts,forEach:jt(!1,!1)},t={get(i){return Ht(this,i,!1,!0)},get size(){return Bt(this)},has:$t,add:Cs,set:Es,delete:ws,clear:Ts,forEach:jt(!1,!0)},n={get(i){return Ht(this,i,!0)},get size(){return Bt(this,!0)},has(i){return $t.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:jt(!0,!1)},s={get(i){return Ht(this,i,!0,!0)},get size(){return Bt(this,!0)},has(i){return $t.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Ut(i,!1,!1),n[i]=Ut(i,!0,!1),t[i]=Ut(i,!1,!0),s[i]=Ut(i,!0,!0)}),[e,n,t,s]}const[Wi,zi,qi,Ji]=Vi();function Qn(e,t){const n=t?e?Ji:qi:e?zi:Wi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(K(n,r)&&r in s?n:s,r,i)}const Qi={get:Qn(!1,!1)},Yi={get:Qn(!1,!0)},Xi={get:Qn(!0,!1)},hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Zi=new WeakMap;function Gi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function eo(e){return e.__v_skip||!Object.isExtensible(e)?0:Gi(Ci(e))}function Yn(e){return dt(e)?e:Xn(e,!1,dr,Qi,hr)}function to(e){return Xn(e,!1,ki,Yi,pr)}function mr(e){return Xn(e,!0,Ki,Xi,gr)}function Xn(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=eo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ft(e){return dt(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function Xt(e){return!!(e&&e.__v_isShallow)}function _r(e){return ft(e)||dt(e)}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function br(e){return Qt(e,"__v_skip",!0),e}const Ot=e=>Z(e)?Yn(e):e,Zn=e=>Z(e)?mr(e):e;function yr(e){Ue&&Ee&&(e=U(e),fr(e.dep||(e.dep=Wn())))}function xr(e,t){e=U(e);const n=e.dep;n&&On(n)}function le(e){return!!(e&&e.__v_isRef===!0)}function ic(e){return Cr(e,!1)}function oc(e){return Cr(e,!0)}function Cr(e,t){return le(e)?e:new no(e,t)}class no{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:U(t),this._value=n?t:Ot(t)}get value(){return yr(this),this._value}set value(t){const n=this.__v_isShallow||Xt(t)||dt(t);t=n?t:U(t),At(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),xr(this))}}function so(e){return le(e)?e.value:e}const ro={get:(e,t,n)=>so(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return le(r)&&!le(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Er(e){return ft(e)?e:new Proxy(e,ro)}function lc(e){const t=S(e)?new Array(e.length):{};for(const n in e)t[n]=oo(e,n);return t}class io{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Fi(U(this._object),this._key)}}function oo(e,t,n){const s=e[t];return le(s)?s:new io(e,t,n)}var wr;class lo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[wr]=!1,this._dirty=!0,this.effect=new zn(t,()=>{this._dirty||(this._dirty=!0,xr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=U(this);return yr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}wr="__v_isReadonly";function co(e,t,n=!1){let s,r;const i=D(e);return i?(s=e,r=Te):(s=e.get,r=e.set),new lo(s,r,i||!r,n)}function Ke(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){rn(i,t,n)}return r}function be(e,t,n,s){if(D(e)){const i=Ke(e,t,n,s);return i&&nr(i)&&i.catch(o=>{rn(o,t,n)}),i}const r=[];for(let i=0;i>>1;Pt(fe[s])Ie&&fe.splice(t,1)}function po(e){S(e)?ut.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ye+1:Ye))&&ut.push(e),vr()}function vs(e,t=It?Ie+1:0){for(;tPt(n)-Pt(s)),Ye=0;Yee.id==null?1/0:e.id,go=(e,t)=>{const n=Pt(e)-Pt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Or(e){In=!1,It=!0,fe.sort(go);const t=Te;try{for(Ie=0;Ieee(v)?v.trim():v)),p&&(r=n.map(Tn))}let l,f=s[l=gn(t)]||s[l=gn(Pe(t))];!f&&i&&(f=s[l=gn(tt(t))]),f&&be(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(a,e,6,r)}}function Ir(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=a=>{const d=Ir(a,t,!0);d&&(l=!0,ie(o,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(Z(e)&&s.set(e,null),null):(S(i)?i.forEach(f=>o[f]=null):ie(o,i),Z(e)&&s.set(e,o),o)}function on(e,t){return!e||!en(t)?!1:(t=t.slice(2).replace(/Once$/,""),K(e,t[0].toLowerCase()+t.slice(1))||K(e,tt(t))||K(e,t))}let ce=null,ln=null;function Zt(e){const t=ce;return ce=e,ln=e&&e.type.__scopeId||null,t}function cc(e){ln=e}function fc(){ln=null}function _o(e,t=ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ds(-1);const i=Zt(t);let o;try{o=e(...r)}finally{Zt(i),s._d&&Ds(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function mn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:f,emit:a,render:d,renderCache:p,data:g,setupState:v,ctx:L,inheritAttrs:I}=e;let W,B;const O=Zt(e);try{if(n.shapeFlag&4){const T=r||s;W=Oe(d.call(T,T,p,i,v,g,L)),B=f}else{const T=t;W=Oe(T.length>1?T(i,{attrs:f,slots:l,emit:a}):T(i,null)),B=t.props?f:bo(f)}}catch(T){vt.length=0,rn(T,e,1),W=ue(ye)}let E=W;if(B&&I!==!1){const T=Object.keys(B),{shapeFlag:H}=E;T.length&&H&7&&(o&&T.some(Un)&&(B=yo(B,o)),E=Le(E,B))}return n.dirs&&(E=Le(E),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),W=E,Zt(O),W}const bo=e=>{let t;for(const n in e)(n==="class"||n==="style"||en(n))&&((t||(t={}))[n]=e[n]);return t},yo=(e,t)=>{const n={};for(const s in e)(!Un(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function xo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?As(s,o,a):!!o;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Eo(e,t){t&&t.pendingBranch?S(e)?t.effects.push(...e):t.effects.push(e):po(e)}function wo(e,t){if(ne){let n=ne.provides;const s=ne.parent&&ne.parent.provides;s===n&&(n=ne.provides=Object.create(s)),n[e]=t}}function Wt(e,t,n=!1){const s=ne||ce;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&D(t)?t.call(s.proxy):t}}function uc(e,t){return ts(e,null,t)}const Kt={};function zt(e,t,n){return ts(e,t,n)}function ts(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=X){const l=Oi()===(ne==null?void 0:ne.scope)?ne:null;let f,a=!1,d=!1;if(le(e)?(f=()=>e.value,a=Xt(e)):ft(e)?(f=()=>e,s=!0):S(e)?(d=!0,a=e.some(E=>ft(E)||Xt(E)),f=()=>e.map(E=>{if(le(E))return E.value;if(ft(E))return Ze(E);if(D(E))return Ke(E,l,2)})):D(e)?t?f=()=>Ke(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return p&&p(),be(e,l,3,[g])}:f=Te,t&&s){const E=f;f=()=>Ze(E())}let p,g=E=>{p=B.onStop=()=>{Ke(E,l,4)}},v;if(St)if(g=Te,t?n&&be(t,l,3,[f(),d?[]:void 0,g]):f(),r==="sync"){const E=_l();v=E.__watcherHandles||(E.__watcherHandles=[])}else return Te;let L=d?new Array(e.length).fill(Kt):Kt;const I=()=>{if(B.active)if(t){const E=B.run();(s||a||(d?E.some((T,H)=>At(T,L[H])):At(E,L)))&&(p&&p(),be(t,l,3,[E,L===Kt?void 0:d&&L[0]===Kt?[]:L,g]),L=E)}else B.run()};I.allowRecurse=!!t;let W;r==="sync"?W=I:r==="post"?W=()=>oe(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),W=()=>es(I));const B=new zn(f,W);t?n?I():L=B.run():r==="post"?oe(B.run.bind(B),l&&l.suspense):B.run();const O=()=>{B.stop(),l&&l.scope&&Kn(l.scope.effects,B)};return v&&v.push(O),O}function To(e,t,n){const s=this.proxy,r=ee(e)?e.includes(".")?Fr(s,e):()=>s[e]:e.bind(s,s);let i;D(t)?i=t:(i=t.handler,n=t);const o=ne;pt(this);const l=ts(r,i.bind(s),n);return o?pt(o):et(),l}function Fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Ze(n,t)});else if(rr(e))for(const n in e)Ze(e[n],t);return e}function Mr(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ss(()=>{e.isMounted=!0}),is(()=>{e.isUnmounting=!0}),e}const me=[Function,Array],vo={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:me,onEnter:me,onAfterEnter:me,onEnterCancelled:me,onBeforeLeave:me,onLeave:me,onAfterLeave:me,onLeaveCancelled:me,onBeforeAppear:me,onAppear:me,onAfterAppear:me,onAppearCancelled:me},setup(e,{slots:t}){const n=as(),s=Mr();let r;return()=>{const i=t.default&&ns(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const I of i)if(I.type!==ye){o=I;break}}const l=U(e),{mode:f}=l;if(s.isLeaving)return _n(o);const a=Os(o);if(!a)return _n(o);const d=Ft(a,l,s,n);ht(a,d);const p=n.subTree,g=p&&Os(p);let v=!1;const{getTransitionKey:L}=a.type;if(L){const I=L();r===void 0?r=I:I!==r&&(r=I,v=!0)}if(g&&g.type!==ye&&(!je(a,g)||v)){const I=Ft(g,l,s,n);if(ht(g,I),f==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},_n(o);f==="in-out"&&a.type!==ye&&(I.delayLeave=(W,B,O)=>{const E=Sr(s,g);E[String(g.key)]=g,W._leaveCb=()=>{B(),W._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=O})}return o}}},Nr=vo;function Sr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ft(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:L,onBeforeAppear:I,onAppear:W,onAfterAppear:B,onAppearCancelled:O}=t,E=String(e.key),T=Sr(n,e),H=(N,k)=>{N&&be(N,s,9,k)},Q=(N,k)=>{const j=k[1];H(N,k),S(N)?N.every(Y=>Y.length<=1)&&j():N.length<=1&&j()},V={mode:i,persisted:o,beforeEnter(N){let k=l;if(!n.isMounted)if(r)k=I||l;else return;N._leaveCb&&N._leaveCb(!0);const j=T[E];j&&je(e,j)&&j.el._leaveCb&&j.el._leaveCb(),H(k,[N])},enter(N){let k=f,j=a,Y=d;if(!n.isMounted)if(r)k=W||f,j=B||a,Y=O||d;else return;let P=!1;const G=N._enterCb=he=>{P||(P=!0,he?H(Y,[N]):H(j,[N]),V.delayedLeave&&V.delayedLeave(),N._enterCb=void 0)};k?Q(k,[N,G]):G()},leave(N,k){const j=String(e.key);if(N._enterCb&&N._enterCb(!0),n.isUnmounting)return k();H(p,[N]);let Y=!1;const P=N._leaveCb=G=>{Y||(Y=!0,k(),G?H(L,[N]):H(v,[N]),N._leaveCb=void 0,T[j]===e&&delete T[j])};T[j]=e,g?Q(g,[N,P]):P()},clone(N){return Ft(N,t,n,s)}};return V}function _n(e){if(cn(e))return e=Le(e),e.children=null,e}function Os(e){return cn(e)?e.children?e.children[0]:void 0:e}function ht(e,t){e.shapeFlag&6&&e.component?ht(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ns(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,cn=e=>e.type.__isKeepAlive,Ao={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=as(),s=n.ctx;if(!s.renderer)return()=>{const O=t.default&&t.default();return O&&O.length===1?O[0]:O};const r=new Map,i=new Set;let o=null;const l=n.suspense,{renderer:{p:f,m:a,um:d,o:{createElement:p}}}=s,g=p("div");s.activate=(O,E,T,H,Q)=>{const V=O.component;a(O,E,T,0,l),f(V.vnode,O,E,T,V,l,H,O.slotScopeIds,Q),oe(()=>{V.isDeactivated=!1,V.a&&ct(V.a);const N=O.props&&O.props.onVnodeMounted;N&&_e(N,V.parent,O)},l)},s.deactivate=O=>{const E=O.component;a(O,g,null,1,l),oe(()=>{E.da&&ct(E.da);const T=O.props&&O.props.onVnodeUnmounted;T&&_e(T,E.parent,O),E.isDeactivated=!0},l)};function v(O){bn(O),d(O,n,l,!0)}function L(O){r.forEach((E,T)=>{const H=Rn(E.type);H&&(!O||!O(H))&&I(T)})}function I(O){const E=r.get(O);!o||!je(E,o)?v(E):o&&bn(o),r.delete(O),i.delete(O)}zt(()=>[e.include,e.exclude],([O,E])=>{O&&L(T=>Et(O,T)),E&&L(T=>!Et(E,T))},{flush:"post",deep:!0});let W=null;const B=()=>{W!=null&&r.set(W,yn(n.subTree))};return ss(B),rs(B),is(()=>{r.forEach(O=>{const{subTree:E,suspense:T}=n,H=yn(E);if(O.type===H.type&&O.key===H.key){bn(H);const Q=H.component.da;Q&&oe(Q,T);return}v(O)})}),()=>{if(W=null,!t.default)return null;const O=t.default(),E=O[0];if(O.length>1)return o=null,O;if(!Nt(E)||!(E.shapeFlag&4)&&!(E.shapeFlag&128))return o=null,E;let T=yn(E);const H=T.type,Q=Rn(at(T)?T.type.__asyncResolved||{}:H),{include:V,exclude:N,max:k}=e;if(V&&(!Q||!Et(V,Q))||N&&Q&&Et(N,Q))return o=T,E;const j=T.key==null?H:T.key,Y=r.get(j);return T.el&&(T=Le(T),E.shapeFlag&128&&(E.ssContent=T)),W=j,Y?(T.el=Y.el,T.component=Y.component,T.transition&&ht(T,T.transition),T.shapeFlag|=512,i.delete(j),i.add(j)):(i.add(j),k&&i.size>parseInt(k,10)&&I(i.values().next().value)),T.shapeFlag|=256,o=T,Pr(E.type)?E:T}}},dc=Ao;function Et(e,t){return S(e)?e.some(n=>Et(n,t)):ee(e)?e.split(",").includes(t):xi(e)?e.test(t):!1}function Oo(e,t){Lr(e,"a",t)}function Io(e,t){Lr(e,"da",t)}function Lr(e,t,n=ne){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)cn(r.parent.vnode)&&Po(s,t,n,r),r=r.parent}}function Po(e,t,n,s){const r=fn(t,e,s,!0);Rr(()=>{Kn(s[t],r)},n)}function bn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function yn(e){return e.shapeFlag&128?e.ssContent:e}function fn(e,t,n=ne,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;gt(),pt(n);const l=be(t,n,e,o);return et(),mt(),l});return s?r.unshift(i):r.push(i),i}}const Re=e=>(t,n=ne)=>(!St||e==="sp")&&fn(e,(...s)=>t(...s),n),Fo=Re("bm"),ss=Re("m"),Mo=Re("bu"),rs=Re("u"),is=Re("bum"),Rr=Re("um"),No=Re("sp"),So=Re("rtg"),Lo=Re("rtc");function Ro(e,t=ne){fn("ec",e,t)}function hc(e,t){const n=ce;if(n===null)return e;const s=dn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,f=o.length;l{const i=s.fn(...r);return i&&(i.key=s.key),i}:s.fn)}return e}function bc(e,t,n={},s,r){if(ce.isCE||ce.parent&&at(ce.parent)&&ce.parent.isCE)return t!=="default"&&(n.name=t),ue("slot",n,s&&s());let i=e[t];i&&i._c&&(i._d=!1),qr();const o=i&&$r(i(n)),l=Qr(ge,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function $r(e){return e.some(t=>Nt(t)?!(t.type===ye||t.type===ge&&!$r(t.children)):!0)?e:null}const Pn=e=>e?Zr(e)?dn(e)||e.proxy:Pn(e.parent):null,wt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Pn(e.parent),$root:e=>Pn(e.root),$emit:e=>e.emit,$options:e=>ls(e),$forceUpdate:e=>e.f||(e.f=()=>es(e.update)),$nextTick:e=>e.n||(e.n=uo.bind(e.proxy)),$watch:e=>To.bind(e)}),xn=(e,t)=>e!==X&&!e.__isScriptSetup&&K(e,t),Do={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(xn(s,t))return o[t]=1,s[t];if(r!==X&&K(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&K(a,t))return o[t]=3,i[t];if(n!==X&&K(n,t))return o[t]=4,n[t];Fn&&(o[t]=0)}}const d=wt[t];let p,g;if(d)return t==="$attrs"&&de(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==X&&K(n,t))return o[t]=4,n[t];if(g=f.config.globalProperties,K(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return xn(r,t)?(r[t]=n,!0):s!==X&&K(s,t)?(s[t]=n,!0):K(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==X&&K(e,o)||xn(t,o)||(l=i[0])&&K(l,o)||K(s,o)||K(wt,o)||K(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:K(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Fn=!0;function Ho(e){const t=ls(e),n=e.proxy,s=e.ctx;Fn=!1,t.beforeCreate&&Ps(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:v,updated:L,activated:I,deactivated:W,beforeDestroy:B,beforeUnmount:O,destroyed:E,unmounted:T,render:H,renderTracked:Q,renderTriggered:V,errorCaptured:N,serverPrefetch:k,expose:j,inheritAttrs:Y,components:P,directives:G,filters:he}=t;if(a&&$o(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const te in o){const q=o[te];D(q)&&(s[te]=q.bind(n))}if(r){const te=r.call(n,n);Z(te)&&(e.data=Yn(te))}if(Fn=!0,i)for(const te in i){const q=i[te],Ve=D(q)?q.bind(n,n):D(q.get)?q.get.bind(n,n):Te,Rt=!D(q)&&D(q.set)?q.set.bind(n):Te,We=pl({get:Ve,set:Rt});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>We.value,set:ve=>We.value=ve})}if(l)for(const te in l)Br(l[te],s,n,te);if(f){const te=D(f)?f.call(n):f;Reflect.ownKeys(te).forEach(q=>{wo(q,te[q])})}d&&Ps(d,e,"c");function re(te,q){S(q)?q.forEach(Ve=>te(Ve.bind(n))):q&&te(q.bind(n))}if(re(Fo,p),re(ss,g),re(Mo,v),re(rs,L),re(Oo,I),re(Io,W),re(Ro,N),re(Lo,Q),re(So,V),re(is,O),re(Rr,T),re(No,k),S(j))if(j.length){const te=e.exposed||(e.exposed={});j.forEach(q=>{Object.defineProperty(te,q,{get:()=>n[q],set:Ve=>n[q]=Ve})})}else e.exposed||(e.exposed={});H&&e.render===Te&&(e.render=H),Y!=null&&(e.inheritAttrs=Y),P&&(e.components=P),G&&(e.directives=G)}function $o(e,t,n=Te,s=!1){S(e)&&(e=Mn(e));for(const r in e){const i=e[r];let o;Z(i)?"default"in i?o=Wt(i.from||r,i.default,!0):o=Wt(i.from||r):o=Wt(i),le(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ps(e,t,n){be(S(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Br(e,t,n,s){const r=s.includes(".")?Fr(n,s):()=>n[s];if(ee(e)){const i=t[e];D(i)&&zt(r,i)}else if(D(e))zt(r,e.bind(n));else if(Z(e))if(S(e))e.forEach(i=>Br(i,t,n,s));else{const i=D(e.handler)?e.handler.bind(n):t[e.handler];D(i)&&zt(r,i,e)}}function ls(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>Gt(f,a,o,!0)),Gt(f,t,o)),Z(t)&&i.set(t,f),f}function Gt(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Gt(e,i,n,!0),r&&r.forEach(o=>Gt(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Bo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Bo={data:Fs,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Uo,provide:Fs,inject:jo};function Fs(e,t){return t?e?function(){return ie(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function jo(e,t){return Qe(Mn(e),Mn(t))}function Mn(e){if(S(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[g,v]=Ur(p,t,!0);ie(o,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!f)return Z(e)&&s.set(e,ot),ot;if(S(i))for(let d=0;d-1,v[1]=I<0||L-1||K(v,"default"))&&l.push(p)}}}const a=[o,l];return Z(e)&&s.set(e,a),a}function Ms(e){return e[0]!=="$"}function Ns(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ss(e,t){return Ns(e)===Ns(t)}function Ls(e,t){return S(t)?t.findIndex(n=>Ss(n,e)):D(t)&&Ss(t,e)?0:-1}const Kr=e=>e[0]==="_"||e==="$stable",cs=e=>S(e)?e.map(Oe):[Oe(e)],Vo=(e,t,n)=>{if(t._n)return t;const s=_o((...r)=>cs(t(...r)),n);return s._c=!1,s},kr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Kr(r))continue;const i=e[r];if(D(i))t[r]=Vo(r,i,s);else if(i!=null){const o=cs(i);t[r]=()=>o}}},Vr=(e,t)=>{const n=cs(t);e.slots.default=()=>n},Wo=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=U(t),Qt(t,"_",n)):kr(t,e.slots={})}else e.slots={},t&&Vr(e,t);Qt(e.slots,an,1)},zo=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,kr(t,r)),o=t}else t&&(Vr(e,t),o={default:1});if(i)for(const l in r)!Kr(l)&&!(l in o)&&delete r[l]};function Wr(){return{app:null,config:{isNativeTag:_i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let qo=0;function Jo(e,t){return function(s,r=null){D(s)||(s=Object.assign({},s)),r!=null&&!Z(r)&&(r=null);const i=Wr(),o=new Set;let l=!1;const f=i.app={_uid:qo++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:bl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(f,...d)):D(a)&&(o.add(a),a(f,...d))),f},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),f},component(a,d){return d?(i.components[a]=d,f):i.components[a]},directive(a,d){return d?(i.directives[a]=d,f):i.directives[a]},mount(a,d,p){if(!l){const g=ue(s,r);return g.appContext=i,d&&t?t(g,a):e(g,a,p),l=!0,f._container=a,a.__vue_app__=f,dn(g.component)||g.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return i.provides[a]=d,f}};return f}}function Sn(e,t,n,s,r=!1){if(S(e)){e.forEach((g,v)=>Sn(g,t&&(S(t)?t[v]:t),n,s,r));return}if(at(s)&&!r)return;const i=s.shapeFlag&4?dn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:f}=e,a=t&&t.r,d=l.refs===X?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==f&&(ee(a)?(d[a]=null,K(p,a)&&(p[a]=null)):le(a)&&(a.value=null)),D(f))Ke(f,l,12,[o,d]);else{const g=ee(f),v=le(f);if(g||v){const L=()=>{if(e.f){const I=g?K(p,f)?p[f]:d[f]:f.value;r?S(I)&&Kn(I,i):S(I)?I.includes(i)||I.push(i):g?(d[f]=[i],K(p,f)&&(p[f]=d[f])):(f.value=[i],e.k&&(d[e.k]=f.value))}else g?(d[f]=o,K(p,f)&&(p[f]=o)):v&&(f.value=o,e.k&&(d[e.k]=o))};o?(L.id=-1,oe(L,n)):L()}}}const oe=Eo;function Qo(e){return Yo(e)}function Yo(e,t){const n=vi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:v=Te,insertStaticContent:L}=e,I=(c,u,h,_=null,m=null,x=null,w=!1,y=null,C=!!u.dynamicChildren)=>{if(c===u)return;c&&!je(c,u)&&(_=Dt(c),ve(c,m,x,!0),c=null),u.patchFlag===-2&&(C=!1,u.dynamicChildren=null);const{type:b,ref:F,shapeFlag:A}=u;switch(b){case un:W(c,u,h,_);break;case ye:B(c,u,h,_);break;case qt:c==null&&O(u,h,_,w);break;case ge:P(c,u,h,_,m,x,w,y,C);break;default:A&1?H(c,u,h,_,m,x,w,y,C):A&6?G(c,u,h,_,m,x,w,y,C):(A&64||A&128)&&b.process(c,u,h,_,m,x,w,y,C,nt)}F!=null&&m&&Sn(F,c&&c.ref,x,u||c,!u)},W=(c,u,h,_)=>{if(c==null)s(u.el=l(u.children),h,_);else{const m=u.el=c.el;u.children!==c.children&&a(m,u.children)}},B=(c,u,h,_)=>{c==null?s(u.el=f(u.children||""),h,_):u.el=c.el},O=(c,u,h,_)=>{[c.el,c.anchor]=L(c.children,u,h,_,c.el,c.anchor)},E=({el:c,anchor:u},h,_)=>{let m;for(;c&&c!==u;)m=g(c),s(c,h,_),c=m;s(u,h,_)},T=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=g(c),r(c),c=h;r(u)},H=(c,u,h,_,m,x,w,y,C)=>{w=w||u.type==="svg",c==null?Q(u,h,_,m,x,w,y,C):k(c,u,m,x,w,y,C)},Q=(c,u,h,_,m,x,w,y)=>{let C,b;const{type:F,props:A,shapeFlag:M,transition:R,dirs:$}=c;if(C=c.el=o(c.type,x,A&&A.is,A),M&8?d(C,c.children):M&16&&N(c.children,C,null,_,m,x&&F!=="foreignObject",w,y),$&&ze(c,null,_,"created"),V(C,c,c.scopeId,w,_),A){for(const z in A)z!=="value"&&!Vt(z)&&i(C,z,null,A[z],x,c.children,_,m,Fe);"value"in A&&i(C,"value",null,A.value),(b=A.onVnodeBeforeMount)&&_e(b,_,c)}$&&ze(c,null,_,"beforeMount");const J=(!m||m&&!m.pendingBranch)&&R&&!R.persisted;J&&R.beforeEnter(C),s(C,u,h),((b=A&&A.onVnodeMounted)||J||$)&&oe(()=>{b&&_e(b,_,c),J&&R.enter(C),$&&ze(c,null,_,"mounted")},m)},V=(c,u,h,_,m)=>{if(h&&v(c,h),_)for(let x=0;x<_.length;x++)v(c,_[x]);if(m){let x=m.subTree;if(u===x){const w=m.vnode;V(c,w,w.scopeId,w.slotScopeIds,m.parent)}}},N=(c,u,h,_,m,x,w,y,C=0)=>{for(let b=C;b{const y=u.el=c.el;let{patchFlag:C,dynamicChildren:b,dirs:F}=u;C|=c.patchFlag&16;const A=c.props||X,M=u.props||X;let R;h&&qe(h,!1),(R=M.onVnodeBeforeUpdate)&&_e(R,h,u,c),F&&ze(u,c,h,"beforeUpdate"),h&&qe(h,!0);const $=m&&u.type!=="foreignObject";if(b?j(c.dynamicChildren,b,y,h,_,$,x):w||q(c,u,y,null,h,_,$,x,!1),C>0){if(C&16)Y(y,u,A,M,h,_,m);else if(C&2&&A.class!==M.class&&i(y,"class",null,M.class,m),C&4&&i(y,"style",A.style,M.style,m),C&8){const J=u.dynamicProps;for(let z=0;z{R&&_e(R,h,u,c),F&&ze(u,c,h,"updated")},_)},j=(c,u,h,_,m,x,w)=>{for(let y=0;y{if(h!==_){if(h!==X)for(const y in h)!Vt(y)&&!(y in _)&&i(c,y,h[y],null,w,u.children,m,x,Fe);for(const y in _){if(Vt(y))continue;const C=_[y],b=h[y];C!==b&&y!=="value"&&i(c,y,b,C,w,u.children,m,x,Fe)}"value"in _&&i(c,"value",h.value,_.value)}},P=(c,u,h,_,m,x,w,y,C)=>{const b=u.el=c?c.el:l(""),F=u.anchor=c?c.anchor:l("");let{patchFlag:A,dynamicChildren:M,slotScopeIds:R}=u;R&&(y=y?y.concat(R):R),c==null?(s(b,h,_),s(F,h,_),N(u.children,h,F,m,x,w,y,C)):A>0&&A&64&&M&&c.dynamicChildren?(j(c.dynamicChildren,M,h,m,x,w,y),(u.key!=null||m&&u===m.subTree)&&fs(c,u,!0)):q(c,u,h,F,m,x,w,y,C)},G=(c,u,h,_,m,x,w,y,C)=>{u.slotScopeIds=y,c==null?u.shapeFlag&512?m.ctx.activate(u,h,_,w,C):he(u,h,_,m,x,w,C):_t(c,u,C)},he=(c,u,h,_,m,x,w)=>{const y=c.component=cl(c,_,m);if(cn(c)&&(y.ctx.renderer=nt),fl(y),y.asyncDep){if(m&&m.registerDep(y,re),!c.el){const C=y.subTree=ue(ye);B(null,C,u,h)}return}re(y,c,u,h,m,x,w)},_t=(c,u,h)=>{const _=u.component=c.component;if(xo(c,u,h))if(_.asyncDep&&!_.asyncResolved){te(_,u,h);return}else _.next=u,ho(_.update),_.update();else u.el=c.el,_.vnode=u},re=(c,u,h,_,m,x,w)=>{const y=()=>{if(c.isMounted){let{next:F,bu:A,u:M,parent:R,vnode:$}=c,J=F,z;qe(c,!1),F?(F.el=$.el,te(c,F,w)):F=$,A&&ct(A),(z=F.props&&F.props.onVnodeBeforeUpdate)&&_e(z,R,F,$),qe(c,!0);const se=mn(c),xe=c.subTree;c.subTree=se,I(xe,se,p(xe.el),Dt(xe),c,m,x),F.el=se.el,J===null&&Co(c,se.el),M&&oe(M,m),(z=F.props&&F.props.onVnodeUpdated)&&oe(()=>_e(z,R,F,$),m)}else{let F;const{el:A,props:M}=u,{bm:R,m:$,parent:J}=c,z=at(u);if(qe(c,!1),R&&ct(R),!z&&(F=M&&M.onVnodeBeforeMount)&&_e(F,J,u),qe(c,!0),A&&pn){const se=()=>{c.subTree=mn(c),pn(A,c.subTree,c,m,null)};z?u.type.__asyncLoader().then(()=>!c.isUnmounted&&se()):se()}else{const se=c.subTree=mn(c);I(null,se,h,_,c,m,x),u.el=se.el}if($&&oe($,m),!z&&(F=M&&M.onVnodeMounted)){const se=u;oe(()=>_e(F,J,se),m)}(u.shapeFlag&256||J&&at(J.vnode)&&J.vnode.shapeFlag&256)&&c.a&&oe(c.a,m),c.isMounted=!0,u=h=_=null}},C=c.effect=new zn(y,()=>es(b),c.scope),b=c.update=()=>C.run();b.id=c.uid,qe(c,!0),b()},te=(c,u,h)=>{u.component=c;const _=c.vnode.props;c.vnode=u,c.next=null,ko(c,u.props,_,h),zo(c,u.children,h),gt(),vs(),mt()},q=(c,u,h,_,m,x,w,y,C=!1)=>{const b=c&&c.children,F=c?c.shapeFlag:0,A=u.children,{patchFlag:M,shapeFlag:R}=u;if(M>0){if(M&128){Rt(b,A,h,_,m,x,w,y,C);return}else if(M&256){Ve(b,A,h,_,m,x,w,y,C);return}}R&8?(F&16&&Fe(b,m,x),A!==b&&d(h,A)):F&16?R&16?Rt(b,A,h,_,m,x,w,y,C):Fe(b,m,x,!0):(F&8&&d(h,""),R&16&&N(A,h,_,m,x,w,y,C))},Ve=(c,u,h,_,m,x,w,y,C)=>{c=c||ot,u=u||ot;const b=c.length,F=u.length,A=Math.min(b,F);let M;for(M=0;MF?Fe(c,m,x,!0,!1,A):N(u,h,_,m,x,w,y,C,A)},Rt=(c,u,h,_,m,x,w,y,C)=>{let b=0;const F=u.length;let A=c.length-1,M=F-1;for(;b<=A&&b<=M;){const R=c[b],$=u[b]=C?Be(u[b]):Oe(u[b]);if(je(R,$))I(R,$,h,null,m,x,w,y,C);else break;b++}for(;b<=A&&b<=M;){const R=c[A],$=u[M]=C?Be(u[M]):Oe(u[M]);if(je(R,$))I(R,$,h,null,m,x,w,y,C);else break;A--,M--}if(b>A){if(b<=M){const R=M+1,$=RM)for(;b<=A;)ve(c[b],m,x,!0),b++;else{const R=b,$=b,J=new Map;for(b=$;b<=M;b++){const pe=u[b]=C?Be(u[b]):Oe(u[b]);pe.key!=null&&J.set(pe.key,b)}let z,se=0;const xe=M-$+1;let st=!1,ps=0;const bt=new Array(xe);for(b=0;b=xe){ve(pe,m,x,!0);continue}let Ae;if(pe.key!=null)Ae=J.get(pe.key);else for(z=$;z<=M;z++)if(bt[z-$]===0&&je(pe,u[z])){Ae=z;break}Ae===void 0?ve(pe,m,x,!0):(bt[Ae-$]=b+1,Ae>=ps?ps=Ae:st=!0,I(pe,u[Ae],h,null,m,x,w,y,C),se++)}const gs=st?Xo(bt):ot;for(z=gs.length-1,b=xe-1;b>=0;b--){const pe=$+b,Ae=u[pe],ms=pe+1{const{el:x,type:w,transition:y,children:C,shapeFlag:b}=c;if(b&6){We(c.component.subTree,u,h,_);return}if(b&128){c.suspense.move(u,h,_);return}if(b&64){w.move(c,u,h,nt);return}if(w===ge){s(x,u,h);for(let A=0;Ay.enter(x),m);else{const{leave:A,delayLeave:M,afterLeave:R}=y,$=()=>s(x,u,h),J=()=>{A(x,()=>{$(),R&&R()})};M?M(x,$,J):J()}else s(x,u,h)},ve=(c,u,h,_=!1,m=!1)=>{const{type:x,props:w,ref:y,children:C,dynamicChildren:b,shapeFlag:F,patchFlag:A,dirs:M}=c;if(y!=null&&Sn(y,null,h,c,!0),F&256){u.ctx.deactivate(c);return}const R=F&1&&M,$=!at(c);let J;if($&&(J=w&&w.onVnodeBeforeUnmount)&&_e(J,u,c),F&6)ui(c.component,h,_);else{if(F&128){c.suspense.unmount(h,_);return}R&&ze(c,null,u,"beforeUnmount"),F&64?c.type.remove(c,u,h,m,nt,_):b&&(x!==ge||A>0&&A&64)?Fe(b,u,h,!1,!0):(x===ge&&A&384||!m&&F&16)&&Fe(C,u,h),_&&ds(c)}($&&(J=w&&w.onVnodeUnmounted)||R)&&oe(()=>{J&&_e(J,u,c),R&&ze(c,null,u,"unmounted")},h)},ds=c=>{const{type:u,el:h,anchor:_,transition:m}=c;if(u===ge){fi(h,_);return}if(u===qt){T(c);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:w,delayLeave:y}=m,C=()=>w(h,x);y?y(c.el,x,C):C()}else x()},fi=(c,u)=>{let h;for(;c!==u;)h=g(c),r(c),c=h;r(u)},ui=(c,u,h)=>{const{bum:_,scope:m,update:x,subTree:w,um:y}=c;_&&ct(_),m.stop(),x&&(x.active=!1,ve(w,c,u,h)),y&&oe(y,u),oe(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Fe=(c,u,h,_=!1,m=!1,x=0)=>{for(let w=x;wc.shapeFlag&6?Dt(c.component.subTree):c.shapeFlag&128?c.suspense.next():g(c.anchor||c.el),hs=(c,u,h)=>{c==null?u._vnode&&ve(u._vnode,null,null,!0):I(u._vnode||null,c,u,null,null,null,h),vs(),Ar(),u._vnode=c},nt={p:I,um:ve,m:We,r:ds,mt:he,mc:N,pc:q,pbc:j,n:Dt,o:e};let hn,pn;return t&&([hn,pn]=t(nt)),{render:hs,hydrate:hn,createApp:Jo(hs,hn)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fs(e,t,n=!1){const s=e.children,r=t.children;if(S(s)&&S(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const Zo=e=>e.__isTeleport,Tt=e=>e&&(e.disabled||e.disabled===""),Rs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ln=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},Go={__isTeleport:!0,process(e,t,n,s,r,i,o,l,f,a){const{mc:d,pc:p,pbc:g,o:{insert:v,querySelector:L,createText:I,createComment:W}}=a,B=Tt(t.props);let{shapeFlag:O,children:E,dynamicChildren:T}=t;if(e==null){const H=t.el=I(""),Q=t.anchor=I("");v(H,n,s),v(Q,n,s);const V=t.target=Ln(t.props,L),N=t.targetAnchor=I("");V&&(v(N,V),o=o||Rs(V));const k=(j,Y)=>{O&16&&d(E,j,Y,r,i,o,l,f)};B?k(n,Q):V&&k(V,N)}else{t.el=e.el;const H=t.anchor=e.anchor,Q=t.target=e.target,V=t.targetAnchor=e.targetAnchor,N=Tt(e.props),k=N?n:Q,j=N?H:V;if(o=o||Rs(Q),T?(g(e.dynamicChildren,T,k,r,i,o,l),fs(e,t,!0)):f||p(e,t,k,j,r,i,o,l,!1),B)N||kt(t,n,H,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Y=t.target=Ln(t.props,L);Y&&kt(t,Y,null,a,0)}else N&&kt(t,Q,V,a,1)}zr(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:f,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Tt(g))&&(i(a),l&16))for(let v=0;v0?we||ot:null,tl(),Mt>0&&we&&we.push(e),e}function xc(e,t,n,s,r,i){return Jr(Xr(e,t,n,s,r,i,!0))}function Qr(e,t,n,s,r){return Jr(ue(e,t,n,s,r,!0))}function Nt(e){return e?e.__v_isVNode===!0:!1}function je(e,t){return e.type===t.type&&e.key===t.key}const an="__vInternal",Yr=({key:e})=>e??null,Jt=({ref:e,ref_key:t,ref_for:n})=>e!=null?ee(e)||le(e)||D(e)?{i:ce,r:e,k:t,f:!!n}:e:null;function Xr(e,t=null,n=null,s=0,r=null,i=e===ge?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yr(t),ref:t&&Jt(t),scopeId:ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ce};return l?(us(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=ee(n)?8:16),Mt>0&&!o&&we&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&we.push(f),f}const ue=nl;function nl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Dr)&&(e=ye),Nt(e)){const l=Le(e,t,!0);return n&&us(l,n),Mt>0&&!i&&we&&(l.shapeFlag&6?we[we.indexOf(e)]=l:we.push(l)),l.patchFlag|=-2,l}if(hl(e)&&(e=e.__vccOpts),t){t=sl(t);let{class:l,style:f}=t;l&&!ee(l)&&(t.class=jn(l)),Z(f)&&(_r(f)&&!S(f)&&(f=ie({},f)),t.style=Bn(f))}const o=ee(e)?1:Pr(e)?128:Zo(e)?64:Z(e)?4:D(e)?2:0;return Xr(e,t,n,s,r,o,i,!0)}function sl(e){return e?_r(e)||an in e?ie({},e):e:null}function Le(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?il(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Yr(l),ref:t&&t.ref?n&&r?S(r)?r.concat(Jt(t)):[r,Jt(t)]:Jt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Le(e.ssContent),ssFallback:e.ssFallback&&Le(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function rl(e=" ",t=0){return ue(un,null,e,t)}function Cc(e,t){const n=ue(qt,null,e);return n.staticCount=t,n}function Ec(e="",t=!1){return t?(qr(),Qr(ye,null,e)):ue(ye,null,e)}function Oe(e){return e==null||typeof e=="boolean"?ue(ye):S(e)?ue(ge,null,e.slice()):typeof e=="object"?Be(e):ue(un,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Le(e)}function us(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(S(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),us(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(an in t)?t._ctx=ce:r===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),s&64?(n=16,t=[rl(t)]):n=8);e.children=t,e.shapeFlag|=n}function il(...e){const t={};for(let n=0;nne||ce,pt=e=>{ne=e,e.scope.on()},et=()=>{ne&&ne.scope.off(),ne=null};function Zr(e){return e.vnode.shapeFlag&4}let St=!1;function fl(e,t=!1){St=t;const{props:n,children:s}=e.vnode,r=Zr(e);Ko(e,n,r,t),Wo(e,s);const i=r?ul(e,t):void 0;return St=!1,i}function ul(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=br(new Proxy(e.ctx,Do));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?dl(e):null;pt(e),gt();const i=Ke(s,e,0,[e.props,r]);if(mt(),et(),nr(i)){if(i.then(et,et),t)return i.then(o=>{Hs(e,o,t)}).catch(o=>{rn(o,e,0)});e.asyncDep=i}else Hs(e,i,t)}else Gr(e,t)}function Hs(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Er(t)),Gr(e,n)}let $s;function Gr(e,t,n){const s=e.type;if(!e.render){if(!t&&$s&&!s.render){const r=s.template||ls(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ie(ie({isCustomElement:i,delimiters:l},o),f);s.render=$s(r,a)}}e.render=s.render||Te}pt(e),gt(),Ho(e),mt(),et()}function al(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function dl(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=al(e))},slots:e.slots,emit:e.emit,expose:t}}function dn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Er(br(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in wt)return wt[n](e)},has(t,n){return n in t||n in wt}}))}function Rn(e,t=!0){return D(e)?e.displayName||e.name:e.name||t&&e.__name}function hl(e){return D(e)&&"__vccOpts"in e}const pl=(e,t)=>co(e,t,St);function gl(e,t,n){const s=arguments.length;return s===2?Z(t)&&!S(t)?Nt(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nt(n)&&(n=[n]),ue(e,t,n))}const ml=Symbol(""),_l=()=>Wt(ml),bl="3.2.47",yl="http://www.w3.org/2000/svg",Xe=typeof document<"u"?document:null,Bs=Xe&&Xe.createElement("template"),xl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Xe.createElementNS(yl,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Bs.innerHTML=s?`${e}`:e;const l=Bs.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Cl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function El(e,t,n){const s=e.style,r=ee(n);if(n&&!r){if(t&&!ee(t))for(const i in t)n[i]==null&&Dn(s,i,"");for(const i in n)Dn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const js=/\s*!important$/;function Dn(e,t,n){if(S(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=wl(e,t);js.test(n)?e.setProperty(tt(s),n.replace(js,""),"important"):e[s]=n}}const Us=["Webkit","Moz","ms"],Cn={};function wl(e,t){const n=Cn[t];if(n)return n;let s=Pe(t);if(s!=="filter"&&s in e)return Cn[t]=s;s=nn(s);for(let r=0;rEn||(Pl.then(()=>En=0),En=Date.now());function Ml(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(Nl(s,n.value),t,5,[s])};return n.value=e,n.attached=Fl(),n}function Nl(e,t){if(S(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Vs=/^on[a-z]/,Sl=(e,t,n,s,r=!1,i,o,l,f)=>{t==="class"?Cl(e,s,r):t==="style"?El(e,n,s):en(t)?Un(t)||Ol(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ll(e,t,s,r))?vl(e,t,s,i,o,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Tl(e,t,s,r))};function Ll(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Vs.test(t)&&D(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Vs.test(t)&&ee(n)?!1:t in e}const He="transition",yt="animation",ei=(e,{slots:t})=>gl(Nr,ni(e),t);ei.displayName="Transition";const ti={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Rl=ei.props=ie({},Nr.props,ti),Je=(e,t=[])=>{S(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ws=e=>e?S(e)?e.some(t=>t.length>1):e.length>1:!1;function ni(e){const t={};for(const P in e)P in ti||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,L=Dl(r),I=L&&L[0],W=L&&L[1],{onBeforeEnter:B,onEnter:O,onEnterCancelled:E,onLeave:T,onLeaveCancelled:H,onBeforeAppear:Q=B,onAppear:V=O,onAppearCancelled:N=E}=t,k=(P,G,he)=>{$e(P,G?d:l),$e(P,G?a:o),he&&he()},j=(P,G)=>{P._isLeaving=!1,$e(P,p),$e(P,v),$e(P,g),G&&G()},Y=P=>(G,he)=>{const _t=P?V:O,re=()=>k(G,P,he);Je(_t,[G,re]),zs(()=>{$e(G,P?f:i),Me(G,P?d:l),Ws(_t)||qs(G,s,I,re)})};return ie(t,{onBeforeEnter(P){Je(B,[P]),Me(P,i),Me(P,o)},onBeforeAppear(P){Je(Q,[P]),Me(P,f),Me(P,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(P,G){P._isLeaving=!0;const he=()=>j(P,G);Me(P,p),ri(),Me(P,g),zs(()=>{P._isLeaving&&($e(P,p),Me(P,v),Ws(T)||qs(P,s,W,he))}),Je(T,[P,he])},onEnterCancelled(P){k(P,!1),Je(E,[P])},onAppearCancelled(P){k(P,!0),Je(N,[P])},onLeaveCancelled(P){j(P),Je(H,[P])}})}function Dl(e){if(e==null)return null;if(Z(e))return[wn(e.enter),wn(e.leave)];{const t=wn(e);return[t,t]}}function wn(e){return Ti(e)}function Me(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function $e(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function zs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Hl=0;function qs(e,t,n,s){const r=e._endId=++Hl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:f}=si(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=v=>{v.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${He}Delay`),i=s(`${He}Duration`),o=Js(r,i),l=s(`${yt}Delay`),f=s(`${yt}Duration`),a=Js(l,f);let d=null,p=0,g=0;t===He?o>0&&(d=He,p=o,g=i.length):t===yt?a>0&&(d=yt,p=a,g=f.length):(p=Math.max(o,a),d=p>0?o>a?He:yt:null,g=d?d===He?i.length:f.length:0);const v=d===He&&/\b(transform|all)(,|$)/.test(s(`${He}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:v}}function Js(e,t){for(;e.lengthQs(n)+Qs(e[s])))}function Qs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ri(){return document.body.offsetHeight}const ii=new WeakMap,oi=new WeakMap,li={name:"TransitionGroup",props:ie({},Rl,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=as(),s=Mr();let r,i;return rs(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Kl(r[0].el,n.vnode.el,o))return;r.forEach(Bl),r.forEach(jl);const l=r.filter(Ul);ri(),l.forEach(f=>{const a=f.el,d=a.style;Me(a,o),d.transform=d.webkitTransform=d.transitionDuration="";const p=a._moveCb=g=>{g&&g.target!==a||(!g||/transform$/.test(g.propertyName))&&(a.removeEventListener("transitionend",p),a._moveCb=null,$e(a,o))};a.addEventListener("transitionend",p)})}),()=>{const o=U(e),l=ni(o);let f=o.tag||ge;r=i,i=t.default?ns(t.default()):[];for(let a=0;adelete e.mode;li.props;const wc=li;function Bl(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function jl(e){oi.set(e,e.el.getBoundingClientRect())}function Ul(e){const t=ii.get(e),n=oi.get(e),s=t.left-n.left,r=t.top-n.top;if(s||r){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${s}px,${r}px)`,i.transitionDuration="0s",e}}function Kl(e,t,n){const s=e.cloneNode();e._vtc&&e._vtc.forEach(o=>{o.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(o=>o&&s.classList.add(o)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=si(s);return r.removeChild(s),i}const Ys=e=>{const t=e.props["onUpdate:modelValue"]||!1;return S(t)?n=>ct(t,n):t};function kl(e){e.target.composing=!0}function Xs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Tc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Ys(r);const i=s||r.props&&r.props.type==="number";it(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Tn(l)),e._assign(l)}),n&&it(e,"change",()=>{e.value=e.value.trim()}),t||(it(e,"compositionstart",kl),it(e,"compositionend",Xs),it(e,"change",Xs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=Ys(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Tn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},Vl=["ctrl","shift","alt","meta"],Wl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Vl.some(n=>e[`${n}Key`]&&!t.includes(n))},vc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=tt(n.key);if(t.some(r=>r===s||zl[r]===s))return e(n)},Oc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),xt(e,!0),s.enter(e)):s.leave(e,()=>{xt(e,!1)}):xt(e,t))},beforeUnmount(e,{value:t}){xt(e,t)}};function xt(e,t){e.style.display=t?e._vod:"none"}const ql=ie({patchProp:Sl},xl);let Zs;function Jl(){return Zs||(Zs=Qo(ql))}const Ic=(...e)=>{const t=Jl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ql(s);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function Ql(e){return ee(e)?document.querySelector(e):e}function Yl(){return ci().__VUE_DEVTOOLS_GLOBAL_HOOK__}function ci(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const Xl=typeof Proxy=="function",Zl="devtools-plugin:setup",Gl="plugin:settings:set";let rt,Hn;function ec(){var e;return rt!==void 0||(typeof window<"u"&&window.performance?(rt=!0,Hn=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(rt=!0,Hn=global.perf_hooks.performance):rt=!1),rt}function tc(){return ec()?Hn.now():Date.now()}class nc{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const s={};if(t.settings)for(const o in t.settings){const l=t.settings[o];s[o]=l.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},s);try{const o=localStorage.getItem(r),l=JSON.parse(o);Object.assign(i,l)}catch{}this.fallbacks={getSettings(){return i},setSettings(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}i=o},now(){return tc()}},n&&n.on(Gl,(o,l)=>{o===this.plugin.id&&this.fallbacks.setSettings(l)}),this.proxiedOn=new Proxy({},{get:(o,l)=>this.target?this.target.on[l]:(...f)=>{this.onQueue.push({method:l,args:f})}}),this.proxiedTarget=new Proxy({},{get:(o,l)=>this.target?this.target[l]:l==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(l)?(...f)=>(this.targetQueue.push({method:l,args:f,resolve:()=>{}}),this.fallbacks[l](...f)):(...f)=>new Promise(a=>{this.targetQueue.push({method:l,args:f,resolve:a})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Pc(e,t){const n=e,s=ci(),r=Yl(),i=Xl&&n.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!i))r.emit(Zl,e,t);else{const o=i?new nc(n,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:o}),o&&t(o.proxiedTarget)}}export{_o as $,Le as A,br as B,ye as C,Yn as D,_r as E,ge as F,U as G,Rr as H,Bn as I,yc as J,Qr as K,ue as L,sc as M,Tc as N,Ec as O,Ac as P,gc as Q,lc as R,bc as S,ei as T,cc as U,fc as V,mr as W,oc as X,so as Y,rc as Z,Pc as _,Xr as a,vc as a0,pc as a1,mc as a2,dc as a3,jn as a4,Ic as a5,_c as a6,Cc as b,xc as c,ac as d,rl as e,Nt as f,as as g,is as h,Wt as i,ss as j,Fo as k,Oo as l,Io as m,pl as n,qr as o,wo as p,uc as q,ic as r,gl as s,wc as t,oo as u,Oc as v,zt as w,il as x,uo as y,hc as z}; diff --git a/web/dist/assets/@vue-f70ab1bd.js b/web/dist/assets/@vue-f70ab1bd.js deleted file mode 100644 index 1d5a6fe2..00000000 --- a/web/dist/assets/@vue-f70ab1bd.js +++ /dev/null @@ -1 +0,0 @@ -function jn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function $n(e){if(S(e)){const t={};for(let n=0;n{if(n){const s=n.split(di);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Bn(e){let t="";if(ee(e))t=e;else if(S(e))for(let n=0;nee(e)?e:e==null?"":S(e)||Z(e)&&(e.toString===sr||!D(e.toString))?JSON.stringify(e,er,2):String(e),er=(e,t)=>t&&t.__v_isRef?er(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:tr(t)?{[`Set(${t.size})`]:[...t.values()]}:Z(t)&&!S(t)&&!rr(t)?String(t):t,X={},ot=[],Te=()=>{},_i=()=>!1,bi=/^on[^a-z]/,en=e=>bi.test(e),Un=e=>e.startsWith("onUpdate:"),ie=Object.assign,Kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yi=Object.prototype.hasOwnProperty,K=(e,t)=>yi.call(e,t),S=Array.isArray,lt=e=>Lt(e)==="[object Map]",tr=e=>Lt(e)==="[object Set]",xi=e=>Lt(e)==="[object RegExp]",D=e=>typeof e=="function",ee=e=>typeof e=="string",kn=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",nr=e=>Z(e)&&D(e.then)&&D(e.catch),sr=Object.prototype.toString,Lt=e=>sr.call(e),Ci=e=>Lt(e).slice(8,-1),rr=e=>Lt(e)==="[object Object]",Vn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=jn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ei=/-(\w)/g,Pe=tn(e=>e.replace(Ei,(t,n)=>n?n.toUpperCase():"")),wi=/\B([A-Z])/g,tt=tn(e=>e.replace(wi,"-$1").toLowerCase()),nn=tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=tn(e=>e?`on${nn(e)}`:""),At=(e,t)=>!Object.is(e,t),ct=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Tn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let _s;const vi=()=>_s||(_s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Ce;class ir{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ce,!t&&Ce&&(this.index=(Ce.scopes||(Ce.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ce;try{return Ce=this,t()}finally{Ce=n}}}on(){Ce=this}off(){Ce=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},or=e=>(e.w&ke)>0,lr=e=>(e.n&ke)>0,Ii=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":S(e)?Vn(n)&&l.push(o.get("length")):(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"delete":S(e)||(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"set":lt(e)&&l.push(o.get(Ge));break}if(l.length===1)l[0]&&On(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);On(Wn(f))}}function On(e,t){const n=S(e)?e:[...e];for(const s of n)s.computed&&ys(s);for(const s of n)s.computed||ys(s)}function ys(e,t){(e!==Ee||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Fi(e,t){var n;return(n=Yt.get(e))===null||n===void 0?void 0:n.get(t)}const Mi=jn("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(kn)),Ni=qn(),Si=qn(!1,!0),Li=qn(!0),xs=Ri();function Ri(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=U(this);for(let i=0,o=this.length;i{e[t]=function(...n){gt();const s=U(this)[t].apply(this,n);return mt(),s}}),e}function Di(e){const t=U(this);return de(t,"has",e),t.hasOwnProperty(e)}function qn(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Zi:gr:t?pr:hr).get(s))return s;const o=S(s);if(!e){if(o&&K(xs,r))return Reflect.get(xs,r,i);if(r==="hasOwnProperty")return Di}const l=Reflect.get(s,r,i);return(kn(r)?ur.has(r):Mi(r))||(e||de(s,"get",r),t)?l:le(l)?o&&Vn(r)?l:l.value:Z(l)?e?mr(l):Yn(l):l}}const Hi=ar(),ji=ar(!0);function ar(e=!1){return function(n,s,r,i){let o=n[s];if(dt(o)&&le(o)&&!le(r))return!1;if(!e&&(!Xt(r)&&!dt(r)&&(o=U(o),r=U(r)),!S(n)&&le(o)&&!le(r)))return o.value=r,!0;const l=S(n)&&Vn(s)?Number(s)e,sn=e=>Reflect.getPrototypeOf(e);function Ht(e,t,n=!1,s=!1){e=e.__v_raw;const r=U(e),i=U(t);n||(t!==i&&de(r,"get",t),de(r,"get",i));const{has:o}=sn(r),l=s?Jn:n?Zn:Ot;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function jt(e,t=!1){const n=this.__v_raw,s=U(n),r=U(e);return t||(e!==r&&de(s,"has",e),de(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function $t(e,t=!1){return e=e.__v_raw,!t&&de(U(e),"iterate",Ge),Reflect.get(e,"size",e)}function Cs(e){e=U(e);const t=U(this);return sn(t).has.call(t,e)||(t.add(e),Se(t,"add",e,e)),this}function Es(e,t){t=U(t);const n=U(this),{has:s,get:r}=sn(n);let i=s.call(n,e);i||(e=U(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?At(t,o)&&Se(n,"set",e,t):Se(n,"add",e,t),this}function ws(e){const t=U(this),{has:n,get:s}=sn(t);let r=n.call(t,e);r||(e=U(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&Se(t,"delete",e,void 0),i}function Ts(){const e=U(this),t=e.size!==0,n=e.clear();return t&&Se(e,"clear",void 0,void 0),n}function Bt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=U(o),f=t?Jn:e?Zn:Ot;return!e&&de(l,"iterate",Ge),o.forEach((a,d)=>s.call(r,f(a),f(d),i))}}function Ut(e,t,n){return function(...s){const r=this.__v_raw,i=U(r),o=lt(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,a=r[e](...s),d=n?Jn:t?Zn:Ot;return!t&&de(i,"iterate",f?An:Ge),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:this}}function Vi(){const e={get(i){return Ht(this,i)},get size(){return $t(this)},has:jt,add:Cs,set:Es,delete:ws,clear:Ts,forEach:Bt(!1,!1)},t={get(i){return Ht(this,i,!1,!0)},get size(){return $t(this)},has:jt,add:Cs,set:Es,delete:ws,clear:Ts,forEach:Bt(!1,!0)},n={get(i){return Ht(this,i,!0)},get size(){return $t(this,!0)},has(i){return jt.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Bt(!0,!1)},s={get(i){return Ht(this,i,!0,!0)},get size(){return $t(this,!0)},has(i){return jt.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Bt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Ut(i,!1,!1),n[i]=Ut(i,!0,!1),t[i]=Ut(i,!1,!0),s[i]=Ut(i,!0,!0)}),[e,n,t,s]}const[Wi,zi,qi,Ji]=Vi();function Qn(e,t){const n=t?e?Ji:qi:e?zi:Wi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(K(n,r)&&r in s?n:s,r,i)}const Qi={get:Qn(!1,!1)},Yi={get:Qn(!1,!0)},Xi={get:Qn(!0,!1)},hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Zi=new WeakMap;function Gi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function eo(e){return e.__v_skip||!Object.isExtensible(e)?0:Gi(Ci(e))}function Yn(e){return dt(e)?e:Xn(e,!1,dr,Qi,hr)}function to(e){return Xn(e,!1,ki,Yi,pr)}function mr(e){return Xn(e,!0,Ki,Xi,gr)}function Xn(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=eo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ft(e){return dt(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function Xt(e){return!!(e&&e.__v_isShallow)}function _r(e){return ft(e)||dt(e)}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function br(e){return Qt(e,"__v_skip",!0),e}const Ot=e=>Z(e)?Yn(e):e,Zn=e=>Z(e)?mr(e):e;function yr(e){Ue&&Ee&&(e=U(e),fr(e.dep||(e.dep=Wn())))}function xr(e,t){e=U(e);const n=e.dep;n&&On(n)}function le(e){return!!(e&&e.__v_isRef===!0)}function rc(e){return Cr(e,!1)}function ic(e){return Cr(e,!0)}function Cr(e,t){return le(e)?e:new no(e,t)}class no{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:U(t),this._value=n?t:Ot(t)}get value(){return yr(this),this._value}set value(t){const n=this.__v_isShallow||Xt(t)||dt(t);t=n?t:U(t),At(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),xr(this))}}function so(e){return le(e)?e.value:e}const ro={get:(e,t,n)=>so(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return le(r)&&!le(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Er(e){return ft(e)?e:new Proxy(e,ro)}class io{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Fi(U(this._object),this._key)}}function oc(e,t,n){const s=e[t];return le(s)?s:new io(e,t,n)}var wr;class oo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[wr]=!1,this._dirty=!0,this.effect=new zn(t,()=>{this._dirty||(this._dirty=!0,xr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=U(this);return yr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}wr="__v_isReadonly";function lo(e,t,n=!1){let s,r;const i=D(e);return i?(s=e,r=Te):(s=e.get,r=e.set),new oo(s,r,i||!r,n)}function Ke(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){rn(i,t,n)}return r}function be(e,t,n,s){if(D(e)){const i=Ke(e,t,n,s);return i&&nr(i)&&i.catch(o=>{rn(o,t,n)}),i}const r=[];for(let i=0;i>>1;Pt(fe[s])Ie&&fe.splice(t,1)}function ho(e){S(e)?ut.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ye+1:Ye))&&ut.push(e),vr()}function vs(e,t=It?Ie+1:0){for(;tPt(n)-Pt(s)),Ye=0;Yee.id==null?1/0:e.id,po=(e,t)=>{const n=Pt(e)-Pt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Or(e){In=!1,It=!0,fe.sort(po);const t=Te;try{for(Ie=0;Ieee(v)?v.trim():v)),p&&(r=n.map(Tn))}let l,f=s[l=gn(t)]||s[l=gn(Pe(t))];!f&&i&&(f=s[l=gn(tt(t))]),f&&be(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(a,e,6,r)}}function Ir(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=a=>{const d=Ir(a,t,!0);d&&(l=!0,ie(o,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(Z(e)&&s.set(e,null),null):(S(i)?i.forEach(f=>o[f]=null):ie(o,i),Z(e)&&s.set(e,o),o)}function on(e,t){return!e||!en(t)?!1:(t=t.slice(2).replace(/Once$/,""),K(e,t[0].toLowerCase()+t.slice(1))||K(e,tt(t))||K(e,t))}let ce=null,ln=null;function Zt(e){const t=ce;return ce=e,ln=e&&e.type.__scopeId||null,t}function lc(e){ln=e}function cc(){ln=null}function mo(e,t=ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ds(-1);const i=Zt(t);let o;try{o=e(...r)}finally{Zt(i),s._d&&Ds(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function mn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:f,emit:a,render:d,renderCache:p,data:g,setupState:v,ctx:L,inheritAttrs:I}=e;let W,$;const O=Zt(e);try{if(n.shapeFlag&4){const T=r||s;W=Oe(d.call(T,T,p,i,v,g,L)),$=f}else{const T=t;W=Oe(T.length>1?T(i,{attrs:f,slots:l,emit:a}):T(i,null)),$=t.props?f:_o(f)}}catch(T){vt.length=0,rn(T,e,1),W=ue(ye)}let E=W;if($&&I!==!1){const T=Object.keys($),{shapeFlag:H}=E;T.length&&H&7&&(o&&T.some(Un)&&($=bo($,o)),E=Le(E,$))}return n.dirs&&(E=Le(E),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),W=E,Zt(O),W}const _o=e=>{let t;for(const n in e)(n==="class"||n==="style"||en(n))&&((t||(t={}))[n]=e[n]);return t},bo=(e,t)=>{const n={};for(const s in e)(!Un(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function yo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?As(s,o,a):!!o;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Co(e,t){t&&t.pendingBranch?S(e)?t.effects.push(...e):t.effects.push(e):ho(e)}function Eo(e,t){if(ne){let n=ne.provides;const s=ne.parent&&ne.parent.provides;s===n&&(n=ne.provides=Object.create(s)),n[e]=t}}function Wt(e,t,n=!1){const s=ne||ce;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&D(t)?t.call(s.proxy):t}}function fc(e,t){return ts(e,null,t)}const Kt={};function zt(e,t,n){return ts(e,t,n)}function ts(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=X){const l=Oi()===(ne==null?void 0:ne.scope)?ne:null;let f,a=!1,d=!1;if(le(e)?(f=()=>e.value,a=Xt(e)):ft(e)?(f=()=>e,s=!0):S(e)?(d=!0,a=e.some(E=>ft(E)||Xt(E)),f=()=>e.map(E=>{if(le(E))return E.value;if(ft(E))return Ze(E);if(D(E))return Ke(E,l,2)})):D(e)?t?f=()=>Ke(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return p&&p(),be(e,l,3,[g])}:f=Te,t&&s){const E=f;f=()=>Ze(E())}let p,g=E=>{p=$.onStop=()=>{Ke(E,l,4)}},v;if(St)if(g=Te,t?n&&be(t,l,3,[f(),d?[]:void 0,g]):f(),r==="sync"){const E=ml();v=E.__watcherHandles||(E.__watcherHandles=[])}else return Te;let L=d?new Array(e.length).fill(Kt):Kt;const I=()=>{if($.active)if(t){const E=$.run();(s||a||(d?E.some((T,H)=>At(T,L[H])):At(E,L)))&&(p&&p(),be(t,l,3,[E,L===Kt?void 0:d&&L[0]===Kt?[]:L,g]),L=E)}else $.run()};I.allowRecurse=!!t;let W;r==="sync"?W=I:r==="post"?W=()=>oe(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),W=()=>es(I));const $=new zn(f,W);t?n?I():L=$.run():r==="post"?oe($.run.bind($),l&&l.suspense):$.run();const O=()=>{$.stop(),l&&l.scope&&Kn(l.scope.effects,$)};return v&&v.push(O),O}function wo(e,t,n){const s=this.proxy,r=ee(e)?e.includes(".")?Fr(s,e):()=>s[e]:e.bind(s,s);let i;D(t)?i=t:(i=t.handler,n=t);const o=ne;pt(this);const l=ts(r,i.bind(s),n);return o?pt(o):et(),l}function Fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Ze(n,t)});else if(rr(e))for(const n in e)Ze(e[n],t);return e}function Mr(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ss(()=>{e.isMounted=!0}),is(()=>{e.isUnmounting=!0}),e}const me=[Function,Array],To={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:me,onEnter:me,onAfterEnter:me,onEnterCancelled:me,onBeforeLeave:me,onLeave:me,onAfterLeave:me,onLeaveCancelled:me,onBeforeAppear:me,onAppear:me,onAfterAppear:me,onAppearCancelled:me},setup(e,{slots:t}){const n=as(),s=Mr();let r;return()=>{const i=t.default&&ns(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const I of i)if(I.type!==ye){o=I;break}}const l=U(e),{mode:f}=l;if(s.isLeaving)return _n(o);const a=Os(o);if(!a)return _n(o);const d=Ft(a,l,s,n);ht(a,d);const p=n.subTree,g=p&&Os(p);let v=!1;const{getTransitionKey:L}=a.type;if(L){const I=L();r===void 0?r=I:I!==r&&(r=I,v=!0)}if(g&&g.type!==ye&&(!Be(a,g)||v)){const I=Ft(g,l,s,n);if(ht(g,I),f==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},_n(o);f==="in-out"&&a.type!==ye&&(I.delayLeave=(W,$,O)=>{const E=Sr(s,g);E[String(g.key)]=g,W._leaveCb=()=>{$(),W._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=O})}return o}}},Nr=To;function Sr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ft(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:L,onBeforeAppear:I,onAppear:W,onAfterAppear:$,onAppearCancelled:O}=t,E=String(e.key),T=Sr(n,e),H=(N,k)=>{N&&be(N,s,9,k)},Q=(N,k)=>{const B=k[1];H(N,k),S(N)?N.every(Y=>Y.length<=1)&&B():N.length<=1&&B()},V={mode:i,persisted:o,beforeEnter(N){let k=l;if(!n.isMounted)if(r)k=I||l;else return;N._leaveCb&&N._leaveCb(!0);const B=T[E];B&&Be(e,B)&&B.el._leaveCb&&B.el._leaveCb(),H(k,[N])},enter(N){let k=f,B=a,Y=d;if(!n.isMounted)if(r)k=W||f,B=$||a,Y=O||d;else return;let P=!1;const G=N._enterCb=he=>{P||(P=!0,he?H(Y,[N]):H(B,[N]),V.delayedLeave&&V.delayedLeave(),N._enterCb=void 0)};k?Q(k,[N,G]):G()},leave(N,k){const B=String(e.key);if(N._enterCb&&N._enterCb(!0),n.isUnmounting)return k();H(p,[N]);let Y=!1;const P=N._leaveCb=G=>{Y||(Y=!0,k(),G?H(L,[N]):H(v,[N]),N._leaveCb=void 0,T[B]===e&&delete T[B])};T[B]=e,g?Q(g,[N,P]):P()},clone(N){return Ft(N,t,n,s)}};return V}function _n(e){if(cn(e))return e=Le(e),e.children=null,e}function Os(e){return cn(e)?e.children?e.children[0]:void 0:e}function ht(e,t){e.shapeFlag&6&&e.component?ht(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ns(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,cn=e=>e.type.__isKeepAlive,vo={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=as(),s=n.ctx;if(!s.renderer)return()=>{const O=t.default&&t.default();return O&&O.length===1?O[0]:O};const r=new Map,i=new Set;let o=null;const l=n.suspense,{renderer:{p:f,m:a,um:d,o:{createElement:p}}}=s,g=p("div");s.activate=(O,E,T,H,Q)=>{const V=O.component;a(O,E,T,0,l),f(V.vnode,O,E,T,V,l,H,O.slotScopeIds,Q),oe(()=>{V.isDeactivated=!1,V.a&&ct(V.a);const N=O.props&&O.props.onVnodeMounted;N&&_e(N,V.parent,O)},l)},s.deactivate=O=>{const E=O.component;a(O,g,null,1,l),oe(()=>{E.da&&ct(E.da);const T=O.props&&O.props.onVnodeUnmounted;T&&_e(T,E.parent,O),E.isDeactivated=!0},l)};function v(O){bn(O),d(O,n,l,!0)}function L(O){r.forEach((E,T)=>{const H=Rn(E.type);H&&(!O||!O(H))&&I(T)})}function I(O){const E=r.get(O);!o||!Be(E,o)?v(E):o&&bn(o),r.delete(O),i.delete(O)}zt(()=>[e.include,e.exclude],([O,E])=>{O&&L(T=>Et(O,T)),E&&L(T=>!Et(E,T))},{flush:"post",deep:!0});let W=null;const $=()=>{W!=null&&r.set(W,yn(n.subTree))};return ss($),rs($),is(()=>{r.forEach(O=>{const{subTree:E,suspense:T}=n,H=yn(E);if(O.type===H.type&&O.key===H.key){bn(H);const Q=H.component.da;Q&&oe(Q,T);return}v(O)})}),()=>{if(W=null,!t.default)return null;const O=t.default(),E=O[0];if(O.length>1)return o=null,O;if(!Nt(E)||!(E.shapeFlag&4)&&!(E.shapeFlag&128))return o=null,E;let T=yn(E);const H=T.type,Q=Rn(at(T)?T.type.__asyncResolved||{}:H),{include:V,exclude:N,max:k}=e;if(V&&(!Q||!Et(V,Q))||N&&Q&&Et(N,Q))return o=T,E;const B=T.key==null?H:T.key,Y=r.get(B);return T.el&&(T=Le(T),E.shapeFlag&128&&(E.ssContent=T)),W=B,Y?(T.el=Y.el,T.component=Y.component,T.transition&&ht(T,T.transition),T.shapeFlag|=512,i.delete(B),i.add(B)):(i.add(B),k&&i.size>parseInt(k,10)&&I(i.values().next().value)),T.shapeFlag|=256,o=T,Pr(E.type)?E:T}}},ac=vo;function Et(e,t){return S(e)?e.some(n=>Et(n,t)):ee(e)?e.split(",").includes(t):xi(e)?e.test(t):!1}function Ao(e,t){Lr(e,"a",t)}function Oo(e,t){Lr(e,"da",t)}function Lr(e,t,n=ne){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)cn(r.parent.vnode)&&Io(s,t,n,r),r=r.parent}}function Io(e,t,n,s){const r=fn(t,e,s,!0);Rr(()=>{Kn(s[t],r)},n)}function bn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function yn(e){return e.shapeFlag&128?e.ssContent:e}function fn(e,t,n=ne,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;gt(),pt(n);const l=be(t,n,e,o);return et(),mt(),l});return s?r.unshift(i):r.push(i),i}}const Re=e=>(t,n=ne)=>(!St||e==="sp")&&fn(e,(...s)=>t(...s),n),Po=Re("bm"),ss=Re("m"),Fo=Re("bu"),rs=Re("u"),is=Re("bum"),Rr=Re("um"),Mo=Re("sp"),No=Re("rtg"),So=Re("rtc");function Lo(e,t=ne){fn("ec",e,t)}function dc(e,t){const n=ce;if(n===null)return e;const s=dn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,f=o.length;l{const i=s.fn(...r);return i&&(i.key=s.key),i}:s.fn)}return e}function _c(e,t,n={},s,r){if(ce.isCE||ce.parent&&at(ce.parent)&&ce.parent.isCE)return t!=="default"&&(n.name=t),ue("slot",n,s&&s());let i=e[t];i&&i._c&&(i._d=!1),qr();const o=i&&jr(i(n)),l=Qr(ge,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function jr(e){return e.some(t=>Nt(t)?!(t.type===ye||t.type===ge&&!jr(t.children)):!0)?e:null}const Pn=e=>e?Zr(e)?dn(e)||e.proxy:Pn(e.parent):null,wt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Pn(e.parent),$root:e=>Pn(e.root),$emit:e=>e.emit,$options:e=>ls(e),$forceUpdate:e=>e.f||(e.f=()=>es(e.update)),$nextTick:e=>e.n||(e.n=fo.bind(e.proxy)),$watch:e=>wo.bind(e)}),xn=(e,t)=>e!==X&&!e.__isScriptSetup&&K(e,t),Ro={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(xn(s,t))return o[t]=1,s[t];if(r!==X&&K(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&K(a,t))return o[t]=3,i[t];if(n!==X&&K(n,t))return o[t]=4,n[t];Fn&&(o[t]=0)}}const d=wt[t];let p,g;if(d)return t==="$attrs"&&de(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==X&&K(n,t))return o[t]=4,n[t];if(g=f.config.globalProperties,K(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return xn(r,t)?(r[t]=n,!0):s!==X&&K(s,t)?(s[t]=n,!0):K(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==X&&K(e,o)||xn(t,o)||(l=i[0])&&K(l,o)||K(s,o)||K(wt,o)||K(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:K(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Fn=!0;function Do(e){const t=ls(e),n=e.proxy,s=e.ctx;Fn=!1,t.beforeCreate&&Ps(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:v,updated:L,activated:I,deactivated:W,beforeDestroy:$,beforeUnmount:O,destroyed:E,unmounted:T,render:H,renderTracked:Q,renderTriggered:V,errorCaptured:N,serverPrefetch:k,expose:B,inheritAttrs:Y,components:P,directives:G,filters:he}=t;if(a&&Ho(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const te in o){const q=o[te];D(q)&&(s[te]=q.bind(n))}if(r){const te=r.call(n,n);Z(te)&&(e.data=Yn(te))}if(Fn=!0,i)for(const te in i){const q=i[te],Ve=D(q)?q.bind(n,n):D(q.get)?q.get.bind(n,n):Te,Rt=!D(q)&&D(q.set)?q.set.bind(n):Te,We=hl({get:Ve,set:Rt});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>We.value,set:ve=>We.value=ve})}if(l)for(const te in l)$r(l[te],s,n,te);if(f){const te=D(f)?f.call(n):f;Reflect.ownKeys(te).forEach(q=>{Eo(q,te[q])})}d&&Ps(d,e,"c");function re(te,q){S(q)?q.forEach(Ve=>te(Ve.bind(n))):q&&te(q.bind(n))}if(re(Po,p),re(ss,g),re(Fo,v),re(rs,L),re(Ao,I),re(Oo,W),re(Lo,N),re(So,Q),re(No,V),re(is,O),re(Rr,T),re(Mo,k),S(B))if(B.length){const te=e.exposed||(e.exposed={});B.forEach(q=>{Object.defineProperty(te,q,{get:()=>n[q],set:Ve=>n[q]=Ve})})}else e.exposed||(e.exposed={});H&&e.render===Te&&(e.render=H),Y!=null&&(e.inheritAttrs=Y),P&&(e.components=P),G&&(e.directives=G)}function Ho(e,t,n=Te,s=!1){S(e)&&(e=Mn(e));for(const r in e){const i=e[r];let o;Z(i)?"default"in i?o=Wt(i.from||r,i.default,!0):o=Wt(i.from||r):o=Wt(i),le(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ps(e,t,n){be(S(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function $r(e,t,n,s){const r=s.includes(".")?Fr(n,s):()=>n[s];if(ee(e)){const i=t[e];D(i)&&zt(r,i)}else if(D(e))zt(r,e.bind(n));else if(Z(e))if(S(e))e.forEach(i=>$r(i,t,n,s));else{const i=D(e.handler)?e.handler.bind(n):t[e.handler];D(i)&&zt(r,i,e)}}function ls(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>Gt(f,a,o,!0)),Gt(f,t,o)),Z(t)&&i.set(t,f),f}function Gt(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Gt(e,i,n,!0),r&&r.forEach(o=>Gt(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=jo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const jo={data:Fs,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Bo,provide:Fs,inject:$o};function Fs(e,t){return t?e?function(){return ie(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function $o(e,t){return Qe(Mn(e),Mn(t))}function Mn(e){if(S(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[g,v]=Ur(p,t,!0);ie(o,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!f)return Z(e)&&s.set(e,ot),ot;if(S(i))for(let d=0;d-1,v[1]=I<0||L-1||K(v,"default"))&&l.push(p)}}}const a=[o,l];return Z(e)&&s.set(e,a),a}function Ms(e){return e[0]!=="$"}function Ns(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ss(e,t){return Ns(e)===Ns(t)}function Ls(e,t){return S(t)?t.findIndex(n=>Ss(n,e)):D(t)&&Ss(t,e)?0:-1}const Kr=e=>e[0]==="_"||e==="$stable",cs=e=>S(e)?e.map(Oe):[Oe(e)],ko=(e,t,n)=>{if(t._n)return t;const s=mo((...r)=>cs(t(...r)),n);return s._c=!1,s},kr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Kr(r))continue;const i=e[r];if(D(i))t[r]=ko(r,i,s);else if(i!=null){const o=cs(i);t[r]=()=>o}}},Vr=(e,t)=>{const n=cs(t);e.slots.default=()=>n},Vo=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=U(t),Qt(t,"_",n)):kr(t,e.slots={})}else e.slots={},t&&Vr(e,t);Qt(e.slots,an,1)},Wo=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,kr(t,r)),o=t}else t&&(Vr(e,t),o={default:1});if(i)for(const l in r)!Kr(l)&&!(l in o)&&delete r[l]};function Wr(){return{app:null,config:{isNativeTag:_i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let zo=0;function qo(e,t){return function(s,r=null){D(s)||(s=Object.assign({},s)),r!=null&&!Z(r)&&(r=null);const i=Wr(),o=new Set;let l=!1;const f=i.app={_uid:zo++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:_l,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(f,...d)):D(a)&&(o.add(a),a(f,...d))),f},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),f},component(a,d){return d?(i.components[a]=d,f):i.components[a]},directive(a,d){return d?(i.directives[a]=d,f):i.directives[a]},mount(a,d,p){if(!l){const g=ue(s,r);return g.appContext=i,d&&t?t(g,a):e(g,a,p),l=!0,f._container=a,a.__vue_app__=f,dn(g.component)||g.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return i.provides[a]=d,f}};return f}}function Sn(e,t,n,s,r=!1){if(S(e)){e.forEach((g,v)=>Sn(g,t&&(S(t)?t[v]:t),n,s,r));return}if(at(s)&&!r)return;const i=s.shapeFlag&4?dn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:f}=e,a=t&&t.r,d=l.refs===X?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==f&&(ee(a)?(d[a]=null,K(p,a)&&(p[a]=null)):le(a)&&(a.value=null)),D(f))Ke(f,l,12,[o,d]);else{const g=ee(f),v=le(f);if(g||v){const L=()=>{if(e.f){const I=g?K(p,f)?p[f]:d[f]:f.value;r?S(I)&&Kn(I,i):S(I)?I.includes(i)||I.push(i):g?(d[f]=[i],K(p,f)&&(p[f]=d[f])):(f.value=[i],e.k&&(d[e.k]=f.value))}else g?(d[f]=o,K(p,f)&&(p[f]=o)):v&&(f.value=o,e.k&&(d[e.k]=o))};o?(L.id=-1,oe(L,n)):L()}}}const oe=Co;function Jo(e){return Qo(e)}function Qo(e,t){const n=vi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:v=Te,insertStaticContent:L}=e,I=(c,u,h,_=null,m=null,x=null,w=!1,y=null,C=!!u.dynamicChildren)=>{if(c===u)return;c&&!Be(c,u)&&(_=Dt(c),ve(c,m,x,!0),c=null),u.patchFlag===-2&&(C=!1,u.dynamicChildren=null);const{type:b,ref:F,shapeFlag:A}=u;switch(b){case un:W(c,u,h,_);break;case ye:$(c,u,h,_);break;case qt:c==null&&O(u,h,_,w);break;case ge:P(c,u,h,_,m,x,w,y,C);break;default:A&1?H(c,u,h,_,m,x,w,y,C):A&6?G(c,u,h,_,m,x,w,y,C):(A&64||A&128)&&b.process(c,u,h,_,m,x,w,y,C,nt)}F!=null&&m&&Sn(F,c&&c.ref,x,u||c,!u)},W=(c,u,h,_)=>{if(c==null)s(u.el=l(u.children),h,_);else{const m=u.el=c.el;u.children!==c.children&&a(m,u.children)}},$=(c,u,h,_)=>{c==null?s(u.el=f(u.children||""),h,_):u.el=c.el},O=(c,u,h,_)=>{[c.el,c.anchor]=L(c.children,u,h,_,c.el,c.anchor)},E=({el:c,anchor:u},h,_)=>{let m;for(;c&&c!==u;)m=g(c),s(c,h,_),c=m;s(u,h,_)},T=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=g(c),r(c),c=h;r(u)},H=(c,u,h,_,m,x,w,y,C)=>{w=w||u.type==="svg",c==null?Q(u,h,_,m,x,w,y,C):k(c,u,m,x,w,y,C)},Q=(c,u,h,_,m,x,w,y)=>{let C,b;const{type:F,props:A,shapeFlag:M,transition:R,dirs:j}=c;if(C=c.el=o(c.type,x,A&&A.is,A),M&8?d(C,c.children):M&16&&N(c.children,C,null,_,m,x&&F!=="foreignObject",w,y),j&&ze(c,null,_,"created"),V(C,c,c.scopeId,w,_),A){for(const z in A)z!=="value"&&!Vt(z)&&i(C,z,null,A[z],x,c.children,_,m,Fe);"value"in A&&i(C,"value",null,A.value),(b=A.onVnodeBeforeMount)&&_e(b,_,c)}j&&ze(c,null,_,"beforeMount");const J=(!m||m&&!m.pendingBranch)&&R&&!R.persisted;J&&R.beforeEnter(C),s(C,u,h),((b=A&&A.onVnodeMounted)||J||j)&&oe(()=>{b&&_e(b,_,c),J&&R.enter(C),j&&ze(c,null,_,"mounted")},m)},V=(c,u,h,_,m)=>{if(h&&v(c,h),_)for(let x=0;x<_.length;x++)v(c,_[x]);if(m){let x=m.subTree;if(u===x){const w=m.vnode;V(c,w,w.scopeId,w.slotScopeIds,m.parent)}}},N=(c,u,h,_,m,x,w,y,C=0)=>{for(let b=C;b{const y=u.el=c.el;let{patchFlag:C,dynamicChildren:b,dirs:F}=u;C|=c.patchFlag&16;const A=c.props||X,M=u.props||X;let R;h&&qe(h,!1),(R=M.onVnodeBeforeUpdate)&&_e(R,h,u,c),F&&ze(u,c,h,"beforeUpdate"),h&&qe(h,!0);const j=m&&u.type!=="foreignObject";if(b?B(c.dynamicChildren,b,y,h,_,j,x):w||q(c,u,y,null,h,_,j,x,!1),C>0){if(C&16)Y(y,u,A,M,h,_,m);else if(C&2&&A.class!==M.class&&i(y,"class",null,M.class,m),C&4&&i(y,"style",A.style,M.style,m),C&8){const J=u.dynamicProps;for(let z=0;z{R&&_e(R,h,u,c),F&&ze(u,c,h,"updated")},_)},B=(c,u,h,_,m,x,w)=>{for(let y=0;y{if(h!==_){if(h!==X)for(const y in h)!Vt(y)&&!(y in _)&&i(c,y,h[y],null,w,u.children,m,x,Fe);for(const y in _){if(Vt(y))continue;const C=_[y],b=h[y];C!==b&&y!=="value"&&i(c,y,b,C,w,u.children,m,x,Fe)}"value"in _&&i(c,"value",h.value,_.value)}},P=(c,u,h,_,m,x,w,y,C)=>{const b=u.el=c?c.el:l(""),F=u.anchor=c?c.anchor:l("");let{patchFlag:A,dynamicChildren:M,slotScopeIds:R}=u;R&&(y=y?y.concat(R):R),c==null?(s(b,h,_),s(F,h,_),N(u.children,h,F,m,x,w,y,C)):A>0&&A&64&&M&&c.dynamicChildren?(B(c.dynamicChildren,M,h,m,x,w,y),(u.key!=null||m&&u===m.subTree)&&fs(c,u,!0)):q(c,u,h,F,m,x,w,y,C)},G=(c,u,h,_,m,x,w,y,C)=>{u.slotScopeIds=y,c==null?u.shapeFlag&512?m.ctx.activate(u,h,_,w,C):he(u,h,_,m,x,w,C):_t(c,u,C)},he=(c,u,h,_,m,x,w)=>{const y=c.component=ll(c,_,m);if(cn(c)&&(y.ctx.renderer=nt),cl(y),y.asyncDep){if(m&&m.registerDep(y,re),!c.el){const C=y.subTree=ue(ye);$(null,C,u,h)}return}re(y,c,u,h,m,x,w)},_t=(c,u,h)=>{const _=u.component=c.component;if(yo(c,u,h))if(_.asyncDep&&!_.asyncResolved){te(_,u,h);return}else _.next=u,ao(_.update),_.update();else u.el=c.el,_.vnode=u},re=(c,u,h,_,m,x,w)=>{const y=()=>{if(c.isMounted){let{next:F,bu:A,u:M,parent:R,vnode:j}=c,J=F,z;qe(c,!1),F?(F.el=j.el,te(c,F,w)):F=j,A&&ct(A),(z=F.props&&F.props.onVnodeBeforeUpdate)&&_e(z,R,F,j),qe(c,!0);const se=mn(c),xe=c.subTree;c.subTree=se,I(xe,se,p(xe.el),Dt(xe),c,m,x),F.el=se.el,J===null&&xo(c,se.el),M&&oe(M,m),(z=F.props&&F.props.onVnodeUpdated)&&oe(()=>_e(z,R,F,j),m)}else{let F;const{el:A,props:M}=u,{bm:R,m:j,parent:J}=c,z=at(u);if(qe(c,!1),R&&ct(R),!z&&(F=M&&M.onVnodeBeforeMount)&&_e(F,J,u),qe(c,!0),A&&pn){const se=()=>{c.subTree=mn(c),pn(A,c.subTree,c,m,null)};z?u.type.__asyncLoader().then(()=>!c.isUnmounted&&se()):se()}else{const se=c.subTree=mn(c);I(null,se,h,_,c,m,x),u.el=se.el}if(j&&oe(j,m),!z&&(F=M&&M.onVnodeMounted)){const se=u;oe(()=>_e(F,J,se),m)}(u.shapeFlag&256||J&&at(J.vnode)&&J.vnode.shapeFlag&256)&&c.a&&oe(c.a,m),c.isMounted=!0,u=h=_=null}},C=c.effect=new zn(y,()=>es(b),c.scope),b=c.update=()=>C.run();b.id=c.uid,qe(c,!0),b()},te=(c,u,h)=>{u.component=c;const _=c.vnode.props;c.vnode=u,c.next=null,Ko(c,u.props,_,h),Wo(c,u.children,h),gt(),vs(),mt()},q=(c,u,h,_,m,x,w,y,C=!1)=>{const b=c&&c.children,F=c?c.shapeFlag:0,A=u.children,{patchFlag:M,shapeFlag:R}=u;if(M>0){if(M&128){Rt(b,A,h,_,m,x,w,y,C);return}else if(M&256){Ve(b,A,h,_,m,x,w,y,C);return}}R&8?(F&16&&Fe(b,m,x),A!==b&&d(h,A)):F&16?R&16?Rt(b,A,h,_,m,x,w,y,C):Fe(b,m,x,!0):(F&8&&d(h,""),R&16&&N(A,h,_,m,x,w,y,C))},Ve=(c,u,h,_,m,x,w,y,C)=>{c=c||ot,u=u||ot;const b=c.length,F=u.length,A=Math.min(b,F);let M;for(M=0;MF?Fe(c,m,x,!0,!1,A):N(u,h,_,m,x,w,y,C,A)},Rt=(c,u,h,_,m,x,w,y,C)=>{let b=0;const F=u.length;let A=c.length-1,M=F-1;for(;b<=A&&b<=M;){const R=c[b],j=u[b]=C?$e(u[b]):Oe(u[b]);if(Be(R,j))I(R,j,h,null,m,x,w,y,C);else break;b++}for(;b<=A&&b<=M;){const R=c[A],j=u[M]=C?$e(u[M]):Oe(u[M]);if(Be(R,j))I(R,j,h,null,m,x,w,y,C);else break;A--,M--}if(b>A){if(b<=M){const R=M+1,j=RM)for(;b<=A;)ve(c[b],m,x,!0),b++;else{const R=b,j=b,J=new Map;for(b=j;b<=M;b++){const pe=u[b]=C?$e(u[b]):Oe(u[b]);pe.key!=null&&J.set(pe.key,b)}let z,se=0;const xe=M-j+1;let st=!1,ps=0;const bt=new Array(xe);for(b=0;b=xe){ve(pe,m,x,!0);continue}let Ae;if(pe.key!=null)Ae=J.get(pe.key);else for(z=j;z<=M;z++)if(bt[z-j]===0&&Be(pe,u[z])){Ae=z;break}Ae===void 0?ve(pe,m,x,!0):(bt[Ae-j]=b+1,Ae>=ps?ps=Ae:st=!0,I(pe,u[Ae],h,null,m,x,w,y,C),se++)}const gs=st?Yo(bt):ot;for(z=gs.length-1,b=xe-1;b>=0;b--){const pe=j+b,Ae=u[pe],ms=pe+1{const{el:x,type:w,transition:y,children:C,shapeFlag:b}=c;if(b&6){We(c.component.subTree,u,h,_);return}if(b&128){c.suspense.move(u,h,_);return}if(b&64){w.move(c,u,h,nt);return}if(w===ge){s(x,u,h);for(let A=0;Ay.enter(x),m);else{const{leave:A,delayLeave:M,afterLeave:R}=y,j=()=>s(x,u,h),J=()=>{A(x,()=>{j(),R&&R()})};M?M(x,j,J):J()}else s(x,u,h)},ve=(c,u,h,_=!1,m=!1)=>{const{type:x,props:w,ref:y,children:C,dynamicChildren:b,shapeFlag:F,patchFlag:A,dirs:M}=c;if(y!=null&&Sn(y,null,h,c,!0),F&256){u.ctx.deactivate(c);return}const R=F&1&&M,j=!at(c);let J;if(j&&(J=w&&w.onVnodeBeforeUnmount)&&_e(J,u,c),F&6)ui(c.component,h,_);else{if(F&128){c.suspense.unmount(h,_);return}R&&ze(c,null,u,"beforeUnmount"),F&64?c.type.remove(c,u,h,m,nt,_):b&&(x!==ge||A>0&&A&64)?Fe(b,u,h,!1,!0):(x===ge&&A&384||!m&&F&16)&&Fe(C,u,h),_&&ds(c)}(j&&(J=w&&w.onVnodeUnmounted)||R)&&oe(()=>{J&&_e(J,u,c),R&&ze(c,null,u,"unmounted")},h)},ds=c=>{const{type:u,el:h,anchor:_,transition:m}=c;if(u===ge){fi(h,_);return}if(u===qt){T(c);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:w,delayLeave:y}=m,C=()=>w(h,x);y?y(c.el,x,C):C()}else x()},fi=(c,u)=>{let h;for(;c!==u;)h=g(c),r(c),c=h;r(u)},ui=(c,u,h)=>{const{bum:_,scope:m,update:x,subTree:w,um:y}=c;_&&ct(_),m.stop(),x&&(x.active=!1,ve(w,c,u,h)),y&&oe(y,u),oe(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Fe=(c,u,h,_=!1,m=!1,x=0)=>{for(let w=x;wc.shapeFlag&6?Dt(c.component.subTree):c.shapeFlag&128?c.suspense.next():g(c.anchor||c.el),hs=(c,u,h)=>{c==null?u._vnode&&ve(u._vnode,null,null,!0):I(u._vnode||null,c,u,null,null,null,h),vs(),Ar(),u._vnode=c},nt={p:I,um:ve,m:We,r:ds,mt:he,mc:N,pc:q,pbc:B,n:Dt,o:e};let hn,pn;return t&&([hn,pn]=t(nt)),{render:hs,hydrate:hn,createApp:qo(hs,hn)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fs(e,t,n=!1){const s=e.children,r=t.children;if(S(s)&&S(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const Xo=e=>e.__isTeleport,Tt=e=>e&&(e.disabled||e.disabled===""),Rs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ln=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},Zo={__isTeleport:!0,process(e,t,n,s,r,i,o,l,f,a){const{mc:d,pc:p,pbc:g,o:{insert:v,querySelector:L,createText:I,createComment:W}}=a,$=Tt(t.props);let{shapeFlag:O,children:E,dynamicChildren:T}=t;if(e==null){const H=t.el=I(""),Q=t.anchor=I("");v(H,n,s),v(Q,n,s);const V=t.target=Ln(t.props,L),N=t.targetAnchor=I("");V&&(v(N,V),o=o||Rs(V));const k=(B,Y)=>{O&16&&d(E,B,Y,r,i,o,l,f)};$?k(n,Q):V&&k(V,N)}else{t.el=e.el;const H=t.anchor=e.anchor,Q=t.target=e.target,V=t.targetAnchor=e.targetAnchor,N=Tt(e.props),k=N?n:Q,B=N?H:V;if(o=o||Rs(Q),T?(g(e.dynamicChildren,T,k,r,i,o,l),fs(e,t,!0)):f||p(e,t,k,B,r,i,o,l,!1),$)N||kt(t,n,H,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Y=t.target=Ln(t.props,L);Y&&kt(t,Y,null,a,0)}else N&&kt(t,Q,V,a,1)}zr(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:f,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Tt(g))&&(i(a),l&16))for(let v=0;v0?we||ot:null,el(),Mt>0&&we&&we.push(e),e}function yc(e,t,n,s,r,i){return Jr(Xr(e,t,n,s,r,i,!0))}function Qr(e,t,n,s,r){return Jr(ue(e,t,n,s,r,!0))}function Nt(e){return e?e.__v_isVNode===!0:!1}function Be(e,t){return e.type===t.type&&e.key===t.key}const an="__vInternal",Yr=({key:e})=>e??null,Jt=({ref:e,ref_key:t,ref_for:n})=>e!=null?ee(e)||le(e)||D(e)?{i:ce,r:e,k:t,f:!!n}:e:null;function Xr(e,t=null,n=null,s=0,r=null,i=e===ge?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yr(t),ref:t&&Jt(t),scopeId:ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ce};return l?(us(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=ee(n)?8:16),Mt>0&&!o&&we&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&we.push(f),f}const ue=tl;function tl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Dr)&&(e=ye),Nt(e)){const l=Le(e,t,!0);return n&&us(l,n),Mt>0&&!i&&we&&(l.shapeFlag&6?we[we.indexOf(e)]=l:we.push(l)),l.patchFlag|=-2,l}if(dl(e)&&(e=e.__vccOpts),t){t=nl(t);let{class:l,style:f}=t;l&&!ee(l)&&(t.class=Bn(l)),Z(f)&&(_r(f)&&!S(f)&&(f=ie({},f)),t.style=$n(f))}const o=ee(e)?1:Pr(e)?128:Xo(e)?64:Z(e)?4:D(e)?2:0;return Xr(e,t,n,s,r,o,i,!0)}function nl(e){return e?_r(e)||an in e?ie({},e):e:null}function Le(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?rl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Yr(l),ref:t&&t.ref?n&&r?S(r)?r.concat(Jt(t)):[r,Jt(t)]:Jt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Le(e.ssContent),ssFallback:e.ssFallback&&Le(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function sl(e=" ",t=0){return ue(un,null,e,t)}function xc(e,t){const n=ue(qt,null,e);return n.staticCount=t,n}function Cc(e="",t=!1){return t?(qr(),Qr(ye,null,e)):ue(ye,null,e)}function Oe(e){return e==null||typeof e=="boolean"?ue(ye):S(e)?ue(ge,null,e.slice()):typeof e=="object"?$e(e):ue(un,null,String(e))}function $e(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Le(e)}function us(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(S(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),us(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(an in t)?t._ctx=ce:r===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),s&64?(n=16,t=[sl(t)]):n=8);e.children=t,e.shapeFlag|=n}function rl(...e){const t={};for(let n=0;nne||ce,pt=e=>{ne=e,e.scope.on()},et=()=>{ne&&ne.scope.off(),ne=null};function Zr(e){return e.vnode.shapeFlag&4}let St=!1;function cl(e,t=!1){St=t;const{props:n,children:s}=e.vnode,r=Zr(e);Uo(e,n,r,t),Vo(e,s);const i=r?fl(e,t):void 0;return St=!1,i}function fl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=br(new Proxy(e.ctx,Ro));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?al(e):null;pt(e),gt();const i=Ke(s,e,0,[e.props,r]);if(mt(),et(),nr(i)){if(i.then(et,et),t)return i.then(o=>{Hs(e,o,t)}).catch(o=>{rn(o,e,0)});e.asyncDep=i}else Hs(e,i,t)}else Gr(e,t)}function Hs(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Er(t)),Gr(e,n)}let js;function Gr(e,t,n){const s=e.type;if(!e.render){if(!t&&js&&!s.render){const r=s.template||ls(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ie(ie({isCustomElement:i,delimiters:l},o),f);s.render=js(r,a)}}e.render=s.render||Te}pt(e),gt(),Do(e),mt(),et()}function ul(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function al(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=ul(e))},slots:e.slots,emit:e.emit,expose:t}}function dn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Er(br(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in wt)return wt[n](e)},has(t,n){return n in t||n in wt}}))}function Rn(e,t=!0){return D(e)?e.displayName||e.name:e.name||t&&e.__name}function dl(e){return D(e)&&"__vccOpts"in e}const hl=(e,t)=>lo(e,t,St);function pl(e,t,n){const s=arguments.length;return s===2?Z(t)&&!S(t)?Nt(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nt(n)&&(n=[n]),ue(e,t,n))}const gl=Symbol(""),ml=()=>Wt(gl),_l="3.2.47",bl="http://www.w3.org/2000/svg",Xe=typeof document<"u"?document:null,$s=Xe&&Xe.createElement("template"),yl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Xe.createElementNS(bl,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{$s.innerHTML=s?`${e}`:e;const l=$s.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function xl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Cl(e,t,n){const s=e.style,r=ee(n);if(n&&!r){if(t&&!ee(t))for(const i in t)n[i]==null&&Dn(s,i,"");for(const i in n)Dn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const Bs=/\s*!important$/;function Dn(e,t,n){if(S(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=El(e,t);Bs.test(n)?e.setProperty(tt(s),n.replace(Bs,""),"important"):e[s]=n}}const Us=["Webkit","Moz","ms"],Cn={};function El(e,t){const n=Cn[t];if(n)return n;let s=Pe(t);if(s!=="filter"&&s in e)return Cn[t]=s;s=nn(s);for(let r=0;rEn||(Il.then(()=>En=0),En=Date.now());function Fl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(Ml(s,n.value),t,5,[s])};return n.value=e,n.attached=Pl(),n}function Ml(e,t){if(S(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Vs=/^on[a-z]/,Nl=(e,t,n,s,r=!1,i,o,l,f)=>{t==="class"?xl(e,s,r):t==="style"?Cl(e,n,s):en(t)?Un(t)||Al(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sl(e,t,s,r))?Tl(e,t,s,i,o,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),wl(e,t,s,r))};function Sl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Vs.test(t)&&D(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Vs.test(t)&&ee(n)?!1:t in e}const He="transition",yt="animation",ei=(e,{slots:t})=>pl(Nr,ni(e),t);ei.displayName="Transition";const ti={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ll=ei.props=ie({},Nr.props,ti),Je=(e,t=[])=>{S(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ws=e=>e?S(e)?e.some(t=>t.length>1):e.length>1:!1;function ni(e){const t={};for(const P in e)P in ti||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,L=Rl(r),I=L&&L[0],W=L&&L[1],{onBeforeEnter:$,onEnter:O,onEnterCancelled:E,onLeave:T,onLeaveCancelled:H,onBeforeAppear:Q=$,onAppear:V=O,onAppearCancelled:N=E}=t,k=(P,G,he)=>{je(P,G?d:l),je(P,G?a:o),he&&he()},B=(P,G)=>{P._isLeaving=!1,je(P,p),je(P,v),je(P,g),G&&G()},Y=P=>(G,he)=>{const _t=P?V:O,re=()=>k(G,P,he);Je(_t,[G,re]),zs(()=>{je(G,P?f:i),Me(G,P?d:l),Ws(_t)||qs(G,s,I,re)})};return ie(t,{onBeforeEnter(P){Je($,[P]),Me(P,i),Me(P,o)},onBeforeAppear(P){Je(Q,[P]),Me(P,f),Me(P,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(P,G){P._isLeaving=!0;const he=()=>B(P,G);Me(P,p),ri(),Me(P,g),zs(()=>{P._isLeaving&&(je(P,p),Me(P,v),Ws(T)||qs(P,s,W,he))}),Je(T,[P,he])},onEnterCancelled(P){k(P,!1),Je(E,[P])},onAppearCancelled(P){k(P,!0),Je(N,[P])},onLeaveCancelled(P){B(P),Je(H,[P])}})}function Rl(e){if(e==null)return null;if(Z(e))return[wn(e.enter),wn(e.leave)];{const t=wn(e);return[t,t]}}function wn(e){return Ti(e)}function Me(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function je(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function zs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Dl=0;function qs(e,t,n,s){const r=e._endId=++Dl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:f}=si(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=v=>{v.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${He}Delay`),i=s(`${He}Duration`),o=Js(r,i),l=s(`${yt}Delay`),f=s(`${yt}Duration`),a=Js(l,f);let d=null,p=0,g=0;t===He?o>0&&(d=He,p=o,g=i.length):t===yt?a>0&&(d=yt,p=a,g=f.length):(p=Math.max(o,a),d=p>0?o>a?He:yt:null,g=d?d===He?i.length:f.length:0);const v=d===He&&/\b(transform|all)(,|$)/.test(s(`${He}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:v}}function Js(e,t){for(;e.lengthQs(n)+Qs(e[s])))}function Qs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ri(){return document.body.offsetHeight}const ii=new WeakMap,oi=new WeakMap,li={name:"TransitionGroup",props:ie({},Ll,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=as(),s=Mr();let r,i;return rs(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Ul(r[0].el,n.vnode.el,o))return;r.forEach(jl),r.forEach($l);const l=r.filter(Bl);ri(),l.forEach(f=>{const a=f.el,d=a.style;Me(a,o),d.transform=d.webkitTransform=d.transitionDuration="";const p=a._moveCb=g=>{g&&g.target!==a||(!g||/transform$/.test(g.propertyName))&&(a.removeEventListener("transitionend",p),a._moveCb=null,je(a,o))};a.addEventListener("transitionend",p)})}),()=>{const o=U(e),l=ni(o);let f=o.tag||ge;r=i,i=t.default?ns(t.default()):[];for(let a=0;adelete e.mode;li.props;const Ec=li;function jl(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function $l(e){oi.set(e,e.el.getBoundingClientRect())}function Bl(e){const t=ii.get(e),n=oi.get(e),s=t.left-n.left,r=t.top-n.top;if(s||r){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${s}px,${r}px)`,i.transitionDuration="0s",e}}function Ul(e,t,n){const s=e.cloneNode();e._vtc&&e._vtc.forEach(o=>{o.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(o=>o&&s.classList.add(o)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=si(s);return r.removeChild(s),i}const Ys=e=>{const t=e.props["onUpdate:modelValue"]||!1;return S(t)?n=>ct(t,n):t};function Kl(e){e.target.composing=!0}function Xs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const wc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Ys(r);const i=s||r.props&&r.props.type==="number";it(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Tn(l)),e._assign(l)}),n&&it(e,"change",()=>{e.value=e.value.trim()}),t||(it(e,"compositionstart",Kl),it(e,"compositionend",Xs),it(e,"change",Xs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=Ys(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Tn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},kl=["ctrl","shift","alt","meta"],Vl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kl.some(n=>e[`${n}Key`]&&!t.includes(n))},Tc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=tt(n.key);if(t.some(r=>r===s||Wl[r]===s))return e(n)},Ac={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),xt(e,!0),s.enter(e)):s.leave(e,()=>{xt(e,!1)}):xt(e,t))},beforeUnmount(e,{value:t}){xt(e,t)}};function xt(e,t){e.style.display=t?e._vod:"none"}const zl=ie({patchProp:Nl},yl);let Zs;function ql(){return Zs||(Zs=Jo(zl))}const Oc=(...e)=>{const t=ql().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Jl(s);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function Jl(e){return ee(e)?document.querySelector(e):e}function Ql(){return ci().__VUE_DEVTOOLS_GLOBAL_HOOK__}function ci(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const Yl=typeof Proxy=="function",Xl="devtools-plugin:setup",Zl="plugin:settings:set";let rt,Hn;function Gl(){var e;return rt!==void 0||(typeof window<"u"&&window.performance?(rt=!0,Hn=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(rt=!0,Hn=global.perf_hooks.performance):rt=!1),rt}function ec(){return Gl()?Hn.now():Date.now()}class tc{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const s={};if(t.settings)for(const o in t.settings){const l=t.settings[o];s[o]=l.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},s);try{const o=localStorage.getItem(r),l=JSON.parse(o);Object.assign(i,l)}catch{}this.fallbacks={getSettings(){return i},setSettings(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}i=o},now(){return ec()}},n&&n.on(Zl,(o,l)=>{o===this.plugin.id&&this.fallbacks.setSettings(l)}),this.proxiedOn=new Proxy({},{get:(o,l)=>this.target?this.target.on[l]:(...f)=>{this.onQueue.push({method:l,args:f})}}),this.proxiedTarget=new Proxy({},{get:(o,l)=>this.target?this.target[l]:l==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(l)?(...f)=>(this.targetQueue.push({method:l,args:f,resolve:()=>{}}),this.fallbacks[l](...f)):(...f)=>new Promise(a=>{this.targetQueue.push({method:l,args:f,resolve:a})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Ic(e,t){const n=e,s=ci(),r=Ql(),i=Yl&&n.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!i))r.emit(Xl,e,t);else{const o=i?new tc(n,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:o}),o&&t(o.proxiedTarget)}}export{gc as $,Le as A,br as B,ye as C,Yn as D,_r as E,ge as F,U as G,Rr as H,$n as I,bc as J,Qr as K,ue as L,nc as M,wc as N,Cc as O,vc as P,pc as Q,mr as R,ic as S,ei as T,so as U,_c as V,sc as W,Ic as X,mo as Y,Tc as Z,hc as _,Xr as a,ac as a0,Bn as a1,Oc as a2,mc as a3,lc as a4,cc as a5,xc as b,yc as c,uc as d,sl as e,Nt as f,as as g,is as h,Wt as i,ss as j,Po as k,Ao as l,Oo as m,hl as n,qr as o,Eo as p,fc as q,rc as r,pl as s,Ec as t,oc as u,Ac as v,zt as w,rl as x,fo as y,dc as z}; diff --git a/web/dist/assets/Anouncement-3a3a6f75.js b/web/dist/assets/Anouncement-3a3a6f75.js deleted file mode 100644 index ccd5b6e0..00000000 --- a/web/dist/assets/Anouncement-3a3a6f75.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F}from"./post-skeleton-3f57d9d8.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as z}from"./vuex-cc1858c6.js";import{b as A}from"./vue-router-29025daf.js";import{a as R}from"./formatTime-b37c8e0f.js";import{d as S,r as n,j as V,c as o,L as a,Y as p,o as e,U as u,O as l,F as I,$ as L,K as M,a as s,M as _,a1 as O}from"./@vue-f70ab1bd.js";import{F as P,G as U,I as $,H as j}from"./naive-ui-ddb574dd.js";import{_ as q}from"./index-2c67ab1f.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./@vicons-2f3cb6b9.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const D={key:0,class:"pagination-wrap"},E={key:0,class:"skeleton-wrap"},G={key:1},H={key:0,class:"empty-wrap"},K={class:"bill-line"},T=S({__name:"Anouncement",setup(Y){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return V(()=>{}),(m,J)=>{const y=N,k=U,x=F,w=$,B=j,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",D,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",E,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",G,[r.value.length===0?(e(),o("div",H,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",K,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=q(T,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Anouncement-5ae3726d.js b/web/dist/assets/Anouncement-5ae3726d.js new file mode 100644 index 00000000..7209c5d9 --- /dev/null +++ b/web/dist/assets/Anouncement-5ae3726d.js @@ -0,0 +1 @@ +import{_ as F}from"./post-skeleton-a514cb09.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as z}from"./vuex-d28e9067.js";import{b as A}from"./vue-router-88cc84d1.js";import{a as R}from"./formatTime-000dbebb.js";import{d as S,r as n,j as V,c as o,L as a,$ as p,o as e,Y as u,O as l,F as I,a2 as L,K as M,a as s,M as _,a4 as O}from"./@vue-ca177dbe.js";import{F as P,G as $,I as j,H as q}from"./naive-ui-2035804c.js";import{_ as D}from"./index-f67b4cc5.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const E={key:0,class:"pagination-wrap"},G={key:0,class:"skeleton-wrap"},H={key:1},K={key:0,class:"empty-wrap"},T={class:"bill-line"},U=S({__name:"Anouncement",setup(Y){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return V(()=>{}),(m,J)=>{const y=N,k=$,x=F,w=j,B=q,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",E,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",G,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",H,[r.value.length===0?(e(),o("div",K,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=D(U,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Collection-5630079c.js b/web/dist/assets/Collection-5630079c.js deleted file mode 100644 index 8bafc909..00000000 --- a/web/dist/assets/Collection-5630079c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as z}from"./post-item.vue_vue_type_style_index_0_lang-d2304aff.js";import{_ as B}from"./post-skeleton-3f57d9d8.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as P}from"./vuex-cc1858c6.js";import{b as R,u as $}from"./vue-router-29025daf.js";import{G as b,_ as G}from"./index-2c67ab1f.js";import{d as I,r as s,j as L,c as e,L as n,Y as m,U as M,O as u,o as t,F as N,$ as S,K as U}from"./@vue-f70ab1bd.js";import{F as V,G as j,I as q,H as E}from"./naive-ui-ddb574dd.js";import"./content-8a1c5cf4.js";import"./@vicons-2f3cb6b9.js";import"./nonesir-video-29a967e9.js";import"./formatTime-b37c8e0f.js";import"./moment-b7869f98.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const H={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},T={key:0,class:"pagination-wrap"},Y=I({__name:"Collection",setup(A){const d=P(),g=R();$();const a=s(!1),_=s([]),p=s(+g.query.p||1),i=s(20),r=s(0),l=()=>{a.value=!0,b({page:p.value,page_size:i.value}).then(o=>{a.value=!1,_.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{a.value=!1})},v=o=>{p.value=o,l()};return L(()=>{l()}),(o,D)=>{const f=F,h=B,k=q,y=z,w=E,C=V,x=j;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[a.value?(t(),e("div",H,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",K,[_.value.length===0?(t(),e("div",O,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(N,null,S(_.value,c=>(t(),U(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",T,[n(x,{page:p.value,"onUpdate:page":v,"page-slot":M(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const xt=G(Y,[["__scopeId","data-v-1e709369"]]);export{xt as default}; diff --git a/web/dist/assets/Collection-651490f8.js b/web/dist/assets/Collection-651490f8.js new file mode 100644 index 00000000..d066d7db --- /dev/null +++ b/web/dist/assets/Collection-651490f8.js @@ -0,0 +1 @@ +import{_ as z}from"./post-item.vue_vue_type_style_index_0_lang-1c980697.js";import{_ as B}from"./post-skeleton-a514cb09.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as P}from"./vuex-d28e9067.js";import{b as R,u as $}from"./vue-router-88cc84d1.js";import{K as b,_ as I}from"./index-f67b4cc5.js";import{d as K,r as a,j as L,c as e,L as n,$ as m,Y as M,O as u,o as t,F as N,a2 as S,K as V}from"./@vue-ca177dbe.js";import{F as j,G as q,I as E,H as G}from"./naive-ui-2035804c.js";import"./content-71c02e20.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const H={key:0,class:"skeleton-wrap"},O={key:1},T={key:0,class:"empty-wrap"},U={key:0,class:"pagination-wrap"},Y=K({__name:"Collection",setup(A){const d=P(),g=R();$();const s=a(!1),_=a([]),p=a(+g.query.p||1),i=a(20),r=a(0),l=()=>{s.value=!0,b({page:p.value,page_size:i.value}).then(o=>{s.value=!1,_.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{s.value=!1})},v=o=>{p.value=o,l()};return L(()=>{l()}),(o,D)=>{const f=F,h=B,k=E,y=z,w=G,C=j,x=q;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[s.value?(t(),e("div",H,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",O,[_.value.length===0?(t(),e("div",T,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(N,null,S(_.value,c=>(t(),V(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",U,[n(x,{page:p.value,"onUpdate:page":v,"page-slot":M(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const xt=I(Y,[["__scopeId","data-v-1e709369"]]);export{xt as default}; diff --git a/web/dist/assets/Contacts-420c94de.js b/web/dist/assets/Contacts-420c94de.js deleted file mode 100644 index 3de849a1..00000000 --- a/web/dist/assets/Contacts-420c94de.js +++ /dev/null @@ -1 +0,0 @@ -import{u as M,b as N}from"./vue-router-29025daf.js";import{d as b,o as t,c as n,a as s,L as a,M as v,r as i,j as P,Y as h,U as R,O as y,F as k,$ as S,K as V}from"./@vue-f70ab1bd.js";import{o as q,F as D,G as L,I as T,H as j}from"./naive-ui-ddb574dd.js";import{_ as C,J as E}from"./index-2c67ab1f.js";import{_ as G}from"./post-skeleton-3f57d9d8.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as J}from"./vuex-cc1858c6.js";import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";import"./@vicons-2f3cb6b9.js";/* empty css */const K={class:"avatar"},O={class:"base-info"},Y={class:"username"},A={class:"uid"},Q=b({__name:"contact-item",props:{contact:null},setup(c){const p=M(),m=e=>{p.push({name:"user",query:{username:e}})};return(e,o)=>{const _=q;return t(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=l=>m(c.contact.username))},[s("div",K,[a(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),s("div",O,[s("div",Y,[s("strong",null,v(c.contact.nickname),1),s("span",null," @"+v(c.contact.username),1)]),s("div",A,"UID. "+v(c.contact.user_id),1)])])}}});const W=C(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=b({__name:"Contacts",setup(c){const p=J(),m=N(),e=i(!1),o=i([]),_=i(+m.query.p||1),l=i(20),d=i(0),$=r=>{_.value=r,g()};P(()=>{g()});const g=(r=!1)=>{o.value.length===0&&(e.value=!0),E({page:_.value,page_size:l.value}).then(u=>{e.value=!1,o.value=u.list,d.value=Math.ceil(u.pager.total_rows/l.value),r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(u=>{e.value=!1})};return(r,u)=>{const w=H,x=G,I=T,z=W,B=j,U=D,F=L;return t(),n(k,null,[s("div",null,[a(w,{title:"好友"}),a(U,{class:"main-content-wrap",bordered:""},{default:h(()=>[e.value?(t(),n("div",X,[a(x,{num:l.value},null,8,["num"])])):(t(),n("div",Z,[o.value.length===0?(t(),n("div",tt,[a(I,{size:"large",description:"暂无数据"})])):y("",!0),(t(!0),n(k,null,S(o.value,f=>(t(),V(B,{key:f.user_id},{default:h(()=>[a(z,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(t(),n("div",et,[a(F,{page:_.value,"onUpdate:page":$,"page-slot":R(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const It=C(ot,[["__scopeId","data-v-3b2bf978"]]);export{It as default}; diff --git a/web/dist/assets/Contacts-61e6f602.js b/web/dist/assets/Contacts-61e6f602.js new file mode 100644 index 00000000..a86553cd --- /dev/null +++ b/web/dist/assets/Contacts-61e6f602.js @@ -0,0 +1 @@ +import{u as M,b as P}from"./vue-router-88cc84d1.js";import{d as b,o as t,c as n,a,L as s,M as v,r as i,j as R,$ as h,Y as S,O as y,F as k,a2 as U,K as V}from"./@vue-ca177dbe.js";import{o as q,F as D,G as L,I as T,H as j}from"./naive-ui-2035804c.js";import{_ as C,N as E}from"./index-f67b4cc5.js";import{_ as G}from"./post-skeleton-a514cb09.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as K}from"./vuex-d28e9067.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";import"./@vicons-6d35273b.js";/* empty css */const O={class:"avatar"},Y={class:"base-info"},A={class:"username"},J={class:"uid"},Q=b({__name:"contact-item",props:{contact:null},setup(c){const p=M(),m=e=>{p.push({name:"user",query:{username:e}})};return(e,o)=>{const _=q;return t(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=l=>m(c.contact.username))},[a("div",O,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),a("div",Y,[a("div",A,[a("strong",null,v(c.contact.nickname),1),a("span",null," @"+v(c.contact.username),1)]),a("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const W=C(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=b({__name:"Contacts",setup(c){const p=K(),m=P(),e=i(!1),o=i([]),_=i(+m.query.p||1),l=i(20),d=i(0),$=r=>{_.value=r,g()};R(()=>{g()});const g=(r=!1)=>{o.value.length===0&&(e.value=!0),E({page:_.value,page_size:l.value}).then(u=>{e.value=!1,o.value=u.list,d.value=Math.ceil(u.pager.total_rows/l.value),r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(u=>{e.value=!1})};return(r,u)=>{const w=H,x=G,I=T,z=W,B=j,N=D,F=L;return t(),n(k,null,[a("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[e.value?(t(),n("div",X,[s(x,{num:l.value},null,8,["num"])])):(t(),n("div",Z,[o.value.length===0?(t(),n("div",tt,[s(I,{size:"large",description:"暂无数据"})])):y("",!0),(t(!0),n(k,null,U(o.value,f=>(t(),V(B,{key:f.user_id},{default:h(()=>[s(z,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(t(),n("div",et,[s(F,{page:_.value,"onUpdate:page":$,"page-slot":S(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const It=C(ot,[["__scopeId","data-v-3b2bf978"]]);export{It as default}; diff --git a/web/dist/assets/Home-8df7b0d5.js b/web/dist/assets/Home-8df7b0d5.js new file mode 100644 index 00000000..94217b39 --- /dev/null +++ b/web/dist/assets/Home-8df7b0d5.js @@ -0,0 +1 @@ +import{_ as qe}from"./post-item.vue_vue_type_style_index_0_lang-1c980697.js";import{_ as Ie}from"./post-skeleton-a514cb09.js";import{d as Q,r as l,j as X,o as c,c as v,Y as $,a as I,L as t,$ as s,K as N,O as q,a0 as K,e as z,M as G,F as Y,a2 as W,n as Te,w as Ue}from"./@vue-ca177dbe.js";import{u as Z}from"./vuex-d28e9067.js";import{l as J}from"./lodash-3329902d.js";import{g as xe,a as Ee,c as Re,b as Le,_ as ze}from"./index-f67b4cc5.js";import{p as Ae}from"./content-71c02e20.js";import{V as T,P as S}from"./IEnum-a180d93e.js";import{I as Pe,V as Se,A as Ne,d as Ve,E as Be}from"./@vicons-6d35273b.js";import{o as Oe,v as Me,j as Fe,e as De,w as je,x as He,y as Ke,z as Ge,A as Je,B as Qe,C as Xe,a as Ye,D as We,E as Ze,F as et,G as tt,H as at,I as ot}from"./naive-ui-2035804c.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{b as st,u as lt}from"./vue-router-88cc84d1.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";const it={key:0,class:"compose-wrap"},ut={class:"compose-line"},rt={class:"compose-user"},ct={class:"compose-line compose-options"},pt={class:"attachment"},_t={class:"submit-wrap"},dt={class:"attachment-list-wrap"},mt={key:0,class:"attachment-price-wrap"},vt=I("span",null," 附件价格¥",-1),gt={key:0,class:"eye-wrap"},ft={key:1,class:"link-wrap"},yt={key:1,class:"compose-wrap"},ht=I("div",{class:"login-wrap"},[I("span",{class:"login-banner"}," 登录后,精彩更多")],-1),wt={key:0,class:"login-only-wrap"},bt={key:1,class:"login-wrap"},kt=Q({__name:"compose",emits:["post-success"],setup(ee,{emit:V}){const r=Z(),E=l([]),y=l(!1),h=l(!1),f=l(!1),w=l(!1),b=l(""),U=l([]),R=l(),A=l(0),d=l("public/image"),i=l([]),g=l([]),k=l([]),m=l([]),C=l(T.FRIEND),x=l(T.FRIEND),M=[{value:T.PUBLIC,label:"公开"},{value:T.PRIVATE,label:"私密"},{value:T.FRIEND,label:"好友可见"}],P=+"300",B=l("true".toLowerCase()==="true"),F=l("true".toLowerCase()==="true"),O=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",H=l(),ne=()=>{f.value=!f.value,f.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&f.value&&(f.value=!1)},le=J.debounce(a=>{xe({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ie=J.debounce(a=>{Ee({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ue=(a,e)=>{y.value||(y.value=!0,e==="@"?le(a):ie(a))},re=a=>{a.length>P||(b.value=a)},D=a=>{d.value=a},ce=a=>{i.value=a},pe=async a=>{var e,n,o,u,_,L;return d.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):d.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):d.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):d.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):d.value==="attachment"&&!["application/zip"].includes((_=a.file.file)==null?void 0:_.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):d.value==="attachment"&&((L=a.file.file)==null?void 0:L.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(d.value==="public/image"&&g.value.push({id:a.id,content:o.data.content}),d.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),d.value==="attachment"&&m.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(_=>{u+=":"+_}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=g.value.findIndex(n=>n.id===a.id);e>-1&&g.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=m.value.findIndex(n=>n.id===a.id),e>-1&&m.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Ae(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),g.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),m.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),h.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+A.value*100,visibility:C.value}).then(u=>{var _;window.$message.success("发布成功"),h.value=!1,V("post-success",u),f.value=!1,w.value=!1,(_=R.value)==null||_.clear(),i.value=[],b.value="",U.value=[],g.value=[],k.value=[],m.value=[],C.value=x.value}).catch(u=>{h.value=!1})},j=a=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?x.value=T.FRIEND:"friend".toLowerCase()==="public"?x.value=T.PUBLIC:x.value=T.PRIVATE,C.value=x.value,H.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Oe,o=Me,u=Fe,_=De,L=je,ge=He,fe=Ke,ye=Ge,he=Je,we=Qe,be=Xe,ke=Ye,Ce=We,$e=Ze;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",it,[I("div",ut,[I("div",rt,[t(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:y.value,value:b.value,prefix:["@","#"],options:E.value,onSearch:ue,"onUpdate:value":re,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:R,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:H.value},data:{type:d.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[I("div",ct,[I("div",pt,[t(L,{abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("public/image"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Pe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),F.value?(c(),N(L,{key:0,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value!=="public/video"||i.value.length===9,onClick:()=>{D("public/video"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),O.value?(c(),N(L,{key:1,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("attachment"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),t(_,{quaternary:"",circle:"",type:"primary",onClick:K(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),N(_,{key:2,quaternary:"",circle:"",type:"primary",onClick:K(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Be))]),_:1})]),_:1},8,["onClick"])):q("",!0)]),I("div",_t,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[z(" "+G(b.value.length)+" / "+G($(P)),1)]),_:1}),t(_,{loading:h.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),I("div",dt,[t(ye),m.value.length>0?(c(),v("div",mt,[te.value?(c(),N(he,{key:0,value:A.value,"onUpdate:value":e[0]||(e[0]=p=>A.value=p),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[vt]),_:1},8,["value"])):q("",!0)])):q("",!0)])]),_:1},8,["headers","data"]),w.value?(c(),v("div",gt,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=p=>C.value=p),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(c(),v(Y,null,W(M,p=>t(be,{key:p.value,value:p.value,label:p.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):q("",!0),f.value?(c(),v("div",ft,[t($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=p=>U.value=p),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[z(" 创建链接 ")]),_:1},8,["value"])])):q("",!0)])):(c(),v("div",yt,[ht,B.value?q("",!0):(c(),v("div",wt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1})])),B.value?(c(),v("div",bt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1}),t(_,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=p=>j("signup"))},{default:s(()=>[z(" 注册 ")]),_:1})])):q("",!0)]))])}}});const Ct={key:0,class:"skeleton-wrap"},$t={key:1},qt={key:0,class:"empty-wrap"},It={key:0,class:"pagination-wrap"},Tt=Q({__name:"Home",setup(ee){const V=Z(),r=st(),E=lt(),y=l(!1),h=l([]),f=l(+r.query.p||1),w=l(20),b=l(0),U=Te(()=>{let i="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?i="#"+decodeURIComponent(r.query.q):i="搜索: "+decodeURIComponent(r.query.q)),i}),R=()=>{y.value=!0,Le({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:f.value,page_size:w.value}).then(i=>{y.value=!1,h.value=i.list,b.value=Math.ceil(i.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(i=>{y.value=!1})},A=i=>{if(f.value!=1){E.push({name:"post",query:{id:i.id}});return}let g=[],k=h.value.length;k==w.value&&k--;for(var m=0;m{E.push({name:"home",query:{...r.query,p:i}})};return X(()=>{R()}),Ue(()=>({path:r.path,query:r.query,refresh:V.state.refresh}),(i,g)=>{if(i.refresh!==g.refresh){f.value=+r.query.p||1,setTimeout(()=>{R()},0);return}g.path!=="/post"&&i.path==="/"&&(f.value=+r.query.p||1,setTimeout(()=>{R()},0))}),(i,g)=>{const k=nt,m=kt,C=at,x=Ie,M=ot,P=qe,B=et,F=tt;return c(),v("div",null,[t(k,{title:$(U)},null,8,["title"]),t(B,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(m,{onPostSuccess:A})]),_:1}),y.value?(c(),v("div",Ct,[t(x,{num:w.value},null,8,["num"])])):(c(),v("div",$t,[h.value.length===0?(c(),v("div",qt,[t(M,{size:"large",description:"暂无数据"})])):q("",!0),(c(!0),v(Y,null,W(h.value,O=>(c(),N(C,{key:O.id},{default:s(()=>[t(P,{post:O},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(c(),v("div",It,[t(F,{page:f.value,"onUpdate:page":d,"page-slot":$(V).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):q("",!0)])}}});const la=ze(Tt,[["__scopeId","data-v-936146f2"]]);export{la as default}; diff --git a/web/dist/assets/Home-d5642721.js b/web/dist/assets/Home-d5642721.js deleted file mode 100644 index 501f25c8..00000000 --- a/web/dist/assets/Home-d5642721.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as qe}from"./post-item.vue_vue_type_style_index_0_lang-d2304aff.js";import{_ as Ie}from"./post-skeleton-3f57d9d8.js";import{d as Q,r as l,j as X,o as c,c as v,U as $,a as I,L as t,Y as s,K as N,O as q,Z as K,e as z,M as G,F as Y,$ as Z,n as Te,w as Ue}from"./@vue-f70ab1bd.js";import{u as W}from"./vuex-cc1858c6.js";import{l as J}from"./lodash-3329902d.js";import{g as xe,a as Ee,c as Re,b as Le,_ as ze}from"./index-2c67ab1f.js";import{p as Ae}from"./content-8a1c5cf4.js";import{V as T,P as S}from"./IEnum-ea67d3af.js";import{I as Pe,V as Se,A as Ne,d as Ve,E as Be}from"./@vicons-2f3cb6b9.js";import{o as Oe,v as Me,j as Fe,e as De,w as je,x as He,y as Ke,z as Ge,A as Je,B as Qe,C as Xe,a as Ye,D as Ze,E as We,F as et,G as tt,H as at,I as ot}from"./naive-ui-ddb574dd.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{b as st,u as lt}from"./vue-router-29025daf.js";import"./formatTime-b37c8e0f.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-29a967e9.js";const it={key:0,class:"compose-wrap"},ut={class:"compose-line"},rt={class:"compose-user"},ct={class:"compose-line compose-options"},pt={class:"attachment"},_t={class:"submit-wrap"},dt={class:"attachment-list-wrap"},mt={key:0,class:"attachment-price-wrap"},vt=I("span",null," 附件价格¥",-1),gt={key:0,class:"eye-wrap"},ft={key:1,class:"link-wrap"},yt={key:1,class:"compose-wrap"},ht=I("div",{class:"login-wrap"},[I("span",{class:"login-banner"}," 登录后,精彩更多")],-1),wt={key:0,class:"login-only-wrap"},bt={key:1,class:"login-wrap"},kt=Q({__name:"compose",emits:["post-success"],setup(ee,{emit:V}){const r=W(),E=l([]),y=l(!1),h=l(!1),f=l(!1),w=l(!1),b=l(""),U=l([]),R=l(),A=l(0),d=l("public/image"),i=l([]),g=l([]),k=l([]),m=l([]),C=l(T.FRIEND),x=l(T.FRIEND),M=[{value:T.PUBLIC,label:"公开"},{value:T.PRIVATE,label:"私密"},{value:T.FRIEND,label:"好友可见"}],P=+"300",B=l("true".toLowerCase()==="true"),F=l("true".toLowerCase()==="true"),O=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",H=l(),ne=()=>{f.value=!f.value,f.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&f.value&&(f.value=!1)},le=J.debounce(a=>{xe({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ie=J.debounce(a=>{Ee({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ue=(a,e)=>{y.value||(y.value=!0,e==="@"?le(a):ie(a))},re=a=>{a.length>P||(b.value=a)},D=a=>{d.value=a},ce=a=>{i.value=a},pe=async a=>{var e,n,o,u,_,L;return d.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):d.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):d.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):d.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):d.value==="attachment"&&!["application/zip"].includes((_=a.file.file)==null?void 0:_.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):d.value==="attachment"&&((L=a.file.file)==null?void 0:L.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(d.value==="public/image"&&g.value.push({id:a.id,content:o.data.content}),d.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),d.value==="attachment"&&m.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(_=>{u+=":"+_}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=g.value.findIndex(n=>n.id===a.id);e>-1&&g.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=m.value.findIndex(n=>n.id===a.id),e>-1&&m.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Ae(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),g.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),m.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),h.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+A.value*100,visibility:C.value}).then(u=>{var _;window.$message.success("发布成功"),h.value=!1,V("post-success",u),f.value=!1,w.value=!1,(_=R.value)==null||_.clear(),i.value=[],b.value="",U.value=[],g.value=[],k.value=[],m.value=[],C.value=x.value}).catch(u=>{h.value=!1})},j=a=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?x.value=T.FRIEND:"friend".toLowerCase()==="public"?x.value=T.PUBLIC:x.value=T.PRIVATE,C.value=x.value,H.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Oe,o=Me,u=Fe,_=De,L=je,ge=He,fe=Ke,ye=Ge,he=Je,we=Qe,be=Xe,ke=Ye,Ce=Ze,$e=We;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",it,[I("div",ut,[I("div",rt,[t(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:y.value,value:b.value,prefix:["@","#"],options:E.value,onSearch:ue,"onUpdate:value":re,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:R,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:H.value},data:{type:d.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[I("div",ct,[I("div",pt,[t(L,{abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("public/image"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Pe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),F.value?(c(),N(L,{key:0,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value!=="public/video"||i.value.length===9,onClick:()=>{D("public/video"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),O.value?(c(),N(L,{key:1,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("attachment"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),t(_,{quaternary:"",circle:"",type:"primary",onClick:K(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),N(_,{key:2,quaternary:"",circle:"",type:"primary",onClick:K(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Be))]),_:1})]),_:1},8,["onClick"])):q("",!0)]),I("div",_t,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[z(" "+G(b.value.length)+" / "+G($(P)),1)]),_:1}),t(_,{loading:h.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),I("div",dt,[t(ye),m.value.length>0?(c(),v("div",mt,[te.value?(c(),N(he,{key:0,value:A.value,"onUpdate:value":e[0]||(e[0]=p=>A.value=p),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[vt]),_:1},8,["value"])):q("",!0)])):q("",!0)])]),_:1},8,["headers","data"]),w.value?(c(),v("div",gt,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=p=>C.value=p),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(c(),v(Y,null,Z(M,p=>t(be,{key:p.value,value:p.value,label:p.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):q("",!0),f.value?(c(),v("div",ft,[t($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=p=>U.value=p),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[z(" 创建链接 ")]),_:1},8,["value"])])):q("",!0)])):(c(),v("div",yt,[ht,B.value?q("",!0):(c(),v("div",wt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1})])),B.value?(c(),v("div",bt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1}),t(_,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=p=>j("signup"))},{default:s(()=>[z(" 注册 ")]),_:1})])):q("",!0)]))])}}});const Ct={key:0,class:"skeleton-wrap"},$t={key:1},qt={key:0,class:"empty-wrap"},It={key:0,class:"pagination-wrap"},Tt=Q({__name:"Home",setup(ee){const V=W(),r=st(),E=lt(),y=l(!1),h=l([]),f=l(+r.query.p||1),w=l(20),b=l(0),U=Te(()=>{let i="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?i="#"+decodeURIComponent(r.query.q):i="搜索: "+decodeURIComponent(r.query.q)),i}),R=()=>{y.value=!0,Le({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:f.value,page_size:w.value}).then(i=>{y.value=!1,h.value=i.list,b.value=Math.ceil(i.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(i=>{y.value=!1})},A=i=>{if(f.value!=1){E.push({name:"post",query:{id:i.id}});return}let g=[],k=h.value.length;k==w.value&&k--;for(var m=0;m{E.push({name:"home",query:{...r.query,p:i}})};return X(()=>{R()}),Ue(()=>({path:r.path,query:r.query,refresh:V.state.refresh}),(i,g)=>{if(i.refresh!==g.refresh){f.value=+r.query.p||1,setTimeout(()=>{R()},0);return}g.path!=="/post"&&i.path==="/"&&(f.value=+r.query.p||1,setTimeout(()=>{R()},0))}),(i,g)=>{const k=nt,m=kt,C=at,x=Ie,M=ot,P=qe,B=et,F=tt;return c(),v("div",null,[t(k,{title:$(U)},null,8,["title"]),t(B,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(m,{onPostSuccess:A})]),_:1}),y.value?(c(),v("div",Ct,[t(x,{num:w.value},null,8,["num"])])):(c(),v("div",$t,[h.value.length===0?(c(),v("div",qt,[t(M,{size:"large",description:"暂无数据"})])):q("",!0),(c(!0),v(Y,null,Z(h.value,O=>(c(),N(C,{key:O.id},{default:s(()=>[t(P,{post:O},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(c(),v("div",It,[t(F,{page:f.value,"onUpdate:page":d,"page-slot":$(V).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):q("",!0)])}}});const la=ze(Tt,[["__scopeId","data-v-936146f2"]]);export{la as default}; diff --git a/web/dist/assets/IEnum-ea67d3af.js b/web/dist/assets/IEnum-a180d93e.js similarity index 77% rename from web/dist/assets/IEnum-ea67d3af.js rename to web/dist/assets/IEnum-a180d93e.js index dfe64ce0..3364db40 100644 --- a/web/dist/assets/IEnum-ea67d3af.js +++ b/web/dist/assets/IEnum-a180d93e.js @@ -1 +1 @@ -var L=(A=>(A[A.TITLE=1]="TITLE",A[A.TEXT=2]="TEXT",A[A.IMAGEURL=3]="IMAGEURL",A[A.VIDEOURL=4]="VIDEOURL",A[A.AUDIOURL=5]="AUDIOURL",A[A.LINKURL=6]="LINKURL",A[A.ATTACHMENT=7]="ATTACHMENT",A[A.CHARGEATTACHMENT=8]="CHARGEATTACHMENT",A))(L||{}),R=(A=>(A[A.PUBLIC=0]="PUBLIC",A[A.PRIVATE=1]="PRIVATE",A[A.FRIEND=2]="FRIEND",A))(R||{});export{L as P,R as V}; +var L=(A=>(A[A.TITLE=1]="TITLE",A[A.TEXT=2]="TEXT",A[A.IMAGEURL=3]="IMAGEURL",A[A.VIDEOURL=4]="VIDEOURL",A[A.AUDIOURL=5]="AUDIOURL",A[A.LINKURL=6]="LINKURL",A[A.ATTACHMENT=7]="ATTACHMENT",A[A.CHARGEATTACHMENT=8]="CHARGEATTACHMENT",A))(L||{}),R=(A=>(A[A.PUBLIC=0]="PUBLIC",A[A.PRIVATE=1]="PRIVATE",A[A.FRIEND=2]="FRIEND",A))(R||{}),U=(A=>(A[A.NO=0]="NO",A[A.YES=1]="YES",A))(U||{});export{L as P,R as V,U as Y}; diff --git a/web/dist/assets/Messages-5d535b68.js b/web/dist/assets/Messages-5d535b68.js new file mode 100644 index 00000000..247d4af5 --- /dev/null +++ b/web/dist/assets/Messages-5d535b68.js @@ -0,0 +1 @@ +import{d as b,a1 as V,o as a,c as o,L as n,$ as i,a as k,a0 as $,e as u,M as g,K as z,O as l,Y as p,a4 as A,a2 as N,F as O,r as y,j as D}from"./@vue-ca177dbe.js";import{u as L,b as G}from"./vue-router-88cc84d1.js";import{G as H,H as P,I as T,_ as F,J as U}from"./index-f67b4cc5.js";import{a as E}from"./formatTime-000dbebb.js";import{q as J,r as K,s as q,t as Y}from"./@vicons-6d35273b.js";import{o as Q,l as W,j as X,S as Z,L as ee,U as se,F as te,G as ne,I as ae,H as oe}from"./naive-ui-2035804c.js";import{_ as ie}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as le}from"./vuex-d28e9067.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const re={class:"sender-wrap"},ce={key:0,class:"nickname"},_e={class:"username"},ue={key:1,class:"nickname"},de={class:"timestamp"},me={class:"timestamp-txt"},pe={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke=b({__name:"message-item",props:{message:null},setup(e){const h="https://assets.paopao.info/public/avatar/default/admin.png",w=L(),r=s=>{c(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?w.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},d=s=>{c(s),H({user_id:s.sender_user_id}).then(t=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(t=>{console.log(t)})},v=s=>{c(s),P({user_id:s.sender_user_id}).then(t=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(t=>{console.log(t)})},c=s=>{s.is_read===0&&T({id:s.id}).then(t=>{s.is_read=1}).catch(t=>{console.log(t)})};return(s,t)=>{const x=Q,_=V("router-link"),I=W,m=X,C=Z,M=ee;return a(),o("div",{class:A(["message-item",{unread:e.message.is_read===0}]),onClick:t[4]||(t[4]=f=>c(e.message))},[n(M,{"content-indented":""},{avatar:i(()=>[n(x,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:h},null,8,["src"])]),header:i(()=>[k("div",re,[e.message.sender_user.id>0?(a(),o("span",ce,[n(_,{onClick:t[0]||(t[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:i(()=>[u(g(e.message.sender_user.nickname),1)]),_:1},8,["to"]),k("span",_e," @"+g(e.message.sender_user.username),1)])):(a(),o("span",ue," 系统 "))])]),"header-extra":i(()=>[k("span",de,[e.message.is_read===0?(a(),z(I,{key:0,dot:"",processing:""})):l("",!0),k("span",me,g(p(E)(e.message.created_on)),1)])]),description:i(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:i(()=>[e.message.type!=4?(a(),o("div",pe,[u(g(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),o("span",{key:0,onClick:t[1]||(t[1]=$(f=>r(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(J))]),_:1}),u(" 查看详情 ")])):l("",!0)])):l("",!0),e.message.type===4?(a(),o("div",ge,g(e.message.content),1)):l("",!0),e.message.type===5?(a(),o("div",ve,[u(g(e.message.content)+" ",1),e.message.reply_id===1?(a(),o("span",{key:0,onClick:t[2]||(t[2]=$(f=>d(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(K))]),_:1}),u(" 同意 ")])):l("",!0),e.message.reply_id===1?(a(),o("span",{key:1,onClick:t[3]||(t[3]=$(f=>v(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 拒绝 ")])):l("",!0),e.message.reply_id===2?(a(),o("span",fe,[n(m,null,{default:i(()=>[n(p(Y))]),_:1}),u(" 已同意 ")])):l("",!0),e.message.reply_id===3?(a(),o("span",ye,[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 已拒绝 ")])):l("",!0)])):l("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const he=F(ke,[["__scopeId","data-v-4a0e27fa"]]),we={class:"content"},$e=b({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(h,w)=>{const r=se;return a(!0),o(O,null,N(new Array(e.num),d=>(a(),o("div",{class:"skeleton-item",key:d},[k("div",we,[n(r,{text:"",repeat:2}),n(r,{text:"",style:{width:"60%"}})])]))),128)}}});const xe=F($e,[["__scopeId","data-v-01d2e871"]]),Ce={key:0,class:"skeleton-wrap"},Me={key:1},be={key:0,class:"empty-wrap"},Fe={key:0,class:"pagination-wrap"},Ie=b({__name:"Messages",setup(e){const h=G(),w=le(),r=y(!1),d=y(+h.query.p||1),v=y(10),c=y(0),s=y([]),t=()=>{r.value=!0,U({page:d.value,page_size:v.value}).then(_=>{r.value=!1,s.value=_.list,c.value=Math.ceil(_.pager.total_rows/v.value)}).catch(_=>{r.value=!1})},x=_=>{d.value=_,t()};return D(()=>{t()}),(_,I)=>{const m=ie,C=xe,M=ae,f=he,R=oe,j=te,B=ne;return a(),o("div",null,[n(m,{title:"消息"}),n(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:i(()=>[r.value?(a(),o("div",Ce,[n(C,{num:v.value},null,8,["num"])])):(a(),o("div",Me,[s.value.length===0?(a(),o("div",be,[n(M,{size:"large",description:"暂无数据"})])):l("",!0),(a(!0),o(O,null,N(s.value,S=>(a(),z(R,{key:S.id},{default:i(()=>[n(f,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),c.value>0?(a(),o("div",Fe,[n(B,{page:d.value,"onUpdate:page":x,"page-slot":p(w).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)])}}});const Ze=F(Ie,[["__scopeId","data-v-4e7b1342"]]);export{Ze as default}; diff --git a/web/dist/assets/Messages-9ea80ee4.js b/web/dist/assets/Messages-9ea80ee4.js deleted file mode 100644 index 5a853867..00000000 --- a/web/dist/assets/Messages-9ea80ee4.js +++ /dev/null @@ -1 +0,0 @@ -import{d as b,_ as D,o as a,c as o,L as n,Y as i,a as k,Z as $,e as u,M as g,K as N,O as l,U as p,a1 as V,$ as O,F as R,r as y,j as A}from"./@vue-f70ab1bd.js";import{u as L,b as U}from"./vue-router-29025daf.js";import{C as E,D as P,E as T,_ as F,F as G}from"./index-2c67ab1f.js";import{a as H}from"./formatTime-b37c8e0f.js";import{m as K,n as Y,o as z,p as Z}from"./@vicons-2f3cb6b9.js";import{o as J,l as Q,j as W,S as X,L as ee,U as se,F as te,G as ne,I as ae,H as oe}from"./naive-ui-ddb574dd.js";import{_ as ie}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as le}from"./vuex-cc1858c6.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const re={class:"sender-wrap"},ce={key:0,class:"nickname"},_e={class:"username"},ue={key:1,class:"nickname"},de={class:"timestamp"},me={class:"timestamp-txt"},pe={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke=b({__name:"message-item",props:{message:null},setup(e){const h="https://assets.paopao.info/public/avatar/default/admin.png",w=L(),r=s=>{c(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?w.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},d=s=>{c(s),E({user_id:s.sender_user_id}).then(t=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(t=>{console.log(t)})},v=s=>{c(s),P({user_id:s.sender_user_id}).then(t=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(t=>{console.log(t)})},c=s=>{s.is_read===0&&T({id:s.id}).then(t=>{s.is_read=1}).catch(t=>{console.log(t)})};return(s,t)=>{const x=J,_=D("router-link"),I=Q,m=W,C=X,M=ee;return a(),o("div",{class:V(["message-item",{unread:e.message.is_read===0}]),onClick:t[4]||(t[4]=f=>c(e.message))},[n(M,{"content-indented":""},{avatar:i(()=>[n(x,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:h},null,8,["src"])]),header:i(()=>[k("div",re,[e.message.sender_user.id>0?(a(),o("span",ce,[n(_,{onClick:t[0]||(t[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:i(()=>[u(g(e.message.sender_user.nickname),1)]),_:1},8,["to"]),k("span",_e," @"+g(e.message.sender_user.username),1)])):(a(),o("span",ue," 系统 "))])]),"header-extra":i(()=>[k("span",de,[e.message.is_read===0?(a(),N(I,{key:0,dot:"",processing:""})):l("",!0),k("span",me,g(p(H)(e.message.created_on)),1)])]),description:i(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:i(()=>[e.message.type!=4?(a(),o("div",pe,[u(g(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),o("span",{key:0,onClick:t[1]||(t[1]=$(f=>r(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(K))]),_:1}),u(" 查看详情 ")])):l("",!0)])):l("",!0),e.message.type===4?(a(),o("div",ge,g(e.message.content),1)):l("",!0),e.message.type===5?(a(),o("div",ve,[u(g(e.message.content)+" ",1),e.message.reply_id===1?(a(),o("span",{key:0,onClick:t[2]||(t[2]=$(f=>d(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(Y))]),_:1}),u(" 同意 ")])):l("",!0),e.message.reply_id===1?(a(),o("span",{key:1,onClick:t[3]||(t[3]=$(f=>v(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(z))]),_:1}),u(" 拒绝 ")])):l("",!0),e.message.reply_id===2?(a(),o("span",fe,[n(m,null,{default:i(()=>[n(p(Z))]),_:1}),u(" 已同意 ")])):l("",!0),e.message.reply_id===3?(a(),o("span",ye,[n(m,null,{default:i(()=>[n(p(z))]),_:1}),u(" 已拒绝 ")])):l("",!0)])):l("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const he=F(ke,[["__scopeId","data-v-4a0e27fa"]]),we={class:"content"},$e=b({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(h,w)=>{const r=se;return a(!0),o(R,null,O(new Array(e.num),d=>(a(),o("div",{class:"skeleton-item",key:d},[k("div",we,[n(r,{text:"",repeat:2}),n(r,{text:"",style:{width:"60%"}})])]))),128)}}});const xe=F($e,[["__scopeId","data-v-01d2e871"]]),Ce={key:0,class:"skeleton-wrap"},Me={key:1},be={key:0,class:"empty-wrap"},Fe={key:0,class:"pagination-wrap"},Ie=b({__name:"Messages",setup(e){const h=U(),w=le(),r=y(!1),d=y(+h.query.p||1),v=y(10),c=y(0),s=y([]),t=()=>{r.value=!0,G({page:d.value,page_size:v.value}).then(_=>{r.value=!1,s.value=_.list,c.value=Math.ceil(_.pager.total_rows/v.value)}).catch(_=>{r.value=!1})},x=_=>{d.value=_,t()};return A(()=>{t()}),(_,I)=>{const m=ie,C=xe,M=ae,f=he,j=oe,q=te,B=ne;return a(),o("div",null,[n(m,{title:"消息"}),n(q,{class:"main-content-wrap messages-wrap",bordered:""},{default:i(()=>[r.value?(a(),o("div",Ce,[n(C,{num:v.value},null,8,["num"])])):(a(),o("div",Me,[s.value.length===0?(a(),o("div",be,[n(M,{size:"large",description:"暂无数据"})])):l("",!0),(a(!0),o(R,null,O(s.value,S=>(a(),N(j,{key:S.id},{default:i(()=>[n(f,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),c.value>0?(a(),o("div",Fe,[n(B,{page:d.value,"onUpdate:page":x,"page-slot":p(w).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)])}}});const Xe=F(Ie,[["__scopeId","data-v-4e7b1342"]]);export{Xe as default}; diff --git a/web/dist/assets/Post-03f1477b.css b/web/dist/assets/Post-03f1477b.css deleted file mode 100644 index 33112822..00000000 --- a/web/dist/assets/Post-03f1477b.css +++ /dev/null @@ -1 +0,0 @@ -.reply-compose-wrap .reply-switch[data-v-89bc7a6d]{text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .show[data-v-89bc7a6d]{color:#18a058;cursor:pointer}.reply-compose-wrap .reply-switch .hide[data-v-89bc7a6d]{opacity:.75;cursor:pointer}.dark .reply-compose-wrap[data-v-89bc7a6d]{background-color:#101014bf}.reply-item[data-v-c486479f]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-c486479f]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-c486479f]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-c486479f]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-c486479f]{opacity:.75;text-align:right;display:flex;align-items:center;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .base-wrap[data-v-c486479f]{display:flex}.reply-item .base-wrap .content[data-v-c486479f]{width:calc(100% - 40px);margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-c486479f]{width:40px;text-align:right;font-size:12px;margin:10px 0 0}.reply-item .base-wrap .reply-switch .show[data-v-c486479f]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-c486479f]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-c486479f]{border-bottom:1px solid #262628;background-color:#101014bf}.comment-item[data-v-02db83b3]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-02db83b3]{font-size:14px}.comment-item .username-wrap[data-v-02db83b3]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-02db83b3]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-02db83b3]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-02db83b3]{margin-left:4px}.comment-item .comment-text[data-v-02db83b3]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-02db83b3]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-02db83b3]{margin-right:10px}.reply-wrap[data-v-02db83b3]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-02db83b3]:last-child{border-bottom:none}.dark .reply-wrap[data-v-02db83b3]{background:#18181c}.dark .comment-item[data-v-02db83b3]{background-color:#101014bf}.compose-wrap[data-v-ca3e6071]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-ca3e6071]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-ca3e6071]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-ca3e6071]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-ca3e6071]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-ca3e6071]{margin-right:8px}.compose-wrap .login-only-wrap[data-v-ca3e6071]{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button[data-v-ca3e6071]{margin:0 4px;width:50%}.compose-wrap .login-wrap[data-v-ca3e6071]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-ca3e6071]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-ca3e6071]{margin:0 4px}.attachment[data-v-ca3e6071]{display:flex;align-items:center}.attachment .text-statistic[data-v-ca3e6071]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-ca3e6071]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-ca3e6071]{overflow:hidden}.dark .compose-mention[data-v-ca3e6071],.dark .compose-wrap[data-v-ca3e6071]{background-color:#101014bf}.detail-item{width:100%;padding:16px;box-sizing:border-box;background:#f7f9f9}.detail-item .nickname-wrap{font-size:14px}.detail-item .username-wrap{font-size:14px;opacity:.75}.detail-item .top-tag{transform:scale(.75)}.detail-item .options{opacity:.75}.detail-item .post-text{font-size:16px;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.detail-item .opts-wrap{margin-top:20px}.detail-item .opts-wrap .opt-item{display:flex;align-items:center;opacity:.7}.detail-item .opts-wrap .opt-item .opt-item-icon{margin-right:10px}.detail-item .opts-wrap .opt-item.hover{cursor:pointer}.detail-item .n-thing .n-thing-avatar-header-wrapper{align-items:center}.detail-item .timestamp{opacity:.75;font-size:12px;margin-top:10px}.dark .detail-item{background:#18181c}.detail-wrap[data-v-219a8fb1]{min-height:100px}.comment-opts-wrap[data-v-219a8fb1]{padding-top:6px;padding-left:16px;padding-right:16px;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-219a8fb1]{padding-top:4px;font-size:16px;text-align:center}.dark .main-content-wrap[data-v-219a8fb1],.dark .skeleton-wrap[data-v-219a8fb1]{background-color:#101014bf} diff --git a/web/dist/assets/Post-974ee303.js b/web/dist/assets/Post-974ee303.js new file mode 100644 index 00000000..089c0a40 --- /dev/null +++ b/web/dist/assets/Post-974ee303.js @@ -0,0 +1 @@ +import{d as Q,r as u,a1 as de,o as n,c,a as d,L as t,$ as a,e as I,M as T,K as z,O as i,Y as e,a0 as j,n as ae,a6 as Ue,F as le,a2 as ie,j as me,U as ge,V as ye,w as Pe}from"./@vue-ca177dbe.js";import{u as ee}from"./vuex-d28e9067.js";import{f as ce}from"./formatTime-000dbebb.js";import{t as Re,d as Se,e as Le,_ as te,f as Ae,h as De,i as Me,j as Oe,g as qe,k as Be,l as Ee,m as Ne,n as je,o as Ve,s as He,v as Fe,p as Ye,q as Ke,r as Je,u as he}from"./index-f67b4cc5.js";import{Y as ue,V as Z}from"./IEnum-a180d93e.js";import{T as ke,e as re,f as we,g as _e,h as be,I as Ge,i as Qe,j as We,k as Xe,l as Ze,m as et,n as tt,o as st}from"./@vicons-6d35273b.js";import{j as se,e as oe,J as $e,b as ot,K as nt,o as ve,L as Ce,v as at,w as lt,x as it,y as ct,z as ut,B as rt,M as _t,O as pt,i as dt,P as mt,a as xe,F as vt,I as ft,k as ht,H as gt,f as yt,g as kt}from"./naive-ui-2035804c.js";import{p as fe,_ as Ie,a as wt,b as bt,c as $t}from"./content-71c02e20.js";import{u as Te,b as Ct}from"./vue-router-88cc84d1.js";import{_ as xt}from"./post-skeleton-a514cb09.js";import{l as It}from"./lodash-3329902d.js";import{a as Tt}from"./copy-to-clipboard-ca358197.js";import{_ as zt}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{K as Ut}from"./v3-infinite-loading-fcb59c38.js";import"./moment-b7869f98.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";import"./toggle-selection-93f4ad84.js";const Pt={class:"reply-item"},Rt={class:"header-wrap"},St={class:"username"},Lt={class:"reply-name"},At={class:"timestamp"},Dt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},qt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},Nt=["onClick"],jt={class:"upvote-count"},Vt={key:2,class:"action-item"},Ht=["onClick"],Ft=Q({__name:"reply-item",props:{tweetId:null,reply:null},emits:["focusReply","reload"],setup(A,{emit:O}){const l=A,r=ee(),g=u(l.reply.is_thumbs_up==ue.YES),y=u(l.reply.is_thumbs_down==ue.YES),w=u(l.reply.thumbs_up_count),S=()=>{Re({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(k=>{console.log(k)})},_=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(k=>{console.log(k)})},C=()=>{O("focusReply",l.reply)},f=()=>{Le({id:l.reply.id}).then(k=>{window.$message.success("删除成功"),setTimeout(()=>{O("reload")},50)}).catch(k=>{console.log(k)})};return(k,U)=>{const s=de("router-link"),h=se,b=oe,$=$e;return n(),c("div",Pt,[d("div",Rt,[d("div",St,[t(s,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:a(()=>[I(T(l.reply.user.username),1)]),_:1},8,["to"]),d("span",Lt,T(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(n(),z(s,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:a(()=>[I(T(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",At,[I(T(l.reply.ip_loc)+" ",1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===l.reply.user.id?(n(),z($,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:f},{trigger:a(()=>[t(b,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(h,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",Dt,[d("div",Mt,T(l.reply.content),1),d("div",Ot,[d("span",qt,T(e(ce)(l.reply.created_on)),1),d("div",Bt,[e(r).state.userLogined?i("",!0):(n(),c("div",{key:0,class:"action-item",onClick:U[0]||(U[0]=j(()=>{},["stop"]))},[t(h,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Et,T(w.value),1)])),e(r).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(S,["stop"])},[t(h,{size:"medium"},{default:a(()=>[g.value?i("",!0):(n(),z(e(re),{key:0})),g.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",jt,T(w.value),1)],8,Nt)):i("",!0),e(r).state.userLogined?i("",!0):(n(),c("div",Vt,[t(h,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(r).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(_,["stop"])},[t(h,{size:"medium"},{default:a(()=>[y.value?i("",!0):(n(),z(e(_e),{key:0})),y.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ht)):i("",!0),e(r).state.userLogined?(n(),c("span",{key:4,class:"show opacity-item reply-btn",onClick:C}," 回复 ")):i("",!0)])])])])}}});const Yt=te(Ft,[["__scopeId","data-v-783f5693"]]),Kt={class:"reply-compose-wrap"},Jt={class:"reply-switch"},Gt={class:"time-item"},Qt={class:"actions"},Wt={key:0,class:"action-item"},Xt={class:"upvote-count"},Zt=["onClick"],es={class:"upvote-count"},ts={key:2,class:"action-item"},ss=["onClick"],os={key:0,class:"reply-input-wrap"},ns=Q({__name:"compose-reply",props:{comment:null,atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:O,emit:l}){const r=A,g=ee(),y=u(),w=u(!1),S=u(""),_=u(!1),C=u(r.comment.is_thumbs_up==ue.YES),f=u(r.comment.is_thumbs_down==ue.YES),k=u(r.comment.thumbs_up_count),U=()=>{Ae({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{C.value=!C.value,C.value?(k.value++,f.value=!1):k.value--}).catch($=>{console.log($)})},s=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{f.value=!f.value,f.value&&C.value&&(k.value--,C.value=!1)}).catch($=>{console.log($)})},h=$=>{w.value=$,$?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,S.value="",l("reset"))},b=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:S.value}).then($=>{h(!1),window.$message.success("评论成功"),l("reload")}).catch($=>{_.value=!1})};return O({switchReply:h}),($,x)=>{const M=se,q=ot,Y=oe,E=nt;return n(),c("div",Kt,[d("div",Jt,[d("span",Gt,T(e(ce)(A.comment.created_on)),1),d("div",Qt,[e(g).state.userLogined?i("",!0):(n(),c("div",Wt,[t(M,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Xt,T(k.value),1)])),e(g).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(U,["stop"])},[t(M,{size:"medium"},{default:a(()=>[C.value?i("",!0):(n(),z(e(re),{key:0})),C.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",es,T(k.value),1)],8,Zt)):i("",!0),e(g).state.userLogined?i("",!0):(n(),c("div",ts,[t(M,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(g).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(s,["stop"])},[t(M,{size:"medium"},{default:a(()=>[f.value?i("",!0):(n(),z(e(_e),{key:0})),f.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,ss)):i("",!0),e(g).state.userLogined&&!w.value?(n(),c("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=N=>h(!0))}," 回复 ")):i("",!0),e(g).state.userLogined&&w.value?(n(),c("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=N=>h(!1))}," 取消 ")):i("",!0)])]),w.value?(n(),c("div",os,[t(E,null,{default:a(()=>[t(q,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:S.value,"onUpdate:value":x[2]||(x[2]=N=>S.value=N),"show-count":"",clearable:""},null,8,["placeholder","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:b},{default:a(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const as=te(ns,[["__scopeId","data-v-0f1721e2"]]),ls={class:"comment-item"},is={class:"nickname-wrap"},cs={class:"username-wrap"},us={class:"opt-wrap"},rs={class:"timestamp"},_s=["innerHTML"],ps={class:"reply-wrap"},ds=Q({__name:"comment-item",props:{comment:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(0),w=u(""),S=u(),_=ae(()=>{let h=Object.assign({texts:[],imgs:[]},l.comment);return h.contents.map(b=>{(+b.type==1||+b.type==2)&&h.texts.push(b),+b.type==3&&h.imgs.push(b)}),h}),C=(h,b)=>{let $=h.target;if($.dataset.detail){const x=$.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},f=h=>{var b,$;y.value=h.user_id,w.value=((b=h.user)==null?void 0:b.username)||"",($=S.value)==null||$.switchReply(!0)},k=()=>{O("reload")},U=()=>{y.value=0,w.value=""},s=()=>{Oe({id:_.value.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{k()},50)}).catch(h=>{})};return(h,b)=>{const $=ve,x=de("router-link"),M=se,q=oe,Y=$e,E=Ie,N=as,L=Yt,D=Ce;return n(),c("div",ls,[t(D,{"content-indented":""},Ue({avatar:a(()=>[t($,{round:"",size:30,src:e(_).user.avatar},null,8,["src"])]),header:a(()=>[d("span",is,[t(x,{onClick:b[0]||(b[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(_).user.username}}},{default:a(()=>[I(T(e(_).user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+T(e(_).user.username),1)]),"header-extra":a(()=>[d("div",us,[d("span",rs,T(e(_).ip_loc),1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(_).user.id?(n(),z(Y,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:s},{trigger:a(()=>[t(q,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(M,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:a(()=>[e(_).imgs.length>0?(n(),z(E,{key:0,imgs:e(_).imgs},null,8,["imgs"])):i("",!0),t(N,{ref_key:"replyComposeRef",ref:S,comment:e(_),"at-userid":y.value,"at-username":w.value,onReload:k,onReset:U},null,8,["comment","at-userid","at-username"]),d("div",ps,[(n(!0),c(le,null,ie(e(_).replies,o=>(n(),z(L,{key:o.id,reply:o,"tweet-id":e(_).post_id,onFocusReply:f,onReload:k},null,8,["reply","tweet-id"]))),128))])]),_:2},[e(_).texts.length>0?{name:"description",fn:a(()=>[(n(!0),c(le,null,ie(e(_).texts,o=>(n(),c("span",{key:o.id,class:"comment-text",onClick:b[1]||(b[1]=j(p=>C(p,e(_).id),["stop"])),innerHTML:e(fe)(o.content).content},null,8,_s))),128))]),key:"0"}:void 0]),1024)])}}});const ms=te(ds,[["__scopeId","data-v-f206d4d8"]]),vs=A=>(ge("data-v-ca3e6071"),A=A(),ye(),A),fs={key:0,class:"compose-wrap"},hs={class:"compose-line"},gs={class:"compose-user"},ys={class:"compose-line compose-options"},ks={class:"attachment"},ws={class:"submit-wrap"},bs={class:"attachment-list-wrap"},$s={key:1,class:"compose-wrap"},Cs=vs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),xs={key:0,class:"login-only-wrap"},Is={key:1,class:"login-wrap"},Ts=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:O}){const l=A,r=ee(),g=u([]),y=u(!1),w=u(!1),S=u(!1),_=u(""),C=u(),f=u("public/image"),k=u([]),U=u([]),s=u("true".toLowerCase()==="true"),h="/v1/attachment",b=u(),$=It.debounce(m=>{qe({k:m}).then(v=>{let P=[];v.suggest.map(R=>{P.push({label:R,value:R})}),g.value=P,w.value=!1}).catch(v=>{w.value=!1})},200),x=(m,v)=>{w.value||(w.value=!0,v==="@"&&$(m))},M=m=>{m.length>200||(_.value=m)},q=m=>{f.value=m},Y=m=>{k.value=m},E=async m=>{var v,P;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((v=m.file.file)==null?void 0:v.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((P=m.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},N=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);R.code===0&&f.value==="public/image"&&U.value.push({id:m.id,content:R.data.content})}catch{window.$message.error("上传失败")}},L=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);if(R.code!==0){let H=R.msg||"上传失败";R.details&&R.details.length>0&&R.details.map(B=>{H+=":"+B}),window.$message.error(H)}}catch{window.$message.error("上传失败")}},D=({file:m})=>{let v=U.value.findIndex(P=>P.id===m.id);v>-1&&U.value.splice(v,1)},o=()=>{y.value=!0},p=()=>{var m;y.value=!1,(m=C.value)==null||m.clear(),k.value=[],_.value="",U.value=[]},V=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=fe(_.value);const v=[];let P=100;v.push({content:_.value,type:2,sort:P}),U.value.map(R=>{P++,v.push({content:R.content,type:3,sort:P})}),S.value=!0,Be({contents:v,post_id:l.postId,users:Array.from(new Set(m))}).then(R=>{window.$message.success("发布成功"),S.value=!1,O("post-success"),p()}).catch(R=>{S.value=!1})},K=m=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",m)};return me(()=>{b.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,v)=>{const P=ve,R=at,H=se,B=oe,W=lt,X=it,J=ct,ne=ut,pe=rt;return n(),c("div",null,[e(r).state.userInfo.id>0?(n(),c("div",fs,[d("div",hs,[d("div",gs,[t(P,{round:"",size:30,src:e(r).state.userInfo.avatar},null,8,["src"])]),t(R,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":M,onSearch:x,onFocus:o,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(n(),z(pe,{key:0,ref_key:"uploadRef",ref:C,abstract:"","list-type":"image",multiple:!0,max:9,action:h,headers:{Authorization:b.value},data:{type:f.value},onBeforeUpload:E,onFinish:N,onError:L,onRemove:D,"onUpdate:fileList":Y},{default:a(()=>[d("div",ys,[d("div",ks,[t(W,{abstract:""},{default:a(({handleClick:G})=>[t(B,{disabled:k.value.length>0&&f.value==="public/video"||k.value.length===9,onClick:()=>{q("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:a(()=>[t(H,{size:"20",color:"var(--primary-color)"},{default:a(()=>[t(e(Ge))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(J,{trigger:"hover",placement:"bottom"},{trigger:a(()=>[t(X,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:a(()=>[I(" "+T(_.value.length)+" / 200 ",1)]),_:1})]),d("div",ws,[t(B,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:a(()=>[I(" 取消 ")]),_:1}),t(B,{loading:S.value,onClick:V,type:"primary",secondary:"",size:"small",round:""},{default:a(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",bs,[t(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(n(),c("div",$s,[Cs,s.value?i("",!0):(n(),c("div",xs,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1})])),s.value?(n(),c("div",Is,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[1]||(v[1]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1}),t(B,{strong:"",secondary:"",round:"",type:"info",onClick:v[2]||(v[2]=G=>K("signup"))},{default:a(()=>[I(" 注册 ")]),_:1})])):i("",!0)]))])}}});const zs=te(Ts,[["__scopeId","data-v-ca3e6071"]]),Us={class:"username-wrap"},Ps={key:0,class:"options"},Rs={key:0},Ss=["innerHTML"],Ls={class:"timestamp"},As={key:0},Ds={key:1},Ms={class:"opts-wrap"},Os=["onClick"],qs={class:"opt-item"},Bs=["onClick"],Es=["onClick"],Ns=Q({__name:"post-detail",props:{post:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(!1),w=u(!1),S=u(!1),_=u(!1),C=u(!1),f=u(!1),k=u(!1),U=u(Z.PUBLIC),s=ae({get:()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return o.contents.map(p=>{(+p.type==1||+p.type==2)&&o.texts.push(p),+p.type==3&&o.imgs.push(p),+p.type==4&&o.videos.push(p),+p.type==6&&o.links.push(p),+p.type==7&&o.attachments.push(p),+p.type==8&&o.charge_attachments.push(p)}),o},set:o=>{l.post.upvote_count=o.upvote_count,l.post.comment_count=o.comment_count,l.post.collection_count=o.collection_count}}),h=ae(()=>{let o=[{label:"删除",key:"delete"}];return s.value.is_lock===0?o.push({label:"锁定",key:"lock"}):o.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(s.value.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"})),s.value.visibility===Z.PUBLIC?o.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):s.value.visibility===Z.PRIVATE?o.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):o.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),o}),b=o=>{g.push({name:"post",query:{id:o}})},$=(o,p)=>{if(o.target.dataset.detail){const V=o.target.dataset.detail.split(":");if(V.length===2){r.commit("refresh"),V[0]==="tag"?g.push({name:"home",query:{q:V[1],t:"tag"}}):g.push({name:"user",query:{username:V[1]}});return}}b(p)},x=o=>{switch(o){case"delete":S.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":C.value=!0;break;case"vpublic":U.value=0,f.value=!0;break;case"vprivate":U.value=1,f.value=!0;break;case"vfriend":U.value=2,f.value=!0;break}},M=()=>{je({id:s.value.id}).then(o=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(o=>{k.value=!1})},q=()=>{Ve({id:s.value.id}).then(o=>{O("reload"),o.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(o=>{k.value=!1})},Y=()=>{He({id:s.value.id}).then(o=>{O("reload"),o.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(o=>{k.value=!1})},E=()=>{Fe({id:s.value.id,visibility:U.value}).then(o=>{O("reload"),window.$message.success("修改可见性成功")}).catch(o=>{k.value=!1})},N=()=>{Ye({id:s.value.id}).then(o=>{y.value=o.status,o.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(o=>{console.log(o)})},L=()=>{Ke({id:s.value.id}).then(o=>{w.value=o.status,o.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(o=>{console.log(o)})},D=()=>{Tt(`${window.location.origin}/#/post?id=${s.value.id}`),window.$message.success("链接已复制到剪贴板")};return me(()=>{r.state.userInfo.id>0&&(Ee({id:s.value.id}).then(o=>{y.value=o.status}).catch(o=>{console.log(o)}),Ne({id:s.value.id}).then(o=>{w.value=o.status}).catch(o=>{console.log(o)}))}),(o,p)=>{const V=ve,K=de("router-link"),m=_t,v=se,P=oe,R=pt,H=dt,B=wt,W=Ie,X=bt,J=$t,ne=mt,pe=xe,G=Ce;return n(),c("div",{class:"detail-item",onClick:p[6]||(p[6]=F=>b(e(s).id))},[t(G,null,{avatar:a(()=>[t(V,{round:"",size:30,src:e(s).user.avatar},null,8,["src"])]),header:a(()=>[t(K,{onClick:p[0]||(p[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(s).user.username}}},{default:a(()=>[I(T(e(s).user.nickname),1)]),_:1},8,["to"]),d("span",Us," @"+T(e(s).user.username),1),e(s).is_top?(n(),z(m,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:a(()=>[I(" 置顶 ")]),_:1})):i("",!0),e(s).visibility==e(Z).PRIVATE?(n(),z(m,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:a(()=>[I(" 私密 ")]),_:1})):i("",!0),e(s).visibility==e(Z).FRIEND?(n(),z(m,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:a(()=>[I(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":a(()=>[e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(s).user.id?(n(),c("div",Ps,[t(R,{placement:"bottom-end",trigger:"click",size:"small",options:e(h),onSelect:x},{default:a(()=>[t(P,{quaternary:"",circle:""},{icon:a(()=>[t(v,null,{default:a(()=>[t(e(Qe))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(H,{show:S.value,"onUpdate:show":p[1]||(p[1]=F=>S.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:M},null,8,["show"]),t(H,{show:_.value,"onUpdate:show":p[2]||(p[2]=F=>_.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show","content"]),t(H,{show:C.value,"onUpdate:show":p[3]||(p[3]=F=>C.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(H,{show:f.value,"onUpdate:show":p[4]||(p[4]=F=>f.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(U.value==0?"公开":U.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:E},null,8,["show","content"])]),footer:a(()=>[t(B,{attachments:e(s).attachments},null,8,["attachments"]),t(B,{attachments:e(s).charge_attachments,price:e(s).attachment_price},null,8,["attachments","price"]),t(W,{imgs:e(s).imgs},null,8,["imgs"]),t(X,{videos:e(s).videos,full:!0},null,8,["videos"]),t(J,{links:e(s).links},null,8,["links"]),d("div",Ls,[I(" 发布于 "+T(e(ce)(e(s).created_on))+" ",1),e(s).ip_loc?(n(),c("span",As,[t(ne,{vertical:""}),I(" "+T(e(s).ip_loc),1)])):i("",!0),!e(r).state.collapsedLeft&&e(s).created_on!=e(s).latest_replied_on?(n(),c("span",Ds,[t(ne,{vertical:""}),I(" 最后回复 "+T(e(ce)(e(s).latest_replied_on)),1)])):i("",!0)])]),action:a(()=>[d("div",Ms,[t(pe,{justify:"space-between"},{default:a(()=>[d("div",{class:"opt-item hover",onClick:j(N,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[y.value?i("",!0):(n(),z(e(We),{key:0})),y.value?(n(),z(e(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),I(" "+T(e(s).upvote_count),1)],8,Os),d("div",qs,[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(Ze))]),_:1}),I(" "+T(e(s).comment_count),1)]),d("div",{class:"opt-item hover",onClick:j(L,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[w.value?i("",!0):(n(),z(e(et),{key:0})),w.value?(n(),z(e(tt),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),I(" "+T(e(s).collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:j(D,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(st))]),_:1}),I(" "+T(e(s).share_count),1)],8,Es)]),_:1})])]),default:a(()=>[e(s).texts.length>0?(n(),c("div",Rs,[(n(!0),c(le,null,ie(e(s).texts,F=>(n(),c("span",{key:F.id,class:"post-text",onClick:p[5]||(p[5]=j(ze=>$(ze,e(s).id),["stop"])),innerHTML:e(fe)(F.content).content},null,8,Ss))),128))])):i("",!0)]),_:1})])}}});const js=A=>(ge("data-v-0d01659f"),A=A(),ye(),A),Vs={key:0,class:"detail-wrap"},Hs={key:1,class:"empty-wrap"},Fs={key:0,class:"comment-opts-wrap"},Ys=js(()=>d("span",{class:"comment-title-item"},"评论",-1)),Ks={key:2},Js={key:0,class:"skeleton-wrap"},Gs={key:1},Qs={key:0,class:"empty-wrap"},Ws={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},Zs={key:2,class:"load-more-spinner"},eo={key:3,class:"load-more-spinner"},to=Q({__name:"Post",setup(A){const O=Ct(),l=u({}),r=u(!1),g=u(!1),y=u([]),w=ae(()=>+O.query.id),S=u("default"),_=u(!0),C=20;let f={loading(){},loaded(){},complete(){},error(){}};const k=L=>{S.value=L,L==="default"&&(_.value=!0),E(f)},U=()=>{l.value={id:0},r.value=!0,Je({id:w.value}).then(L=>{r.value=!1,l.value=L,E(f)}).catch(L=>{r.value=!1})};let s=1;const h=u(!1),b=u([]),$=L=>{h.value||he({id:l.value.id,sort_strategy:"default",page:s,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(s===1?b.value=D.list:b.value.push(...D.list),y.value=b.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})};let x=1,M=u(!1);const q=u([]),Y=L=>{M.value||he({id:l.value.id,sort_strategy:"newest",page:x,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(x===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})},E=L=>{w.value<1||(y.value.length===0&&(g.value=!0),S.value==="default"?(y.value=b.value,$(L)):(y.value=q.value,Y(L)),g.value=!1)},N=()=>{s=1,h.value=!1,b.value=[],x=1,M.value=!1,q.value=[],E(f)};return me(()=>{U()}),Pe(w,()=>{w.value>0&&O.name==="post"&&U()}),(L,D)=>{const o=zt,p=Ns,V=ft,K=ht,m=gt,v=yt,P=kt,R=zs,H=xt,B=ms,W=xe,X=vt;return n(),c("div",null,[t(o,{title:"泡泡详情",back:!0}),t(X,{class:"main-content-wrap",bordered:""},{default:a(()=>[t(m,null,{default:a(()=>[t(K,{show:r.value},{default:a(()=>[l.value.id>1?(n(),c("div",Vs,[t(p,{post:l.value,onReload:U},null,8,["post"])])):(n(),c("div",Hs,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(n(),c("div",Fs,[t(P,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":k},{prefix:a(()=>[Ys]),default:a(()=>[t(v,{name:"default",tab:"默认"}),t(v,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(n(),z(m,{key:1},{default:a(()=>[t(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:N},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(n(),c("div",Ks,[g.value?(n(),c("div",Js,[t(H,{num:5})])):(n(),c("div",Gs,[y.value.length===0?(n(),c("div",Qs,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(n(!0),c(le,null,ie(y.value,J=>(n(),z(m,{key:J.id},{default:a(()=>[t(B,{comment:J,onReload:N},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=C?(n(),z(W,{key:3,justify:"center"},{default:a(()=>[t(e(Ut),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:E},{spinner:a(()=>[_.value&&h.value?(n(),c("span",Ws)):i("",!0),!_.value&&e(M)?(n(),c("span",Xs)):i("",!0),_.value&&!h.value?(n(),c("span",Zs,"加载评论")):i("",!0),!_.value&&!e(M)?(n(),c("span",eo,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Do=te(to,[["__scopeId","data-v-0d01659f"]]);export{Do as default}; diff --git a/web/dist/assets/Post-a6a89713.js b/web/dist/assets/Post-a6a89713.js deleted file mode 100644 index 24d3a045..00000000 --- a/web/dist/assets/Post-a6a89713.js +++ /dev/null @@ -1 +0,0 @@ -import{d as be,_ as Z,e as $e,f as xe,g as Ce,h as Ie,i as Pe,j as Re,k as Ue,l as ze,s as Se,v as Te,p as Le,m as Ae,n as qe,o as Me}from"./index-2c67ab1f.js";import{b as Oe,e as W,J as Be,j as ne,K as me,o as re,L as ve,v as je,w as De,x as Ne,y as Ve,z as Ee,B as Fe,M as He,O as Ke,i as Je,P as Ge,a as Qe,F as Ye,I as Ze,k as We,H as Xe,f as et,g as tt}from"./naive-ui-ddb574dd.js";import{d as G,r as p,o as a,c as d,a as v,O as y,L as s,Y as n,e as w,_ as _e,M as P,K as S,U as e,n as ee,a3 as st,F as te,$ as se,Z as K,j as pe,a4 as fe,a5 as ge,w as ot}from"./@vue-f70ab1bd.js";import{u as ae}from"./vuex-cc1858c6.js";import{f as oe}from"./formatTime-b37c8e0f.js";import{T as he,I as nt,e as at,f as lt,g as it,h as ct,i as ut,j as rt,k as _t}from"./@vicons-2f3cb6b9.js";import{p as de,_ as ye,a as pt,b as dt,c as mt}from"./content-8a1c5cf4.js";import{u as ke,b as vt}from"./vue-router-29025daf.js";import{_ as ft}from"./post-skeleton-3f57d9d8.js";import{l as gt}from"./lodash-3329902d.js";import{V as Y}from"./IEnum-ea67d3af.js";import{a as ht}from"./copy-to-clipboard-ca358197.js";import{_ as yt}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";import"./nonesir-video-29a967e9.js";import"./toggle-selection-93f4ad84.js";const kt={class:"reply-compose-wrap"},wt={class:"reply-switch"},bt={key:0,class:"reply-input-wrap"},$t=G({__name:"compose-reply",props:{commentId:{default:0},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(U,{expose:T,emit:i}){const c=U,R=p(),k=p(!1),f=p(""),C=p(!1),l=g=>{k.value=g,g?setTimeout(()=>{var r;(r=R.value)==null||r.focus()},10):(C.value=!1,f.value="",i("reset"))},z=()=>{C.value=!0,be({comment_id:c.commentId,at_user_id:c.atUserid,content:f.value}).then(g=>{l(!1),window.$message.success("评论成功"),i("reload")}).catch(g=>{C.value=!1})};return T({switchReply:l}),(g,r)=>{const b=Oe,o=W,I=Be;return a(),d("div",kt,[v("div",wt,[k.value?y("",!0):(a(),d("span",{key:0,class:"show",onClick:r[0]||(r[0]=h=>l(!0))}," 回复 ")),k.value?(a(),d("span",{key:1,class:"hide",onClick:r[1]||(r[1]=h=>l(!1))}," 取消 ")):y("",!0)]),k.value?(a(),d("div",bt,[s(I,null,{default:n(()=>[s(b,{ref_key:"inputInstRef",ref:R,size:"small",placeholder:c.atUsername?"@"+c.atUsername:"请输入回复内容..",maxlength:"100",value:f.value,"onUpdate:value":r[2]||(r[2]=h=>f.value=h),"show-count":"",clearable:""},null,8,["placeholder","value"]),s(o,{type:"primary",size:"small",ghost:"",loading:C.value,onClick:z},{default:n(()=>[w(" 回复 ")]),_:1},8,["loading"])]),_:1})])):y("",!0)])}}});const xt=Z($t,[["__scopeId","data-v-89bc7a6d"]]),Ct={class:"reply-item"},It={class:"header-wrap"},Pt={class:"username"},Rt={class:"reply-name"},Ut={class:"timestamp"},zt={class:"base-wrap"},St={class:"content"},Tt={key:0,class:"reply-switch"},Lt=G({__name:"reply-item",props:{reply:null},emits:["focusReply","reload"],setup(U,{emit:T}){const i=U,c=ae(),R=()=>{T("focusReply",i.reply)},k=()=>{$e({id:i.reply.id}).then(f=>{window.$message.success("删除成功"),setTimeout(()=>{T("reload")},50)}).catch(f=>{console.log(f)})};return(f,C)=>{const l=_e("router-link"),z=ne,g=W,r=me;return a(),d("div",Ct,[v("div",It,[v("div",Pt,[s(l,{class:"user-link",to:{name:"user",query:{username:i.reply.user.username}}},{default:n(()=>[w(P(i.reply.user.username),1)]),_:1},8,["to"]),v("span",Rt,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(a(),S(l,{key:0,class:"user-link",to:{name:"user",query:{username:i.reply.at_user.username}}},{default:n(()=>[w(P(i.reply.at_user.username),1)]),_:1},8,["to"])):y("",!0)]),v("div",Ut,[w(P(i.reply.ip_loc?i.reply.ip_loc+" · ":i.reply.ip_loc)+" "+P(e(oe)(i.reply.created_on,e(c).state.collapsedLeft))+" ",1),e(c).state.userInfo.is_admin||e(c).state.userInfo.id===i.reply.user.id?(a(),S(r,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:k},{trigger:n(()=>[s(g,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[s(z,null,{default:n(()=>[s(e(he))]),_:1})]),_:1})]),default:n(()=>[w(" 是否确认删除? ")]),_:1})):y("",!0)])]),v("div",zt,[v("div",St,P(i.reply.content),1),e(c).state.userInfo.id>0?(a(),d("div",Tt,[v("span",{class:"show",onClick:R}," 回复 ")])):y("",!0)])])}}});const At=Z(Lt,[["__scopeId","data-v-c486479f"]]),qt={class:"comment-item"},Mt={class:"nickname-wrap"},Ot={class:"username-wrap"},Bt={class:"opt-wrap"},jt={class:"timestamp"},Dt=["innerHTML"],Nt={class:"reply-wrap"},Vt=G({__name:"comment-item",props:{comment:null},emits:["reload"],setup(U,{emit:T}){const i=U,c=ae(),R=ke(),k=p(0),f=p(""),C=p(),l=ee(()=>{let I=Object.assign({texts:[],imgs:[]},i.comment);return I.contents.map(h=>{(+h.type==1||+h.type==2)&&I.texts.push(h),+h.type==3&&I.imgs.push(h)}),I}),z=(I,h)=>{let L=I.target;if(L.dataset.detail){const A=L.dataset.detail.split(":");A.length===2&&(c.commit("refresh"),A[0]==="tag"?window.$message.warning("评论内的无效话题"):R.push({name:"user",query:{username:A[1]}}))}},g=I=>{var h,L;k.value=I.user_id,f.value=((h=I.user)==null?void 0:h.username)||"",(L=C.value)==null||L.switchReply(!0)},r=()=>{T("reload")},b=()=>{k.value=0,f.value=""},o=()=>{xe({id:l.value.id}).then(I=>{window.$message.success("删除成功"),setTimeout(()=>{r()},50)}).catch(I=>{})};return(I,h)=>{const L=re,A=_e("router-link"),j=ne,N=W,V=me,E=ye,F=At,H=xt,O=ve;return a(),d("div",qt,[s(O,{"content-indented":""},st({avatar:n(()=>[s(L,{round:"",size:30,src:e(l).user.avatar},null,8,["src"])]),header:n(()=>[v("span",Mt,[s(A,{onClick:h[0]||(h[0]=K(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(l).user.username}}},{default:n(()=>[w(P(e(l).user.nickname),1)]),_:1},8,["to"])]),v("span",Ot," @"+P(e(l).user.username),1)]),"header-extra":n(()=>[v("div",Bt,[v("span",jt,P(e(l).ip_loc?e(l).ip_loc+" · ":e(l).ip_loc)+" "+P(e(oe)(e(l).created_on,e(c).state.collapsedLeft)),1),e(c).state.userInfo.is_admin||e(c).state.userInfo.id===e(l).user.id?(a(),S(V,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:o},{trigger:n(()=>[s(N,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[s(j,null,{default:n(()=>[s(e(he))]),_:1})]),_:1})]),default:n(()=>[w(" 是否确认删除? ")]),_:1})):y("",!0)])]),footer:n(()=>[e(l).imgs.length>0?(a(),S(E,{key:0,imgs:e(l).imgs},null,8,["imgs"])):y("",!0),v("div",Nt,[(a(!0),d(te,null,se(e(l).replies,t=>(a(),S(F,{key:t.id,reply:t,onFocusReply:g,onReload:r},null,8,["reply"]))),128))]),e(c).state.userInfo.id>0?(a(),S(H,{key:1,ref_key:"replyComposeRef",ref:C,"comment-id":e(l).id,"at-userid":k.value,"at-username":f.value,onReload:r,onReset:b},null,8,["comment-id","at-userid","at-username"])):y("",!0)]),_:2},[e(l).texts.length>0?{name:"description",fn:n(()=>[(a(!0),d(te,null,se(e(l).texts,t=>(a(),d("span",{key:t.id,class:"comment-text",onClick:h[1]||(h[1]=K(u=>z(u,e(l).id),["stop"])),innerHTML:e(de)(t.content).content},null,8,Dt))),128))]),key:"0"}:void 0]),1024)])}}});const Et=Z(Vt,[["__scopeId","data-v-02db83b3"]]),Ft=U=>(fe("data-v-ca3e6071"),U=U(),ge(),U),Ht={key:0,class:"compose-wrap"},Kt={class:"compose-line"},Jt={class:"compose-user"},Gt={class:"compose-line compose-options"},Qt={class:"attachment"},Yt={class:"submit-wrap"},Zt={class:"attachment-list-wrap"},Wt={key:1,class:"compose-wrap"},Xt=Ft(()=>v("div",{class:"login-wrap"},[v("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),es={key:0,class:"login-only-wrap"},ts={key:1,class:"login-wrap"},ss=G({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(U,{emit:T}){const i=U,c=ae(),R=p([]),k=p(!1),f=p(!1),C=p(!1),l=p(""),z=p(),g=p("public/image"),r=p([]),b=p([]),o=p("true".toLowerCase()==="true"),I="/v1/attachment",h=p(),L=gt.debounce(m=>{Ce({k:m}).then(_=>{let $=[];_.suggest.map(x=>{$.push({label:x,value:x})}),R.value=$,f.value=!1}).catch(_=>{f.value=!1})},200),A=(m,_)=>{f.value||(f.value=!0,_==="@"&&L(m))},j=m=>{m.length>200||(l.value=m)},N=m=>{g.value=m},V=m=>{r.value=m},E=async m=>{var _,$;return g.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((_=m.file.file)==null?void 0:_.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):g.value==="image"&&(($=m.file.file)==null?void 0:$.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},F=({file:m,event:_})=>{var $;try{let x=JSON.parse(($=_.target)==null?void 0:$.response);x.code===0&&g.value==="public/image"&&b.value.push({id:m.id,content:x.data.content})}catch{window.$message.error("上传失败")}},H=({file:m,event:_})=>{var $;try{let x=JSON.parse(($=_.target)==null?void 0:$.response);if(x.code!==0){let B=x.msg||"上传失败";x.details&&x.details.length>0&&x.details.map(q=>{B+=":"+q}),window.$message.error(B)}}catch{window.$message.error("上传失败")}},O=({file:m})=>{let _=b.value.findIndex($=>$.id===m.id);_>-1&&b.value.splice(_,1)},t=()=>{k.value=!0},u=()=>{var m;k.value=!1,(m=z.value)==null||m.clear(),r.value=[],l.value="",b.value=[]},D=()=>{if(l.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=de(l.value);const _=[];let $=100;_.push({content:l.value,type:2,sort:$}),b.value.map(x=>{$++,_.push({content:x.content,type:3,sort:$})}),C.value=!0,Ie({contents:_,post_id:i.postId,users:Array.from(new Set(m))}).then(x=>{window.$message.success("发布成功"),C.value=!1,T("post-success"),u()}).catch(x=>{C.value=!1})},Q=m=>{c.commit("triggerAuth",!0),c.commit("triggerAuthKey",m)};return pe(()=>{h.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,_)=>{const $=re,x=je,B=ne,q=W,le=De,ie=Ne,ce=Ve,X=Ee,ue=Fe;return a(),d("div",null,[e(c).state.userInfo.id>0?(a(),d("div",Ht,[v("div",Kt,[v("div",Jt,[s($,{round:"",size:30,src:e(c).state.userInfo.avatar},null,8,["src"])]),s(x,{type:"textarea",size:"large",autosize:"",bordered:!1,options:R.value,prefix:["@"],loading:f.value,value:l.value,disabled:i.lock===1,"onUpdate:value":j,onSearch:A,onFocus:t,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(a(),S(ue,{key:0,ref_key:"uploadRef",ref:z,abstract:"","list-type":"image",multiple:!0,max:9,action:I,headers:{Authorization:h.value},data:{type:g.value},onBeforeUpload:E,onFinish:F,onError:H,onRemove:O,"onUpdate:fileList":V},{default:n(()=>[v("div",Gt,[v("div",Qt,[s(le,{abstract:""},{default:n(({handleClick:J})=>[s(q,{disabled:r.value.length>0&&g.value==="public/video"||r.value.length===9,onClick:()=>{N("public/image"),J()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[s(B,{size:"20",color:"var(--primary-color)"},{default:n(()=>[s(e(nt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),s(ce,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[s(ie,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:l.value.length/200*100},null,8,["percentage"])]),default:n(()=>[w(" "+P(l.value.length)+" / 200 ",1)]),_:1})]),v("div",Yt,[s(q,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:u},{default:n(()=>[w(" 取消 ")]),_:1}),s(q,{loading:C.value,onClick:D,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[w(" 发布 ")]),_:1},8,["loading"])])]),v("div",Zt,[s(X)])]),_:1},8,["headers","data"])):y("",!0)])):(a(),d("div",Wt,[Xt,o.value?y("",!0):(a(),d("div",es,[s(q,{strong:"",secondary:"",round:"",type:"primary",onClick:_[0]||(_[0]=J=>Q("signin"))},{default:n(()=>[w(" 登录 ")]),_:1})])),o.value?(a(),d("div",ts,[s(q,{strong:"",secondary:"",round:"",type:"primary",onClick:_[1]||(_[1]=J=>Q("signin"))},{default:n(()=>[w(" 登录 ")]),_:1}),s(q,{strong:"",secondary:"",round:"",type:"info",onClick:_[2]||(_[2]=J=>Q("signup"))},{default:n(()=>[w(" 注册 ")]),_:1})])):y("",!0)]))])}}});const os=Z(ss,[["__scopeId","data-v-ca3e6071"]]),ns={class:"username-wrap"},as={key:0,class:"options"},ls={key:0},is=["innerHTML"],cs={class:"timestamp"},us={key:0},rs={key:1},_s={class:"opts-wrap"},ps=["onClick"],ds={class:"opt-item"},ms=["onClick"],vs=["onClick"],fs=G({__name:"post-detail",props:{post:null},emits:["reload"],setup(U,{emit:T}){const i=U,c=ae(),R=ke(),k=p(!1),f=p(!1),C=p(!1),l=p(!1),z=p(!1),g=p(!1),r=p(!1),b=p(Y.PUBLIC),o=ee({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return t.contents.map(u=>{(+u.type==1||+u.type==2)&&t.texts.push(u),+u.type==3&&t.imgs.push(u),+u.type==4&&t.videos.push(u),+u.type==6&&t.links.push(u),+u.type==7&&t.attachments.push(u),+u.type==8&&t.charge_attachments.push(u)}),t},set:t=>{i.post.upvote_count=t.upvote_count,i.post.comment_count=t.comment_count,i.post.collection_count=t.collection_count}}),I=ee(()=>{let t=[{label:"删除",key:"delete"}];return o.value.is_lock===0?t.push({label:"锁定",key:"lock"}):t.push({label:"解锁",key:"unlock"}),c.state.userInfo.is_admin&&(o.value.is_top===0?t.push({label:"置顶",key:"stick"}):t.push({label:"取消置顶",key:"unstick"})),o.value.visibility===Y.PUBLIC?t.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):o.value.visibility===Y.PRIVATE?t.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):t.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),t}),h=t=>{R.push({name:"post",query:{id:t}})},L=(t,u)=>{if(t.target.dataset.detail){const D=t.target.dataset.detail.split(":");if(D.length===2){c.commit("refresh"),D[0]==="tag"?R.push({name:"home",query:{q:D[1],t:"tag"}}):R.push({name:"user",query:{username:D[1]}});return}}h(u)},A=t=>{switch(t){case"delete":C.value=!0;break;case"lock":case"unlock":l.value=!0;break;case"stick":case"unstick":z.value=!0;break;case"vpublic":b.value=0,g.value=!0;break;case"vprivate":b.value=1,g.value=!0;break;case"vfriend":b.value=2,g.value=!0;break}},j=()=>{Ue({id:o.value.id}).then(t=>{window.$message.success("删除成功"),R.replace("/"),setTimeout(()=>{c.commit("refresh")},50)}).catch(t=>{r.value=!1})},N=()=>{ze({id:o.value.id}).then(t=>{T("reload"),t.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(t=>{r.value=!1})},V=()=>{Se({id:o.value.id}).then(t=>{T("reload"),t.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(t=>{r.value=!1})},E=()=>{Te({id:o.value.id,visibility:b.value}).then(t=>{T("reload"),window.$message.success("修改可见性成功")}).catch(t=>{r.value=!1})},F=()=>{Le({id:o.value.id}).then(t=>{k.value=t.status,t.status?o.value={...o.value,upvote_count:o.value.upvote_count+1}:o.value={...o.value,upvote_count:o.value.upvote_count-1}}).catch(t=>{console.log(t)})},H=()=>{Ae({id:o.value.id}).then(t=>{f.value=t.status,t.status?o.value={...o.value,collection_count:o.value.collection_count+1}:o.value={...o.value,collection_count:o.value.collection_count-1}}).catch(t=>{console.log(t)})},O=()=>{ht(`${window.location.origin}/#/post?id=${o.value.id}`),window.$message.success("链接已复制到剪贴板")};return pe(()=>{c.state.userInfo.id>0&&(Pe({id:o.value.id}).then(t=>{k.value=t.status}).catch(t=>{console.log(t)}),Re({id:o.value.id}).then(t=>{f.value=t.status}).catch(t=>{console.log(t)}))}),(t,u)=>{const D=re,Q=_e("router-link"),m=He,_=ne,$=W,x=Ke,B=Je,q=pt,le=ye,ie=dt,ce=mt,X=Ge,ue=Qe,J=ve;return a(),d("div",{class:"detail-item",onClick:u[6]||(u[6]=M=>h(e(o).id))},[s(J,null,{avatar:n(()=>[s(D,{round:"",size:30,src:e(o).user.avatar},null,8,["src"])]),header:n(()=>[s(Q,{onClick:u[0]||(u[0]=K(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(o).user.username}}},{default:n(()=>[w(P(e(o).user.nickname),1)]),_:1},8,["to"]),v("span",ns," @"+P(e(o).user.username),1),e(o).is_top?(a(),S(m,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[w(" 置顶 ")]),_:1})):y("",!0),e(o).visibility==e(Y).PRIVATE?(a(),S(m,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[w(" 私密 ")]),_:1})):y("",!0),e(o).visibility==e(Y).FRIEND?(a(),S(m,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[w(" 好友可见 ")]),_:1})):y("",!0)]),"header-extra":n(()=>[e(c).state.userInfo.is_admin||e(c).state.userInfo.id===e(o).user.id?(a(),d("div",as,[s(x,{placement:"bottom-end",trigger:"click",size:"small",options:e(I),onSelect:A},{default:n(()=>[s($,{quaternary:"",circle:""},{icon:n(()=>[s(_,null,{default:n(()=>[s(e(at))]),_:1})]),_:1})]),_:1},8,["options"])])):y("",!0),s(B,{show:C.value,"onUpdate:show":u[1]||(u[1]=M=>C.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),s(B,{show:l.value,"onUpdate:show":u[2]||(u[2]=M=>l.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:N},null,8,["show","content"]),s(B,{show:z.value,"onUpdate:show":u[3]||(u[3]=M=>z.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),s(B,{show:g.value,"onUpdate:show":u[4]||(u[4]=M=>g.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(b.value==0?"公开":b.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:E},null,8,["show","content"])]),footer:n(()=>[s(q,{attachments:e(o).attachments},null,8,["attachments"]),s(q,{attachments:e(o).charge_attachments,price:e(o).attachment_price},null,8,["attachments","price"]),s(le,{imgs:e(o).imgs},null,8,["imgs"]),s(ie,{videos:e(o).videos,full:!0},null,8,["videos"]),s(ce,{links:e(o).links},null,8,["links"]),v("div",cs,[w(" 发布于 "+P(e(oe)(e(o).created_on,e(c).state.collapsedLeft))+" ",1),e(o).ip_loc?(a(),d("span",us,[s(X,{vertical:""}),w(" "+P(e(o).ip_loc),1)])):y("",!0),!e(c).state.collapsedLeft&&e(o).created_on!=e(o).latest_replied_on?(a(),d("span",rs,[s(X,{vertical:""}),w(" 最后回复 "+P(e(oe)(e(o).latest_replied_on,e(c).state.collapsedLeft)),1)])):y("",!0)])]),action:n(()=>[v("div",_s,[s(ue,{justify:"space-between"},{default:n(()=>[v("div",{class:"opt-item hover",onClick:K(F,["stop"])},[s(_,{size:"20",class:"opt-item-icon"},{default:n(()=>[k.value?y("",!0):(a(),S(e(lt),{key:0})),k.value?(a(),S(e(it),{key:1,color:"red"})):y("",!0)]),_:1}),w(" "+P(e(o).upvote_count),1)],8,ps),v("div",ds,[s(_,{size:"20",class:"opt-item-icon"},{default:n(()=>[s(e(ct))]),_:1}),w(" "+P(e(o).comment_count),1)]),v("div",{class:"opt-item hover",onClick:K(H,["stop"])},[s(_,{size:"20",class:"opt-item-icon"},{default:n(()=>[f.value?y("",!0):(a(),S(e(ut),{key:0})),f.value?(a(),S(e(rt),{key:1,color:"#ff7600"})):y("",!0)]),_:1}),w(" "+P(e(o).collection_count),1)],8,ms),v("div",{class:"opt-item hover",onClick:K(O,["stop"])},[s(_,{size:"20",class:"opt-item-icon"},{default:n(()=>[s(e(_t))]),_:1}),w(" "+P(e(o).share_count),1)],8,vs)]),_:1})])]),default:n(()=>[e(o).texts.length>0?(a(),d("div",ls,[(a(!0),d(te,null,se(e(o).texts,M=>(a(),d("span",{key:M.id,class:"post-text",onClick:u[5]||(u[5]=K(we=>L(we,e(o).id),["stop"])),innerHTML:e(de)(M.content).content},null,8,is))),128))])):y("",!0)]),_:1})])}}});const gs=U=>(fe("data-v-219a8fb1"),U=U(),ge(),U),hs={key:0,class:"detail-wrap"},ys={key:1,class:"empty-wrap"},ks={key:0,class:"comment-opts-wrap"},ws=gs(()=>v("span",{class:"comment-title-item"},"评论",-1)),bs={key:2},$s={key:0,class:"skeleton-wrap"},xs={key:1},Cs={key:0,class:"empty-wrap"},Is=G({__name:"Post",setup(U){const T=vt(),i=p({}),c=p(!1),R=p(!1),k=p([]),f=ee(()=>+T.query.id),C=p("default"),l=r=>{C.value=r,g()},z=()=>{i.value={id:0},c.value=!0,qe({id:f.value}).then(r=>{c.value=!1,i.value=r,g()}).catch(r=>{c.value=!1})},g=(r=!1)=>{k.value.length===0&&(R.value=!0),Me({id:i.value.id,sort_strategy:C.value}).then(b=>{k.value=b.list,R.value=!1,r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(b=>{R.value=!1})};return pe(()=>{z()}),ot(f,()=>{f.value>0&&T.name==="post"&&z()}),(r,b)=>{const o=yt,I=fs,h=Ze,L=We,A=Xe,j=et,N=tt,V=os,E=ft,F=Et,H=Ye;return a(),d("div",null,[s(o,{title:"泡泡详情",back:!0}),s(H,{class:"main-content-wrap",bordered:""},{default:n(()=>[s(A,null,{default:n(()=>[s(L,{show:c.value},{default:n(()=>[i.value.id>1?(a(),d("div",hs,[s(I,{post:i.value,onReload:z},null,8,["post"])])):(a(),d("div",ys,[s(h,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(a(),d("div",ks,[s(N,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":l},{prefix:n(()=>[ws]),default:n(()=>[s(j,{name:"default",tab:"默认"}),s(j,{name:"newest",tab:"最新"})]),_:1})])):y("",!0),i.value.id>0?(a(),S(A,{key:1},{default:n(()=>[s(V,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:b[0]||(b[0]=O=>g(!0))},null,8,["lock","post-id"])]),_:1})):y("",!0),i.value.id>0?(a(),d("div",bs,[R.value?(a(),d("div",$s,[s(E,{num:5})])):(a(),d("div",xs,[k.value.length===0?(a(),d("div",Cs,[s(h,{size:"large",description:"暂无评论,快来抢沙发"})])):y("",!0),(a(!0),d(te,null,se(k.value,O=>(a(),S(A,{key:O.id},{default:n(()=>[s(F,{comment:O,onReload:g},null,8,["comment"])]),_:2},1024))),128))]))])):y("",!0)]),_:1})])}}});const no=Z(Is,[["__scopeId","data-v-219a8fb1"]]);export{no as default}; diff --git a/web/dist/assets/Post-d4d1dd23.css b/web/dist/assets/Post-d4d1dd23.css new file mode 100644 index 00000000..cb508e60 --- /dev/null +++ b/web/dist/assets/Post-d4d1dd23.css @@ -0,0 +1 @@ +.reply-item[data-v-783f5693]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-783f5693]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-783f5693]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-783f5693]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-783f5693]{opacity:.75;text-align:right;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .base-wrap[data-v-783f5693]{display:block}.reply-item .base-wrap .content[data-v-783f5693]{width:calc(100% - 40px);margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-783f5693]{display:flex;align-items:center;justify-content:space-between;font-size:12px}.reply-item .base-wrap .reply-switch .actions[data-v-783f5693]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-item .base-wrap .reply-switch .time-item[data-v-783f5693]{font-size:12px;opacity:.75;margin-right:18px}.reply-item .base-wrap .reply-switch .action-item[data-v-783f5693]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-item .base-wrap .reply-switch .action-item .upvote-count[data-v-783f5693]{margin-left:4px;font-size:12px}.reply-item .base-wrap .reply-switch .action-item.hover[data-v-783f5693]{cursor:pointer}.reply-item .base-wrap .reply-switch .opacity-item[data-v-783f5693]{opacity:.75}.reply-item .base-wrap .reply-switch .reply-btn[data-v-783f5693]{margin-left:18px}.reply-item .base-wrap .reply-switch .show[data-v-783f5693]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-783f5693]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-783f5693]{border-bottom:1px solid #262628;background-color:#101014bf}.dark .reply-item .base-wrap .reply-switch .show[data-v-783f5693]{color:#63e2b7}.reply-compose-wrap .reply-switch[data-v-0f1721e2]{display:flex;align-items:center;justify-content:space-between;text-align:right;font-size:12px}.reply-compose-wrap .reply-switch .actions[data-v-0f1721e2]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .time-item[data-v-0f1721e2]{font-size:12px;opacity:.65;margin-right:18px}.reply-compose-wrap .reply-switch .action-item[data-v-0f1721e2]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-compose-wrap .reply-switch .action-item .upvote-count[data-v-0f1721e2]{margin-left:4px;font-size:12px}.reply-compose-wrap .reply-switch .action-item.hover[data-v-0f1721e2]{cursor:pointer}.reply-compose-wrap .reply-switch .reply-btn[data-v-0f1721e2]{margin-left:18px}.reply-compose-wrap .reply-switch .show[data-v-0f1721e2]{color:#18a058;cursor:pointer;opacity:.75}.reply-compose-wrap .reply-switch .hide[data-v-0f1721e2]{opacity:.75;cursor:pointer}.dark .reply-compose-wrap[data-v-0f1721e2]{background-color:#101014bf}.dark .reply-compose-wrap .reply-switch .show[data-v-0f1721e2]{color:#63e2b7}.comment-item[data-v-f206d4d8]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-f206d4d8]{font-size:14px}.comment-item .username-wrap[data-v-f206d4d8]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-f206d4d8]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-f206d4d8]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-f206d4d8]{margin-left:4px}.comment-item .comment-text[data-v-f206d4d8]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-f206d4d8]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-f206d4d8]{margin-right:10px}.reply-wrap[data-v-f206d4d8]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-f206d4d8]:last-child{border-bottom:none}.dark .reply-wrap[data-v-f206d4d8]{background:#18181c}.dark .comment-item[data-v-f206d4d8]{background-color:#101014bf}.compose-wrap[data-v-ca3e6071]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-ca3e6071]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-ca3e6071]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-ca3e6071]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-ca3e6071]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-ca3e6071]{margin-right:8px}.compose-wrap .login-only-wrap[data-v-ca3e6071]{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button[data-v-ca3e6071]{margin:0 4px;width:50%}.compose-wrap .login-wrap[data-v-ca3e6071]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-ca3e6071]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-ca3e6071]{margin:0 4px}.attachment[data-v-ca3e6071]{display:flex;align-items:center}.attachment .text-statistic[data-v-ca3e6071]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-ca3e6071]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-ca3e6071]{overflow:hidden}.dark .compose-mention[data-v-ca3e6071],.dark .compose-wrap[data-v-ca3e6071]{background-color:#101014bf}.detail-item{width:100%;padding:16px;box-sizing:border-box;background:#f7f9f9}.detail-item .nickname-wrap{font-size:14px}.detail-item .username-wrap{font-size:14px;opacity:.75}.detail-item .top-tag{transform:scale(.75)}.detail-item .options{opacity:.75}.detail-item .post-text{font-size:16px;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.detail-item .opts-wrap{margin-top:20px}.detail-item .opts-wrap .opt-item{display:flex;align-items:center;opacity:.7}.detail-item .opts-wrap .opt-item .opt-item-icon{margin-right:10px}.detail-item .opts-wrap .opt-item.hover{cursor:pointer}.detail-item .n-thing .n-thing-avatar-header-wrapper{align-items:center}.detail-item .timestamp{opacity:.75;font-size:12px;margin-top:10px}.dark .detail-item{background:#18181c}.detail-wrap[data-v-0d01659f]{min-height:100px}.comment-opts-wrap[data-v-0d01659f]{padding-top:6px;padding-left:16px;padding-right:16px;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-0d01659f]{padding-top:4px;font-size:16px;text-align:center}.main-content-wrap .load-more[data-v-0d01659f]{margin-bottom:8px}.main-content-wrap .load-more .load-more-spinner[data-v-0d01659f]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-0d01659f],.dark .skeleton-wrap[data-v-0d01659f]{background-color:#101014bf} diff --git a/web/dist/assets/Profile-ed34d1fe.js b/web/dist/assets/Profile-ed34d1fe.js new file mode 100644 index 00000000..36bbabf3 --- /dev/null +++ b/web/dist/assets/Profile-ed34d1fe.js @@ -0,0 +1 @@ +import{_ as M}from"./post-item.vue_vue_type_style_index_0_lang-1c980697.js";import{_ as N}from"./post-skeleton-a514cb09.js";import{_ as S}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as U}from"./vuex-d28e9067.js";import{b as V}from"./vue-router-88cc84d1.js";import{A as D,_ as L}from"./index-f67b4cc5.js";import{d as R,r,j,c as a,L as e,Y as _,K as h,$ as m,O as d,o as t,a as s,M as f,F as q,a2 as A}from"./@vue-ca177dbe.js";import{F as E,G,o as H,f as K,g as O,I as T,H as Y}from"./naive-ui-2035804c.js";import"./content-71c02e20.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Z={class:"uid"},ee={key:0,class:"skeleton-wrap"},te={key:1},oe={key:0,class:"empty-wrap"},se={key:1,class:"pagination-wrap"},ne=R({__name:"Profile",setup(ae){const o=U(),k=V(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),u=r(0),g=()=>{i.value=!0,D({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,u.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_e)=>{const w=S,I=H,b=K,P=O,x=N,z=T,B=M,$=Y,C=E,F=G;return t(),a("div",null,[e(w,{title:"主页"}),_(o).state.userInfo.id>0?(t(),h(C,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:m(()=>[s("div",J,[s("div",Q,[e(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Z,"UID. "+f(_(o).state.userInfo.id),1)])]),e(P,{class:"profile-tabs-wrap",animated:""},{default:m(()=>[e(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(t(),a("div",ee,[e(x,{num:c.value},null,8,["num"])])):(t(),a("div",te,[p.value.length===0?(t(),a("div",oe,[e(z,{size:"large",description:"暂无数据"})])):d("",!0),(t(!0),a(q,null,A(p.value,v=>(t(),h($,{key:v.id},{default:m(()=>[e(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),u.value>0?(t(),a("div",se,[e(F,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Ve=L(ne,[["__scopeId","data-v-1d87d974"]]);export{Ve as default}; diff --git a/web/dist/assets/Profile-fad07169.js b/web/dist/assets/Profile-fad07169.js deleted file mode 100644 index 5345e79c..00000000 --- a/web/dist/assets/Profile-fad07169.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F}from"./post-item.vue_vue_type_style_index_0_lang-d2304aff.js";import{_ as M}from"./post-skeleton-3f57d9d8.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as S}from"./vuex-cc1858c6.js";import{b as V}from"./vue-router-29025daf.js";import{w as D,_ as L}from"./index-2c67ab1f.js";import{d as R,r,j,c as a,L as e,U as _,K as h,Y as m,O as d,o as t,a as s,M as f,F as q,$ as E}from"./@vue-f70ab1bd.js";import{F as G,G as H,o as K,f as O,g as T,I as Y,H as A}from"./naive-ui-ddb574dd.js";import"./content-8a1c5cf4.js";import"./@vicons-2f3cb6b9.js";import"./nonesir-video-29a967e9.js";import"./formatTime-b37c8e0f.js";import"./moment-b7869f98.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Z={class:"uid"},ee={key:0,class:"skeleton-wrap"},te={key:1},oe={key:0,class:"empty-wrap"},se={key:1,class:"pagination-wrap"},ne=R({__name:"Profile",setup(ae){const o=S(),k=V(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),u=r(0),g=()=>{i.value=!0,D({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,u.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_e)=>{const w=N,I=K,b=O,P=T,x=M,z=Y,B=F,U=A,$=G,C=H;return t(),a("div",null,[e(w,{title:"主页"}),_(o).state.userInfo.id>0?(t(),h($,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:m(()=>[s("div",J,[s("div",Q,[e(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Z,"UID. "+f(_(o).state.userInfo.id),1)])]),e(P,{class:"profile-tabs-wrap",animated:""},{default:m(()=>[e(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(t(),a("div",ee,[e(x,{num:c.value},null,8,["num"])])):(t(),a("div",te,[p.value.length===0?(t(),a("div",oe,[e(z,{size:"large",description:"暂无数据"})])):d("",!0),(t(!0),a(q,null,E(p.value,v=>(t(),h(U,{key:v.id},{default:m(()=>[e(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),u.value>0?(t(),a("div",se,[e(C,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Ve=L(ne,[["__scopeId","data-v-1d87d974"]]);export{Ve as default}; diff --git a/web/dist/assets/Setting-105fa341.js b/web/dist/assets/Setting-105fa341.js deleted file mode 100644 index 2003d896..00000000 --- a/web/dist/assets/Setting-105fa341.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{d as ye,r as d,D as H,j as ke,c as g,L as t,Y as s,K as b,O as _,o as r,a as m,U as u,e as c,M as R,z as be,v as Ce,P as q,Z as B,a4 as Ie,a5 as $e}from"./@vue-f70ab1bd.js";import{u as Pe}from"./vuex-cc1858c6.js";import{O as X,P as Ue,Q as Se,R as Re,S as qe,T as Be,U as Ae,_ as ze}from"./index-2c67ab1f.js";import{t as Ne}from"./@vicons-2f3cb6b9.js";import{h as Ke,o as De,e as xe,B as Fe,b as Oe,j as Te,S as je,$ as Ve,J as Ee,a0 as Le,a1 as Me,d as Je}from"./naive-ui-ddb574dd.js";import"./vue-router-29025daf.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const O=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),We={class:"base-line avatar"},Ge={class:"base-line"},Qe=O(()=>m("span",{class:"base-label"},"昵称",-1)),Ye={key:0},Ze={class:"base-line"},He=O(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=O(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=O(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),N=d(!1),K=d(!1),M=d(),J=d(),C=d(!1),D=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),W=d(),G=d(),Q=d(),Y=d(),a=H({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=H({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var x;window.$message.success("头像更新成功"),(x=M.value)==null||x.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Y.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=Q.value)==null||e.validate(v=>{v||(D.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{D.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{D.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=W.value)==null||e.validate(v=>{v||(N.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{N.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&j()}))})},T=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=J.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=De,p=xe,x=Fe,h=Oe,ge=Te,F=Ke,Z=je,w=Ve,he=Ee,V=Le,E=Me,L=Je;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",We,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(x,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Qe,C.value?_("",!0):(r(),g("div",Ye,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:J,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ne))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[He,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:W,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:Q,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Y,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:D.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Setting-2177b635.js b/web/dist/assets/Setting-2177b635.js new file mode 100644 index 00000000..54ec5e6d --- /dev/null +++ b/web/dist/assets/Setting-2177b635.js @@ -0,0 +1 @@ +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{d as ye,r as d,D as Q,j as ke,c as g,L as t,$ as s,K as b,O as _,o as r,a as m,Y as u,e as c,M as R,z as be,v as Ce,P as q,a0 as B,U as Ie,V as $e}from"./@vue-ca177dbe.js";import{u as Pe}from"./vuex-d28e9067.js";import{S as Z,T as Ue,U as Se,V as Re,W as qe,X as Be,Y as Ae,_ as ze}from"./index-f67b4cc5.js";import{x as Ke}from"./@vicons-6d35273b.js";import{h as Ne,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Oe,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-2035804c.js";import"./vue-router-88cc84d1.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Ye={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Xe={key:0},He={class:"base-line"},Qe=V(()=>m("span",{class:"base-label"},"用户名",-1)),Ze={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),K=d(!1),N=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),J=d(),X=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=X.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(K.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{K.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(N.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{N.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{N.value=!1,f.code===20012&&j()}))})},T=()=>{Z().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Z().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ne,H=je,w=Oe,he=Ee,O=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Xe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ke))]),_:1})]),_:1})):_("",!0)]),m("div",He,[Qe,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Ze,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(H,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(H,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:X,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-d2e628eb.js b/web/dist/assets/Topic-d2e628eb.js deleted file mode 100644 index d8992451..00000000 --- a/web/dist/assets/Topic-d2e628eb.js +++ /dev/null @@ -1 +0,0 @@ -import{q as x,u as S,r as I,t as U,_ as j}from"./index-2c67ab1f.js";import{l as z}from"./@vicons-2f3cb6b9.js";import{d as F,r as _,n as $,j as q,_ as E,o as l,c as u,L as n,Y as a,K as T,e as A,M as w,O as m,U as r,w as D,a3 as K,F as Y,$ as G}from"./@vue-f70ab1bd.js";import{o as H,M as L,j as J,e as P,O as Q,L as R,F as W,f as X,g as Z,a as tt,k as et}from"./naive-ui-ddb574dd.js";import{_ as ot}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as nt}from"./vuex-cc1858c6.js";import"./vue-router-29025daf.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const st={key:0,class:"tag-item"},at={key:0,class:"tag-quote"},ct={key:1,class:"tag-quote tag-follow"},lt={key:0,class:"options"},it=F({__name:"tag-item",props:{tag:null,showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(s){const e=s,g=_(!1),d=$(()=>{let o=[];return e.tag.is_following===0?o.push({label:"关注",key:"follow"}):(e.tag.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"}),o.push({label:"取消关注",key:"unfollow"})),o}),i=o=>{switch(o){case"follow":I({topic_id:e.tag.id}).then(t=>{e.tag.is_following=1,window.$message.success("关注成功")}).catch(t=>{console.log(t)});break;case"unfollow":S({topic_id:e.tag.id}).then(t=>{e.tag.is_following=0,window.$message.success("取消关注")}).catch(t=>{console.log(t)});break;case"stick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("置顶成功")}).catch(t=>{console.log(t)});break;case"unstick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("取消置顶")}).catch(t=>{console.log(t)});break}};return q(()=>{g.value=!1}),(o,t)=>{const k=E("router-link"),f=H,v=L,c=J,h=P,y=Q,p=R;return!s.checkFollowing||s.checkFollowing&&s.tag.is_following===1?(l(),u("div",st,[n(p,null,{header:a(()=>[(l(),T(v,{type:"success",size:"large",round:"",key:s.tag.id},{avatar:a(()=>[n(f,{src:s.tag.user.avatar},null,8,["src"])]),default:a(()=>[n(k,{class:"hash-link",to:{name:"home",query:{q:s.tag.tag,t:"tag"}}},{default:a(()=>[A(" #"+w(s.tag.tag),1)]),_:1},8,["to"]),s.showAction?m("",!0):(l(),u("span",at,"("+w(s.tag.quote_num)+")",1)),s.showAction?(l(),u("span",ct,"("+w(s.tag.quote_num)+")",1)):m("",!0)]),_:1}))]),"header-extra":a(()=>[s.showAction?(l(),u("div",lt,[n(y,{placement:"bottom-end",trigger:"click",size:"small",options:r(d),onSelect:i},{default:a(()=>[n(h,{type:"success",quaternary:"",circle:"",block:""},{icon:a(()=>[n(c,null,{default:a(()=>[n(r(z))]),_:1})]),_:1})]),_:1},8,["options"])])):m("",!0)]),_:1})])):m("",!0)}}});const _t=F({__name:"Topic",setup(s){const e=nt(),g=_([]),d=_("hot"),i=_(!1),o=_(!1),t=_(!1);D(o,()=>{o.value||(window.$message.success("保存成功"),e.commit("refreshTopicFollow"))});const k=$({get:()=>{let c="编辑";return o.value&&(c="保存"),c},set:c=>{}}),f=()=>{i.value=!0,U({type:d.value,num:50}).then(c=>{g.value=c.topics,i.value=!1}).catch(c=>{console.log(c),i.value=!1})},v=c=>{d.value=c,c=="follow"?t.value=!0:t.value=!1,f()};return q(()=>{f()}),(c,h)=>{const y=ot,p=X,B=L,C=Z,V=it,M=tt,N=et,O=W;return l(),u("div",null,[n(y,{title:"话题"}),n(O,{class:"main-content-wrap tags-wrap",bordered:""},{default:a(()=>[n(C,{type:"line",animated:"","onUpdate:value":v},K({default:a(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),r(e).state.userLogined?(l(),T(p,{key:0,name:"follow",tab:"关注"})):m("",!0)]),_:2},[r(e).state.userLogined?{name:"suffix",fn:a(()=>[n(B,{checked:o.value,"onUpdate:checked":h[0]||(h[0]=b=>o.value=b),checkable:""},{default:a(()=>[A(w(r(k)),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(N,{show:i.value},{default:a(()=>[n(M,null,{default:a(()=>[(l(!0),u(Y,null,G(g.value,b=>(l(),T(V,{tag:b,showAction:r(e).state.userLogined&&o.value,checkFollowing:t.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Vt=j(_t,[["__scopeId","data-v-15794a53"]]);export{Vt as default}; diff --git a/web/dist/assets/Topic-f45ab0e7.js b/web/dist/assets/Topic-f45ab0e7.js new file mode 100644 index 00000000..6097b105 --- /dev/null +++ b/web/dist/assets/Topic-f45ab0e7.js @@ -0,0 +1 @@ +import{w as x,x as S,y as z,z as I,_ as j}from"./index-f67b4cc5.js";import{p as E}from"./@vicons-6d35273b.js";import{d as F,r as _,n as $,j as q,a1 as U,o as l,c as u,L as n,$ as a,K as T,e as A,M as w,O as m,Y as r,w as D,a6 as K,F as Y,a2 as G}from"./@vue-ca177dbe.js";import{o as H,M as L,j as J,e as P,O as Q,L as R,F as W,f as X,g as Z,a as tt,k as et}from"./naive-ui-2035804c.js";import{_ as ot}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as nt}from"./vuex-d28e9067.js";import"./vue-router-88cc84d1.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const st={key:0,class:"tag-item"},at={key:0,class:"tag-quote"},ct={key:1,class:"tag-quote tag-follow"},lt={key:0,class:"options"},it=F({__name:"tag-item",props:{tag:null,showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(s){const e=s,g=_(!1),d=$(()=>{let o=[];return e.tag.is_following===0?o.push({label:"关注",key:"follow"}):(e.tag.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"}),o.push({label:"取消关注",key:"unfollow"})),o}),i=o=>{switch(o){case"follow":z({topic_id:e.tag.id}).then(t=>{e.tag.is_following=1,window.$message.success("关注成功")}).catch(t=>{console.log(t)});break;case"unfollow":S({topic_id:e.tag.id}).then(t=>{e.tag.is_following=0,window.$message.success("取消关注")}).catch(t=>{console.log(t)});break;case"stick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("置顶成功")}).catch(t=>{console.log(t)});break;case"unstick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("取消置顶")}).catch(t=>{console.log(t)});break}};return q(()=>{g.value=!1}),(o,t)=>{const k=U("router-link"),f=H,v=L,c=J,h=P,y=Q,p=R;return!s.checkFollowing||s.checkFollowing&&s.tag.is_following===1?(l(),u("div",st,[n(p,null,{header:a(()=>[(l(),T(v,{type:"success",size:"large",round:"",key:s.tag.id},{avatar:a(()=>[n(f,{src:s.tag.user.avatar},null,8,["src"])]),default:a(()=>[n(k,{class:"hash-link",to:{name:"home",query:{q:s.tag.tag,t:"tag"}}},{default:a(()=>[A(" #"+w(s.tag.tag),1)]),_:1},8,["to"]),s.showAction?m("",!0):(l(),u("span",at,"("+w(s.tag.quote_num)+")",1)),s.showAction?(l(),u("span",ct,"("+w(s.tag.quote_num)+")",1)):m("",!0)]),_:1}))]),"header-extra":a(()=>[s.showAction?(l(),u("div",lt,[n(y,{placement:"bottom-end",trigger:"click",size:"small",options:r(d),onSelect:i},{default:a(()=>[n(h,{type:"success",quaternary:"",circle:"",block:""},{icon:a(()=>[n(c,null,{default:a(()=>[n(r(E))]),_:1})]),_:1})]),_:1},8,["options"])])):m("",!0)]),_:1})])):m("",!0)}}});const _t=F({__name:"Topic",setup(s){const e=nt(),g=_([]),d=_("hot"),i=_(!1),o=_(!1),t=_(!1);D(o,()=>{o.value||(window.$message.success("保存成功"),e.commit("refreshTopicFollow"))});const k=$({get:()=>{let c="编辑";return o.value&&(c="保存"),c},set:c=>{}}),f=()=>{i.value=!0,I({type:d.value,num:50}).then(c=>{g.value=c.topics,i.value=!1}).catch(c=>{console.log(c),i.value=!1})},v=c=>{d.value=c,c=="follow"?t.value=!0:t.value=!1,f()};return q(()=>{f()}),(c,h)=>{const y=ot,p=X,B=L,C=Z,V=it,M=tt,N=et,O=W;return l(),u("div",null,[n(y,{title:"话题"}),n(O,{class:"main-content-wrap tags-wrap",bordered:""},{default:a(()=>[n(C,{type:"line",animated:"","onUpdate:value":v},K({default:a(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),r(e).state.userLogined?(l(),T(p,{key:0,name:"follow",tab:"关注"})):m("",!0)]),_:2},[r(e).state.userLogined?{name:"suffix",fn:a(()=>[n(B,{checked:o.value,"onUpdate:checked":h[0]||(h[0]=b=>o.value=b),checkable:""},{default:a(()=>[A(w(r(k)),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(N,{show:i.value},{default:a(()=>[n(M,null,{default:a(()=>[(l(!0),u(Y,null,G(g.value,b=>(l(),T(V,{tag:b,showAction:r(e).state.userLogined&&o.value,checkFollowing:t.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Vt=j(_t,[["__scopeId","data-v-15794a53"]]);export{Vt as default}; diff --git a/web/dist/assets/User-6452d9e2.js b/web/dist/assets/User-6452d9e2.js new file mode 100644 index 00000000..73d11f40 --- /dev/null +++ b/web/dist/assets/User-6452d9e2.js @@ -0,0 +1 @@ +import{_ as _e}from"./post-item.vue_vue_type_style_index_0_lang-1c980697.js";import{_ as re}from"./post-skeleton-a514cb09.js";import{B as ue,_ as I,C as pe,D as de,A as me,E as he,F as ve}from"./index-f67b4cc5.js";import{Q as B,R as P,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as Fe,g as ze,I as Ie,H as Se}from"./naive-ui-2035804c.js";import{d as q,r as c,o as i,K as z,$ as t,a as _,L as n,e as h,M as $,D as qe,n as We,w as Ce,j as Me,c as m,Y as x,O as F,F as Be,a2 as Pe}from"./@vue-ca177dbe.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{u as Te}from"./vuex-d28e9067.js";import{b as Ae}from"./vue-router-88cc84d1.js";import{i as De}from"./@vicons-6d35273b.js";import"./content-71c02e20.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},Oe=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,ue({user_id:u.user.id,content:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ne,[n(g,{"show-icon":!1},{default:t(()=>[h(" 即将发送私信给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ve,[n(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"200","show-count":""},null,8,["value"])]),_("div",Le,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const je=I(Oe,[["__scopeId","data-v-0cbfe47c"]]),Ee={class:"whisper-wrap"},He={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Ke=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,pe({user_id:u.user.id,greetings:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ee,[n(g,{"show-icon":!1},{default:t(()=>[h(" 发送添加朋友申请给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",He,[n(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"120","show-count":""},null,8,["value"])]),_("div",Ge,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Qe=I(Ke,[["__scopeId","data-v-60be56a2"]]),Ye={key:0,class:"profile-baseinfo"},Je={class:"avatar"},Xe={class:"base-info"},Ze={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},as={key:0,class:"empty-wrap"},os={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(r){fe();const U=ge(),u=Te(),a=Ae(),o=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),l=c(!1),p=c(!1),d=c(!1),v=c([]),f=c(a.query.username||""),g=c(+a.query.p||1),w=c(20),y=c(0),k=()=>{o.value=!0,me({username:f.value,page:g.value,page_size:w.value}).then(s=>{o.value=!1,v.value=s.list,y.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{o.value=!1})},b=()=>{l.value=!0,de({username:f.value}).then(s=>{l.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,k()}).catch(s=>{l.value=!1,console.log(s)})},D=s=>{g.value=s,k()},N=()=>{p.value=!0},V=()=>{d.value=!0},L=()=>{p.value=!1},O=()=>{d.value=!1},j=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),E=s=>{switch(s){case"whisper":N();break;case"delete":H();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},H=()=>{U.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,he({user_id:e.id}).then(s=>{l.value=!1,e.is_friend=!1,k()}).catch(s=>{l.value=!1,console.log(s)})}})},G=()=>{U.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{l.value=!1,b()}).catch(s=>{l.value=!1,console.log(s)})}})};return Ce(()=>({path:a.path,query:a.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(f.value=a.query.username||"",b())}),Me(()=>{b()}),(s,W)=>{const K=Re,Q=ke,C=be,Y=xe,J=S,X=$e,Z=je,ee=Ue,se=Fe,ne=ze,te=re,ae=Ie,oe=_e,le=Se,ie=we,ce=ye;return i(),m("div",null,[n(K,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:l.value},{default:t(()=>[e.id>0?(i(),m("div",Ye,[_("div",Je,[n(Q,{size:"large",src:e.avatar},null,8,["src"])]),_("div",Xe,[_("div",Ze,[_("strong",null,$(e.nickname),1),_("span",null," @"+$(e.username),1),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username&&e.is_friend?(i(),z(C,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[h(" 好友 ")]),_:1})):F("",!0),e.is_admin?(i(),z(C,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[h(" 管理员 ")]),_:1})):F("",!0)]),_("div",es,"UID. "+$(e.id),1)]),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username?(i(),m("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:x(j),onSelect:E},{default:t(()=>[n(J,{quaternary:"",circle:""},{icon:t(()=>[n(Y,null,{default:t(()=>[n(x(De))]),_:1})]),_:1})]),_:1},8,["options"])])):F("",!0)])):F("",!0),n(Z,{show:p.value,user:e,onSuccess:L},null,8,["show","user"]),n(Qe,{show:d.value,user:e,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),o.value?(i(),m("div",ns,[n(te,{num:w.value},null,8,["num"])])):(i(),m("div",ts,[v.value.length===0?(i(),m("div",as,[n(ae,{size:"large",description:"暂无数据"})])):F("",!0),(i(!0),m(Be,null,Pe(v.value,M=>(i(),z(le,{key:M.id},{default:t(()=>[n(oe,{post:M},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),y.value>0?(i(),m("div",os,[n(ce,{page:g.value,"onUpdate:page":D,"page-slot":x(u).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):F("",!0)])}}});const Ps=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ps as default}; diff --git a/web/dist/assets/User-7dc48d3a.js b/web/dist/assets/User-7dc48d3a.js deleted file mode 100644 index ca272109..00000000 --- a/web/dist/assets/User-7dc48d3a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as _e}from"./post-item.vue_vue_type_style_index_0_lang-d2304aff.js";import{_ as re}from"./post-skeleton-3f57d9d8.js";import{x as ue,_ as I,y as pe,z as de,w as me,A as he,B as ve}from"./index-2c67ab1f.js";import{Q as C,R as P,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as ze,g as Fe,I as Ie,H as Se}from"./naive-ui-ddb574dd.js";import{d as q,r as c,o as i,K as F,Y as t,a as _,L as n,e as h,M as $,D as qe,n as We,w as Me,j as Be,c as m,U as x,O as z,F as Ce,$ as Pe}from"./@vue-f70ab1bd.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{u as Te}from"./vuex-cc1858c6.js";import{b as Ae}from"./vue-router-29025daf.js";import{e as De}from"./@vicons-2f3cb6b9.js";import"./content-8a1c5cf4.js";import"./nonesir-video-29a967e9.js";import"./formatTime-b37c8e0f.js";import"./moment-b7869f98.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},Oe=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,ue({user_id:u.user.id,content:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=C,f=P,g=R,w=T,y=S,k=A;return i(),F(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ne,[n(g,{"show-icon":!1},{default:t(()=>[h(" 即将发送私信给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ve,[n(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"200","show-count":""},null,8,["value"])]),_("div",Le,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const je=I(Oe,[["__scopeId","data-v-0cbfe47c"]]),He={class:"whisper-wrap"},Ee={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Ke=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,pe({user_id:u.user.id,greetings:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=C,f=P,g=R,w=T,y=S,k=A;return i(),F(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",He,[n(g,{"show-icon":!1},{default:t(()=>[h(" 发送添加朋友申请给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ee,[n(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"120","show-count":""},null,8,["value"])]),_("div",Ge,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Qe=I(Ke,[["__scopeId","data-v-60be56a2"]]),Ye={key:0,class:"profile-baseinfo"},Je={class:"avatar"},Xe={class:"base-info"},Ze={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},as={key:0,class:"empty-wrap"},os={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(r){fe();const U=ge(),u=Te(),a=Ae(),o=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),l=c(!1),p=c(!1),d=c(!1),v=c([]),f=c(a.query.username||""),g=c(+a.query.p||1),w=c(20),y=c(0),k=()=>{o.value=!0,me({username:f.value,page:g.value,page_size:w.value}).then(s=>{o.value=!1,v.value=s.list,y.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{o.value=!1})},b=()=>{l.value=!0,de({username:f.value}).then(s=>{l.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,k()}).catch(s=>{l.value=!1,console.log(s)})},D=s=>{g.value=s,k()},N=()=>{p.value=!0},V=()=>{d.value=!0},L=()=>{p.value=!1},O=()=>{d.value=!1},j=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),H=s=>{switch(s){case"whisper":N();break;case"delete":E();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},E=()=>{U.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,he({user_id:e.id}).then(s=>{l.value=!1,e.is_friend=!1,k()}).catch(s=>{l.value=!1,console.log(s)})}})},G=()=>{U.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{l.value=!1,b()}).catch(s=>{l.value=!1,console.log(s)})}})};return Me(()=>({path:a.path,query:a.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(f.value=a.query.username||"",b())}),Be(()=>{b()}),(s,W)=>{const K=Re,Q=ke,M=be,Y=xe,J=S,X=$e,Z=je,ee=Ue,se=ze,ne=Fe,te=re,ae=Ie,oe=_e,le=Se,ie=we,ce=ye;return i(),m("div",null,[n(K,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:l.value},{default:t(()=>[e.id>0?(i(),m("div",Ye,[_("div",Je,[n(Q,{size:"large",src:e.avatar},null,8,["src"])]),_("div",Xe,[_("div",Ze,[_("strong",null,$(e.nickname),1),_("span",null," @"+$(e.username),1),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username&&e.is_friend?(i(),F(M,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[h(" 好友 ")]),_:1})):z("",!0),e.is_admin?(i(),F(M,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[h(" 管理员 ")]),_:1})):z("",!0)]),_("div",es,"UID. "+$(e.id),1)]),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username?(i(),m("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:x(j),onSelect:H},{default:t(()=>[n(J,{quaternary:"",circle:""},{icon:t(()=>[n(Y,null,{default:t(()=>[n(x(De))]),_:1})]),_:1})]),_:1},8,["options"])])):z("",!0)])):z("",!0),n(Z,{show:p.value,user:e,onSuccess:L},null,8,["show","user"]),n(Qe,{show:d.value,user:e,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),o.value?(i(),m("div",ns,[n(te,{num:w.value},null,8,["num"])])):(i(),m("div",ts,[v.value.length===0?(i(),m("div",as,[n(ae,{size:"large",description:"暂无数据"})])):z("",!0),(i(!0),m(Ce,null,Pe(v.value,B=>(i(),F(le,{key:B.id},{default:t(()=>[n(oe,{post:B},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),y.value>0?(i(),m("div",os,[n(ce,{page:g.value,"onUpdate:page":D,"page-slot":x(u).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const Ps=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ps as default}; diff --git a/web/dist/assets/Wallet-2d27e25e.js b/web/dist/assets/Wallet-2d27e25e.js new file mode 100644 index 00000000..aea489aa --- /dev/null +++ b/web/dist/assets/Wallet-2d27e25e.js @@ -0,0 +1 @@ +import{_ as H}from"./post-skeleton-a514cb09.js";import{_ as Z}from"./main-nav.vue_vue_type_style_index_0_lang-bd108629.js";import{d as J,r as c,j as X,c as _,L as e,$ as o,o as n,Y as y,O as w,a,e as k,F as $,a2 as N,z as ee,v as te,M as r,K as q,a4 as oe,a0 as ae,U as ne,V as se}from"./@vue-ca177dbe.js";import{u as le}from"./vuex-d28e9067.js";import{b as ce}from"./vue-router-88cc84d1.js";import{b as ie}from"./qrcode-23069ad7.js";import{O as _e,P as re,Q as ue,R as pe,_ as me}from"./index-f67b4cc5.js";import{a as de}from"./formatTime-000dbebb.js";import{w as ge}from"./@vicons-6d35273b.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-2035804c.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-59d11638.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const O=d=>(ne("data-v-870bd246"),d=d(),se(),d),Ae={class:"balance-wrap"},ze={class:"balance-line"},$e={class:"balance-opts"},Ne={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Oe={key:1},Pe={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},Ue=O(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},We={class:"pay-sub-tips"},Ee=O(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Me=J({__name:"Wallet",setup(d){const i=le(),P=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+P.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(m=>{m.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(m=>{console.log(m)})},2e3)}).catch(l=>{v.value=!1})},U=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Z,m=fe,V=ye,f=we,z=ke,W=be,E=H,M=xe,D=Re,j=ve,K=Ce,Q=Ie,Y=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",Ne,[e(W,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(m,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),a("div",$e,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:U},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",Oe,[b.value.length===0?(n(),_("div",Pe,[e(M,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_($,null,N(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Y,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_($,null,N(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(K,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Te,[Ue,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",We,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=me(Me,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/Wallet-6172b6ec.js b/web/dist/assets/Wallet-6172b6ec.js deleted file mode 100644 index 9af69816..00000000 --- a/web/dist/assets/Wallet-6172b6ec.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as H}from"./post-skeleton-3f57d9d8.js";import{_ as Q}from"./main-nav.vue_vue_type_style_index_0_lang-427305f4.js";import{d as J,r as c,j as X,c as _,L as e,Y as o,o as n,U as y,O as w,a,e as k,F as N,$,z as ee,v as te,M as r,K as q,a1 as oe,Z as ae,a4 as ne,a5 as se}from"./@vue-f70ab1bd.js";import{u as le}from"./vuex-cc1858c6.js";import{b as ce}from"./vue-router-29025daf.js";import{b as ie}from"./qrcode-23069ad7.js";import{K as _e,L as re,M as ue,N as pe,_ as me}from"./index-2c67ab1f.js";import{a as de}from"./formatTime-b37c8e0f.js";import{s as ge}from"./@vicons-2f3cb6b9.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-ddb574dd.js";import"./vooks-dfdd6eef.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-59d11638.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./@css-render-66126308.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const L=d=>(ne("data-v-870bd246"),d=d(),se(),d),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},$e={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Le={key:1},Be={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Me={key:0,class:"amount-options"},Oe={key:1,style:{"margin-top":"10px"}},Pe={class:"qrcode-wrap"},Te=L(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ue={class:"pay-tips"},We={class:"pay-sub-tips"},Ee=L(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=J({__name:"Wallet",setup(d){const i=le(),B=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+B.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},M=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},O=()=>{g.value=!0},P=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(m=>{m.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(m=>{console.log(m)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Q,m=fe,U=ye,f=we,z=ke,W=be,E=H,V=xe,D=Re,K=ve,j=Ce,Y=Ie,Z=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(K,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",$e,[e(W,{page:x.value,"onUpdate:page":M,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(U,{label:"账户余额 (元)"},{default:o(()=>[e(m,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:O},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",Le,[b.value.length===0?(n(),_("div",Be,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,$(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Fe,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Z,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Me,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,$(F.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Oe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:P},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Pe,[Te,a("div",Ue," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",We,[e(Y,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=me(Ve,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/content-71c02e20.js b/web/dist/assets/content-71c02e20.js new file mode 100644 index 00000000..7638a0fc --- /dev/null +++ b/web/dist/assets/content-71c02e20.js @@ -0,0 +1 @@ +import{d as h,o as e,c as r,F as a,a2 as m,L as s,$ as o,Y as c,a as j,M as $,a0 as k,K as _,O as g,r as C,e as B,s as b}from"./@vue-ca177dbe.js";import{u as D,v as L}from"./@vicons-6d35273b.js";import{j as I,V as N,W as V,m as M,X as z,e as F,i as O}from"./naive-ui-2035804c.js";import{_ as A,L as T,M as U}from"./index-f67b4cc5.js";import{N as P}from"./nonesir-video-db921567.js";const R={class:"link-wrap"},K=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=I;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",S,$(n.content),1)],8,K)]))),128))])}}});const nt=A(W,[["__scopeId","data-v-6c4d1eb6"]]),X={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:y.full?1:5},{default:o(()=>[s(x,{span:y.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),_(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=M,d=N,f=V,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),_(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),_(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),_(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),_(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),_(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),_(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),_(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),_(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},q=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=d=>{p.value=!0,x.value=d.id,u.value="这是一个免费附件,您可以直接下载?",d.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,f)=>{const w=I,t=F,i=O;return e(),r("div",Z,[(e(!0),r(a,null,m(y.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(G=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[B(" "+$(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=A(q,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; diff --git a/web/dist/assets/content-8a1c5cf4.js b/web/dist/assets/content-8a1c5cf4.js deleted file mode 100644 index 791469a9..00000000 --- a/web/dist/assets/content-8a1c5cf4.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,o as e,c as r,F as a,$ as m,L as s,Y as o,U as c,a as j,M as I,Z as k,K as _,O as g,r as C,e as B,s as b}from"./@vue-f70ab1bd.js";import{q as D,r as L}from"./@vicons-2f3cb6b9.js";import{j as $,V as N,W as V,m as U,X as z,e as F,i as M}from"./naive-ui-ddb574dd.js";import{_ as A,H as O,I as T}from"./index-2c67ab1f.js";import{N as P}from"./nonesir-video-29a967e9.js";const R={class:"link-wrap"},Z=["href"],q={class:"link-txt"},H=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",q,I(n.content),1)],8,Z)]))),128))])}}});const nt=A(H,[["__scopeId","data-v-6c4d1eb6"]]),K={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",K,[s(n,{"x-gap":4,"y-gap":4,cols:y.full?1:5},{default:o(()=>[s(x,{span:y.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),_(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),S={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,d=N,f=V,w=z;return e(),r("div",S,[[1].includes(l.imgs.length)?(e(),_(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),_(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),_(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),_(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),_(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),_(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),_(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),_(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const W={class:"attachment-wrap"},X=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=d=>{p.value=!0,x.value=d.id,u.value="这是一个免费附件,您可以直接下载?",d.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),O({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{T({id:x.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,f)=>{const w=$,t=F,i=M;return e(),r("div",W,[(e(!0),r(a,null,m(y.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(Y=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[B(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=A(X,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; diff --git a/web/dist/assets/formatTime-000dbebb.js b/web/dist/assets/formatTime-000dbebb.js new file mode 100644 index 00000000..b5debe56 --- /dev/null +++ b/web/dist/assets/formatTime-000dbebb.js @@ -0,0 +1 @@ +import{h as r}from"./moment-b7869f98.js";r.locale("zh-cn");const f=e=>r.unix(e).fromNow(),a=e=>{let t=r.unix(e),o=r();return t.year()!=o.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):r().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},n=e=>{let t=r.unix(e),o=r();return t.year()!=o.year()?t.utc(!0).format("YYYY-MM-DD"):r().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()};export{f as a,n as b,a as f}; diff --git a/web/dist/assets/formatTime-b37c8e0f.js b/web/dist/assets/formatTime-b37c8e0f.js deleted file mode 100644 index 2d5b0465..00000000 --- a/web/dist/assets/formatTime-b37c8e0f.js +++ /dev/null @@ -1 +0,0 @@ -import{h as r}from"./moment-b7869f98.js";r.locale("zh-cn");const n=o=>r.unix(o).fromNow(),a=(o,e)=>{if(e)return r.unix(o).fromNow();let t=r.unix(o),m=r();return t.year()!=m.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):r().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()};export{n as a,a as f}; diff --git a/web/dist/assets/index-2c67ab1f.js b/web/dist/assets/index-2c67ab1f.js deleted file mode 100644 index 7e32ae99..00000000 --- a/web/dist/assets/index-2c67ab1f.js +++ /dev/null @@ -1 +0,0 @@ -import{d as z,r as R,D as J,j,o as v,K as N,Y as a,a as k,L as o,c as T,e as S,P as K,Z as q,O as M,U as m,n as Q,w as H,_ as ae,F as Y,$ as Z,M as I,s as P,a0 as he,Q as X,a1 as ge,a2 as fe}from"./@vue-f70ab1bd.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-29025daf.js";import{c as ke,u as B}from"./vuex-cc1858c6.js";import{a as be}from"./axios-707ed124.js";import{_ as Pe,N as Oe,a as ue,b as ie,c as Le,d as Ae,e as ce,f as Te,g as Re,h as de,i as Ee,j as x,k as $e,u as Ce,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-ddb574dd.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-2f3cb6b9.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-804c4158.js";import"./evtd-b614532e.js";import"./@css-render-66126308.js";import"./vooks-dfdd6eef.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const h of n.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&c(h)}).observe(document,{childList:!0,subtree:!0});function l(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=l(i);fetch(i.href,n)}})();const Ge="modulepreload",Je=function(e){return"/"+e},se={},A=function(t,l,c){if(!l||l.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Je(n),n in se)return;se[n]=!0;const h=n.endsWith(".css"),d=h?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!h||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Ge,h||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),h)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Ye=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-d5642721.js"),["assets/Home-d5642721.js","assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js","assets/content-8a1c5cf4.js","assets/@vue-f70ab1bd.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-29a967e9.js","assets/content-cc55174b.css","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/post-item-3a63e077.css","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/IEnum-ea67d3af.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-a6a89713.js"),["assets/Post-a6a89713.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/@vue-f70ab1bd.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/vuex-cc1858c6.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/@vicons-2f3cb6b9.js","assets/content-8a1c5cf4.js","assets/nonesir-video-29a967e9.js","assets/content-cc55174b.css","assets/vue-router-29025daf.js","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/IEnum-ea67d3af.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Post-03f1477b.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-d2e628eb.js"),["assets/Topic-d2e628eb.js","assets/@vicons-2f3cb6b9.js","assets/@vue-f70ab1bd.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-3a3a6f75.js"),["assets/Anouncement-3a3a6f75.js","assets/post-skeleton-3f57d9d8.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/@vue-f70ab1bd.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/@vicons-2f3cb6b9.js","assets/main-nav-3ef9bae6.css","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-fad07169.js"),["assets/Profile-fad07169.js","assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js","assets/content-8a1c5cf4.js","assets/@vue-f70ab1bd.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-29a967e9.js","assets/content-cc55174b.css","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/post-item-3a63e077.css","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-7dc48d3a.js"),["assets/User-7dc48d3a.js","assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js","assets/content-8a1c5cf4.js","assets/@vue-f70ab1bd.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-29a967e9.js","assets/content-cc55174b.css","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/post-item-3a63e077.css","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-9ea80ee4.js"),["assets/Messages-9ea80ee4.js","assets/@vue-f70ab1bd.js","assets/vue-router-29025daf.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-5630079c.js"),["assets/Collection-5630079c.js","assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js","assets/content-8a1c5cf4.js","assets/@vue-f70ab1bd.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-29a967e9.js","assets/content-cc55174b.css","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/post-item-3a63e077.css","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-420c94de.js"),["assets/Contacts-420c94de.js","assets/vue-router-29025daf.js","assets/@vue-f70ab1bd.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-3f57d9d8.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/@vicons-2f3cb6b9.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-6172b6ec.js"),["assets/Wallet-6172b6ec.js","assets/post-skeleton-3f57d9d8.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/@vue-f70ab1bd.js","assets/vueuc-804c4158.js","assets/evtd-b614532e.js","assets/@css-render-66126308.js","assets/vooks-dfdd6eef.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/vue-router-29025daf.js","assets/@vicons-2f3cb6b9.js","assets/main-nav-3ef9bae6.css","assets/qrcode-23069ad7.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-59d11638.js","assets/formatTime-b37c8e0f.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-105fa341.js"),["assets/Setting-105fa341.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/@vue-f70ab1bd.js","assets/vue-router-29025daf.js","assets/vooks-dfdd6eef.js","assets/evtd-b614532e.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/@css-render-66126308.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-85c252ce.js"),["assets/404-85c252ce.js","assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js","assets/vuex-cc1858c6.js","assets/@vue-f70ab1bd.js","assets/vue-router-29025daf.js","assets/vooks-dfdd6eef.js","assets/evtd-b614532e.js","assets/@vicons-2f3cb6b9.js","assets/naive-ui-ddb574dd.js","assets/seemly-76b7b838.js","assets/vueuc-804c4158.js","assets/@css-render-66126308.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Ye});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Ze=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Xe=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),c=R(!1),i=R(),n=J({username:"",password:""}),h=R(),d=J({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(O=>{O||(c.value=!0,ne({username:n.username,password:n.password}).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("登录成功"),c.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),n.username="",n.password=""}).catch(p=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=h.value)==null||u.validate(O=>{O||(c.value=!0,Xe({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("注册成功"),c.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{c.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const O=Pe,p=Oe,r=ue,w=ie,L=Le,y=Ae,$=ce,C=Te,D=Re,F=de,V=Ee;return v(),N(V,{show:m(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>m(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(F,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(r,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(O,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(y,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(w,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(w,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o($,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),N(D,{key:1,"default-value":m(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o(C,{name:"signin",tab:"登录"},{default:a(()=>[o(y,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(w,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(w,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o($,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o(C,{name:"signup",tab:"注册"},{default:a(()=>[o(y,{ref_key:"registerRef",ref:h,model:d,rules:U},{default:a(()=>[o(L,{label:"用户名",path:"username"},{default:a(()=>[o(w,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(w,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"重复密码",path:"repassword"},{default:a(()=>[o(w,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o($,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[c,i]of t)l[c]=i;return l},st=me(ot,[["__scopeId","data-v-52205ad0"]]),Yt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Zt=e=>s({method:"get",url:"/v1/post",params:e}),Xt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),io=e=>s({method:"post",url:"/v1/post/visibility",data:e}),co=e=>s({method:"post",url:"/v1/post/comment",data:e}),po=e=>s({method:"delete",url:"/v1/post/comment",data:e}),mo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),_o=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),ho=e=>s({method:"post",url:"/v1/topic/stick",data:e}),go=e=>s({method:"post",url:"/v1/topic/follow",data:e}),fo=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},it={class:"copyright"},ct=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),c=R(!1),i=R(""),n=B(),h=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",O=+"12",p=()=>{c.value=!0,nt({type:"hot_extral",num:O,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],L.value=!0,c.value=!1}).catch(y=>{c.value=!1})},r=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,w=()=>{h.push({name:"home",query:{q:i.value}})},L=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow}),(y,$)=>{y.refreshTopicFollow!==$.refreshTopicFollow&&p()}),j(()=>{p()}),(y,$)=>{const C=x,D=ie,F=ae("router-link"),V=$e,f=de,_e=ue;return m(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o(D,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":$[0]||($[0]=E=>i.value=E),onKeyup:K(q(w,["prevent"]),["enter"])},{prefix:a(()=>[o(C,{component:m(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),m(L)?(v(),N(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:c.value},{default:a(()=>[(v(!0),T(Y,null,Z(l.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",lt,I(r(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:c.value},{default:a(()=>[(v(!0),T(Y,null,Z(t.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",ut,I(r(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",it,"© "+I(m(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:m(g),target:"_blank",class:"hash-link"},I(m(U)),9,ct),k("a",{href:m(_),target:"_blank",class:"hash-link"},I(m(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-54a02510"]]),vo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),wo=e=>s({method:"post",url:"/v1/captcha",data:e}),yo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),ko=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),bo=e=>s({method:"post",url:"/v1/friend/add",data:e}),Po=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Oo=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Lo=e=>s({method:"post",url:"/v1/user/phone",data:e}),Ao=e=>s({method:"post",url:"/v1/user/activate",data:e}),To=e=>s({method:"post",url:"/v1/user/password",data:e}),Ro=e=>s({method:"post",url:"/v1/user/nickname",data:e}),Eo=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),$o=e=>s({method:"get",url:"/v1/user/messages",params:e}),Co=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Io=e=>s({method:"get",url:"/v1/user/collections",params:e}),So=e=>s({method:"get",url:"/v1/user/profile",params:e}),Mo=e=>s({method:"get",url:"/v1/user/posts",params:e}),Uo=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),Ko=e=>s({method:"post",url:"/v1/user/recharge",data:e}),qo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),No=e=>s({method:"get",url:"/v1/suggest/users",params:e}),Do=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),xo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Fo=e=>s({method:"get",url:"/v1/attachment",params:e}),Vo=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Ot={key:0,class:"login-only-wrap"},Lt={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),c=le(),i=R(!1),n=R(l.name||""),h=R(),d=R("true".toLowerCase()==="true");H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?h.value||(re().then(r=>{i.value=r.count>0}).catch(r=>{console.log(r)}),h.value=setInterval(()=>{re().then(r=>{i.value=r.count>0}).catch(r=>{console.log(r)})},5e3)):h.value&&clearInterval(h.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const U=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),g=r=>"href"in r?P("div",{},r.label):r.label,b=r=>r.key==="messages"?P(Ie,{dot:!0,show:i.value,processing:!0},{default:()=>P(x,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(x,null,{default:r.icon}),_=(r,w={})=>{n.value=r,c.push({name:r})},u=()=>{l.path==="/"&&t.commit("refresh"),_("home")},O=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},p=()=>{t.commit("userLogout"),u()};return window.$store=t,window.$message=Ce(),(r,w)=>{const L=Se,y=Me,$=Ue,C=ce;return v(),T("div",ht,[k("div",gt,[o(L,{class:"logo-img",width:"36",src:m(_t),"preview-disabled":!0,onClick:u},null,8,["src"])]),o(y,{accordion:!0,"icon-size":24,options:m(U),"render-label":g,"render-icon":b,value:n.value,"onUpdate:value":_},null,8,["options","value"]),m(t).state.userInfo.id>0?(v(),T("div",ft,[o($,{class:"user-avatar",round:"",size:34,src:m(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(m(t).state.userInfo.nickname),1),o(C,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:p},{icon:a(()=>[o(m(x),null,{default:a(()=>[o(m(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(m(t).state.userInfo.username),1)]),k("div",bt,[o(C,{class:"logout",quaternary:"",circle:"",onClick:p},{icon:a(()=>[o(m(x),{size:24},{default:a(()=>[o(m(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Ot,[o(C,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=D=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Lt,[o(C,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=D=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o(C,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=D=>O("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Et={class:"content-wrap"},$t=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(c,i)=>{const n=At,h=ae("router-view"),d=mt,U=st,g=Ne,b=De,_=xe,u=Ke;return v(),N(u,{theme:m(l)},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var O;return[k("div",{class:ge(["app-container",{dark:((O=m(l))==null?void 0:O.name)==="dark"}])},[k("div",Tt,[m(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Et,[o(h,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),N(he,null,[c.$route.meta.keepAlive?(v(),N(X(p),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(v(),N(X(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(_)]),_:1},8,["theme"])}}});fe($t).use(pe).use(Ze).mount("#app");export{Oo as A,Vo as B,bo as C,Po as D,Co as E,$o as F,Io as G,xo as H,Fo as I,no as J,W as K,Uo as L,Ko as M,qo as N,vo as O,Eo as P,To as Q,Lo as R,Ao as S,Ro as T,wo as U,At as V,me as _,Do as a,Yt as b,ro as c,mo as d,_o as e,po as f,No as g,co as h,Xt as i,to as j,ao as k,lo as l,oo as m,Zt as n,so as o,eo as p,ho as q,go as r,uo as s,nt as t,fo as u,io as v,Mo as w,yo as x,ko as y,So as z}; diff --git a/web/dist/assets/index-91393603.css b/web/dist/assets/index-df729f44.css similarity index 80% rename from web/dist/assets/index-91393603.css rename to web/dist/assets/index-df729f44.css index bf4f1be3..fc9ed789 100644 --- a/web/dist/assets/index-91393603.css +++ b/web/dist/assets/index-df729f44.css @@ -1 +1 @@ -.auth-wrap[data-v-52205ad0]{margin-top:-30px}.dark .auth-wrap[data-v-52205ad0]{background-color:#101014bf}.rightbar-wrap[data-v-54a02510]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px)}.rightbar-wrap .search-wrap[data-v-54a02510]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-54a02510]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-54a02510]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-54a02510]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .hottopic-wrap[data-v-54a02510]{margin-bottom:10px}.rightbar-wrap .copyright-wrap .copyright[data-v-54a02510]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-54a02510]{font-size:12px}.dark .hottopic-wrap[data-v-54a02510],.dark .copyright-wrap[data-v-54a02510]{background-color:#18181c}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.logo-wrap .logo-img{margin-left:24px}.logo-wrap .logo-img:hover{cursor:pointer}.user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.user-wrap .user-mini-wrap{display:none}.user-wrap .user-avatar{margin-right:8px}.user-wrap .user-info{display:flex;flex-direction:column}.user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.user-wrap .user-info .nickname .logout{margin-left:6px}.user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.user-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-only-wrap button{margin:0 4px;width:80%}.user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:200px;right:calc(100% - 200px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-only-wrap,.user-wrap .login-wrap{margin-bottom:32px}}:root{--content-main: 544px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;position:absolute!important}} +.auth-wrap[data-v-053dfa44]{margin-top:-30px}.dark .auth-wrap[data-v-053dfa44]{background-color:#101014bf}.rightbar-wrap[data-v-f4a84024]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px)}.rightbar-wrap .search-wrap[data-v-f4a84024]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-f4a84024]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-f4a84024]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-f4a84024]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .hottopic-wrap[data-v-f4a84024]{margin-bottom:10px}.rightbar-wrap .copyright-wrap .copyright[data-v-f4a84024]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-f4a84024]{font-size:12px}.dark .hottopic-wrap[data-v-f4a84024],.dark .copyright-wrap[data-v-f4a84024]{background-color:#18181c}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.logo-wrap .logo-img{margin-left:24px}.logo-wrap .logo-img:hover{cursor:pointer}.user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.user-wrap .user-mini-wrap{display:none}.user-wrap .user-avatar{margin-right:8px}.user-wrap .user-info{display:flex;flex-direction:column}.user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.user-wrap .user-info .nickname .logout{margin-left:6px}.user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.user-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-only-wrap button{margin:0 4px;width:80%}.user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:200px;right:calc(100% - 200px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-only-wrap,.user-wrap .login-wrap{margin-bottom:32px}}:root{--content-main: 544px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;position:absolute!important}} diff --git a/web/dist/assets/index-f67b4cc5.js b/web/dist/assets/index-f67b4cc5.js new file mode 100644 index 00000000..4856fdac --- /dev/null +++ b/web/dist/assets/index-f67b4cc5.js @@ -0,0 +1 @@ +import{d as z,r as R,D as Y,j,o as v,K as D,$ as a,a as k,L as o,c as T,e as S,P as K,a0 as q,O as M,Y as m,n as Q,w as H,a1 as ae,F as J,a2 as X,M as I,s as P,a3 as he,Q as Z,a4 as ge,a5 as fe}from"./@vue-ca177dbe.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-88cc84d1.js";import{c as ke,u as B}from"./vuex-d28e9067.js";import{a as be}from"./axios-707ed124.js";import{_ as Pe,N as Oe,a as ue,b as ce,c as Le,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ce,j as x,k as Ee,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as De,s as Ne,t as xe}from"./naive-ui-2035804c.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-6d35273b.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const h of n.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&i(h)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Ye=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Ye(n),n in se)return;se[n]=!0;const h=n.endsWith(".css"),d=h?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!h||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Ge,h||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),h)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Je=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-8df7b0d5.js"),["assets/Home-8df7b0d5.js","assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js","assets/content-71c02e20.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/post-item-294ca437.css","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-974ee303.js"),["assets/Post-974ee303.js","assets/@vue-ca177dbe.js","assets/vuex-d28e9067.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/IEnum-a180d93e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-71c02e20.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vue-router-88cc84d1.js","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/main-nav-3ef9bae6.css","assets/v3-infinite-loading-fcb59c38.js","assets/v3-infinite-loading-7d241236.css","assets/axios-707ed124.js","assets/Post-d4d1dd23.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-f45ab0e7.js"),["assets/Topic-f45ab0e7.js","assets/@vicons-6d35273b.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-5ae3726d.js"),["assets/Anouncement-5ae3726d.js","assets/post-skeleton-a514cb09.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-ed34d1fe.js"),["assets/Profile-ed34d1fe.js","assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js","assets/content-71c02e20.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/post-item-294ca437.css","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-6452d9e2.js"),["assets/User-6452d9e2.js","assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js","assets/content-71c02e20.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/post-item-294ca437.css","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-5d535b68.js"),["assets/Messages-5d535b68.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-651490f8.js"),["assets/Collection-651490f8.js","assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js","assets/content-71c02e20.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/post-item-294ca437.css","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-61e6f602.js"),["assets/Contacts-61e6f602.js","assets/vue-router-88cc84d1.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-a514cb09.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-2d27e25e.js"),["assets/Wallet-2d27e25e.js","assets/post-skeleton-a514cb09.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/qrcode-23069ad7.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-59d11638.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-2177b635.js"),["assets/Setting-2177b635.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-85cc3505.js"),["assets/404-85cc3505.js","assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Je});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Xe=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=Y({username:"",password:""}),h=R(),d=Y({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(O=>{O||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=h.value)==null||u.validate(O=>{O||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const O=Pe,p=Oe,r=ue,y=ce,L=Le,w=Ae,E=ie,$=Te,N=Re,F=de,V=Ce;return v(),D(V,{show:m(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>m(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(F,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(r,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(O,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(w,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(y,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D(N,{key:1,"default-value":m(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o($,{name:"signin",tab:"登录"},{default:a(()=>[o(w,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(y,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o($,{name:"signup",tab:"注册"},{default:a(()=>[o(w,{ref_key:"registerRef",ref:h,model:d,rules:U},{default:a(()=>[o(L,{label:"用户名",path:"username"},{default:a(()=>[o(y,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"重复密码",path:"repassword"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Jt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Xt=e=>s({method:"get",url:"/v1/post",params:e}),Zt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),h=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",O=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:O,extral_num:u}).then(w=>{t.value=w.topics,l.value=w.extral_topics??[],L.value=!0,i.value=!1}).catch(w=>{i.value=!1})},r=w=>w>=1e3?(w/1e3).toFixed(1)+"k":w,y=()=>{h.push({name:"home",query:{q:c.value}})},L=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:w=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(w,E)=>{(w.refreshTopicFollow!==E.refreshTopicFollow||w.userLogined)&&p()}),j(()=>{p()}),(w,E)=>{const $=x,N=ce,F=ae("router-link"),V=Ee,f=de,_e=ue;return m(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o(N,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":E[0]||(E[0]=C=>c.value=C),onKeyup:K(q(y,["prevent"]),["enter"])},{prefix:a(()=>[o($,{component:m(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),m(L)?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(l.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",lt,I(r(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(t.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",ut,I(r(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(m(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:m(g),target:"_blank",class:"hash-link"},I(m(U)),9,it),k("a",{href:m(_),target:"_blank",class:"hash-link"},I(m(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Oo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Lo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>s({method:"post",url:"/v1/user/phone",data:e}),Eo=e=>s({method:"post",url:"/v1/user/activate",data:e}),$o=e=>s({method:"post",url:"/v1/user/password",data:e}),Io=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Mo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Uo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),Do=e=>s({method:"get",url:"/v1/user/posts",params:e}),No=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Ot={key:0,class:"login-only-wrap"},Lt={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),h=R(),d=R("true".toLowerCase()==="true");H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?h.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),h.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},5e3)):h.value&&clearInterval(h.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const U=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),g=r=>"href"in r?P("div",{},r.label):r.label,b=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(x,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(x,null,{default:r.icon}),_=(r,y={})=>{n.value=r,i.push({name:r})},u=()=>{l.path==="/"&&t.commit("refresh"),_("home")},O=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},p=()=>{t.commit("userLogout"),t.commit("refresh"),u()};return window.$store=t,window.$message=$e(),(r,y)=>{const L=Se,w=Me,E=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[o(L,{class:"logo-img",width:"36",src:m(_t),"preview-disabled":!0,onClick:u},null,8,["src"])]),o(w,{accordion:!0,"icon-size":24,options:m(U),"render-label":g,"render-icon":b,value:n.value,"onUpdate:value":_},null,8,["options","value"]),m(t).state.userInfo.id>0?(v(),T("div",ft,[o(E,{class:"user-avatar",round:"",size:34,src:m(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(m(t).state.userInfo.nickname),1),o($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:p},{icon:a(()=>[o(m(x),null,{default:a(()=>[o(m(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(m(t).state.userInfo.username),1)]),k("div",bt,[o($,{class:"logout",quaternary:"",circle:"",onClick:p},{icon:a(()=>[o(m(x),{size:24},{default:a(()=>[o(m(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Ot,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=N=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Lt,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=N=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o($,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=N=>O("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Ct={class:"content-wrap"},Et=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,h=ae("router-view"),d=mt,U=st,g=De,b=Ne,_=xe,u=Ke;return v(),D(u,{theme:m(l)},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var O;return[k("div",{class:ge(["app-container",{dark:((O=m(l))==null?void 0:O.name)==="dark",mobile:!m(t).state.desktopModelShow}])},[k("div",Tt,[m(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Ct,[o(h,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(_)]),_:1},8,["theme"])}}});fe(Et).use(pe).use(Xe).mount("#app");export{Do as A,Oo as B,Lo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Uo as I,Mo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,No as P,xo as Q,Fo as R,bo as S,So as T,$o as U,Co as V,Eo as W,Io as X,Po as Y,At as Z,me as _,zo as a,Jt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Zt as l,to as m,ao as n,lo as o,eo as p,oo as q,Xt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js similarity index 55% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js index 661c229e..12369f19 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-427305f4.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-bd108629.js @@ -1 +1 @@ -import{V as E}from"./index-2c67ab1f.js";import{u as S}from"./vuex-cc1858c6.js";import{u as z}from"./vue-router-29025daf.js";import{j as A}from"./vooks-dfdd6eef.js";import{D as C,u as D,v as N,w as P}from"./@vicons-2f3cb6b9.js";import{a3 as x,a4 as R,j as V,e as I,a5 as j,h as H}from"./naive-ui-ddb574dd.js";import{d as L,r as f,j as U,o as a,c as g,U as o,L as e,Y as t,O as c,a as q,K as _,e as F,M as $,F as K}from"./@vue-f70ab1bd.js";const Y={key:0},G={class:"navbar"},oe=L({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(r){const i=r,n=S(),m=z(),l=f(!1),k=f("left"),u=d=>{d?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return U(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(d,p)=>{const y=E,b=x,O=R,s=V,h=I,M=j,T=H;return a(),g(K,null,[o(n).state.drawerModelShow?(a(),g("div",Y,[e(O,{show:l.value,"onUpdate:show":p[0]||(p[0]=B=>l.value=B),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[q("div",G,[o(n).state.drawerModelShow&&!r.back?(a(),_(h,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),r.back?(a(),_(h,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),F(" "+$(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(s,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(s,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; +import{Z as B}from"./index-f67b4cc5.js";import{u as E}from"./vuex-d28e9067.js";import{u as S}from"./vue-router-88cc84d1.js";import{j as A}from"./vooks-2c48c2b5.js";import{D as C,y as D,z as N,F as P}from"./@vicons-6d35273b.js";import{a3 as x,a4 as R,j as I,e as V,a5 as j,h as F}from"./naive-ui-2035804c.js";import{d as H,r as f,j as L,o as a,c as g,Y as o,L as e,$ as t,O as c,a as $,K as _,e as q,M as U,F as K}from"./@vue-ca177dbe.js";const Y={key:0},Z={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(r){const i=r,n=E(),m=S(),l=f(!1),k=f("left"),u=d=>{d?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return L(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(d,p)=>{const y=B,b=x,O=R,s=I,h=V,M=j,T=F;return a(),g(K,null,[o(n).state.drawerModelShow?(a(),g("div",Y,[e(O,{show:l.value,"onUpdate:show":p[0]||(p[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[$("div",Z,[o(n).state.drawerModelShow&&!r.back?(a(),_(h,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),r.back?(a(),_(h,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),q(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(s,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(s,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/naive-ui-ddb574dd.js b/web/dist/assets/naive-ui-2035804c.js similarity index 99% rename from web/dist/assets/naive-ui-ddb574dd.js rename to web/dist/assets/naive-ui-2035804c.js index 9c9acedb..753fc17f 100644 --- a/web/dist/assets/naive-ui-ddb574dd.js +++ b/web/dist/assets/naive-ui-2035804c.js @@ -1,4 +1,4 @@ -import{r as lr,s as Je,c as $e,g as Jt,d as Mo,a as Bt,h as ft,b as Q,e as nt,f as Qs,p as _o,i as Yt,j as Hi}from"./seemly-76b7b838.js";import{e as zr,F as ao,C as Ai,f as Js,v as Ko,d as q,i as Se,g as kr,w as Ke,h as wo,r as D,j as mo,k as ar,l as ed,m as Ei,p as Oe,n as R,q as oo,s as i,T as no,t as un,u as ie,x as ko,y as io,z as Lo,A as er,B as jn,D as ji,E as Vr,G as Ur,H as od,I as td,J as Wi}from"./@vue-f70ab1bd.js";import{r as Wn,V as ht,a as rd,b as Ir,F as fn,c as Br,d as Tr,e as Nn,L as hn,f as nd}from"./vueuc-804c4158.js";import{u as We,i as bt,a as id,b as so,c as pt,d as ld,e as Ni,f as Vi,g as ad,o as sd}from"./vooks-dfdd6eef.js";import{m as It,u as dd,a as cd,r as ud,g as Ui,k as fd,t as Kr}from"./lodash-es-8412e618.js";import{m as $r}from"./@emotion-8a8e73f6.js";import{c as Ft,m as hd,z as Fr}from"./vdirs-b0483831.js";import{c as pd,a as sr}from"./treemate-25c27bff.js";import{S as vd}from"./async-validator-dee29e8b.js";import{o as Do,a as Ro}from"./evtd-b614532e.js";import{p as gd,u as Or}from"./@css-render-66126308.js";import{d as md}from"./date-fns-975a2d8f.js";import{C as bd,e as xd}from"./css-render-6a5c5852.js";function pn(e,o="default",t=[]){const n=e.$slots[o];return n===void 0?t:n()}function go(e,o=[],t){const r={};return o.forEach(n=>{r[n]=e[n]}),Object.assign(r,t)}function _t(e,o=[],t){const r={};return Object.getOwnPropertyNames(e).forEach(l=>{o.includes(l)||(r[l]=e[l])}),Object.assign(r,t)}function ot(e,o=!0,t=[]){return e.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(zr(String(r)));return}if(Array.isArray(r)){ot(r,o,t);return}if(r.type===ao){if(r.children===null)return;Array.isArray(r.children)&&ot(r.children,o,t)}else r.type!==Ai&&t.push(r)}}),t}function ae(e,...o){if(Array.isArray(e))e.forEach(t=>ae(t,...o));else return e(...o)}function yo(e){return Object.keys(e)}const qe=(e,...o)=>typeof e=="function"?e(...o):typeof e=="string"?zr(e):typeof e=="number"?zr(String(e)):null;function Go(e,o){console.error(`[naive/${e}]: ${o}`)}function Eo(e,o){throw new Error(`[naive/${e}]: ${o}`)}function Vn(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}function Ki(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function ln(e,o="default",t=void 0){const r=e[o];if(!r)return Go("getFirstSlotVNode",`slot[${o}] is empty`),null;const n=ot(r(t));return n.length===1?n[0]:(Go("getFirstSlotVNode",`slot[${o}] should have exactly one child`),null)}function Gi(e){return o=>{o?e.value=o.$el:e.value=null}}function dr(e){return e.some(o=>Js(o)?!(o.type===Ai||o.type===ao&&!dr(o.children)):!0)?e:null}function lo(e,o){return e&&dr(e())||o()}function qi(e,o,t){return e&&dr(e(o))||t(o)}function Ee(e,o){const t=e&&dr(e());return o(t||null)}function ut(e){return!(e&&dr(e()))}function Qt(e){const o=e.filter(t=>t!==void 0);if(o.length!==0)return o.length===1?o[0]:t=>{e.forEach(r=>{r&&r(t)})}}function Cd(e){var o;const t=(o=e.dirs)===null||o===void 0?void 0:o.find(({dir:r})=>r===Ko);return!!(t&&t.value===!1)}const an=q({render(){var e,o;return(o=(e=this.$slots).default)===null||o===void 0?void 0:o.call(e)}}),yd=/^(\d|\.)+$/,Un=/(\d|\.)+/;function eo(e,{c:o=1,offset:t=0,attachPx:r=!0}={}){if(typeof e=="number"){const n=(e+t)*o;return n===0?"0":`${n}px`}else if(typeof e=="string")if(yd.test(e)){const n=(Number(e)+t)*o;return r?n===0?"0":`${n}px`:`${n}`}else{const n=Un.exec(e);return n?e.replace(Un,String((Number(n[0])+t)*o)):e}return e}function Ot(e){return e.replace(/#|\(|\)|,|\s/g,"_")}function W(e,o){return e+(o==="default"?"":o.replace(/^[a-z]/,t=>t.toUpperCase()))}W("abc","def");const wd="n",or=`.${wd}-`,Sd="__",zd="--",Yi=bd(),Xi=gd({blockPrefix:or,elementPrefix:Sd,modifierPrefix:zd});Yi.use(Xi);const{c:y,find:u1}=Yi,{cB:g,cE:w,cM:k,cNotM:je}=Xi;function Mr(e){return y(({props:{bPrefix:o}})=>`${o||or}modal, ${o||or}drawer`,[e])}function vn(e){return y(({props:{bPrefix:o}})=>`${o||or}popover`,[e])}function Zi(e){return y(({props:{bPrefix:o}})=>`&${o||or}modal`,e)}const $d=(...e)=>y(">",[g(...e)]);let Gr;function Rd(){return Gr===void 0&&(Gr=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Gr}const jo=typeof document<"u"&&typeof window<"u",Qi=new WeakSet;function Pd(e){Qi.add(e)}function Ji(e){return!Qi.has(e)}function kd(e,o,t){var r;const n=Se(e,null);if(n===null)return;const l=(r=kr())===null||r===void 0?void 0:r.proxy;Ke(t,a),a(t.value),wo(()=>{a(void 0,t.value)});function a(c,u){const f=n[o];u!==void 0&&s(f,u),c!==void 0&&d(f,c)}function s(c,u){c[u]||(c[u]=[]),c[u].splice(c[u].findIndex(f=>f===l),1)}function d(c,u){c[u]||(c[u]=[]),~c[u].findIndex(f=>f===l)||c[u].push(l)}}function Id(e,o,t){if(!o)return e;const r=D(e.value);let n=null;return Ke(e,l=>{n!==null&&window.clearTimeout(n),l===!0?t&&!t.value?r.value=!0:n=window.setTimeout(()=>{r.value=!0},o):r.value=!1}),r}const gn="n-internal-select-menu",el="n-internal-select-menu-body",cr="n-modal-body",ol="n-modal",ur="n-drawer-body",mn="n-drawer",Dt="n-popover-body",tl="__disabled__";function Io(e){const o=Se(cr,null),t=Se(ur,null),r=Se(Dt,null),n=Se(el,null),l=D();if(typeof document<"u"){l.value=document.fullscreenElement;const a=()=>{l.value=document.fullscreenElement};mo(()=>{Do("fullscreenchange",document,a)}),wo(()=>{Ro("fullscreenchange",document,a)})}return We(()=>{var a;const{to:s}=e;return s!==void 0?s===!1?tl:s===!0?l.value||"body":s:o!=null&&o.value?(a=o.value.$el)!==null&&a!==void 0?a:o.value:t!=null&&t.value?t.value:r!=null&&r.value?r.value:n!=null&&n.value?n.value:s??(l.value||"body")})}Io.tdkey=tl;Io.propTo={type:[String,Object,Boolean],default:void 0};let Kn=!1;function rl(){if(jo&&window.CSS&&!Kn&&(Kn=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function nl(e,o){o&&(mo(()=>{const{value:t}=e;t&&Wn.registerHandler(t,o)}),wo(()=>{const{value:t}=e;t&&Wn.unregisterHandler(t)}))}let $t=0,Gn="",qn="",Yn="",Xn="";const Zn=D("0px");function il(e){if(typeof document>"u")return;const o=document.documentElement;let t,r=!1;const n=()=>{o.style.marginRight=Gn,o.style.overflow=qn,o.style.overflowX=Yn,o.style.overflowY=Xn,Zn.value="0px"};mo(()=>{t=Ke(e,l=>{if(l){if(!$t){const a=window.innerWidth-o.offsetWidth;a>0&&(Gn=o.style.marginRight,o.style.marginRight=`${a}px`,Zn.value=`${a}px`),qn=o.style.overflow,Yn=o.style.overflowX,Xn=o.style.overflowY,o.style.overflow="hidden",o.style.overflowX="hidden",o.style.overflowY="hidden"}r=!0,$t++}else $t--,$t||n(),r=!1},{immediate:!0})}),wo(()=>{t==null||t(),r&&($t--,$t||n(),r=!1)})}const bn=D(!1),Qn=()=>{bn.value=!0},Jn=()=>{bn.value=!1};let Xt=0;const ll=()=>(jo&&(ar(()=>{Xt||(window.addEventListener("compositionstart",Qn),window.addEventListener("compositionend",Jn)),Xt++}),wo(()=>{Xt<=1?(window.removeEventListener("compositionstart",Qn),window.removeEventListener("compositionend",Jn),Xt=0):Xt--})),bn);function Bd(e){const o={isDeactivated:!1};let t=!1;return ed(()=>{if(o.isDeactivated=!1,!t){t=!0;return}e()}),Ei(()=>{o.isDeactivated=!0,t||(t=!0)}),o}const Rr="n-form-item";function tt(e,{defaultSize:o="medium",mergedSize:t,mergedDisabled:r}={}){const n=Se(Rr,null);Oe(Rr,null);const l=R(t?()=>t(n):()=>{const{size:d}=e;if(d)return d;if(n){const{mergedSize:c}=n;if(c.value!==void 0)return c.value}return o}),a=R(r?()=>r(n):()=>{const{disabled:d}=e;return d!==void 0?d:n?n.disabled.value:!1}),s=R(()=>{const{status:d}=e;return d||(n==null?void 0:n.mergedValidationStatus.value)});return wo(()=>{n&&n.restoreValidation()}),{mergedSizeRef:l,mergedDisabledRef:a,mergedStatusRef:s,nTriggerFormBlur(){n&&n.handleContentBlur()},nTriggerFormChange(){n&&n.handleContentChange()},nTriggerFormFocus(){n&&n.handleContentFocus()},nTriggerFormInput(){n&&n.handleContentInput()}}}const So={fontFamily:'v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontFamilyMono:"v-mono, SFMono-Regular, Menlo, Consolas, Courier, monospace",fontWeight:"400",fontWeightStrong:"500",cubicBezierEaseInOut:"cubic-bezier(.4, 0, .2, 1)",cubicBezierEaseOut:"cubic-bezier(0, 0, .2, 1)",cubicBezierEaseIn:"cubic-bezier(.4, 0, 1, 1)",borderRadius:"3px",borderRadiusSmall:"2px",fontSize:"14px",fontSizeMini:"12px",fontSizeTiny:"12px",fontSizeSmall:"14px",fontSizeMedium:"14px",fontSizeLarge:"15px",fontSizeHuge:"16px",lineHeight:"1.6",heightMini:"16px",heightTiny:"22px",heightSmall:"28px",heightMedium:"34px",heightLarge:"40px",heightHuge:"46px"},{fontSize:Td,fontFamily:Fd,lineHeight:Od}=So,al=y("body",` +import{r as lr,s as Je,c as $e,g as Jt,d as Mo,a as Bt,h as ft,b as Q,e as nt,f as Qs,p as _o,i as Yt,j as Hi}from"./seemly-76b7b838.js";import{e as zr,F as ao,C as Ai,f as Js,v as Ko,d as q,i as Se,g as kr,w as Ke,h as wo,r as D,j as mo,k as ar,l as ed,m as Ei,p as Oe,n as R,q as oo,s as i,T as no,t as un,u as ie,x as ko,y as io,z as Lo,A as er,B as jn,D as ji,E as Vr,G as Ur,H as od,I as td,J as Wi}from"./@vue-ca177dbe.js";import{r as Wn,V as ht,a as rd,b as Ir,F as fn,c as Br,d as Tr,e as Nn,L as hn,f as nd}from"./vueuc-973e5707.js";import{u as We,i as bt,a as id,b as so,c as pt,d as ld,e as Ni,f as Vi,g as ad,o as sd}from"./vooks-2c48c2b5.js";import{m as It,u as dd,a as cd,r as ud,g as Ui,k as fd,t as Kr}from"./lodash-es-8412e618.js";import{m as $r}from"./@emotion-8a8e73f6.js";import{c as Ft,m as hd,z as Fr}from"./vdirs-b0483831.js";import{c as pd,a as sr}from"./treemate-25c27bff.js";import{S as vd}from"./async-validator-dee29e8b.js";import{o as Do,a as Ro}from"./evtd-b614532e.js";import{p as gd,u as Or}from"./@css-render-480a363d.js";import{d as md}from"./date-fns-975a2d8f.js";import{C as bd,e as xd}from"./css-render-6a5c5852.js";function pn(e,o="default",t=[]){const n=e.$slots[o];return n===void 0?t:n()}function go(e,o=[],t){const r={};return o.forEach(n=>{r[n]=e[n]}),Object.assign(r,t)}function _t(e,o=[],t){const r={};return Object.getOwnPropertyNames(e).forEach(l=>{o.includes(l)||(r[l]=e[l])}),Object.assign(r,t)}function ot(e,o=!0,t=[]){return e.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(zr(String(r)));return}if(Array.isArray(r)){ot(r,o,t);return}if(r.type===ao){if(r.children===null)return;Array.isArray(r.children)&&ot(r.children,o,t)}else r.type!==Ai&&t.push(r)}}),t}function ae(e,...o){if(Array.isArray(e))e.forEach(t=>ae(t,...o));else return e(...o)}function yo(e){return Object.keys(e)}const qe=(e,...o)=>typeof e=="function"?e(...o):typeof e=="string"?zr(e):typeof e=="number"?zr(String(e)):null;function Go(e,o){console.error(`[naive/${e}]: ${o}`)}function Eo(e,o){throw new Error(`[naive/${e}]: ${o}`)}function Vn(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}function Ki(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function ln(e,o="default",t=void 0){const r=e[o];if(!r)return Go("getFirstSlotVNode",`slot[${o}] is empty`),null;const n=ot(r(t));return n.length===1?n[0]:(Go("getFirstSlotVNode",`slot[${o}] should have exactly one child`),null)}function Gi(e){return o=>{o?e.value=o.$el:e.value=null}}function dr(e){return e.some(o=>Js(o)?!(o.type===Ai||o.type===ao&&!dr(o.children)):!0)?e:null}function lo(e,o){return e&&dr(e())||o()}function qi(e,o,t){return e&&dr(e(o))||t(o)}function Ee(e,o){const t=e&&dr(e());return o(t||null)}function ut(e){return!(e&&dr(e()))}function Qt(e){const o=e.filter(t=>t!==void 0);if(o.length!==0)return o.length===1?o[0]:t=>{e.forEach(r=>{r&&r(t)})}}function Cd(e){var o;const t=(o=e.dirs)===null||o===void 0?void 0:o.find(({dir:r})=>r===Ko);return!!(t&&t.value===!1)}const an=q({render(){var e,o;return(o=(e=this.$slots).default)===null||o===void 0?void 0:o.call(e)}}),yd=/^(\d|\.)+$/,Un=/(\d|\.)+/;function eo(e,{c:o=1,offset:t=0,attachPx:r=!0}={}){if(typeof e=="number"){const n=(e+t)*o;return n===0?"0":`${n}px`}else if(typeof e=="string")if(yd.test(e)){const n=(Number(e)+t)*o;return r?n===0?"0":`${n}px`:`${n}`}else{const n=Un.exec(e);return n?e.replace(Un,String((Number(n[0])+t)*o)):e}return e}function Ot(e){return e.replace(/#|\(|\)|,|\s/g,"_")}function W(e,o){return e+(o==="default"?"":o.replace(/^[a-z]/,t=>t.toUpperCase()))}W("abc","def");const wd="n",or=`.${wd}-`,Sd="__",zd="--",Yi=bd(),Xi=gd({blockPrefix:or,elementPrefix:Sd,modifierPrefix:zd});Yi.use(Xi);const{c:y,find:u1}=Yi,{cB:g,cE:w,cM:k,cNotM:je}=Xi;function Mr(e){return y(({props:{bPrefix:o}})=>`${o||or}modal, ${o||or}drawer`,[e])}function vn(e){return y(({props:{bPrefix:o}})=>`${o||or}popover`,[e])}function Zi(e){return y(({props:{bPrefix:o}})=>`&${o||or}modal`,e)}const $d=(...e)=>y(">",[g(...e)]);let Gr;function Rd(){return Gr===void 0&&(Gr=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Gr}const jo=typeof document<"u"&&typeof window<"u",Qi=new WeakSet;function Pd(e){Qi.add(e)}function Ji(e){return!Qi.has(e)}function kd(e,o,t){var r;const n=Se(e,null);if(n===null)return;const l=(r=kr())===null||r===void 0?void 0:r.proxy;Ke(t,a),a(t.value),wo(()=>{a(void 0,t.value)});function a(c,u){const f=n[o];u!==void 0&&s(f,u),c!==void 0&&d(f,c)}function s(c,u){c[u]||(c[u]=[]),c[u].splice(c[u].findIndex(f=>f===l),1)}function d(c,u){c[u]||(c[u]=[]),~c[u].findIndex(f=>f===l)||c[u].push(l)}}function Id(e,o,t){if(!o)return e;const r=D(e.value);let n=null;return Ke(e,l=>{n!==null&&window.clearTimeout(n),l===!0?t&&!t.value?r.value=!0:n=window.setTimeout(()=>{r.value=!0},o):r.value=!1}),r}const gn="n-internal-select-menu",el="n-internal-select-menu-body",cr="n-modal-body",ol="n-modal",ur="n-drawer-body",mn="n-drawer",Dt="n-popover-body",tl="__disabled__";function Io(e){const o=Se(cr,null),t=Se(ur,null),r=Se(Dt,null),n=Se(el,null),l=D();if(typeof document<"u"){l.value=document.fullscreenElement;const a=()=>{l.value=document.fullscreenElement};mo(()=>{Do("fullscreenchange",document,a)}),wo(()=>{Ro("fullscreenchange",document,a)})}return We(()=>{var a;const{to:s}=e;return s!==void 0?s===!1?tl:s===!0?l.value||"body":s:o!=null&&o.value?(a=o.value.$el)!==null&&a!==void 0?a:o.value:t!=null&&t.value?t.value:r!=null&&r.value?r.value:n!=null&&n.value?n.value:s??(l.value||"body")})}Io.tdkey=tl;Io.propTo={type:[String,Object,Boolean],default:void 0};let Kn=!1;function rl(){if(jo&&window.CSS&&!Kn&&(Kn=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function nl(e,o){o&&(mo(()=>{const{value:t}=e;t&&Wn.registerHandler(t,o)}),wo(()=>{const{value:t}=e;t&&Wn.unregisterHandler(t)}))}let $t=0,Gn="",qn="",Yn="",Xn="";const Zn=D("0px");function il(e){if(typeof document>"u")return;const o=document.documentElement;let t,r=!1;const n=()=>{o.style.marginRight=Gn,o.style.overflow=qn,o.style.overflowX=Yn,o.style.overflowY=Xn,Zn.value="0px"};mo(()=>{t=Ke(e,l=>{if(l){if(!$t){const a=window.innerWidth-o.offsetWidth;a>0&&(Gn=o.style.marginRight,o.style.marginRight=`${a}px`,Zn.value=`${a}px`),qn=o.style.overflow,Yn=o.style.overflowX,Xn=o.style.overflowY,o.style.overflow="hidden",o.style.overflowX="hidden",o.style.overflowY="hidden"}r=!0,$t++}else $t--,$t||n(),r=!1},{immediate:!0})}),wo(()=>{t==null||t(),r&&($t--,$t||n(),r=!1)})}const bn=D(!1),Qn=()=>{bn.value=!0},Jn=()=>{bn.value=!1};let Xt=0;const ll=()=>(jo&&(ar(()=>{Xt||(window.addEventListener("compositionstart",Qn),window.addEventListener("compositionend",Jn)),Xt++}),wo(()=>{Xt<=1?(window.removeEventListener("compositionstart",Qn),window.removeEventListener("compositionend",Jn),Xt=0):Xt--})),bn);function Bd(e){const o={isDeactivated:!1};let t=!1;return ed(()=>{if(o.isDeactivated=!1,!t){t=!0;return}e()}),Ei(()=>{o.isDeactivated=!0,t||(t=!0)}),o}const Rr="n-form-item";function tt(e,{defaultSize:o="medium",mergedSize:t,mergedDisabled:r}={}){const n=Se(Rr,null);Oe(Rr,null);const l=R(t?()=>t(n):()=>{const{size:d}=e;if(d)return d;if(n){const{mergedSize:c}=n;if(c.value!==void 0)return c.value}return o}),a=R(r?()=>r(n):()=>{const{disabled:d}=e;return d!==void 0?d:n?n.disabled.value:!1}),s=R(()=>{const{status:d}=e;return d||(n==null?void 0:n.mergedValidationStatus.value)});return wo(()=>{n&&n.restoreValidation()}),{mergedSizeRef:l,mergedDisabledRef:a,mergedStatusRef:s,nTriggerFormBlur(){n&&n.handleContentBlur()},nTriggerFormChange(){n&&n.handleContentChange()},nTriggerFormFocus(){n&&n.handleContentFocus()},nTriggerFormInput(){n&&n.handleContentInput()}}}const So={fontFamily:'v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontFamilyMono:"v-mono, SFMono-Regular, Menlo, Consolas, Courier, monospace",fontWeight:"400",fontWeightStrong:"500",cubicBezierEaseInOut:"cubic-bezier(.4, 0, .2, 1)",cubicBezierEaseOut:"cubic-bezier(0, 0, .2, 1)",cubicBezierEaseIn:"cubic-bezier(.4, 0, 1, 1)",borderRadius:"3px",borderRadiusSmall:"2px",fontSize:"14px",fontSizeMini:"12px",fontSizeTiny:"12px",fontSizeSmall:"14px",fontSizeMedium:"14px",fontSizeLarge:"15px",fontSizeHuge:"16px",lineHeight:"1.6",heightMini:"16px",heightTiny:"22px",heightSmall:"28px",heightMedium:"34px",heightLarge:"40px",heightHuge:"46px"},{fontSize:Td,fontFamily:Fd,lineHeight:Od}=So,al=y("body",` margin: 0; font-size: ${Td}; font-family: ${Fd}; @@ -3610,4 +3610,4 @@ import{r as lr,s as Je,c as $e,g as Jt,d as Mo,a as Bt,h as ft,b as Q,e as nt,f width: 0; height: 0; opacity: 0; - `)]);var Li=globalThis&&globalThis.__awaiter||function(e,o,t,r){function n(l){return l instanceof t?l:new t(function(a){a(l)})}return new(t||(t=Promise))(function(l,a){function s(u){try{c(r.next(u))}catch(f){a(f)}}function d(u){try{c(r.throw(u))}catch(f){a(f)}}function c(u){u.done?l(u.value):n(u.value).then(s,d)}c((r=r.apply(e,o||[])).next())})};function W0(e,o,t){const{doChange:r,xhrMap:n}=e;let l=0;function a(d){var c;let u=Object.assign({},o,{status:"error",percentage:l});n.delete(o.id),u=ir(((c=e.onError)===null||c===void 0?void 0:c.call(e,{file:u,event:d}))||u),r(u,d)}function s(d){var c;if(e.isErrorState){if(e.isErrorState(t)){a(d);return}}else if(t.status<200||t.status>=300){a(d);return}let u=Object.assign({},o,{status:"finished",percentage:l});n.delete(o.id),u=ir(((c=e.onFinish)===null||c===void 0?void 0:c.call(e,{file:u,event:d}))||u),r(u,d)}return{handleXHRLoad:s,handleXHRError:a,handleXHRAbort(d){const c=Object.assign({},o,{status:"removed",file:null,percentage:l});n.delete(o.id),r(c,d)},handleXHRProgress(d){const c=Object.assign({},o,{status:"uploading"});if(d.lengthComputable){const u=Math.ceil(d.loaded/d.total*100);c.percentage=u,l=u}r(c,d)}}}function N0(e){const{inst:o,file:t,data:r,headers:n,withCredentials:l,action:a,customRequest:s}=e,{doChange:d}=e.inst;let c=0;s({file:t,data:r,headers:n,withCredentials:l,action:a,onProgress(u){const f=Object.assign({},t,{status:"uploading"}),p=u.percent;f.percentage=p,c=p,d(f)},onFinish(){var u;let f=Object.assign({},t,{status:"finished",percentage:c});f=ir(((u=o.onFinish)===null||u===void 0?void 0:u.call(o,{file:f}))||f),d(f)},onError(){var u;let f=Object.assign({},t,{status:"error",percentage:c});f=ir(((u=o.onError)===null||u===void 0?void 0:u.call(o,{file:f}))||f),d(f)}})}function V0(e,o,t){const r=W0(e,o,t);t.onabort=r.handleXHRAbort,t.onerror=r.handleXHRError,t.onload=r.handleXHRLoad,t.upload&&(t.upload.onprogress=r.handleXHRProgress)}function gs(e,o){return typeof e=="function"?e({file:o}):e||{}}function U0(e,o,t){const r=gs(o,t);r&&Object.keys(r).forEach(n=>{e.setRequestHeader(n,r[n])})}function K0(e,o,t){const r=gs(o,t);r&&Object.keys(r).forEach(n=>{e.append(n,r[n])})}function G0(e,o,t,{method:r,action:n,withCredentials:l,responseType:a,headers:s,data:d}){const c=new XMLHttpRequest;c.responseType=a,e.xhrMap.set(t.id,c),c.withCredentials=l;const u=new FormData;if(K0(u,d,t),u.append(o,t.file),V0(e,t,c),n!==void 0){c.open(r.toUpperCase(),n),U0(c,s,t),c.send(u);const f=Object.assign({},t,{status:"uploading"});e.doChange(f)}}const q0=Object.assign(Object.assign({},re.props),{name:{type:String,default:"file"},accept:String,action:String,customRequest:Function,directory:Boolean,directoryDnd:{type:Boolean,default:void 0},method:{type:String,default:"POST"},multiple:Boolean,showFileList:{type:Boolean,default:!0},data:[Object,Function],headers:[Object,Function],withCredentials:Boolean,responseType:{type:String,default:""},disabled:{type:Boolean,default:void 0},onChange:Function,onRemove:Function,onFinish:Function,onError:Function,onBeforeUpload:Function,isErrorState:Function,onDownload:Function,defaultUpload:{type:Boolean,default:!0},fileList:Array,"onUpdate:fileList":[Function,Array],onUpdateFileList:[Function,Array],fileListStyle:[String,Object],defaultFileList:{type:Array,default:()=>[]},showCancelButton:{type:Boolean,default:!0},showRemoveButton:{type:Boolean,default:!0},showDownloadButton:Boolean,showRetryButton:{type:Boolean,default:!0},showPreviewButton:{type:Boolean,default:!0},listType:{type:String,default:"text"},onPreview:Function,shouldUseThumbnailUrl:{type:Function,default:e=>I0?ps(e):!1},createThumbnailUrl:Function,abstract:Boolean,max:Number,showTrigger:{type:Boolean,default:!0},imageGroupProps:Object,inputProps:Object,triggerStyle:[String,Object],renderIcon:Object}),J1=q({name:"Upload",props:q0,setup(e){e.abstract&&e.listType==="image-card"&&Eo("upload","when the list-type is image-card, abstract is not supported.");const{mergedClsPrefixRef:o,inlineThemeDisabled:t}=ke(e),r=re("Upload","-upload",j0,Zm,e,o),n=tt(e),l=R(()=>{const{max:P}=e;return P!==void 0?v.value.length>=P:!1}),a=D(e.defaultFileList),s=ie(e,"fileList"),d=D(null),c={value:!1},u=D(!1),f=new Map,p=so(s,a),v=R(()=>p.value.map(ir));function h(){var P;(P=d.value)===null||P===void 0||P.click()}function m(P){const z=P.target;x(z.files?Array.from(z.files).map(L=>({file:L,entry:null,source:"input"})):null,P),z.value=""}function b(P){const{"onUpdate:fileList":z,onUpdateFileList:L}=e;z&&ae(z,P),L&&ae(L,P),a.value=P}const C=R(()=>e.multiple||e.directory);function x(P,z){if(!P||P.length===0)return;const{onBeforeUpload:L}=e;P=C.value?P:[P[0]];const{max:M,accept:j}=e;P=P.filter(({file:U,source:_})=>_==="dnd"&&(j!=null&&j.trim())?O0(U.name,U.type,j):!0),M&&(P=P.slice(0,M-v.value.length));const E=nt();Promise.all(P.map(({file:U,entry:_})=>Li(this,void 0,void 0,function*(){var V;const te={id:nt(),batchId:E,name:U.name,status:"pending",percentage:0,file:U,url:null,type:U.type,thumbnailUrl:null,fullPath:(V=_==null?void 0:_.fullPath)!==null&&V!==void 0?V:`/${U.webkitRelativePath||U.name}`};return!L||(yield L({file:te,fileList:v.value}))!==!1?te:null}))).then(U=>Li(this,void 0,void 0,function*(){let _=Promise.resolve();return U.forEach(V=>{_=_.then(io).then(()=>{V&&B(V,z,{append:!0})})}),yield _})).then(()=>{e.defaultUpload&&I()})}function I(P){const{method:z,action:L,withCredentials:M,headers:j,data:E,name:U}=e,_=P!==void 0?v.value.filter(te=>te.id===P):v.value,V=P!==void 0;_.forEach(te=>{const{status:N}=te;(N==="pending"||N==="error"&&V)&&(e.customRequest?N0({inst:{doChange:B,xhrMap:f,onFinish:e.onFinish,onError:e.onError},file:te,action:L,withCredentials:M,headers:j,data:E,customRequest:e.customRequest}):G0({doChange:B,xhrMap:f,onFinish:e.onFinish,onError:e.onError,isErrorState:e.isErrorState},U,te,{method:z,action:L,withCredentials:M,responseType:e.responseType,headers:j,data:E}))})}const B=(P,z,L={append:!1,remove:!1})=>{const{append:M,remove:j}=L,E=Array.from(v.value),U=E.findIndex(_=>_.id===P.id);if(M||j||~U){M?E.push(P):j?E.splice(U,1):E.splice(U,1,P);const{onChange:_}=e;_&&_({file:P,fileList:E,event:z}),b(E)}};function $(P){var z;if(P.thumbnailUrl)return P.thumbnailUrl;const{createThumbnailUrl:L}=e;return L?(z=L(P.file,P))!==null&&z!==void 0?z:P.url||"":P.url?P.url:P.file?k0(P.file):""}const T=R(()=>{const{common:{cubicBezierEaseInOut:P},self:{draggerColor:z,draggerBorder:L,draggerBorderHover:M,itemColorHover:j,itemColorHoverError:E,itemTextColorError:U,itemTextColorSuccess:_,itemTextColor:V,itemIconColor:te,itemDisabledOpacity:N,lineHeight:G,borderRadius:Ce,fontSize:X,itemBorderImageCardError:pe,itemBorderImageCard:fe}}=r.value;return{"--n-bezier":P,"--n-border-radius":Ce,"--n-dragger-border":L,"--n-dragger-border-hover":M,"--n-dragger-color":z,"--n-font-size":X,"--n-item-color-hover":j,"--n-item-color-hover-error":E,"--n-item-disabled-opacity":N,"--n-item-icon-color":te,"--n-item-text-color":V,"--n-item-text-color-error":U,"--n-item-text-color-success":_,"--n-line-height":G,"--n-item-border-image-card-error":pe,"--n-item-border-image-card":fe}}),S=t?Ae("upload",void 0,T,e):void 0;Oe(Ut,{mergedClsPrefixRef:o,mergedThemeRef:r,showCancelButtonRef:ie(e,"showCancelButton"),showDownloadButtonRef:ie(e,"showDownloadButton"),showRemoveButtonRef:ie(e,"showRemoveButton"),showRetryButtonRef:ie(e,"showRetryButton"),onRemoveRef:ie(e,"onRemove"),onDownloadRef:ie(e,"onDownload"),mergedFileListRef:v,triggerStyleRef:ie(e,"triggerStyle"),shouldUseThumbnailUrlRef:ie(e,"shouldUseThumbnailUrl"),renderIconRef:ie(e,"renderIcon"),xhrMap:f,submit:I,doChange:B,showPreviewButtonRef:ie(e,"showPreviewButton"),onPreviewRef:ie(e,"onPreview"),getFileThumbnailUrlResolver:$,listTypeRef:ie(e,"listType"),dragOverRef:u,openOpenFileDialog:h,draggerInsideRef:c,handleFileAddition:x,mergedDisabledRef:n.mergedDisabledRef,maxReachedRef:l,fileListStyleRef:ie(e,"fileListStyle"),abstractRef:ie(e,"abstract"),acceptRef:ie(e,"accept"),cssVarsRef:t?void 0:T,themeClassRef:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender,showTriggerRef:ie(e,"showTrigger"),imageGroupPropsRef:ie(e,"imageGroupProps"),mergedDirectoryDndRef:R(()=>{var P;return(P=e.directoryDnd)!==null&&P!==void 0?P:e.directory})});const O={clear:()=>{a.value=[]},submit:I,openOpenFileDialog:h};return Object.assign({mergedClsPrefix:o,draggerInsideRef:c,inputElRef:d,mergedTheme:r,dragOver:u,mergedMultiple:C,cssVars:t?void 0:T,themeClass:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender,handleFileInputChange:m},O)},render(){var e,o;const{draggerInsideRef:t,mergedClsPrefix:r,$slots:n,directory:l,onRender:a}=this;if(n.default&&!this.abstract){const d=n.default()[0];!((e=d==null?void 0:d.type)===null||e===void 0)&&e[us]&&(t.value=!0)}const s=i("input",Object.assign({},this.inputProps,{ref:"inputElRef",type:"file",class:`${r}-upload-file-input`,accept:this.accept,multiple:this.mergedMultiple,onChange:this.handleFileInputChange,webkitdirectory:l||void 0,directory:l||void 0}));return this.abstract?i(ao,null,(o=n.default)===null||o===void 0?void 0:o.call(n),i(Wi,{to:"body"},s)):(a==null||a(),i("div",{class:[`${r}-upload`,t.value&&`${r}-upload--dragger-inside`,this.dragOver&&`${r}-upload--drag-over`,this.themeClass],style:this.cssVars},s,this.showTrigger&&this.listType!=="image-card"&&i(vs,null,n),this.showFileList&&i(E0,null,n)))}}),Y0=()=>({}),X0={name:"Equation",common:ue,self:Y0},Z0=X0,ex={name:"dark",common:ue,Alert:lu,Anchor:mu,AutoComplete:Ou,Avatar:Ll,AvatarGroup:Nu,BackTop:Ku,Badge:qu,Breadcrumb:rf,Button:$o,ButtonGroup:pg,Calendar:gf,Card:Vl,Carousel:If,Cascader:_f,Checkbox:Nt,Code:Ul,Collapse:Af,CollapseTransition:Wf,ColorPicker:xf,DataTable:Ph,DatePicker:lp,Descriptions:cp,Dialog:va,Divider:Fp,Drawer:Hp,Dropdown:$n,DynamicInput:tv,DynamicTags:mv,Element:xv,Empty:wt,Ellipsis:ea,Equation:Z0,Form:Sv,GradientText:Uv,Icon:Eh,IconWrapper:og,Image:nb,Input:Ho,InputNumber:gg,LegacyTransfer:Cb,Layout:yg,List:$g,LoadingBar:Pg,Log:Ig,Menu:Ag,Mention:Tg,Message:fg,Modal:Cp,Notification:ag,PageHeader:Wg,Pagination:Ql,Popconfirm:Gg,Popover:St,Popselect:Kl,Progress:Ea,Radio:ta,Rate:Zg,Result:tm,Row:rb,Scrollbar:zo,Select:Xl,Skeleton:l0,Slider:im,Space:$a,Spin:dm,Statistic:hm,Steps:mm,Switch:xm,Table:Rm,Tabs:Tm,Tag:Sl,Thing:_m,TimePicker:fa,Timeline:Hm,Tooltip:Lr,Transfer:jm,Tree:Ga,TreeSelect:Um,Typography:Ym,Upload:Jm,Watermark:ob};export{Ov as $,_1 as A,J1 as B,C1 as C,y1 as D,P1 as E,D1 as F,b1 as G,L1 as H,wc as I,h1 as J,W1 as K,X1 as L,Yr as M,Z1 as N,Jh as O,z1 as P,O1 as Q,x1 as R,f1 as S,S1 as T,V1 as U,B1 as V,M1 as W,cb as X,m1 as Y,K1 as Z,Q1 as _,k1 as a,Ev as a0,Hv as a1,N1 as a2,R1 as a3,$1 as a4,G1 as a5,mt as b,T1 as c,I1 as d,Po as e,q1 as f,Y1 as g,Rf as h,$p as i,Nh as j,U1 as k,v1 as l,fb as m,H1 as n,p1 as o,g1 as p,ex as q,w1 as r,E1 as s,F1 as t,j1 as u,A1 as v,vs as w,Qb as x,Rn as y,E0 as z}; + `)]);var Li=globalThis&&globalThis.__awaiter||function(e,o,t,r){function n(l){return l instanceof t?l:new t(function(a){a(l)})}return new(t||(t=Promise))(function(l,a){function s(u){try{c(r.next(u))}catch(f){a(f)}}function d(u){try{c(r.throw(u))}catch(f){a(f)}}function c(u){u.done?l(u.value):n(u.value).then(s,d)}c((r=r.apply(e,o||[])).next())})};function W0(e,o,t){const{doChange:r,xhrMap:n}=e;let l=0;function a(d){var c;let u=Object.assign({},o,{status:"error",percentage:l});n.delete(o.id),u=ir(((c=e.onError)===null||c===void 0?void 0:c.call(e,{file:u,event:d}))||u),r(u,d)}function s(d){var c;if(e.isErrorState){if(e.isErrorState(t)){a(d);return}}else if(t.status<200||t.status>=300){a(d);return}let u=Object.assign({},o,{status:"finished",percentage:l});n.delete(o.id),u=ir(((c=e.onFinish)===null||c===void 0?void 0:c.call(e,{file:u,event:d}))||u),r(u,d)}return{handleXHRLoad:s,handleXHRError:a,handleXHRAbort(d){const c=Object.assign({},o,{status:"removed",file:null,percentage:l});n.delete(o.id),r(c,d)},handleXHRProgress(d){const c=Object.assign({},o,{status:"uploading"});if(d.lengthComputable){const u=Math.ceil(d.loaded/d.total*100);c.percentage=u,l=u}r(c,d)}}}function N0(e){const{inst:o,file:t,data:r,headers:n,withCredentials:l,action:a,customRequest:s}=e,{doChange:d}=e.inst;let c=0;s({file:t,data:r,headers:n,withCredentials:l,action:a,onProgress(u){const f=Object.assign({},t,{status:"uploading"}),p=u.percent;f.percentage=p,c=p,d(f)},onFinish(){var u;let f=Object.assign({},t,{status:"finished",percentage:c});f=ir(((u=o.onFinish)===null||u===void 0?void 0:u.call(o,{file:f}))||f),d(f)},onError(){var u;let f=Object.assign({},t,{status:"error",percentage:c});f=ir(((u=o.onError)===null||u===void 0?void 0:u.call(o,{file:f}))||f),d(f)}})}function V0(e,o,t){const r=W0(e,o,t);t.onabort=r.handleXHRAbort,t.onerror=r.handleXHRError,t.onload=r.handleXHRLoad,t.upload&&(t.upload.onprogress=r.handleXHRProgress)}function gs(e,o){return typeof e=="function"?e({file:o}):e||{}}function U0(e,o,t){const r=gs(o,t);r&&Object.keys(r).forEach(n=>{e.setRequestHeader(n,r[n])})}function K0(e,o,t){const r=gs(o,t);r&&Object.keys(r).forEach(n=>{e.append(n,r[n])})}function G0(e,o,t,{method:r,action:n,withCredentials:l,responseType:a,headers:s,data:d}){const c=new XMLHttpRequest;c.responseType=a,e.xhrMap.set(t.id,c),c.withCredentials=l;const u=new FormData;if(K0(u,d,t),u.append(o,t.file),V0(e,t,c),n!==void 0){c.open(r.toUpperCase(),n),U0(c,s,t),c.send(u);const f=Object.assign({},t,{status:"uploading"});e.doChange(f)}}const q0=Object.assign(Object.assign({},re.props),{name:{type:String,default:"file"},accept:String,action:String,customRequest:Function,directory:Boolean,directoryDnd:{type:Boolean,default:void 0},method:{type:String,default:"POST"},multiple:Boolean,showFileList:{type:Boolean,default:!0},data:[Object,Function],headers:[Object,Function],withCredentials:Boolean,responseType:{type:String,default:""},disabled:{type:Boolean,default:void 0},onChange:Function,onRemove:Function,onFinish:Function,onError:Function,onBeforeUpload:Function,isErrorState:Function,onDownload:Function,defaultUpload:{type:Boolean,default:!0},fileList:Array,"onUpdate:fileList":[Function,Array],onUpdateFileList:[Function,Array],fileListStyle:[String,Object],defaultFileList:{type:Array,default:()=>[]},showCancelButton:{type:Boolean,default:!0},showRemoveButton:{type:Boolean,default:!0},showDownloadButton:Boolean,showRetryButton:{type:Boolean,default:!0},showPreviewButton:{type:Boolean,default:!0},listType:{type:String,default:"text"},onPreview:Function,shouldUseThumbnailUrl:{type:Function,default:e=>I0?ps(e):!1},createThumbnailUrl:Function,abstract:Boolean,max:Number,showTrigger:{type:Boolean,default:!0},imageGroupProps:Object,inputProps:Object,triggerStyle:[String,Object],renderIcon:Object}),J1=q({name:"Upload",props:q0,setup(e){e.abstract&&e.listType==="image-card"&&Eo("upload","when the list-type is image-card, abstract is not supported.");const{mergedClsPrefixRef:o,inlineThemeDisabled:t}=ke(e),r=re("Upload","-upload",j0,Zm,e,o),n=tt(e),l=R(()=>{const{max:P}=e;return P!==void 0?v.value.length>=P:!1}),a=D(e.defaultFileList),s=ie(e,"fileList"),d=D(null),c={value:!1},u=D(!1),f=new Map,p=so(s,a),v=R(()=>p.value.map(ir));function h(){var P;(P=d.value)===null||P===void 0||P.click()}function m(P){const z=P.target;x(z.files?Array.from(z.files).map(L=>({file:L,entry:null,source:"input"})):null,P),z.value=""}function b(P){const{"onUpdate:fileList":z,onUpdateFileList:L}=e;z&&ae(z,P),L&&ae(L,P),a.value=P}const C=R(()=>e.multiple||e.directory);function x(P,z){if(!P||P.length===0)return;const{onBeforeUpload:L}=e;P=C.value?P:[P[0]];const{max:M,accept:j}=e;P=P.filter(({file:U,source:_})=>_==="dnd"&&(j!=null&&j.trim())?O0(U.name,U.type,j):!0),M&&(P=P.slice(0,M-v.value.length));const E=nt();Promise.all(P.map(({file:U,entry:_})=>Li(this,void 0,void 0,function*(){var V;const te={id:nt(),batchId:E,name:U.name,status:"pending",percentage:0,file:U,url:null,type:U.type,thumbnailUrl:null,fullPath:(V=_==null?void 0:_.fullPath)!==null&&V!==void 0?V:`/${U.webkitRelativePath||U.name}`};return!L||(yield L({file:te,fileList:v.value}))!==!1?te:null}))).then(U=>Li(this,void 0,void 0,function*(){let _=Promise.resolve();return U.forEach(V=>{_=_.then(io).then(()=>{V&&B(V,z,{append:!0})})}),yield _})).then(()=>{e.defaultUpload&&I()})}function I(P){const{method:z,action:L,withCredentials:M,headers:j,data:E,name:U}=e,_=P!==void 0?v.value.filter(te=>te.id===P):v.value,V=P!==void 0;_.forEach(te=>{const{status:N}=te;(N==="pending"||N==="error"&&V)&&(e.customRequest?N0({inst:{doChange:B,xhrMap:f,onFinish:e.onFinish,onError:e.onError},file:te,action:L,withCredentials:M,headers:j,data:E,customRequest:e.customRequest}):G0({doChange:B,xhrMap:f,onFinish:e.onFinish,onError:e.onError,isErrorState:e.isErrorState},U,te,{method:z,action:L,withCredentials:M,responseType:e.responseType,headers:j,data:E}))})}const B=(P,z,L={append:!1,remove:!1})=>{const{append:M,remove:j}=L,E=Array.from(v.value),U=E.findIndex(_=>_.id===P.id);if(M||j||~U){M?E.push(P):j?E.splice(U,1):E.splice(U,1,P);const{onChange:_}=e;_&&_({file:P,fileList:E,event:z}),b(E)}};function $(P){var z;if(P.thumbnailUrl)return P.thumbnailUrl;const{createThumbnailUrl:L}=e;return L?(z=L(P.file,P))!==null&&z!==void 0?z:P.url||"":P.url?P.url:P.file?k0(P.file):""}const T=R(()=>{const{common:{cubicBezierEaseInOut:P},self:{draggerColor:z,draggerBorder:L,draggerBorderHover:M,itemColorHover:j,itemColorHoverError:E,itemTextColorError:U,itemTextColorSuccess:_,itemTextColor:V,itemIconColor:te,itemDisabledOpacity:N,lineHeight:G,borderRadius:Ce,fontSize:X,itemBorderImageCardError:pe,itemBorderImageCard:fe}}=r.value;return{"--n-bezier":P,"--n-border-radius":Ce,"--n-dragger-border":L,"--n-dragger-border-hover":M,"--n-dragger-color":z,"--n-font-size":X,"--n-item-color-hover":j,"--n-item-color-hover-error":E,"--n-item-disabled-opacity":N,"--n-item-icon-color":te,"--n-item-text-color":V,"--n-item-text-color-error":U,"--n-item-text-color-success":_,"--n-line-height":G,"--n-item-border-image-card-error":pe,"--n-item-border-image-card":fe}}),S=t?Ae("upload",void 0,T,e):void 0;Oe(Ut,{mergedClsPrefixRef:o,mergedThemeRef:r,showCancelButtonRef:ie(e,"showCancelButton"),showDownloadButtonRef:ie(e,"showDownloadButton"),showRemoveButtonRef:ie(e,"showRemoveButton"),showRetryButtonRef:ie(e,"showRetryButton"),onRemoveRef:ie(e,"onRemove"),onDownloadRef:ie(e,"onDownload"),mergedFileListRef:v,triggerStyleRef:ie(e,"triggerStyle"),shouldUseThumbnailUrlRef:ie(e,"shouldUseThumbnailUrl"),renderIconRef:ie(e,"renderIcon"),xhrMap:f,submit:I,doChange:B,showPreviewButtonRef:ie(e,"showPreviewButton"),onPreviewRef:ie(e,"onPreview"),getFileThumbnailUrlResolver:$,listTypeRef:ie(e,"listType"),dragOverRef:u,openOpenFileDialog:h,draggerInsideRef:c,handleFileAddition:x,mergedDisabledRef:n.mergedDisabledRef,maxReachedRef:l,fileListStyleRef:ie(e,"fileListStyle"),abstractRef:ie(e,"abstract"),acceptRef:ie(e,"accept"),cssVarsRef:t?void 0:T,themeClassRef:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender,showTriggerRef:ie(e,"showTrigger"),imageGroupPropsRef:ie(e,"imageGroupProps"),mergedDirectoryDndRef:R(()=>{var P;return(P=e.directoryDnd)!==null&&P!==void 0?P:e.directory})});const O={clear:()=>{a.value=[]},submit:I,openOpenFileDialog:h};return Object.assign({mergedClsPrefix:o,draggerInsideRef:c,inputElRef:d,mergedTheme:r,dragOver:u,mergedMultiple:C,cssVars:t?void 0:T,themeClass:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender,handleFileInputChange:m},O)},render(){var e,o;const{draggerInsideRef:t,mergedClsPrefix:r,$slots:n,directory:l,onRender:a}=this;if(n.default&&!this.abstract){const d=n.default()[0];!((e=d==null?void 0:d.type)===null||e===void 0)&&e[us]&&(t.value=!0)}const s=i("input",Object.assign({},this.inputProps,{ref:"inputElRef",type:"file",class:`${r}-upload-file-input`,accept:this.accept,multiple:this.mergedMultiple,onChange:this.handleFileInputChange,webkitdirectory:l||void 0,directory:l||void 0}));return this.abstract?i(ao,null,(o=n.default)===null||o===void 0?void 0:o.call(n),i(Wi,{to:"body"},s)):(a==null||a(),i("div",{class:[`${r}-upload`,t.value&&`${r}-upload--dragger-inside`,this.dragOver&&`${r}-upload--drag-over`,this.themeClass],style:this.cssVars},s,this.showTrigger&&this.listType!=="image-card"&&i(vs,null,n),this.showFileList&&i(E0,null,n)))}}),Y0=()=>({}),X0={name:"Equation",common:ue,self:Y0},Z0=X0,ex={name:"dark",common:ue,Alert:lu,Anchor:mu,AutoComplete:Ou,Avatar:Ll,AvatarGroup:Nu,BackTop:Ku,Badge:qu,Breadcrumb:rf,Button:$o,ButtonGroup:pg,Calendar:gf,Card:Vl,Carousel:If,Cascader:_f,Checkbox:Nt,Code:Ul,Collapse:Af,CollapseTransition:Wf,ColorPicker:xf,DataTable:Ph,DatePicker:lp,Descriptions:cp,Dialog:va,Divider:Fp,Drawer:Hp,Dropdown:$n,DynamicInput:tv,DynamicTags:mv,Element:xv,Empty:wt,Ellipsis:ea,Equation:Z0,Form:Sv,GradientText:Uv,Icon:Eh,IconWrapper:og,Image:nb,Input:Ho,InputNumber:gg,LegacyTransfer:Cb,Layout:yg,List:$g,LoadingBar:Pg,Log:Ig,Menu:Ag,Mention:Tg,Message:fg,Modal:Cp,Notification:ag,PageHeader:Wg,Pagination:Ql,Popconfirm:Gg,Popover:St,Popselect:Kl,Progress:Ea,Radio:ta,Rate:Zg,Result:tm,Row:rb,Scrollbar:zo,Select:Xl,Skeleton:l0,Slider:im,Space:$a,Spin:dm,Statistic:hm,Steps:mm,Switch:xm,Table:Rm,Tabs:Tm,Tag:Sl,Thing:_m,TimePicker:fa,Timeline:Hm,Tooltip:Lr,Transfer:jm,Tree:Ga,TreeSelect:Um,Typography:Ym,Upload:Jm,Watermark:ob};export{Ov as $,_1 as A,J1 as B,C1 as C,y1 as D,P1 as E,D1 as F,b1 as G,L1 as H,wc as I,W1 as J,h1 as K,X1 as L,Yr as M,Z1 as N,Jh as O,z1 as P,O1 as Q,x1 as R,f1 as S,S1 as T,V1 as U,B1 as V,M1 as W,cb as X,m1 as Y,K1 as Z,Q1 as _,k1 as a,Ev as a0,Hv as a1,N1 as a2,R1 as a3,$1 as a4,G1 as a5,mt as b,T1 as c,I1 as d,Po as e,q1 as f,Y1 as g,Rf as h,$p as i,Nh as j,U1 as k,v1 as l,fb as m,H1 as n,p1 as o,g1 as p,ex as q,w1 as r,E1 as s,F1 as t,j1 as u,A1 as v,vs as w,Qb as x,Rn as y,E0 as z}; diff --git a/web/dist/assets/nonesir-video-29a967e9.js b/web/dist/assets/nonesir-video-db921567.js similarity index 99% rename from web/dist/assets/nonesir-video-29a967e9.js rename to web/dist/assets/nonesir-video-db921567.js index 84361cf6..b69db4b0 100644 --- a/web/dist/assets/nonesir-video-29a967e9.js +++ b/web/dist/assets/nonesir-video-db921567.js @@ -1,4 +1,4 @@ -import{d as m,o as s,K as l,L as r,M as p,z as d,v as u,N as f,O as v,P as h,Q as w}from"./@vue-f70ab1bd.js";var b=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const k={class:"relative"},$={class:"flex items-center justify-start w-full"},S={class:"font-sans text-white text-xs w-24"},z={class:"mr-3 ml-2"},C={class:"relative"},B={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},x=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function P(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[15]||(n[15]=t=>e.hovered=!0),onMouseleave:n[16]||(n[16]=t=>e.hovered=!1),onKeydown:n[17]||(n[17]=h(t=>e.$emit("play"),["left"]))},[r("div",k,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"]},[r("div",$,[r("p",S,p(e.time.display)+"/"+p(e.duration),1),r("div",z,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/pause.svg",alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"relative h-full pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},[r("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4),r("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4)],4)])]),r("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[13]||(n[13]=t=>e.volume=!1)},[r("div",C,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",B,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[9]||(n[9]=(...t)=>e.setVolume&&e.setVolume(...t))},null,544),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[10]||(n[10]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[11]||(n[11]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/maximize.svg",alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[12]||(n[12]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[14]||(n[14]=t=>e.$emit("play"))},[x])],2)):v("",!0)])],32)}b.render=P;var c=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const T={class:"relative"},j={class:"mr-5"},I={class:"relative mr-6"},F={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},q=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function M(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=t=>e.hovered=!0),onMouseleave:n[15]||(n[15]=t=>e.hovered=!1),onKeydown:n[16]||(n[16]=h(t=>e.$emit("play"),["left"]))},[r("div",T,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"]},[r("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[12]||(n[12]=t=>e.volume=!1)},[r("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:`font-size: 11px; background-color: ${e.color}`},p(e.time.display)+" / "+p(e.duration),5),r("div",j,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/pause.svg",alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/play.svg",alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},null,4)]),r("div",I,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",F,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[10]||(n[10]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg",alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[11]||(n[11]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=t=>e.$emit("play"))},[q])],2)):v("",!0)])],32)}c.render=M;var g=m({name:"Vue3PlayerVideo",components:{basic:c,gradient:b},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),o=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=o*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),i=Math.floor(e%3600/60),o=Math.round(e%60);return[n,i>9?i:n?"0"+i:i||"00",o>9?o:"0"+o].filter(Boolean).join(":")}}});const V={class:"vue3-player-video"};function N(e,n,i,o,a,y){return s(),l("div",V,[(s(),l(w(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[1]||(n[1]=({currentTime:t})=>e.time.current=t),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,8,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function R(e,n){n===void 0&&(n={});var i=n.insertAt;if(!(!e||typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",i==="top"&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}var A=`/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */ +import{d as m,o as s,K as l,L as r,M as p,z as d,v as u,N as f,O as v,P as h,Q as w}from"./@vue-ca177dbe.js";var b=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const k={class:"relative"},$={class:"flex items-center justify-start w-full"},S={class:"font-sans text-white text-xs w-24"},z={class:"mr-3 ml-2"},C={class:"relative"},B={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},x=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function P(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[15]||(n[15]=t=>e.hovered=!0),onMouseleave:n[16]||(n[16]=t=>e.hovered=!1),onKeydown:n[17]||(n[17]=h(t=>e.$emit("play"),["left"]))},[r("div",k,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"]},[r("div",$,[r("p",S,p(e.time.display)+"/"+p(e.duration),1),r("div",z,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/pause.svg",alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"relative h-full pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},[r("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4),r("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4)],4)])]),r("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[13]||(n[13]=t=>e.volume=!1)},[r("div",C,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",B,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[9]||(n[9]=(...t)=>e.setVolume&&e.setVolume(...t))},null,544),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[10]||(n[10]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[11]||(n[11]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/maximize.svg",alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[12]||(n[12]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[14]||(n[14]=t=>e.$emit("play"))},[x])],2)):v("",!0)])],32)}b.render=P;var c=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const T={class:"relative"},j={class:"mr-5"},I={class:"relative mr-6"},F={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},q=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function M(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=t=>e.hovered=!0),onMouseleave:n[15]||(n[15]=t=>e.hovered=!1),onKeydown:n[16]||(n[16]=h(t=>e.$emit("play"),["left"]))},[r("div",T,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"]},[r("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[12]||(n[12]=t=>e.volume=!1)},[r("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:`font-size: 11px; background-color: ${e.color}`},p(e.time.display)+" / "+p(e.duration),5),r("div",j,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/pause.svg",alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/play.svg",alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},null,4)]),r("div",I,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",F,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[10]||(n[10]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg",alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[11]||(n[11]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=t=>e.$emit("play"))},[q])],2)):v("",!0)])],32)}c.render=M;var g=m({name:"Vue3PlayerVideo",components:{basic:c,gradient:b},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),o=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=o*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),i=Math.floor(e%3600/60),o=Math.round(e%60);return[n,i>9?i:n?"0"+i:i||"00",o>9?o:"0"+o].filter(Boolean).join(":")}}});const V={class:"vue3-player-video"};function N(e,n,i,o,a,y){return s(),l("div",V,[(s(),l(w(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[1]||(n[1]=({currentTime:t})=>e.time.current=t),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,8,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function R(e,n){n===void 0&&(n={});var i=n.insertAt;if(!(!e||typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",i==="top"&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}var A=`/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ diff --git a/web/dist/assets/post-item-294ca437.css b/web/dist/assets/post-item-294ca437.css new file mode 100644 index 00000000..7453d7fb --- /dev/null +++ b/web/dist/assets/post-item-294ca437.css @@ -0,0 +1 @@ +.post-item{width:100%;padding:16px;box-sizing:border-box}.post-item .nickname-wrap{font-size:14px}.post-item .username-wrap{font-size:14px;opacity:.75}.post-item .top-tag{transform:scale(.75)}.post-item .timestamp-mobile{margin-top:2px;opacity:.75;font-size:11px}.post-item .timestamp{opacity:.75;font-size:12px}.post-item .post-text{text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.post-item .opt-item{display:flex;align-items:center;opacity:.7}.post-item .opt-item .opt-item-icon{margin-right:10px}.post-item:hover{background:#f7f9f9;cursor:pointer}.post-item .n-thing-avatar{margin-top:0}.post-item .n-thing-header{line-height:16px;margin-bottom:8px!important}.dark .post-item{background-color:#101014bf}.dark .post-item:hover{background:#18181c} diff --git a/web/dist/assets/post-item-3a63e077.css b/web/dist/assets/post-item-3a63e077.css deleted file mode 100644 index 24e93eba..00000000 --- a/web/dist/assets/post-item-3a63e077.css +++ /dev/null @@ -1 +0,0 @@ -.post-item{width:100%;padding:16px;box-sizing:border-box}.post-item .nickname-wrap{font-size:14px}.post-item .username-wrap{font-size:14px;opacity:.75}.post-item .top-tag{transform:scale(.75)}.post-item .timestamp{opacity:.75;font-size:12px}.post-item .post-text{text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.post-item .opt-item{display:flex;align-items:center;opacity:.7}.post-item .opt-item .opt-item-icon{margin-right:10px}.post-item:hover{background:#f7f9f9;cursor:pointer}.post-item .n-thing-avatar{margin-top:0}.post-item .n-thing-header{line-height:16px;margin-bottom:8px!important}.dark .post-item{background-color:#101014bf}.dark .post-item:hover{background:#18181c} diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js new file mode 100644 index 00000000..e89cee07 --- /dev/null +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-1c980697.js @@ -0,0 +1 @@ +import{p as T,a as $,_ as j,b as V,c as D}from"./content-71c02e20.js";import{d as H,n as P,a1 as F,o as a,c as d,L as i,a6 as I,Y as t,$ as o,a as p,M as r,F as R,a2 as E,a0 as x,e as _,K as l,O as c}from"./@vue-ca177dbe.js";import{u as K}from"./vuex-d28e9067.js";import{b as Y,u as A}from"./vue-router-88cc84d1.js";import{b}from"./formatTime-000dbebb.js";import{j as G,l as J,m as Q,o as U}from"./@vicons-6d35273b.js";import{o as W,M as X,j as Z,a as tt,L as et}from"./naive-ui-2035804c.js";const st={class:"nickname-wrap"},ot={class:"username-wrap"},nt={key:3},at={class:"timestamp-mobile"},it={class:"timestamp"},rt=["innerHTML"],ct={class:"opt-item"},pt={class:"opt-item"},_t={class:"opt-item"},lt={class:"opt-item"},yt=H({__name:"post-item",props:{post:null},setup(C){const w=C;Y();const h=A(),g=K(),e=P(()=>{let n=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},w.post);return n.contents.map(s=>{(+s.type==1||+s.type==2)&&n.texts.push(s),+s.type==3&&n.imgs.push(s),+s.type==4&&n.videos.push(s),+s.type==6&&n.links.push(s),+s.type==7&&n.attachments.push(s),+s.type==8&&n.charge_attachments.push(s)}),n}),y=n=>{h.push({name:"post",query:{id:n}})},z=(n,s)=>{if(n.target.dataset.detail){const m=n.target.dataset.detail.split(":");if(m.length===2){g.commit("refresh"),m[0]==="tag"?h.push({name:"home",query:{q:m[1],t:"tag"}}):h.push({name:"user",query:{username:m[1]}});return}}y(s)};return(n,s)=>{const m=W,M=F("router-link"),f=X,v=$,S=j,O=V,q=D,u=Z,B=tt,L=et;return a(),d("div",{class:"post-item",onClick:s[2]||(s[2]=k=>y(t(e).id))},[i(L,{"content-indented":""},I({avatar:o(()=>[i(m,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:o(()=>[p("span",st,[i(M,{onClick:s[0]||(s[0]=x(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:o(()=>[_(r(t(e).user.nickname),1)]),_:1},8,["to"])]),p("span",ot," @"+r(t(e).user.username),1),t(e).is_top?(a(),l(f,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[_(" 置顶 ")]),_:1})):c("",!0),t(e).visibility==1?(a(),l(f,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[_(" 私密 ")]),_:1})):c("",!0),t(e).visibility==2?(a(),l(f,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[_(" 好友可见 ")]),_:1})):c("",!0),t(g).state.desktopModelShow?c("",!0):(a(),d("div",nt,[p("span",at,r(t(b)(t(e).created_on))+" "+r(t(e).ip_loc),1)]))]),footer:o(()=>[t(e).attachments.length>0?(a(),l(v,{key:0,attachments:t(e).attachments},null,8,["attachments"])):c("",!0),t(e).charge_attachments.length>0?(a(),l(v,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):c("",!0),t(e).imgs.length>0?(a(),l(S,{key:2,imgs:t(e).imgs},null,8,["imgs"])):c("",!0),t(e).videos.length>0?(a(),l(O,{key:3,videos:t(e).videos},null,8,["videos"])):c("",!0),t(e).links.length>0?(a(),l(q,{key:4,links:t(e).links},null,8,["links"])):c("",!0)]),action:o(()=>[i(B,{justify:"space-between"},{default:o(()=>[p("div",ct,[i(u,{size:"18",class:"opt-item-icon"},{default:o(()=>[i(t(G))]),_:1}),_(" "+r(t(e).upvote_count),1)]),p("div",pt,[i(u,{size:"18",class:"opt-item-icon"},{default:o(()=>[i(t(J))]),_:1}),_(" "+r(t(e).comment_count),1)]),p("div",_t,[i(u,{size:"18",class:"opt-item-icon"},{default:o(()=>[i(t(Q))]),_:1}),_(" "+r(t(e).collection_count),1)]),p("div",lt,[i(u,{size:"18",class:"opt-item-icon"},{default:o(()=>[i(t(U))]),_:1}),_(" "+r(t(e).share_count),1)])]),_:1})]),_:2},[t(g).state.desktopModelShow?{name:"header-extra",fn:o(()=>[p("span",it,r(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+r(t(b)(t(e).created_on)),1)]),key:"0"}:void 0,t(e).texts.length>0?{name:"description",fn:o(()=>[(a(!0),d(R,null,E(t(e).texts,k=>(a(),d("span",{key:k.id,class:"post-text",onClick:s[1]||(s[1]=x(N=>z(N,t(e).id),["stop"])),innerHTML:t(T)(k.content).content},null,8,rt))),128))]),key:"1"}:void 0]),1024)])}}});export{yt as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js deleted file mode 100644 index ee49361f..00000000 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d2304aff.js +++ /dev/null @@ -1 +0,0 @@ -import{p as N,a as S,_ as $,b as V,c as j}from"./content-8a1c5cf4.js";import{d as H,n as R,_ as D,o as i,c as f,L as a,a3 as F,U as t,Y as n,F as I,$ as P,Z as v,a as l,e as r,M as c,K as p,O as _}from"./@vue-f70ab1bd.js";import{u as E}from"./vuex-cc1858c6.js";import{b as K,u as U}from"./vue-router-29025daf.js";import{a as Y}from"./formatTime-b37c8e0f.js";import{f as Z,h as A,i as G,k as J}from"./@vicons-2f3cb6b9.js";import{o as Q,M as W,j as X,a as tt,L as et}from"./naive-ui-ddb574dd.js";const st={class:"nickname-wrap"},nt={class:"username-wrap"},ot={class:"timestamp"},at=["innerHTML"],it={class:"opt-item"},rt={class:"opt-item"},ct={class:"opt-item"},pt={class:"opt-item"},ft=H({__name:"post-item",props:{post:null},setup(x){const C=x;K();const d=U(),z=E(),e=R(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},C.post);return o.contents.map(s=>{(+s.type==1||+s.type==2)&&o.texts.push(s),+s.type==3&&o.imgs.push(s),+s.type==4&&o.videos.push(s),+s.type==6&&o.links.push(s),+s.type==7&&o.attachments.push(s),+s.type==8&&o.charge_attachments.push(s)}),o}),k=o=>{d.push({name:"post",query:{id:o}})},b=(o,s)=>{if(o.target.dataset.detail){const m=o.target.dataset.detail.split(":");if(m.length===2){z.commit("refresh"),m[0]==="tag"?d.push({name:"home",query:{q:m[1],t:"tag"}}):d.push({name:"user",query:{username:m[1]}});return}}k(s)};return(o,s)=>{const m=Q,w=D("router-link"),h=W,y=S,O=$,T=V,q=j,u=X,B=tt,L=et;return i(),f("div",{class:"post-item",onClick:s[2]||(s[2]=g=>k(t(e).id))},[a(L,{"content-indented":""},F({avatar:n(()=>[a(m,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[l("span",st,[a(w,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[r(c(t(e).user.nickname),1)]),_:1},8,["to"])]),l("span",nt," @"+c(t(e).user.username),1),t(e).is_top?(i(),p(h,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[r(" 置顶 ")]),_:1})):_("",!0),t(e).visibility==1?(i(),p(h,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[r(" 私密 ")]),_:1})):_("",!0),t(e).visibility==2?(i(),p(h,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[r(" 好友可见 ")]),_:1})):_("",!0)]),"header-extra":n(()=>[l("span",ot,c(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+c(t(Y)(t(e).created_on)),1)]),footer:n(()=>[t(e).attachments.length>0?(i(),p(y,{key:0,attachments:t(e).attachments},null,8,["attachments"])):_("",!0),t(e).charge_attachments.length>0?(i(),p(y,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):_("",!0),t(e).imgs.length>0?(i(),p(O,{key:2,imgs:t(e).imgs},null,8,["imgs"])):_("",!0),t(e).videos.length>0?(i(),p(T,{key:3,videos:t(e).videos},null,8,["videos"])):_("",!0),t(e).links.length>0?(i(),p(q,{key:4,links:t(e).links},null,8,["links"])):_("",!0)]),action:n(()=>[a(B,{justify:"space-between"},{default:n(()=>[l("div",it,[a(u,{size:"18",class:"opt-item-icon"},{default:n(()=>[a(t(Z))]),_:1}),r(" "+c(t(e).upvote_count),1)]),l("div",rt,[a(u,{size:"18",class:"opt-item-icon"},{default:n(()=>[a(t(A))]),_:1}),r(" "+c(t(e).comment_count),1)]),l("div",ct,[a(u,{size:"18",class:"opt-item-icon"},{default:n(()=>[a(t(G))]),_:1}),r(" "+c(t(e).collection_count),1)]),l("div",pt,[a(u,{size:"18",class:"opt-item-icon"},{default:n(()=>[a(t(J))]),_:1}),r(" "+c(t(e).share_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[(i(!0),f(I,null,P(t(e).texts,g=>(i(),f("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(M=>b(M,t(e).id),["stop"])),innerHTML:t(N)(g.content).content},null,8,at))),128))]),key:"0"}:void 0]),1024)])}}});export{ft as _}; diff --git a/web/dist/assets/post-skeleton-3f57d9d8.js b/web/dist/assets/post-skeleton-3f57d9d8.js deleted file mode 100644 index 8dc092b4..00000000 --- a/web/dist/assets/post-skeleton-3f57d9d8.js +++ /dev/null @@ -1 +0,0 @@ -import{U as c}from"./naive-ui-ddb574dd.js";import{d as r,o as s,c as n,$ as l,a as o,L as t,F as p}from"./@vue-f70ab1bd.js";import{_ as i}from"./index-2c67ab1f.js";const m={class:"user"},d={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(f,k)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/post-skeleton-a514cb09.js b/web/dist/assets/post-skeleton-a514cb09.js new file mode 100644 index 00000000..b1314704 --- /dev/null +++ b/web/dist/assets/post-skeleton-a514cb09.js @@ -0,0 +1 @@ +import{U as c}from"./naive-ui-2035804c.js";import{d as r,o as s,c as n,a2 as l,a as o,L as t,F as p}from"./@vue-ca177dbe.js";import{_ as i}from"./index-f67b4cc5.js";const m={class:"user"},d={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(f,k)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/v3-infinite-loading-7d241236.css b/web/dist/assets/v3-infinite-loading-7d241236.css new file mode 100644 index 00000000..c3135c97 --- /dev/null +++ b/web/dist/assets/v3-infinite-loading-7d241236.css @@ -0,0 +1 @@ +.container[data-v-259be2b2]{box-sizing:initial;display:inline-block;text-align:center;border-radius:50%;overflow:hidden}.spinner[data-v-259be2b2]{box-sizing:initial;border:2px solid #a1a1a1;border-right-color:transparent;width:23px;height:23px;border-radius:50%;animation:spin-259be2b2 .9s linear infinite}@keyframes spin-259be2b2{to{transform:rotate(360deg)}}.state-error[data-v-9d82030b]{display:flex;flex-direction:column;align-items:center}.retry[data-v-9d82030b]{margin-top:8px;padding:2px 6px 4px;width:60px;color:inherit;font-size:14px;font-family:inherit;background:transparent;border:2px solid currentColor;border-radius:5px;outline:none;cursor:pointer}.retry[data-v-9d82030b]:hover{opacity:.8} diff --git a/web/dist/assets/v3-infinite-loading-fcb59c38.js b/web/dist/assets/v3-infinite-loading-fcb59c38.js new file mode 100644 index 00000000..d4376462 --- /dev/null +++ b/web/dist/assets/v3-infinite-loading-fcb59c38.js @@ -0,0 +1 @@ +import{r as v,R as B,j as H,H as L,o as b,c as h,S as p,L as j,O as u,a as d,M as g,w as y,y as C,U as N,V as O}from"./@vue-ca177dbe.js";const x=(e,o)=>{const t=e.__vccOpts||e;for(const[n,a]of o)t[n]=a;return t},V={},$=e=>(N("data-v-259be2b2"),e=e(),O(),e),M={class:"container"},R=$(()=>d("div",{class:"spinner"},null,-1)),T=[R];function U(e,o){return b(),h("div",M,T)}const D=x(V,[["render",U],["__scopeId","data-v-259be2b2"],["__file","/home/oumoussa/side-projects/infinite/src/components/Spinner.vue"]]),z=e=>({loading(){e.value="loading"},loaded(){e.value="loaded"},complete(){e.value="complete"},error(){e.value="error"}}),A=(e,o,t)=>()=>{const n=t.parentEl||document.documentElement;t.prevHeight=n.scrollHeight,o.loading(),e("infinite",o)},F=(e,o)=>{const t=e.getBoundingClientRect();if(!o)return t.top>=0&&t.bottom<=window.innerHeight;const n=o.getBoundingClientRect();return t.top>=n.top&&t.bottom<=n.bottom},_=e=>{e.parentEl=document.querySelector(e.target)||null;let o=`0px 0px ${e.distance}px 0px`;e.top&&(o=`${e.distance}px 0px 0px 0px`);const t=new IntersectionObserver(n=>{n[0].isIntersecting&&(e.firstload&&e.emit(),e.firstload=!0)},{root:e.parentEl,rootMargin:o});return t.observe(e.infiniteLoading.value),t},G={class:"state-error"},K={__name:"InfiniteLoading",props:{top:{type:Boolean,required:!1},target:{type:[String,Boolean],required:!1},distance:{type:Number,required:!1,default:0},identifier:{required:!1},firstload:{type:Boolean,required:!1,default:!0},slots:{type:Object,required:!1}},emits:["infinite"],setup(e,{emit:o}){const t=e;let n=null;const a=v(null),s=v("ready"),{top:m,firstload:E,target:k,distance:I}=t,{identifier:f}=B(t),r={infiniteLoading:a,target:k,top:m,firstload:E,distance:I,prevHeight:0,parentEl:null};r.emit=A(o,z(s),r);const S=()=>y(s,async i=>{const l=r.parentEl||document.documentElement;await C(),i=="loaded"&&m&&(l.scrollTop=l.scrollHeight-r.prevHeight),i=="loaded"&&F(a.value,r.parentEl)&&r.emit(),i=="complete"&&n.disconnect()}),q=()=>y(f,()=>{s.value="ready",n.disconnect(),n=_(r)});return H(()=>{n=_(r),S(),f&&q()}),L(()=>{n.disconnect()}),(i,l)=>(b(),h("div",{ref_key:"infiniteLoading",ref:a},[s.value=="loading"?p(i.$slots,"spinner",{key:0},()=>[j(D)],!0):u("v-if",!0),s.value=="complete"?p(i.$slots,"complete",{key:1},()=>{var c;return[d("span",null,g(((c=e.slots)==null?void 0:c.complete)||"No more results!"),1)]},!0):u("v-if",!0),s.value=="error"?p(i.$slots,"error",{key:2,retry:r.emit},()=>{var c;return[d("span",G,[d("span",null,g(((c=e.slots)==null?void 0:c.error)||"Oops something went wrong!"),1),d("button",{class:"retry",onClick:l[0]||(l[0]=(...w)=>r.emit&&r.emit(...w))}," retry ")])]},!0):u("v-if",!0)],512))}},J=x(K,[["__scopeId","data-v-9d82030b"],["__file","/home/oumoussa/side-projects/infinite/src/components/InfiniteLoading.vue"]]);export{J as K}; diff --git a/web/dist/assets/vooks-dfdd6eef.js b/web/dist/assets/vooks-2c48c2b5.js similarity index 82% rename from web/dist/assets/vooks-dfdd6eef.js rename to web/dist/assets/vooks-2c48c2b5.js index d0cf0647..068b6888 100644 --- a/web/dist/assets/vooks-dfdd6eef.js +++ b/web/dist/assets/vooks-2c48c2b5.js @@ -1 +1 @@ -import{r as f,R as c,w as q,n as k,g as V,j as U,h as g,k as B,D as X}from"./@vue-f70ab1bd.js";import{o as h,a as v}from"./evtd-b614532e.js";function N(e){const n=f(!!e.value);if(n.value)return c(n);const t=q(e,o=>{o&&(n.value=!0,t())});return c(n)}function ee(e){const n=k(e),t=f(n.value);return q(n,o=>{t.value=o}),typeof e=="function"?t:{__v_isRef:!0,get value(){return t.value},set value(o){e.set(o)}}}function I(){return V()!==null}const $=typeof window<"u";let y,L;const Y=()=>{var e,n;y=$?(n=(e=document)===null||e===void 0?void 0:e.fonts)===null||n===void 0?void 0:n.ready:void 0,L=!1,y!==void 0?y.then(()=>{L=!0}):L=!0};Y();function ne(e){if(L)return;let n=!1;U(()=>{L||y==null||y.then(()=>{n||e()})}),g(()=>{n=!0})}const M=f(null);function _(e){if(e.clientX>0||e.clientY>0)M.value={x:e.clientX,y:e.clientY};else{const{target:n}=e;if(n instanceof Element){const{left:t,top:o,width:u,height:i}=n.getBoundingClientRect();t>0||o>0?M.value={x:t+u/2,y:o+i/2}:M.value={x:0,y:0}}else M.value=null}}let E=0,H=!0;function te(){if(!$)return c(f(null));E===0&&h("click",document,_,!0);const e=()=>{E+=1};return H&&(H=I())?(B(e),g(()=>{E-=1,E===0&&v("click",document,_,!0)})):e(),c(M)}const K=f(void 0);let C=0;function R(){K.value=Date.now()}let S=!0;function ie(e){if(!$)return c(f(!1));const n=f(!1);let t=null;function o(){t!==null&&window.clearTimeout(t)}function u(){o(),n.value=!0,t=window.setTimeout(()=>{n.value=!1},e)}C===0&&h("click",window,R,!0);const i=()=>{C+=1,h("click",window,u,!0)};return S&&(S=I())?(B(i),g(()=>{C-=1,C===0&&v("click",window,R,!0),v("click",window,u,!0),o()})):i(),c(n)}let T=0;const O=typeof window<"u"&&window.matchMedia!==void 0,p=f(null);let r,w;function x(e){e.matches&&(p.value="dark")}function P(e){e.matches&&(p.value="light")}function Q(){r=window.matchMedia("(prefers-color-scheme: dark)"),w=window.matchMedia("(prefers-color-scheme: light)"),r.matches?p.value="dark":w.matches?p.value="light":p.value=null,r.addEventListener?(r.addEventListener("change",x),w.addEventListener("change",P)):r.addListener&&(r.addListener(x),w.addListener(P))}function z(){"removeEventListener"in r?(r.removeEventListener("change",x),w.removeEventListener("change",P)):"removeListener"in r&&(r.removeListener(x),w.removeListener(P)),r=void 0,w=void 0}let F=!0;function ae(){return O?(T===0&&Q(),F&&(F=I())&&(B(()=>{T+=1}),g(()=>{T-=1,T===0&&z()})),c(p)):c(p)}function oe(e,n){return q(e,t=>{t!==void 0&&(n.value=t)}),k(()=>e.value===void 0?n.value:e.value)}function ue(){const e=f(!1);return U(()=>{e.value=!0}),c(e)}function se(e,n){return k(()=>{for(const t of n)if(e[t]!==void 0)return e[t];return e[n[n.length-1]]})}const A=(typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!window.MSStream;function re(){return A}const G={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function J(e){return`(min-width: ${e}px)`}const b={};function le(e=G){if(!$)return k(()=>[]);if(typeof window.matchMedia!="function")return k(()=>[]);const n=f({}),t=Object.keys(e),o=(u,i)=>{u.matches?n.value[i]=!0:n.value[i]=!1};return t.forEach(u=>{const i=e[u];let s,l;b[i]===void 0?(s=window.matchMedia(J(i)),s.addEventListener?s.addEventListener("change",a=>{l.forEach(d=>{d(a,u)})}):s.addListener&&s.addListener(a=>{l.forEach(d=>{d(a,u)})}),l=new Set,b[i]={mql:s,cbs:l}):(s=b[i].mql,l=b[i].cbs),l.add(o),s.matches&&l.forEach(a=>{a(s,u)})}),g(()=>{t.forEach(u=>{const{cbs:i}=b[e[u]];i.has(o)&&i.delete(o)})}),k(()=>{const{value:u}=n;return t.filter(i=>u[i])})}function fe(e={},n){const t=X({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:o,keyup:u}=e,i=a=>{switch(a.key){case"Control":t.ctrl=!0;break;case"Meta":t.command=!0,t.win=!0;break;case"Shift":t.shift=!0;break;case"Tab":t.tab=!0;break}o!==void 0&&Object.keys(o).forEach(d=>{if(d!==a.key)return;const m=o[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},s=a=>{switch(a.key){case"Control":t.ctrl=!1;break;case"Meta":t.command=!1,t.win=!1;break;case"Shift":t.shift=!1;break;case"Tab":t.tab=!1;break}u!==void 0&&Object.keys(u).forEach(d=>{if(d!==a.key)return;const m=u[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},l=()=>{(n===void 0||n.value)&&(h("keydown",document,i),h("keyup",document,s)),n!==void 0&&q(n,a=>{a?(h("keydown",document,i),h("keyup",document,s)):(v("keydown",document,i),v("keyup",document,s))})};return I()?(B(l),g(()=>{(n===void 0||n.value)&&(v("keydown",document,i),v("keyup",document,s))})):l(),c(t)}export{re as a,oe as b,se as c,fe as d,ie as e,te as f,le as g,N as h,ue as i,ae as j,ne as o,ee as u}; +import{r as f,W as c,w as q,n as k,g as V,j as U,h as g,k as B,D as X}from"./@vue-ca177dbe.js";import{o as h,a as v}from"./evtd-b614532e.js";function N(e){const n=f(!!e.value);if(n.value)return c(n);const t=q(e,o=>{o&&(n.value=!0,t())});return c(n)}function ee(e){const n=k(e),t=f(n.value);return q(n,o=>{t.value=o}),typeof e=="function"?t:{__v_isRef:!0,get value(){return t.value},set value(o){e.set(o)}}}function I(){return V()!==null}const $=typeof window<"u";let y,L;const Y=()=>{var e,n;y=$?(n=(e=document)===null||e===void 0?void 0:e.fonts)===null||n===void 0?void 0:n.ready:void 0,L=!1,y!==void 0?y.then(()=>{L=!0}):L=!0};Y();function ne(e){if(L)return;let n=!1;U(()=>{L||y==null||y.then(()=>{n||e()})}),g(()=>{n=!0})}const M=f(null);function _(e){if(e.clientX>0||e.clientY>0)M.value={x:e.clientX,y:e.clientY};else{const{target:n}=e;if(n instanceof Element){const{left:t,top:o,width:u,height:i}=n.getBoundingClientRect();t>0||o>0?M.value={x:t+u/2,y:o+i/2}:M.value={x:0,y:0}}else M.value=null}}let E=0,H=!0;function te(){if(!$)return c(f(null));E===0&&h("click",document,_,!0);const e=()=>{E+=1};return H&&(H=I())?(B(e),g(()=>{E-=1,E===0&&v("click",document,_,!0)})):e(),c(M)}const K=f(void 0);let C=0;function S(){K.value=Date.now()}let F=!0;function ie(e){if(!$)return c(f(!1));const n=f(!1);let t=null;function o(){t!==null&&window.clearTimeout(t)}function u(){o(),n.value=!0,t=window.setTimeout(()=>{n.value=!1},e)}C===0&&h("click",window,S,!0);const i=()=>{C+=1,h("click",window,u,!0)};return F&&(F=I())?(B(i),g(()=>{C-=1,C===0&&v("click",window,S,!0),v("click",window,u,!0),o()})):i(),c(n)}let T=0;const O=typeof window<"u"&&window.matchMedia!==void 0,p=f(null);let r,w;function x(e){e.matches&&(p.value="dark")}function P(e){e.matches&&(p.value="light")}function Q(){r=window.matchMedia("(prefers-color-scheme: dark)"),w=window.matchMedia("(prefers-color-scheme: light)"),r.matches?p.value="dark":w.matches?p.value="light":p.value=null,r.addEventListener?(r.addEventListener("change",x),w.addEventListener("change",P)):r.addListener&&(r.addListener(x),w.addListener(P))}function W(){"removeEventListener"in r?(r.removeEventListener("change",x),w.removeEventListener("change",P)):"removeListener"in r&&(r.removeListener(x),w.removeListener(P)),r=void 0,w=void 0}let R=!0;function ae(){return O?(T===0&&Q(),R&&(R=I())&&(B(()=>{T+=1}),g(()=>{T-=1,T===0&&W()})),c(p)):c(p)}function oe(e,n){return q(e,t=>{t!==void 0&&(n.value=t)}),k(()=>e.value===void 0?n.value:e.value)}function ue(){const e=f(!1);return U(()=>{e.value=!0}),c(e)}function se(e,n){return k(()=>{for(const t of n)if(e[t]!==void 0)return e[t];return e[n[n.length-1]]})}const z=(typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!window.MSStream;function re(){return z}const A={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function G(e){return`(min-width: ${e}px)`}const b={};function le(e=A){if(!$)return k(()=>[]);if(typeof window.matchMedia!="function")return k(()=>[]);const n=f({}),t=Object.keys(e),o=(u,i)=>{u.matches?n.value[i]=!0:n.value[i]=!1};return t.forEach(u=>{const i=e[u];let s,l;b[i]===void 0?(s=window.matchMedia(G(i)),s.addEventListener?s.addEventListener("change",a=>{l.forEach(d=>{d(a,u)})}):s.addListener&&s.addListener(a=>{l.forEach(d=>{d(a,u)})}),l=new Set,b[i]={mql:s,cbs:l}):(s=b[i].mql,l=b[i].cbs),l.add(o),s.matches&&l.forEach(a=>{a(s,u)})}),g(()=>{t.forEach(u=>{const{cbs:i}=b[e[u]];i.has(o)&&i.delete(o)})}),k(()=>{const{value:u}=n;return t.filter(i=>u[i])})}function fe(e={},n){const t=X({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:o,keyup:u}=e,i=a=>{switch(a.key){case"Control":t.ctrl=!0;break;case"Meta":t.command=!0,t.win=!0;break;case"Shift":t.shift=!0;break;case"Tab":t.tab=!0;break}o!==void 0&&Object.keys(o).forEach(d=>{if(d!==a.key)return;const m=o[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},s=a=>{switch(a.key){case"Control":t.ctrl=!1;break;case"Meta":t.command=!1,t.win=!1;break;case"Shift":t.shift=!1;break;case"Tab":t.tab=!1;break}u!==void 0&&Object.keys(u).forEach(d=>{if(d!==a.key)return;const m=u[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},l=()=>{(n===void 0||n.value)&&(h("keydown",document,i),h("keyup",document,s)),n!==void 0&&q(n,a=>{a?(h("keydown",document,i),h("keyup",document,s)):(v("keydown",document,i),v("keyup",document,s))})};return I()?(B(l),g(()=>{(n===void 0||n.value)&&(v("keydown",document,i),v("keyup",document,s))})):l(),c(t)}export{re as a,oe as b,se as c,fe as d,ie as e,te as f,le as g,N as h,ue as i,ae as j,ne as o,ee as u}; diff --git a/web/dist/assets/vue-router-29025daf.js b/web/dist/assets/vue-router-88cc84d1.js similarity index 91% rename from web/dist/assets/vue-router-29025daf.js rename to web/dist/assets/vue-router-88cc84d1.js index 671df082..b6c73471 100644 --- a/web/dist/assets/vue-router-29025daf.js +++ b/web/dist/assets/vue-router-88cc84d1.js @@ -1,5 +1,5 @@ -import{S as tt,U as F,n as N,D as Be,y as nt,d as qe,i as B,s as ze,p as ae,r as rt,w as st}from"./@vue-f70ab1bd.js";/*! +import{X as tt,Y as F,n as N,D as Be,y as nt,d as qe,i as B,s as ze,p as ae,r as rt,w as st}from"./@vue-ca177dbe.js";/*! * vue-router v4.1.6 * (c) 2022 Eduardo San Martin Morote * @license MIT - */const z=typeof window<"u";function ot(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const S=Object.assign;function le(e,t){const n={};for(const r in t){const s=t[r];n[r]=I(s)?s.map(e):e(s)}return n}const W=()=>{},I=Array.isArray,ct=/\/$/,it=e=>e.replace(ct,"");function ue(e,t,n="/"){let r,s={},l="",d="";const g=t.indexOf("#");let i=t.indexOf("?");return g=0&&(i=-1),i>-1&&(r=t.slice(0,i),l=t.slice(i+1,g>-1?g:t.length),s=e(l)),g>-1&&(r=r||t.slice(0,g),d=t.slice(g,t.length)),r=ft(r??t,n),{fullPath:r+(l&&"?")+l+d,path:r,query:s,hash:d}}function at(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Se(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function lt(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&G(t.matched[r],n.matched[s])&&Ge(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function G(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ge(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!ut(e[n],t[n]))return!1;return!0}function ut(e,t){return I(e)?ke(e,t):I(t)?ke(t,e):e===t}function ke(e,t){return I(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ft(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let s=n.length-1,l,d;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l-(l===r.length?1:0)).join("/")}var X;(function(e){e.pop="pop",e.push="push"})(X||(X={}));var Y;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Y||(Y={}));function ht(e){if(!e)if(z){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),it(e)}const dt=/^[^#]+#/;function pt(e,t){return e.replace(dt,"#")+t}function mt(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const ee=()=>({left:window.pageXOffset,top:window.pageYOffset});function gt(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=mt(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Ce(e,t){return(history.state?history.state.position-t:-1)+e}const he=new Map;function vt(e,t){he.set(e,t)}function yt(e){const t=he.get(e);return he.delete(e),t}let Rt=()=>location.protocol+"//"+location.host;function Ke(e,t){const{pathname:n,search:r,hash:s}=t,l=e.indexOf("#");if(l>-1){let g=s.includes(e.slice(l))?e.slice(l).length:1,i=s.slice(g);return i[0]!=="/"&&(i="/"+i),Se(i,"")}return Se(n,e)+r+s}function Et(e,t,n,r){let s=[],l=[],d=null;const g=({state:u})=>{const m=Ke(e,location),R=n.value,b=t.value;let C=0;if(u){if(n.value=m,t.value=u,d&&d===R){d=null;return}C=b?u.position-b.position:0}else r(m);s.forEach(E=>{E(n.value,R,{delta:C,type:X.pop,direction:C?C>0?Y.forward:Y.back:Y.unknown})})};function i(){d=n.value}function f(u){s.push(u);const m=()=>{const R=s.indexOf(u);R>-1&&s.splice(R,1)};return l.push(m),m}function o(){const{history:u}=window;u.state&&u.replaceState(S({},u.state,{scroll:ee()}),"")}function a(){for(const u of l)u();l=[],window.removeEventListener("popstate",g),window.removeEventListener("beforeunload",o)}return window.addEventListener("popstate",g),window.addEventListener("beforeunload",o),{pauseListeners:i,listen:f,destroy:a}}function be(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ee():null}}function Pt(e){const{history:t,location:n}=window,r={value:Ke(e,n)},s={value:t.state};s.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,f,o){const a=e.indexOf("#"),u=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+i:Rt()+e+i;try{t[o?"replaceState":"pushState"](f,"",u),s.value=f}catch(m){console.error(m),n[o?"replace":"assign"](u)}}function d(i,f){const o=S({},t.state,be(s.value.back,i,s.value.forward,!0),f,{position:s.value.position});l(i,o,!0),r.value=i}function g(i,f){const o=S({},s.value,t.state,{forward:i,scroll:ee()});l(o.current,o,!0);const a=S({},be(r.value,i,null),{position:o.position+1},f);l(i,a,!1),r.value=i}return{location:r,state:s,push:g,replace:d}}function wt(e){e=ht(e);const t=Pt(e),n=Et(e,t.state,t.location,t.replace);function r(l,d=!0){d||n.pauseListeners(),history.go(l)}const s=S({location:"",base:e,go:r,createHref:pt.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function ln(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),wt(e)}function St(e){return typeof e=="string"||e&&typeof e=="object"}function Ue(e){return typeof e=="string"||typeof e=="symbol"}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Ve=Symbol("");var Ae;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ae||(Ae={}));function K(e,t){return S(new Error,{type:e,[Ve]:!0},t)}function $(e,t){return e instanceof Error&&Ve in e&&(t==null||!!(e.type&t))}const _e="[^/]+?",kt={sensitive:!1,strict:!1,start:!0,end:!0},Ct=/[.+*?^${}()[\]/\\]/g;function bt(e,t){const n=S({},kt,t),r=[];let s=n.start?"^":"";const l=[];for(const f of e){const o=f.length?[]:[90];n.strict&&!f.length&&(s+="/");for(let a=0;at.length?t.length===1&&t[0]===40+40?1:-1:0}function _t(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Ot={type:0,value:""},xt=/[a-zA-Z0-9_]/;function Mt(e){if(!e)return[[]];if(e==="/")return[[Ot]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${f}": ${m}`)}let n=0,r=n;const s=[];let l;function d(){l&&s.push(l),l=[]}let g=0,i,f="",o="";function a(){f&&(n===0?l.push({type:0,value:f}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:f,regexp:o,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),f="")}function u(){f+=i}for(;g{d(w)}:W}function d(o){if(Ue(o)){const a=r.get(o);a&&(r.delete(o),n.splice(n.indexOf(a),1),a.children.forEach(d),a.alias.forEach(d))}else{const a=n.indexOf(o);a>-1&&(n.splice(a,1),o.record.name&&r.delete(o.record.name),o.children.forEach(d),o.alias.forEach(d))}}function g(){return n}function i(o){let a=0;for(;a=0&&(o.record.path!==n[a].record.path||!De(o,n[a]));)a++;n.splice(a,0,o),o.record.name&&!Me(o)&&r.set(o.record.name,o)}function f(o,a){let u,m={},R,b;if("name"in o&&o.name){if(u=r.get(o.name),!u)throw K(1,{location:o});b=u.record.name,m=S(xe(a.params,u.keys.filter(w=>!w.optional).map(w=>w.name)),o.params&&xe(o.params,u.keys.map(w=>w.name))),R=u.stringify(m)}else if("path"in o)R=o.path,u=n.find(w=>w.re.test(R)),u&&(m=u.parse(R),b=u.record.name);else{if(u=a.name?r.get(a.name):n.find(w=>w.re.test(a.path)),!u)throw K(1,{location:o,currentLocation:a});b=u.record.name,m=S({},a.params,o.params),R=u.stringify(m)}const C=[];let E=u;for(;E;)C.unshift(E.record),E=E.parent;return{name:b,path:R,params:m,matched:C,meta:Ht(C)}}return e.forEach(o=>l(o)),{addRoute:l,resolve:f,removeRoute:d,getRoutes:g,getRecordMatcher:s}}function xe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Lt(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:$t(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function $t(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Me(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ht(e){return e.reduce((t,n)=>S(t,n.meta),{})}function Ne(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function De(e,t){return t.children.some(n=>n===e||De(e,n))}const Qe=/#/g,Tt=/&/g,jt=/\//g,Bt=/=/g,qt=/\?/g,Fe=/\+/g,zt=/%5B/g,Gt=/%5D/g,We=/%5E/g,Kt=/%60/g,Ye=/%7B/g,Ut=/%7C/g,Xe=/%7D/g,Vt=/%20/g;function me(e){return encodeURI(""+e).replace(Ut,"|").replace(zt,"[").replace(Gt,"]")}function Dt(e){return me(e).replace(Ye,"{").replace(Xe,"}").replace(We,"^")}function de(e){return me(e).replace(Fe,"%2B").replace(Vt,"+").replace(Qe,"%23").replace(Tt,"%26").replace(Kt,"`").replace(Ye,"{").replace(Xe,"}").replace(We,"^")}function Qt(e){return de(e).replace(Bt,"%3D")}function Ft(e){return me(e).replace(Qe,"%23").replace(qt,"%3F")}function Wt(e){return e==null?"":Ft(e).replace(jt,"%2F")}function J(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Yt(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sl&&de(l)):[r&&de(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function Xt(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=I(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Zt=Symbol(""),Le=Symbol(""),te=Symbol(""),ge=Symbol(""),pe=Symbol("");function Q(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function T(e,t,n,r,s){const l=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((d,g)=>{const i=a=>{a===!1?g(K(4,{from:n,to:t})):a instanceof Error?g(a):St(a)?g(K(2,{from:t,to:a})):(l&&r.enterCallbacks[s]===l&&typeof a=="function"&&l.push(a),d())},f=e.call(r&&r.instances[s],t,n,i);let o=Promise.resolve(f);e.length<3&&(o=o.then(i)),o.catch(a=>g(a))})}function fe(e,t,n,r){const s=[];for(const l of e)for(const d in l.components){let g=l.components[d];if(!(t!=="beforeRouteEnter"&&!l.instances[d]))if(Jt(g)){const f=(g.__vccOpts||g)[t];f&&s.push(T(f,n,r,l,d))}else{let i=g();s.push(()=>i.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${d}" at "${l.path}"`));const o=ot(f)?f.default:f;l.components[d]=o;const u=(o.__vccOpts||o)[t];return u&&T(u,n,r,l,d)()}))}}return s}function Jt(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function $e(e){const t=B(te),n=B(ge),r=N(()=>t.resolve(F(e.to))),s=N(()=>{const{matched:i}=r.value,{length:f}=i,o=i[f-1],a=n.matched;if(!o||!a.length)return-1;const u=a.findIndex(G.bind(null,o));if(u>-1)return u;const m=He(i[f-2]);return f>1&&He(o)===m&&a[a.length-1].path!==m?a.findIndex(G.bind(null,i[f-2])):u}),l=N(()=>s.value>-1&&rn(n.params,r.value.params)),d=N(()=>s.value>-1&&s.value===n.matched.length-1&&Ge(n.params,r.value.params));function g(i={}){return nn(i)?t[F(e.replace)?"replace":"push"](F(e.to)).catch(W):Promise.resolve()}return{route:r,href:N(()=>r.value.href),isActive:l,isExactActive:d,navigate:g}}const en=qe({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:$e,setup(e,{slots:t}){const n=Be($e(e)),{options:r}=B(te),s=N(()=>({[Te(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Te(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:ze("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},l)}}}),tn=en;function nn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function rn(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!I(s)||s.length!==r.length||r.some((l,d)=>l!==s[d]))return!1}return!0}function He(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Te=(e,t,n)=>e??t??n,sn=qe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=B(pe),s=N(()=>e.route||r.value),l=B(Le,0),d=N(()=>{let f=F(l);const{matched:o}=s.value;let a;for(;(a=o[f])&&!a.components;)f++;return f}),g=N(()=>s.value.matched[d.value]);ae(Le,N(()=>d.value+1)),ae(Zt,g),ae(pe,s);const i=rt();return st(()=>[i.value,g.value,e.name],([f,o,a],[u,m,R])=>{o&&(o.instances[a]=f,m&&m!==o&&f&&f===u&&(o.leaveGuards.size||(o.leaveGuards=m.leaveGuards),o.updateGuards.size||(o.updateGuards=m.updateGuards))),f&&o&&(!m||!G(o,m)||!u)&&(o.enterCallbacks[a]||[]).forEach(b=>b(f))},{flush:"post"}),()=>{const f=s.value,o=e.name,a=g.value,u=a&&a.components[o];if(!u)return je(n.default,{Component:u,route:f});const m=a.props[o],R=m?m===!0?f.params:typeof m=="function"?m(f):m:null,C=ze(u,S({},R,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(a.instances[o]=null)},ref:i}));return je(n.default,{Component:C,route:f})||C}}});function je(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const on=sn;function un(e){const t=It(e.routes,e),n=e.parseQuery||Yt,r=e.stringifyQuery||Ie,s=e.history,l=Q(),d=Q(),g=Q(),i=tt(H);let f=H;z&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const o=le.bind(null,c=>""+c),a=le.bind(null,Wt),u=le.bind(null,J);function m(c,p){let h,v;return Ue(c)?(h=t.getRecordMatcher(c),v=p):v=c,t.addRoute(v,h)}function R(c){const p=t.getRecordMatcher(c);p&&t.removeRoute(p)}function b(){return t.getRoutes().map(c=>c.record)}function C(c){return!!t.getRecordMatcher(c)}function E(c,p){if(p=S({},p||i.value),typeof c=="string"){const y=ue(n,c,p.path),_=t.resolve({path:y.path},p),D=s.createHref(y.fullPath);return S(y,_,{params:u(_.params),hash:J(y.hash),redirectedFrom:void 0,href:D})}let h;if("path"in c)h=S({},c,{path:ue(n,c.path,p.path).path});else{const y=S({},c.params);for(const _ in y)y[_]==null&&delete y[_];h=S({},c,{params:a(c.params)}),p.params=a(p.params)}const v=t.resolve(h,p),k=c.hash||"";v.params=o(u(v.params));const A=at(r,S({},c,{hash:Dt(k),path:v.path})),P=s.createHref(A);return S({fullPath:A,hash:k,query:r===Ie?Xt(c.query):c.query||{}},v,{redirectedFrom:void 0,href:P})}function w(c){return typeof c=="string"?ue(n,c,i.value.path):S({},c)}function O(c,p){if(f!==c)return K(8,{from:p,to:c})}function M(c){return U(c)}function j(c){return M(S(w(c),{replace:!0}))}function L(c){const p=c.matched[c.matched.length-1];if(p&&p.redirect){const{redirect:h}=p;let v=typeof h=="function"?h(c):h;return typeof v=="string"&&(v=v.includes("?")||v.includes("#")?v=w(v):{path:v},v.params={}),S({query:c.query,hash:c.hash,params:"path"in v?{}:c.params},v)}}function U(c,p){const h=f=E(c),v=i.value,k=c.state,A=c.force,P=c.replace===!0,y=L(h);if(y)return U(S(w(y),{state:typeof y=="object"?S({},k,y.state):k,force:A,replace:P}),p||h);const _=h;_.redirectedFrom=p;let D;return!A&<(r,v,h)&&(D=K(16,{to:_,from:v}),Pe(v,v,!0,!1)),(D?Promise.resolve(D):ve(_,v)).catch(x=>$(x)?$(x,2)?x:se(x):re(x,_,v)).then(x=>{if(x){if($(x,2))return U(S({replace:P},w(x.to),{state:typeof x.to=="object"?S({},k,x.to.state):k,force:A}),p||_)}else x=Re(_,v,!0,P,k);return ye(_,v,x),x})}function Ze(c,p){const h=O(c,p);return h?Promise.reject(h):Promise.resolve()}function ve(c,p){let h;const[v,k,A]=cn(c,p);h=fe(v.reverse(),"beforeRouteLeave",c,p);for(const y of v)y.leaveGuards.forEach(_=>{h.push(T(_,c,p))});const P=Ze.bind(null,c,p);return h.push(P),q(h).then(()=>{h=[];for(const y of l.list())h.push(T(y,c,p));return h.push(P),q(h)}).then(()=>{h=fe(k,"beforeRouteUpdate",c,p);for(const y of k)y.updateGuards.forEach(_=>{h.push(T(_,c,p))});return h.push(P),q(h)}).then(()=>{h=[];for(const y of c.matched)if(y.beforeEnter&&!p.matched.includes(y))if(I(y.beforeEnter))for(const _ of y.beforeEnter)h.push(T(_,c,p));else h.push(T(y.beforeEnter,c,p));return h.push(P),q(h)}).then(()=>(c.matched.forEach(y=>y.enterCallbacks={}),h=fe(A,"beforeRouteEnter",c,p),h.push(P),q(h))).then(()=>{h=[];for(const y of d.list())h.push(T(y,c,p));return h.push(P),q(h)}).catch(y=>$(y,8)?y:Promise.reject(y))}function ye(c,p,h){for(const v of g.list())v(c,p,h)}function Re(c,p,h,v,k){const A=O(c,p);if(A)return A;const P=p===H,y=z?history.state:{};h&&(v||P?s.replace(c.fullPath,S({scroll:P&&y&&y.scroll},k)):s.push(c.fullPath,k)),i.value=c,Pe(c,p,h,P),se()}let V;function Je(){V||(V=s.listen((c,p,h)=>{if(!we.listening)return;const v=E(c),k=L(v);if(k){U(S(k,{replace:!0}),v).catch(W);return}f=v;const A=i.value;z&&vt(Ce(A.fullPath,h.delta),ee()),ve(v,A).catch(P=>$(P,12)?P:$(P,2)?(U(P.to,v).then(y=>{$(y,20)&&!h.delta&&h.type===X.pop&&s.go(-1,!1)}).catch(W),Promise.reject()):(h.delta&&s.go(-h.delta,!1),re(P,v,A))).then(P=>{P=P||Re(v,A,!1),P&&(h.delta&&!$(P,8)?s.go(-h.delta,!1):h.type===X.pop&&$(P,20)&&s.go(-1,!1)),ye(v,A,P)}).catch(W)}))}let ne=Q(),Ee=Q(),Z;function re(c,p,h){se(c);const v=Ee.list();return v.length?v.forEach(k=>k(c,p,h)):console.error(c),Promise.reject(c)}function et(){return Z&&i.value!==H?Promise.resolve():new Promise((c,p)=>{ne.add([c,p])})}function se(c){return Z||(Z=!c,Je(),ne.list().forEach(([p,h])=>c?h(c):p()),ne.reset()),c}function Pe(c,p,h,v){const{scrollBehavior:k}=e;if(!z||!k)return Promise.resolve();const A=!h&&yt(Ce(c.fullPath,0))||(v||!h)&&history.state&&history.state.scroll||null;return nt().then(()=>k(c,p,A)).then(P=>P&>(P)).catch(P=>re(P,c,p))}const oe=c=>s.go(c);let ce;const ie=new Set,we={currentRoute:i,listening:!0,addRoute:m,removeRoute:R,hasRoute:C,getRoutes:b,resolve:E,options:e,push:M,replace:j,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:l.add,beforeResolve:d.add,afterEach:g.add,onError:Ee.add,isReady:et,install(c){const p=this;c.component("RouterLink",tn),c.component("RouterView",on),c.config.globalProperties.$router=p,Object.defineProperty(c.config.globalProperties,"$route",{enumerable:!0,get:()=>F(i)}),z&&!ce&&i.value===H&&(ce=!0,M(s.location).catch(k=>{}));const h={};for(const k in H)h[k]=N(()=>i.value[k]);c.provide(te,p),c.provide(ge,Be(h)),c.provide(pe,i);const v=c.unmount;ie.add(c),c.unmount=function(){ie.delete(c),ie.size<1&&(f=H,V&&V(),V=null,i.value=H,ce=!1,Z=!1),v()}}};return we}function q(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function cn(e,t){const n=[],r=[],s=[],l=Math.max(t.matched.length,e.matched.length);for(let d=0;dG(f,g))?r.push(g):n.push(g));const i=e.matched[d];i&&(t.matched.find(f=>G(f,i))||s.push(i))}return[n,r,s]}function fn(){return B(te)}function hn(){return B(ge)}export{ln as a,hn as b,un as c,fn as u}; + */const z=typeof window<"u";function ot(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const S=Object.assign;function le(e,t){const n={};for(const r in t){const s=t[r];n[r]=I(s)?s.map(e):e(s)}return n}const W=()=>{},I=Array.isArray,ct=/\/$/,it=e=>e.replace(ct,"");function ue(e,t,n="/"){let r,s={},l="",d="";const g=t.indexOf("#");let i=t.indexOf("?");return g=0&&(i=-1),i>-1&&(r=t.slice(0,i),l=t.slice(i+1,g>-1?g:t.length),s=e(l)),g>-1&&(r=r||t.slice(0,g),d=t.slice(g,t.length)),r=ft(r??t,n),{fullPath:r+(l&&"?")+l+d,path:r,query:s,hash:d}}function at(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Se(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function lt(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&G(t.matched[r],n.matched[s])&&Ge(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function G(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ge(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!ut(e[n],t[n]))return!1;return!0}function ut(e,t){return I(e)?ke(e,t):I(t)?ke(t,e):e===t}function ke(e,t){return I(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ft(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let s=n.length-1,l,d;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l-(l===r.length?1:0)).join("/")}var X;(function(e){e.pop="pop",e.push="push"})(X||(X={}));var Y;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Y||(Y={}));function ht(e){if(!e)if(z){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),it(e)}const dt=/^[^#]+#/;function pt(e,t){return e.replace(dt,"#")+t}function mt(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const ee=()=>({left:window.pageXOffset,top:window.pageYOffset});function gt(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=mt(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Ce(e,t){return(history.state?history.state.position-t:-1)+e}const he=new Map;function vt(e,t){he.set(e,t)}function yt(e){const t=he.get(e);return he.delete(e),t}let Rt=()=>location.protocol+"//"+location.host;function Ke(e,t){const{pathname:n,search:r,hash:s}=t,l=e.indexOf("#");if(l>-1){let g=s.includes(e.slice(l))?e.slice(l).length:1,i=s.slice(g);return i[0]!=="/"&&(i="/"+i),Se(i,"")}return Se(n,e)+r+s}function Et(e,t,n,r){let s=[],l=[],d=null;const g=({state:u})=>{const m=Ke(e,location),R=n.value,b=t.value;let C=0;if(u){if(n.value=m,t.value=u,d&&d===R){d=null;return}C=b?u.position-b.position:0}else r(m);s.forEach(E=>{E(n.value,R,{delta:C,type:X.pop,direction:C?C>0?Y.forward:Y.back:Y.unknown})})};function i(){d=n.value}function f(u){s.push(u);const m=()=>{const R=s.indexOf(u);R>-1&&s.splice(R,1)};return l.push(m),m}function o(){const{history:u}=window;u.state&&u.replaceState(S({},u.state,{scroll:ee()}),"")}function a(){for(const u of l)u();l=[],window.removeEventListener("popstate",g),window.removeEventListener("beforeunload",o)}return window.addEventListener("popstate",g),window.addEventListener("beforeunload",o),{pauseListeners:i,listen:f,destroy:a}}function be(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ee():null}}function Pt(e){const{history:t,location:n}=window,r={value:Ke(e,n)},s={value:t.state};s.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,f,o){const a=e.indexOf("#"),u=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+i:Rt()+e+i;try{t[o?"replaceState":"pushState"](f,"",u),s.value=f}catch(m){console.error(m),n[o?"replace":"assign"](u)}}function d(i,f){const o=S({},t.state,be(s.value.back,i,s.value.forward,!0),f,{position:s.value.position});l(i,o,!0),r.value=i}function g(i,f){const o=S({},s.value,t.state,{forward:i,scroll:ee()});l(o.current,o,!0);const a=S({},be(r.value,i,null),{position:o.position+1},f);l(i,a,!1),r.value=i}return{location:r,state:s,push:g,replace:d}}function wt(e){e=ht(e);const t=Pt(e),n=Et(e,t.state,t.location,t.replace);function r(l,d=!0){d||n.pauseListeners(),history.go(l)}const s=S({location:"",base:e,go:r,createHref:pt.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function ln(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),wt(e)}function St(e){return typeof e=="string"||e&&typeof e=="object"}function Ve(e){return typeof e=="string"||typeof e=="symbol"}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},De=Symbol("");var Ae;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ae||(Ae={}));function K(e,t){return S(new Error,{type:e,[De]:!0},t)}function $(e,t){return e instanceof Error&&De in e&&(t==null||!!(e.type&t))}const _e="[^/]+?",kt={sensitive:!1,strict:!1,start:!0,end:!0},Ct=/[.+*?^${}()[\]/\\]/g;function bt(e,t){const n=S({},kt,t),r=[];let s=n.start?"^":"";const l=[];for(const f of e){const o=f.length?[]:[90];n.strict&&!f.length&&(s+="/");for(let a=0;at.length?t.length===1&&t[0]===40+40?1:-1:0}function _t(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Ot={type:0,value:""},xt=/[a-zA-Z0-9_]/;function Mt(e){if(!e)return[[]];if(e==="/")return[[Ot]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${f}": ${m}`)}let n=0,r=n;const s=[];let l;function d(){l&&s.push(l),l=[]}let g=0,i,f="",o="";function a(){f&&(n===0?l.push({type:0,value:f}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:f,regexp:o,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),f="")}function u(){f+=i}for(;g{d(w)}:W}function d(o){if(Ve(o)){const a=r.get(o);a&&(r.delete(o),n.splice(n.indexOf(a),1),a.children.forEach(d),a.alias.forEach(d))}else{const a=n.indexOf(o);a>-1&&(n.splice(a,1),o.record.name&&r.delete(o.record.name),o.children.forEach(d),o.alias.forEach(d))}}function g(){return n}function i(o){let a=0;for(;a=0&&(o.record.path!==n[a].record.path||!Ue(o,n[a]));)a++;n.splice(a,0,o),o.record.name&&!Me(o)&&r.set(o.record.name,o)}function f(o,a){let u,m={},R,b;if("name"in o&&o.name){if(u=r.get(o.name),!u)throw K(1,{location:o});b=u.record.name,m=S(xe(a.params,u.keys.filter(w=>!w.optional).map(w=>w.name)),o.params&&xe(o.params,u.keys.map(w=>w.name))),R=u.stringify(m)}else if("path"in o)R=o.path,u=n.find(w=>w.re.test(R)),u&&(m=u.parse(R),b=u.record.name);else{if(u=a.name?r.get(a.name):n.find(w=>w.re.test(a.path)),!u)throw K(1,{location:o,currentLocation:a});b=u.record.name,m=S({},a.params,o.params),R=u.stringify(m)}const C=[];let E=u;for(;E;)C.unshift(E.record),E=E.parent;return{name:b,path:R,params:m,matched:C,meta:Ht(C)}}return e.forEach(o=>l(o)),{addRoute:l,resolve:f,removeRoute:d,getRoutes:g,getRecordMatcher:s}}function xe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Lt(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:$t(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function $t(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Me(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ht(e){return e.reduce((t,n)=>S(t,n.meta),{})}function Ne(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ue(e,t){return t.children.some(n=>n===e||Ue(e,n))}const Qe=/#/g,Tt=/&/g,jt=/\//g,Bt=/=/g,qt=/\?/g,Fe=/\+/g,zt=/%5B/g,Gt=/%5D/g,We=/%5E/g,Kt=/%60/g,Ye=/%7B/g,Vt=/%7C/g,Xe=/%7D/g,Dt=/%20/g;function me(e){return encodeURI(""+e).replace(Vt,"|").replace(zt,"[").replace(Gt,"]")}function Ut(e){return me(e).replace(Ye,"{").replace(Xe,"}").replace(We,"^")}function de(e){return me(e).replace(Fe,"%2B").replace(Dt,"+").replace(Qe,"%23").replace(Tt,"%26").replace(Kt,"`").replace(Ye,"{").replace(Xe,"}").replace(We,"^")}function Qt(e){return de(e).replace(Bt,"%3D")}function Ft(e){return me(e).replace(Qe,"%23").replace(qt,"%3F")}function Wt(e){return e==null?"":Ft(e).replace(jt,"%2F")}function J(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Yt(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sl&&de(l)):[r&&de(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function Xt(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=I(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Zt=Symbol(""),Le=Symbol(""),te=Symbol(""),ge=Symbol(""),pe=Symbol("");function Q(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function T(e,t,n,r,s){const l=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((d,g)=>{const i=a=>{a===!1?g(K(4,{from:n,to:t})):a instanceof Error?g(a):St(a)?g(K(2,{from:t,to:a})):(l&&r.enterCallbacks[s]===l&&typeof a=="function"&&l.push(a),d())},f=e.call(r&&r.instances[s],t,n,i);let o=Promise.resolve(f);e.length<3&&(o=o.then(i)),o.catch(a=>g(a))})}function fe(e,t,n,r){const s=[];for(const l of e)for(const d in l.components){let g=l.components[d];if(!(t!=="beforeRouteEnter"&&!l.instances[d]))if(Jt(g)){const f=(g.__vccOpts||g)[t];f&&s.push(T(f,n,r,l,d))}else{let i=g();s.push(()=>i.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${d}" at "${l.path}"`));const o=ot(f)?f.default:f;l.components[d]=o;const u=(o.__vccOpts||o)[t];return u&&T(u,n,r,l,d)()}))}}return s}function Jt(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function $e(e){const t=B(te),n=B(ge),r=N(()=>t.resolve(F(e.to))),s=N(()=>{const{matched:i}=r.value,{length:f}=i,o=i[f-1],a=n.matched;if(!o||!a.length)return-1;const u=a.findIndex(G.bind(null,o));if(u>-1)return u;const m=He(i[f-2]);return f>1&&He(o)===m&&a[a.length-1].path!==m?a.findIndex(G.bind(null,i[f-2])):u}),l=N(()=>s.value>-1&&rn(n.params,r.value.params)),d=N(()=>s.value>-1&&s.value===n.matched.length-1&&Ge(n.params,r.value.params));function g(i={}){return nn(i)?t[F(e.replace)?"replace":"push"](F(e.to)).catch(W):Promise.resolve()}return{route:r,href:N(()=>r.value.href),isActive:l,isExactActive:d,navigate:g}}const en=qe({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:$e,setup(e,{slots:t}){const n=Be($e(e)),{options:r}=B(te),s=N(()=>({[Te(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Te(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:ze("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},l)}}}),tn=en;function nn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function rn(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!I(s)||s.length!==r.length||r.some((l,d)=>l!==s[d]))return!1}return!0}function He(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Te=(e,t,n)=>e??t??n,sn=qe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=B(pe),s=N(()=>e.route||r.value),l=B(Le,0),d=N(()=>{let f=F(l);const{matched:o}=s.value;let a;for(;(a=o[f])&&!a.components;)f++;return f}),g=N(()=>s.value.matched[d.value]);ae(Le,N(()=>d.value+1)),ae(Zt,g),ae(pe,s);const i=rt();return st(()=>[i.value,g.value,e.name],([f,o,a],[u,m,R])=>{o&&(o.instances[a]=f,m&&m!==o&&f&&f===u&&(o.leaveGuards.size||(o.leaveGuards=m.leaveGuards),o.updateGuards.size||(o.updateGuards=m.updateGuards))),f&&o&&(!m||!G(o,m)||!u)&&(o.enterCallbacks[a]||[]).forEach(b=>b(f))},{flush:"post"}),()=>{const f=s.value,o=e.name,a=g.value,u=a&&a.components[o];if(!u)return je(n.default,{Component:u,route:f});const m=a.props[o],R=m?m===!0?f.params:typeof m=="function"?m(f):m:null,C=ze(u,S({},R,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(a.instances[o]=null)},ref:i}));return je(n.default,{Component:C,route:f})||C}}});function je(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const on=sn;function un(e){const t=It(e.routes,e),n=e.parseQuery||Yt,r=e.stringifyQuery||Ie,s=e.history,l=Q(),d=Q(),g=Q(),i=tt(H);let f=H;z&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const o=le.bind(null,c=>""+c),a=le.bind(null,Wt),u=le.bind(null,J);function m(c,p){let h,v;return Ve(c)?(h=t.getRecordMatcher(c),v=p):v=c,t.addRoute(v,h)}function R(c){const p=t.getRecordMatcher(c);p&&t.removeRoute(p)}function b(){return t.getRoutes().map(c=>c.record)}function C(c){return!!t.getRecordMatcher(c)}function E(c,p){if(p=S({},p||i.value),typeof c=="string"){const y=ue(n,c,p.path),_=t.resolve({path:y.path},p),U=s.createHref(y.fullPath);return S(y,_,{params:u(_.params),hash:J(y.hash),redirectedFrom:void 0,href:U})}let h;if("path"in c)h=S({},c,{path:ue(n,c.path,p.path).path});else{const y=S({},c.params);for(const _ in y)y[_]==null&&delete y[_];h=S({},c,{params:a(c.params)}),p.params=a(p.params)}const v=t.resolve(h,p),k=c.hash||"";v.params=o(u(v.params));const A=at(r,S({},c,{hash:Ut(k),path:v.path})),P=s.createHref(A);return S({fullPath:A,hash:k,query:r===Ie?Xt(c.query):c.query||{}},v,{redirectedFrom:void 0,href:P})}function w(c){return typeof c=="string"?ue(n,c,i.value.path):S({},c)}function O(c,p){if(f!==c)return K(8,{from:p,to:c})}function M(c){return V(c)}function j(c){return M(S(w(c),{replace:!0}))}function L(c){const p=c.matched[c.matched.length-1];if(p&&p.redirect){const{redirect:h}=p;let v=typeof h=="function"?h(c):h;return typeof v=="string"&&(v=v.includes("?")||v.includes("#")?v=w(v):{path:v},v.params={}),S({query:c.query,hash:c.hash,params:"path"in v?{}:c.params},v)}}function V(c,p){const h=f=E(c),v=i.value,k=c.state,A=c.force,P=c.replace===!0,y=L(h);if(y)return V(S(w(y),{state:typeof y=="object"?S({},k,y.state):k,force:A,replace:P}),p||h);const _=h;_.redirectedFrom=p;let U;return!A&<(r,v,h)&&(U=K(16,{to:_,from:v}),Pe(v,v,!0,!1)),(U?Promise.resolve(U):ve(_,v)).catch(x=>$(x)?$(x,2)?x:se(x):re(x,_,v)).then(x=>{if(x){if($(x,2))return V(S({replace:P},w(x.to),{state:typeof x.to=="object"?S({},k,x.to.state):k,force:A}),p||_)}else x=Re(_,v,!0,P,k);return ye(_,v,x),x})}function Ze(c,p){const h=O(c,p);return h?Promise.reject(h):Promise.resolve()}function ve(c,p){let h;const[v,k,A]=cn(c,p);h=fe(v.reverse(),"beforeRouteLeave",c,p);for(const y of v)y.leaveGuards.forEach(_=>{h.push(T(_,c,p))});const P=Ze.bind(null,c,p);return h.push(P),q(h).then(()=>{h=[];for(const y of l.list())h.push(T(y,c,p));return h.push(P),q(h)}).then(()=>{h=fe(k,"beforeRouteUpdate",c,p);for(const y of k)y.updateGuards.forEach(_=>{h.push(T(_,c,p))});return h.push(P),q(h)}).then(()=>{h=[];for(const y of c.matched)if(y.beforeEnter&&!p.matched.includes(y))if(I(y.beforeEnter))for(const _ of y.beforeEnter)h.push(T(_,c,p));else h.push(T(y.beforeEnter,c,p));return h.push(P),q(h)}).then(()=>(c.matched.forEach(y=>y.enterCallbacks={}),h=fe(A,"beforeRouteEnter",c,p),h.push(P),q(h))).then(()=>{h=[];for(const y of d.list())h.push(T(y,c,p));return h.push(P),q(h)}).catch(y=>$(y,8)?y:Promise.reject(y))}function ye(c,p,h){for(const v of g.list())v(c,p,h)}function Re(c,p,h,v,k){const A=O(c,p);if(A)return A;const P=p===H,y=z?history.state:{};h&&(v||P?s.replace(c.fullPath,S({scroll:P&&y&&y.scroll},k)):s.push(c.fullPath,k)),i.value=c,Pe(c,p,h,P),se()}let D;function Je(){D||(D=s.listen((c,p,h)=>{if(!we.listening)return;const v=E(c),k=L(v);if(k){V(S(k,{replace:!0}),v).catch(W);return}f=v;const A=i.value;z&&vt(Ce(A.fullPath,h.delta),ee()),ve(v,A).catch(P=>$(P,12)?P:$(P,2)?(V(P.to,v).then(y=>{$(y,20)&&!h.delta&&h.type===X.pop&&s.go(-1,!1)}).catch(W),Promise.reject()):(h.delta&&s.go(-h.delta,!1),re(P,v,A))).then(P=>{P=P||Re(v,A,!1),P&&(h.delta&&!$(P,8)?s.go(-h.delta,!1):h.type===X.pop&&$(P,20)&&s.go(-1,!1)),ye(v,A,P)}).catch(W)}))}let ne=Q(),Ee=Q(),Z;function re(c,p,h){se(c);const v=Ee.list();return v.length?v.forEach(k=>k(c,p,h)):console.error(c),Promise.reject(c)}function et(){return Z&&i.value!==H?Promise.resolve():new Promise((c,p)=>{ne.add([c,p])})}function se(c){return Z||(Z=!c,Je(),ne.list().forEach(([p,h])=>c?h(c):p()),ne.reset()),c}function Pe(c,p,h,v){const{scrollBehavior:k}=e;if(!z||!k)return Promise.resolve();const A=!h&&yt(Ce(c.fullPath,0))||(v||!h)&&history.state&&history.state.scroll||null;return nt().then(()=>k(c,p,A)).then(P=>P&>(P)).catch(P=>re(P,c,p))}const oe=c=>s.go(c);let ce;const ie=new Set,we={currentRoute:i,listening:!0,addRoute:m,removeRoute:R,hasRoute:C,getRoutes:b,resolve:E,options:e,push:M,replace:j,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:l.add,beforeResolve:d.add,afterEach:g.add,onError:Ee.add,isReady:et,install(c){const p=this;c.component("RouterLink",tn),c.component("RouterView",on),c.config.globalProperties.$router=p,Object.defineProperty(c.config.globalProperties,"$route",{enumerable:!0,get:()=>F(i)}),z&&!ce&&i.value===H&&(ce=!0,M(s.location).catch(k=>{}));const h={};for(const k in H)h[k]=N(()=>i.value[k]);c.provide(te,p),c.provide(ge,Be(h)),c.provide(pe,i);const v=c.unmount;ie.add(c),c.unmount=function(){ie.delete(c),ie.size<1&&(f=H,D&&D(),D=null,i.value=H,ce=!1,Z=!1),v()}}};return we}function q(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function cn(e,t){const n=[],r=[],s=[],l=Math.max(t.matched.length,e.matched.length);for(let d=0;dG(f,g))?r.push(g):n.push(g));const i=e.matched[d];i&&(t.matched.find(f=>G(f,i))||s.push(i))}return[n,r,s]}function fn(){return B(te)}function hn(){return B(ge)}export{ln as a,hn as b,un as c,fn as u}; diff --git a/web/dist/assets/vueuc-804c4158.js b/web/dist/assets/vueuc-973e5707.js similarity index 98% rename from web/dist/assets/vueuc-804c4158.js rename to web/dist/assets/vueuc-973e5707.js index 4e7ea979..4aa99fb4 100644 --- a/web/dist/assets/vueuc-804c4158.js +++ b/web/dist/assets/vueuc-973e5707.js @@ -1 +1 @@ -import{a as q,o as se}from"./evtd-b614532e.js";import{j as Me,d as ce,p as G,e as Ce,g as Le}from"./seemly-76b7b838.js";import{e as He,F as Se,C as Ve,d as k,p as Ye,g as Te,i as fe,r as F,h as R,z as ze,u as Z,n as D,s as E,J as Xe,j as K,w as U,y as Ee,V as Ae,l as De,m as Ne,x as _e}from"./@vue-f70ab1bd.js";import{u as ee}from"./@css-render-66126308.js";import{h as je,u as ue,o as Pe,i as Ue}from"./vooks-dfdd6eef.js";import{z as qe}from"./vdirs-b0483831.js";import{R as Ke}from"./@juggle-41516555.js";import{C as Ge}from"./css-render-6a5c5852.js";function ae(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);return r()}function de(n,e=!0,t=[]){return n.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(He(String(r)));return}if(Array.isArray(r)){de(r,e,t);return}if(r.type===Se){if(r.children===null)return;Array.isArray(r.children)&&de(r.children,e,t)}else r.type!==Ve&&t.push(r)}}),t}function he(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);const o=de(r());if(o.length===1)return o[0];throw new Error(`[vueuc/${n}]: slot[${t}] should have exactly one child.`)}let H=null;function Fe(){if(H===null&&(H=document.getElementById("v-binder-view-measurer"),H===null)){H=document.createElement("div"),H.id="v-binder-view-measurer";const{style:n}=H;n.position="fixed",n.left="0",n.right="0",n.top="0",n.bottom="0",n.pointerEvents="none",n.visibility="hidden",document.body.appendChild(H)}return H.getBoundingClientRect()}function Je(n,e){const t=Fe();return{top:e,left:n,height:0,width:0,right:t.width-n,bottom:t.height-e}}function oe(n){const e=n.getBoundingClientRect(),t=Fe();return{left:e.left-t.left,top:e.top-t.top,bottom:t.height+t.top-e.bottom,right:t.width+t.left-e.right,width:e.width,height:e.height}}function Qe(n){return n.nodeType===9?null:n.parentNode}function Be(n){if(n===null)return null;const e=Qe(n);if(e===null)return null;if(e.nodeType===9)return document;if(e.nodeType===1){const{overflow:t,overflowX:r,overflowY:o}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+o+r))return e}return Be(e)}const Ze=k({name:"Binder",props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(n){var e;Ye("VBinder",(e=Te())===null||e===void 0?void 0:e.proxy);const t=fe("VBinder",null),r=F(null),o=i=>{r.value=i,t&&n.syncTargetWithParent&&t.setTargetRef(i)};let l=[];const p=()=>{let i=r.value;for(;i=Be(i),i!==null;)l.push(i);for(const b of l)se("scroll",b,x,!0)},g=()=>{for(const i of l)q("scroll",i,x,!0);l=[]},a=new Set,m=i=>{a.size===0&&p(),a.has(i)||a.add(i)},y=i=>{a.has(i)&&a.delete(i),a.size===0&&g()},x=()=>{Me(d)},d=()=>{a.forEach(i=>i())},c=new Set,v=i=>{c.size===0&&se("resize",window,u),c.has(i)||c.add(i)},h=i=>{c.has(i)&&c.delete(i),c.size===0&&q("resize",window,u)},u=()=>{c.forEach(i=>i())};return R(()=>{q("resize",window,u),g()}),{targetRef:r,setTargetRef:o,addScrollListener:m,removeScrollListener:y,addResizeListener:v,removeResizeListener:h}},render(){return ae("binder",this.$slots)}}),$t=Ze,Mt=k({name:"Target",setup(){const{setTargetRef:n,syncTarget:e}=fe("VBinder");return{syncTarget:e,setTargetDirective:{mounted:n,updated:n}}},render(){const{syncTarget:n,setTargetDirective:e}=this;return n?ze(he("follower",this.$slots),[[e]]):he("follower",this.$slots)}});function pe(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:W}=Ge(),te="vueuc-style";function me(n){return n&-n}class Re{constructor(e,t){this.l=e,this.min=t;const r=new Array(e+1);for(let o=0;oo)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let l=e*r;for(;e>0;)l+=t[e],e-=me(e);return l}getBound(e){let t=0,r=this.l;for(;r>t;){const o=Math.floor((t+r)/2),l=this.sum(o);if(l>e){r=o;continue}else if(l{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?ae("lazy-teleport",this.$slots):E(Xe,{disabled:this.disabled,to:this.mergedTo},ae("lazy-teleport",this.$slots)):null}}),J={top:"bottom",bottom:"top",left:"right",right:"left"},be={start:"end",center:"center",end:"start"},ie={top:"height",bottom:"height",left:"width",right:"width"},tt={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},nt={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},rt={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},ge={top:!0,bottom:!1,left:!0,right:!1},we={top:"end",bottom:"start",left:"end",right:"start"};function ot(n,e,t,r,o,l){if(!o||l)return{placement:n,top:0,left:0};const[p,g]=n.split("-");let a=g??"center",m={top:0,left:0};const y=(c,v,h)=>{let u=0,i=0;const b=t[c]-e[v]-e[c];return b>0&&r&&(h?i=ge[v]?b:-b:u=ge[v]?b:-b),{left:u,top:i}},x=p==="left"||p==="right";if(a!=="center"){const c=rt[n],v=J[c],h=ie[c];if(t[h]>e[h]){if(e[c]+e[h]e[v]&&(a=be[g])}else{const c=p==="bottom"||p==="top"?"left":"top",v=J[c],h=ie[c],u=(t[h]-e[h])/2;(e[c]e[v]?(a=we[c],m=y(h,c,x)):(a=we[v],m=y(h,v,x)))}let d=p;return e[p] *",{pointerEvents:"all"})])]),St=k({name:"Follower",inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:"bottom"},syncTrigger:{type:Array,default:["resize","scroll"]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(n){const e=fe("VBinder"),t=ue(()=>n.enabled!==void 0?n.enabled:n.show),r=F(null),o=F(null),l=()=>{const{syncTrigger:d}=n;d.includes("scroll")&&e.addScrollListener(a),d.includes("resize")&&e.addResizeListener(a)},p=()=>{e.removeScrollListener(a),e.removeResizeListener(a)};K(()=>{t.value&&(a(),l())});const g=ee();st.mount({id:"vueuc/binder",head:!0,anchorMetaName:te,ssr:g}),R(()=>{p()}),Pe(()=>{t.value&&a()});const a=()=>{if(!t.value)return;const d=r.value;if(d===null)return;const c=e.targetRef,{x:v,y:h,overlap:u}=n,i=v!==void 0&&h!==void 0?Je(v,h):oe(c);d.style.setProperty("--v-target-width",`${Math.round(i.width)}px`),d.style.setProperty("--v-target-height",`${Math.round(i.height)}px`);const{width:b,minWidth:z,placement:I,internalShift:C,flip:O}=n;d.setAttribute("v-placement",I),u?d.setAttribute("v-overlap",""):d.removeAttribute("v-overlap");const{style:B}=d;b==="target"?B.width=`${i.width}px`:b!==void 0?B.width=b:B.width="",z==="target"?B.minWidth=`${i.width}px`:z!==void 0?B.minWidth=z:B.minWidth="";const X=oe(d),N=oe(o.value),{left:_,top:s,placement:f}=ot(I,i,X,C,O,u),w=it(f,u),{left:$,top:M,transform:T}=lt(f,N,i,s,_,u);d.setAttribute("v-placement",f),d.style.setProperty("--v-offset-left",`${Math.round(_)}px`),d.style.setProperty("--v-offset-top",`${Math.round(s)}px`),d.style.transform=`translateX(${$}) translateY(${M}) ${T}`,d.style.setProperty("--v-transform-origin",w),d.style.transformOrigin=w};U(t,d=>{d?(l(),m()):p()});const m=()=>{Ee().then(a).catch(d=>console.error(d))};["placement","x","y","internalShift","flip","width","overlap","minWidth"].forEach(d=>{U(Z(n,d),a)}),["teleportDisabled"].forEach(d=>{U(Z(n,d),m)}),U(Z(n,"syncTrigger"),d=>{d.includes("resize")?e.addResizeListener(a):e.removeResizeListener(a),d.includes("scroll")?e.addScrollListener(a):e.removeScrollListener(a)});const y=Ue(),x=ue(()=>{const{to:d}=n;if(d!==void 0)return d;y.value});return{VBinder:e,mergedEnabled:t,offsetContainerRef:o,followerRef:r,mergedTo:x,syncPosition:a}},render(){return E(et,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var n,e;const t=E("div",{class:["v-binder-follower-container",this.containerClass],ref:"offsetContainerRef"},[E("div",{class:"v-binder-follower-content",ref:"followerRef"},(e=(n=this.$slots).default)===null||e===void 0?void 0:e.call(n))]);return this.zindexable?ze(t,[[qe,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):t}})}});class ut{constructor(){this.handleResize=this.handleResize.bind(this),this.observer=new(typeof window<"u"&&window.ResizeObserver||Ke)(this.handleResize),this.elHandlersMap=new Map}handleResize(e){for(const t of e){const r=this.elHandlersMap.get(t.target);r!==void 0&&r(t)}}registerHandler(e,t){this.elHandlersMap.set(e,t),this.observer.observe(e)}unregisterHandler(e){this.elHandlersMap.has(e)&&(this.elHandlersMap.delete(e),this.observer.unobserve(e))}}const ye=new ut,xe=k({name:"ResizeObserver",props:{onResize:Function},setup(n){let e=!1;const t=Te().proxy;function r(o){const{onResize:l}=n;l!==void 0&&l(o)}K(()=>{const o=t.$el;if(o===void 0){pe("resize-observer","$el does not exist.");return}if(o.nextElementSibling!==o.nextSibling&&o.nodeType===3&&o.nodeValue!==""){pe("resize-observer","$el can not be observed (it may be a text node).");return}o.nextElementSibling!==null&&(ye.registerHandler(o.nextElementSibling,r),e=!0)}),R(()=>{e&&ye.unregisterHandler(t.$el.nextElementSibling)})},render(){return Ae(this.$slots,"default")}});let Q;function at(){return Q===void 0&&("matchMedia"in window?Q=window.matchMedia("(pointer:coarse)").matches:Q=!1),Q}let le;function $e(){return le===void 0&&(le="chrome"in window?window.devicePixelRatio:1),le}const dt=W(".v-vl",{maxHeight:"inherit",height:"100%",overflow:"auto",minWidth:"1px"},[W("&:not(.v-vl--show-scrollbar)",{scrollbarWidth:"none"},[W("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",{width:0,height:0,display:"none"})])]),Tt=k({name:"VirtualList",inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(n){const e=ee();dt.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:te,ssr:e}),K(()=>{const{defaultScrollIndex:s,defaultScrollKey:f}=n;s!=null?v({index:s}):f!=null&&v({key:f})});let t=!1,r=!1;De(()=>{if(t=!1,!r){r=!0;return}v({top:x.value,left:y})}),Ne(()=>{t=!0,r||(r=!0)});const o=D(()=>{const s=new Map,{keyField:f}=n;return n.items.forEach((w,$)=>{s.set(w[f],$)}),s}),l=F(null),p=F(void 0),g=new Map,a=D(()=>{const{items:s,itemSize:f,keyField:w}=n,$=new Re(s.length,f);return s.forEach((M,T)=>{const S=M[w],A=g.get(S);A!==void 0&&$.add(T,A)}),$}),m=F(0);let y=0;const x=F(0),d=ue(()=>Math.max(a.value.getBound(x.value-ce(n.paddingTop))-1,0)),c=D(()=>{const{value:s}=p;if(s===void 0)return[];const{items:f,itemSize:w}=n,$=d.value,M=Math.min($+Math.ceil(s/w+1),f.length-1),T=[];for(let S=$;S<=M;++S)T.push(f[S]);return T}),v=(s,f)=>{if(typeof s=="number"){b(s,f,"auto");return}const{left:w,top:$,index:M,key:T,position:S,behavior:A,debounce:L=!0}=s;if(w!==void 0||$!==void 0)b(w,$,A);else if(M!==void 0)i(M,A,L);else if(T!==void 0){const ne=o.value.get(T);ne!==void 0&&i(ne,A,L)}else S==="bottom"?b(0,Number.MAX_SAFE_INTEGER,A):S==="top"&&b(0,0,A)};let h,u=null;function i(s,f,w){const{value:$}=a,M=$.sum(s)+ce(n.paddingTop);if(!w)l.value.scrollTo({left:0,top:M,behavior:f});else{h=s,u!==null&&window.clearTimeout(u),u=window.setTimeout(()=>{h=void 0,u=null},16);const{scrollTop:T,offsetHeight:S}=l.value;if(M>T){const A=$.get(s);M+A<=T+S||l.value.scrollTo({left:0,top:M+A-S,behavior:f})}else l.value.scrollTo({left:0,top:M,behavior:f})}}function b(s,f,w){l.value.scrollTo({left:s,top:f,behavior:w})}function z(s,f){var w,$,M;if(t||n.ignoreItemResize||_(f.target))return;const{value:T}=a,S=o.value.get(s),A=T.get(S),L=(M=($=(w=f.borderBoxSize)===null||w===void 0?void 0:w[0])===null||$===void 0?void 0:$.blockSize)!==null&&M!==void 0?M:f.contentRect.height;if(L===A)return;L-n.itemSize===0?g.delete(s):g.set(s,L-n.itemSize);const j=L-A;if(j===0)return;T.add(S,j);const V=l.value;if(V!=null){if(h===void 0){const re=T.sum(S);V.scrollTop>re&&V.scrollBy(0,j)}else if(SV.scrollTop+V.offsetHeight&&V.scrollBy(0,j)}N()}m.value++}const I=!at();let C=!1;function O(s){var f;(f=n.onScroll)===null||f===void 0||f.call(n,s),(!I||!C)&&N()}function B(s){var f;if((f=n.onWheel)===null||f===void 0||f.call(n,s),I){const w=l.value;if(w!=null){if(s.deltaX===0&&(w.scrollTop===0&&s.deltaY<=0||w.scrollTop+w.offsetHeight>=w.scrollHeight&&s.deltaY>=0))return;s.preventDefault(),w.scrollTop+=s.deltaY/$e(),w.scrollLeft+=s.deltaX/$e(),N(),C=!0,Me(()=>{C=!1})}}}function X(s){if(t||_(s.target)||s.contentRect.height===p.value)return;p.value=s.contentRect.height;const{onResize:f}=n;f!==void 0&&f(s)}function N(){const{value:s}=l;s!=null&&(x.value=s.scrollTop,y=s.scrollLeft)}function _(s){let f=s;for(;f!==null;){if(f.style.display==="none")return!0;f=f.parentElement}return!1}return{listHeight:p,listStyle:{overflow:"auto"},keyToIndex:o,itemsStyle:D(()=>{const{itemResizable:s}=n,f=G(a.value.sum());return m.value,[n.itemsStyle,{boxSizing:"content-box",height:s?"":f,minHeight:s?f:"",paddingTop:G(n.paddingTop),paddingBottom:G(n.paddingBottom)}]}),visibleItemsStyle:D(()=>(m.value,{transform:`translateY(${G(a.value.sum(d.value))})`})),viewportItems:c,listElRef:l,itemsElRef:F(null),scrollTo:v,handleListResize:X,handleListScroll:O,handleListWheel:B,handleItemResize:z}},render(){const{itemResizable:n,keyField:e,keyToIndex:t,visibleItemsTag:r}=this;return E(xe,{onResize:this.handleListResize},{default:()=>{var o,l;return E("div",_e(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?E("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[E(r,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(p=>{const g=p[e],a=t.get(g),m=this.$slots.default({item:p,index:a})[0];return n?E(xe,{key:g,onResize:y=>this.handleItemResize(g,y)},{default:()=>m}):(m.key=g,m)})})]):(l=(o=this.$slots).empty)===null||l===void 0?void 0:l.call(o)])}})}}),ft=W(".v-x-scroll",{overflow:"auto",scrollbarWidth:"none"},[W("&::-webkit-scrollbar",{width:0,height:0})]),zt=k({name:"XScroll",props:{disabled:Boolean,onScroll:Function},setup(){const n=F(null);function e(o){!(o.currentTarget.offsetWidthx){const{updateCounter:C}=n;for(let O=b;O>=0;--O){const B=u-1-O;C!==void 0?C(B):m.textContent=`${B}`;const X=m.offsetWidth;if(v-=d[O],v+X<=x||O===0){h=!0,b=O-1,c&&(b===-1?(c.style.maxWidth=`${x-X}px`,c.style.boxSizing="border-box"):c.style.maxWidth="");break}}}}const{onUpdateOverflow:i}=n;h?i!==void 0&&i(!0):(i!==void 0&&i(!1),m.setAttribute(Y,""))}const l=ee();return ct.mount({id:"vueuc/overflow",head:!0,anchorMetaName:te,ssr:l}),K(o),{selfRef:t,counterRef:r,sync:o}},render(){const{$slots:n}=this;return Ee(this.sync),E("div",{class:"v-overflow",ref:"selfRef"},[Ae(n,"default"),n.counter?n.counter():E("span",{style:{display:"inline-block"},ref:"counterRef"}),n.tail?n.tail():null])}});function Ie(n){return n instanceof HTMLElement}function Oe(n){for(let e=0;e=0;e--){const t=n.childNodes[e];if(Ie(t)&&(ke(t)||We(t)))return!0}return!1}function ke(n){if(!ht(n))return!1;try{n.focus({preventScroll:!0})}catch{}return document.activeElement===n}function ht(n){if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.getAttribute("disabled"))return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return n.type!=="hidden"&&n.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}let P=[];const At=k({name:"FocusTrap",props:{disabled:Boolean,active:Boolean,autoFocus:{type:Boolean,default:!0},onEsc:Function,initialFocusTo:String,finalFocusTo:String,returnFocusOnDeactivated:{type:Boolean,default:!0}},setup(n){const e=Ce(),t=F(null),r=F(null);let o=!1,l=!1;const p=typeof document>"u"?null:document.activeElement;function g(){return P[P.length-1]===e}function a(u){var i;u.code==="Escape"&&g()&&((i=n.onEsc)===null||i===void 0||i.call(n,u))}K(()=>{U(()=>n.active,u=>{u?(x(),se("keydown",document,a)):(q("keydown",document,a),o&&d())},{immediate:!0})}),R(()=>{q("keydown",document,a),o&&d()});function m(u){if(!l&&g()){const i=y();if(i===null||i.contains(Le(u)))return;c("first")}}function y(){const u=t.value;if(u===null)return null;let i=u;for(;i=i.nextSibling,!(i===null||i instanceof Element&&i.tagName==="DIV"););return i}function x(){var u;if(!n.disabled){if(P.push(e),n.autoFocus){const{initialFocusTo:i}=n;i===void 0?c("first"):(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0})}o=!0,document.addEventListener("focus",m,!0)}}function d(){var u;if(n.disabled||(document.removeEventListener("focus",m,!0),P=P.filter(b=>b!==e),g()))return;const{finalFocusTo:i}=n;i!==void 0?(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0}):n.returnFocusOnDeactivated&&p instanceof HTMLElement&&(l=!0,p.focus({preventScroll:!0}),l=!1)}function c(u){if(g()&&n.active){const i=t.value,b=r.value;if(i!==null&&b!==null){const z=y();if(z==null||z===b){l=!0,i.focus({preventScroll:!0}),l=!1;return}l=!0;const I=u==="first"?Oe(z):We(z);l=!1,I||(l=!0,i.focus({preventScroll:!0}),l=!1)}}}function v(u){if(l)return;const i=y();i!==null&&(u.relatedTarget!==null&&i.contains(u.relatedTarget)?c("last"):c("first"))}function h(u){l||(u.relatedTarget!==null&&u.relatedTarget===t.value?c("last"):c("first"))}return{focusableStartRef:t,focusableEndRef:r,focusableStyle:"position: absolute; height: 0; width: 0;",handleStartFocus:v,handleEndFocus:h}},render(){const{default:n}=this.$slots;if(n===void 0)return null;if(this.disabled)return n();const{active:e,focusableStyle:t}=this;return E(Se,null,[E("div",{"aria-hidden":"true",tabindex:e?"0":"-1",ref:"focusableStartRef",style:t,onFocus:this.handleStartFocus}),n(),E("div",{"aria-hidden":"true",style:t,ref:"focusableEndRef",tabindex:e?"0":"-1",onFocus:this.handleEndFocus})])}});export{At as F,et as L,xe as V,Tt as a,St as b,$t as c,Mt as d,Et as e,zt as f,ye as r}; +import{a as q,o as se}from"./evtd-b614532e.js";import{j as Me,d as ce,p as G,e as Ce,g as Le}from"./seemly-76b7b838.js";import{e as He,F as Se,C as Ve,d as k,p as Ye,g as Te,i as fe,r as F,h as R,z as ze,u as Z,n as D,s as E,J as Xe,j as K,w as U,y as Ee,S as Ae,l as De,m as Ne,x as _e}from"./@vue-ca177dbe.js";import{u as ee}from"./@css-render-480a363d.js";import{h as je,u as ue,o as Pe,i as Ue}from"./vooks-2c48c2b5.js";import{z as qe}from"./vdirs-b0483831.js";import{R as Ke}from"./@juggle-41516555.js";import{C as Ge}from"./css-render-6a5c5852.js";function ae(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);return r()}function de(n,e=!0,t=[]){return n.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(He(String(r)));return}if(Array.isArray(r)){de(r,e,t);return}if(r.type===Se){if(r.children===null)return;Array.isArray(r.children)&&de(r.children,e,t)}else r.type!==Ve&&t.push(r)}}),t}function he(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);const o=de(r());if(o.length===1)return o[0];throw new Error(`[vueuc/${n}]: slot[${t}] should have exactly one child.`)}let H=null;function Fe(){if(H===null&&(H=document.getElementById("v-binder-view-measurer"),H===null)){H=document.createElement("div"),H.id="v-binder-view-measurer";const{style:n}=H;n.position="fixed",n.left="0",n.right="0",n.top="0",n.bottom="0",n.pointerEvents="none",n.visibility="hidden",document.body.appendChild(H)}return H.getBoundingClientRect()}function Je(n,e){const t=Fe();return{top:e,left:n,height:0,width:0,right:t.width-n,bottom:t.height-e}}function oe(n){const e=n.getBoundingClientRect(),t=Fe();return{left:e.left-t.left,top:e.top-t.top,bottom:t.height+t.top-e.bottom,right:t.width+t.left-e.right,width:e.width,height:e.height}}function Qe(n){return n.nodeType===9?null:n.parentNode}function Be(n){if(n===null)return null;const e=Qe(n);if(e===null)return null;if(e.nodeType===9)return document;if(e.nodeType===1){const{overflow:t,overflowX:r,overflowY:o}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+o+r))return e}return Be(e)}const Ze=k({name:"Binder",props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(n){var e;Ye("VBinder",(e=Te())===null||e===void 0?void 0:e.proxy);const t=fe("VBinder",null),r=F(null),o=i=>{r.value=i,t&&n.syncTargetWithParent&&t.setTargetRef(i)};let l=[];const p=()=>{let i=r.value;for(;i=Be(i),i!==null;)l.push(i);for(const b of l)se("scroll",b,x,!0)},g=()=>{for(const i of l)q("scroll",i,x,!0);l=[]},a=new Set,m=i=>{a.size===0&&p(),a.has(i)||a.add(i)},y=i=>{a.has(i)&&a.delete(i),a.size===0&&g()},x=()=>{Me(d)},d=()=>{a.forEach(i=>i())},c=new Set,v=i=>{c.size===0&&se("resize",window,u),c.has(i)||c.add(i)},h=i=>{c.has(i)&&c.delete(i),c.size===0&&q("resize",window,u)},u=()=>{c.forEach(i=>i())};return R(()=>{q("resize",window,u),g()}),{targetRef:r,setTargetRef:o,addScrollListener:m,removeScrollListener:y,addResizeListener:v,removeResizeListener:h}},render(){return ae("binder",this.$slots)}}),$t=Ze,Mt=k({name:"Target",setup(){const{setTargetRef:n,syncTarget:e}=fe("VBinder");return{syncTarget:e,setTargetDirective:{mounted:n,updated:n}}},render(){const{syncTarget:n,setTargetDirective:e}=this;return n?ze(he("follower",this.$slots),[[e]]):he("follower",this.$slots)}});function pe(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:W}=Ge(),te="vueuc-style";function me(n){return n&-n}class Re{constructor(e,t){this.l=e,this.min=t;const r=new Array(e+1);for(let o=0;oo)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let l=e*r;for(;e>0;)l+=t[e],e-=me(e);return l}getBound(e){let t=0,r=this.l;for(;r>t;){const o=Math.floor((t+r)/2),l=this.sum(o);if(l>e){r=o;continue}else if(l{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?ae("lazy-teleport",this.$slots):E(Xe,{disabled:this.disabled,to:this.mergedTo},ae("lazy-teleport",this.$slots)):null}}),J={top:"bottom",bottom:"top",left:"right",right:"left"},be={start:"end",center:"center",end:"start"},ie={top:"height",bottom:"height",left:"width",right:"width"},tt={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},nt={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},rt={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},ge={top:!0,bottom:!1,left:!0,right:!1},we={top:"end",bottom:"start",left:"end",right:"start"};function ot(n,e,t,r,o,l){if(!o||l)return{placement:n,top:0,left:0};const[p,g]=n.split("-");let a=g??"center",m={top:0,left:0};const y=(c,v,h)=>{let u=0,i=0;const b=t[c]-e[v]-e[c];return b>0&&r&&(h?i=ge[v]?b:-b:u=ge[v]?b:-b),{left:u,top:i}},x=p==="left"||p==="right";if(a!=="center"){const c=rt[n],v=J[c],h=ie[c];if(t[h]>e[h]){if(e[c]+e[h]e[v]&&(a=be[g])}else{const c=p==="bottom"||p==="top"?"left":"top",v=J[c],h=ie[c],u=(t[h]-e[h])/2;(e[c]e[v]?(a=we[c],m=y(h,c,x)):(a=we[v],m=y(h,v,x)))}let d=p;return e[p] *",{pointerEvents:"all"})])]),St=k({name:"Follower",inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:"bottom"},syncTrigger:{type:Array,default:["resize","scroll"]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(n){const e=fe("VBinder"),t=ue(()=>n.enabled!==void 0?n.enabled:n.show),r=F(null),o=F(null),l=()=>{const{syncTrigger:d}=n;d.includes("scroll")&&e.addScrollListener(a),d.includes("resize")&&e.addResizeListener(a)},p=()=>{e.removeScrollListener(a),e.removeResizeListener(a)};K(()=>{t.value&&(a(),l())});const g=ee();st.mount({id:"vueuc/binder",head:!0,anchorMetaName:te,ssr:g}),R(()=>{p()}),Pe(()=>{t.value&&a()});const a=()=>{if(!t.value)return;const d=r.value;if(d===null)return;const c=e.targetRef,{x:v,y:h,overlap:u}=n,i=v!==void 0&&h!==void 0?Je(v,h):oe(c);d.style.setProperty("--v-target-width",`${Math.round(i.width)}px`),d.style.setProperty("--v-target-height",`${Math.round(i.height)}px`);const{width:b,minWidth:z,placement:I,internalShift:C,flip:O}=n;d.setAttribute("v-placement",I),u?d.setAttribute("v-overlap",""):d.removeAttribute("v-overlap");const{style:B}=d;b==="target"?B.width=`${i.width}px`:b!==void 0?B.width=b:B.width="",z==="target"?B.minWidth=`${i.width}px`:z!==void 0?B.minWidth=z:B.minWidth="";const X=oe(d),N=oe(o.value),{left:_,top:s,placement:f}=ot(I,i,X,C,O,u),w=it(f,u),{left:$,top:M,transform:T}=lt(f,N,i,s,_,u);d.setAttribute("v-placement",f),d.style.setProperty("--v-offset-left",`${Math.round(_)}px`),d.style.setProperty("--v-offset-top",`${Math.round(s)}px`),d.style.transform=`translateX(${$}) translateY(${M}) ${T}`,d.style.setProperty("--v-transform-origin",w),d.style.transformOrigin=w};U(t,d=>{d?(l(),m()):p()});const m=()=>{Ee().then(a).catch(d=>console.error(d))};["placement","x","y","internalShift","flip","width","overlap","minWidth"].forEach(d=>{U(Z(n,d),a)}),["teleportDisabled"].forEach(d=>{U(Z(n,d),m)}),U(Z(n,"syncTrigger"),d=>{d.includes("resize")?e.addResizeListener(a):e.removeResizeListener(a),d.includes("scroll")?e.addScrollListener(a):e.removeScrollListener(a)});const y=Ue(),x=ue(()=>{const{to:d}=n;if(d!==void 0)return d;y.value});return{VBinder:e,mergedEnabled:t,offsetContainerRef:o,followerRef:r,mergedTo:x,syncPosition:a}},render(){return E(et,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var n,e;const t=E("div",{class:["v-binder-follower-container",this.containerClass],ref:"offsetContainerRef"},[E("div",{class:"v-binder-follower-content",ref:"followerRef"},(e=(n=this.$slots).default)===null||e===void 0?void 0:e.call(n))]);return this.zindexable?ze(t,[[qe,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):t}})}});class ut{constructor(){this.handleResize=this.handleResize.bind(this),this.observer=new(typeof window<"u"&&window.ResizeObserver||Ke)(this.handleResize),this.elHandlersMap=new Map}handleResize(e){for(const t of e){const r=this.elHandlersMap.get(t.target);r!==void 0&&r(t)}}registerHandler(e,t){this.elHandlersMap.set(e,t),this.observer.observe(e)}unregisterHandler(e){this.elHandlersMap.has(e)&&(this.elHandlersMap.delete(e),this.observer.unobserve(e))}}const ye=new ut,xe=k({name:"ResizeObserver",props:{onResize:Function},setup(n){let e=!1;const t=Te().proxy;function r(o){const{onResize:l}=n;l!==void 0&&l(o)}K(()=>{const o=t.$el;if(o===void 0){pe("resize-observer","$el does not exist.");return}if(o.nextElementSibling!==o.nextSibling&&o.nodeType===3&&o.nodeValue!==""){pe("resize-observer","$el can not be observed (it may be a text node).");return}o.nextElementSibling!==null&&(ye.registerHandler(o.nextElementSibling,r),e=!0)}),R(()=>{e&&ye.unregisterHandler(t.$el.nextElementSibling)})},render(){return Ae(this.$slots,"default")}});let Q;function at(){return Q===void 0&&("matchMedia"in window?Q=window.matchMedia("(pointer:coarse)").matches:Q=!1),Q}let le;function $e(){return le===void 0&&(le="chrome"in window?window.devicePixelRatio:1),le}const dt=W(".v-vl",{maxHeight:"inherit",height:"100%",overflow:"auto",minWidth:"1px"},[W("&:not(.v-vl--show-scrollbar)",{scrollbarWidth:"none"},[W("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",{width:0,height:0,display:"none"})])]),Tt=k({name:"VirtualList",inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(n){const e=ee();dt.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:te,ssr:e}),K(()=>{const{defaultScrollIndex:s,defaultScrollKey:f}=n;s!=null?v({index:s}):f!=null&&v({key:f})});let t=!1,r=!1;De(()=>{if(t=!1,!r){r=!0;return}v({top:x.value,left:y})}),Ne(()=>{t=!0,r||(r=!0)});const o=D(()=>{const s=new Map,{keyField:f}=n;return n.items.forEach((w,$)=>{s.set(w[f],$)}),s}),l=F(null),p=F(void 0),g=new Map,a=D(()=>{const{items:s,itemSize:f,keyField:w}=n,$=new Re(s.length,f);return s.forEach((M,T)=>{const S=M[w],A=g.get(S);A!==void 0&&$.add(T,A)}),$}),m=F(0);let y=0;const x=F(0),d=ue(()=>Math.max(a.value.getBound(x.value-ce(n.paddingTop))-1,0)),c=D(()=>{const{value:s}=p;if(s===void 0)return[];const{items:f,itemSize:w}=n,$=d.value,M=Math.min($+Math.ceil(s/w+1),f.length-1),T=[];for(let S=$;S<=M;++S)T.push(f[S]);return T}),v=(s,f)=>{if(typeof s=="number"){b(s,f,"auto");return}const{left:w,top:$,index:M,key:T,position:S,behavior:A,debounce:L=!0}=s;if(w!==void 0||$!==void 0)b(w,$,A);else if(M!==void 0)i(M,A,L);else if(T!==void 0){const ne=o.value.get(T);ne!==void 0&&i(ne,A,L)}else S==="bottom"?b(0,Number.MAX_SAFE_INTEGER,A):S==="top"&&b(0,0,A)};let h,u=null;function i(s,f,w){const{value:$}=a,M=$.sum(s)+ce(n.paddingTop);if(!w)l.value.scrollTo({left:0,top:M,behavior:f});else{h=s,u!==null&&window.clearTimeout(u),u=window.setTimeout(()=>{h=void 0,u=null},16);const{scrollTop:T,offsetHeight:S}=l.value;if(M>T){const A=$.get(s);M+A<=T+S||l.value.scrollTo({left:0,top:M+A-S,behavior:f})}else l.value.scrollTo({left:0,top:M,behavior:f})}}function b(s,f,w){l.value.scrollTo({left:s,top:f,behavior:w})}function z(s,f){var w,$,M;if(t||n.ignoreItemResize||_(f.target))return;const{value:T}=a,S=o.value.get(s),A=T.get(S),L=(M=($=(w=f.borderBoxSize)===null||w===void 0?void 0:w[0])===null||$===void 0?void 0:$.blockSize)!==null&&M!==void 0?M:f.contentRect.height;if(L===A)return;L-n.itemSize===0?g.delete(s):g.set(s,L-n.itemSize);const j=L-A;if(j===0)return;T.add(S,j);const V=l.value;if(V!=null){if(h===void 0){const re=T.sum(S);V.scrollTop>re&&V.scrollBy(0,j)}else if(SV.scrollTop+V.offsetHeight&&V.scrollBy(0,j)}N()}m.value++}const I=!at();let C=!1;function O(s){var f;(f=n.onScroll)===null||f===void 0||f.call(n,s),(!I||!C)&&N()}function B(s){var f;if((f=n.onWheel)===null||f===void 0||f.call(n,s),I){const w=l.value;if(w!=null){if(s.deltaX===0&&(w.scrollTop===0&&s.deltaY<=0||w.scrollTop+w.offsetHeight>=w.scrollHeight&&s.deltaY>=0))return;s.preventDefault(),w.scrollTop+=s.deltaY/$e(),w.scrollLeft+=s.deltaX/$e(),N(),C=!0,Me(()=>{C=!1})}}}function X(s){if(t||_(s.target)||s.contentRect.height===p.value)return;p.value=s.contentRect.height;const{onResize:f}=n;f!==void 0&&f(s)}function N(){const{value:s}=l;s!=null&&(x.value=s.scrollTop,y=s.scrollLeft)}function _(s){let f=s;for(;f!==null;){if(f.style.display==="none")return!0;f=f.parentElement}return!1}return{listHeight:p,listStyle:{overflow:"auto"},keyToIndex:o,itemsStyle:D(()=>{const{itemResizable:s}=n,f=G(a.value.sum());return m.value,[n.itemsStyle,{boxSizing:"content-box",height:s?"":f,minHeight:s?f:"",paddingTop:G(n.paddingTop),paddingBottom:G(n.paddingBottom)}]}),visibleItemsStyle:D(()=>(m.value,{transform:`translateY(${G(a.value.sum(d.value))})`})),viewportItems:c,listElRef:l,itemsElRef:F(null),scrollTo:v,handleListResize:X,handleListScroll:O,handleListWheel:B,handleItemResize:z}},render(){const{itemResizable:n,keyField:e,keyToIndex:t,visibleItemsTag:r}=this;return E(xe,{onResize:this.handleListResize},{default:()=>{var o,l;return E("div",_e(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?E("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[E(r,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(p=>{const g=p[e],a=t.get(g),m=this.$slots.default({item:p,index:a})[0];return n?E(xe,{key:g,onResize:y=>this.handleItemResize(g,y)},{default:()=>m}):(m.key=g,m)})})]):(l=(o=this.$slots).empty)===null||l===void 0?void 0:l.call(o)])}})}}),ft=W(".v-x-scroll",{overflow:"auto",scrollbarWidth:"none"},[W("&::-webkit-scrollbar",{width:0,height:0})]),zt=k({name:"XScroll",props:{disabled:Boolean,onScroll:Function},setup(){const n=F(null);function e(o){!(o.currentTarget.offsetWidthx){const{updateCounter:C}=n;for(let O=b;O>=0;--O){const B=u-1-O;C!==void 0?C(B):m.textContent=`${B}`;const X=m.offsetWidth;if(v-=d[O],v+X<=x||O===0){h=!0,b=O-1,c&&(b===-1?(c.style.maxWidth=`${x-X}px`,c.style.boxSizing="border-box"):c.style.maxWidth="");break}}}}const{onUpdateOverflow:i}=n;h?i!==void 0&&i(!0):(i!==void 0&&i(!1),m.setAttribute(Y,""))}const l=ee();return ct.mount({id:"vueuc/overflow",head:!0,anchorMetaName:te,ssr:l}),K(o),{selfRef:t,counterRef:r,sync:o}},render(){const{$slots:n}=this;return Ee(this.sync),E("div",{class:"v-overflow",ref:"selfRef"},[Ae(n,"default"),n.counter?n.counter():E("span",{style:{display:"inline-block"},ref:"counterRef"}),n.tail?n.tail():null])}});function Ie(n){return n instanceof HTMLElement}function Oe(n){for(let e=0;e=0;e--){const t=n.childNodes[e];if(Ie(t)&&(ke(t)||We(t)))return!0}return!1}function ke(n){if(!ht(n))return!1;try{n.focus({preventScroll:!0})}catch{}return document.activeElement===n}function ht(n){if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.getAttribute("disabled"))return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return n.type!=="hidden"&&n.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}let P=[];const At=k({name:"FocusTrap",props:{disabled:Boolean,active:Boolean,autoFocus:{type:Boolean,default:!0},onEsc:Function,initialFocusTo:String,finalFocusTo:String,returnFocusOnDeactivated:{type:Boolean,default:!0}},setup(n){const e=Ce(),t=F(null),r=F(null);let o=!1,l=!1;const p=typeof document>"u"?null:document.activeElement;function g(){return P[P.length-1]===e}function a(u){var i;u.code==="Escape"&&g()&&((i=n.onEsc)===null||i===void 0||i.call(n,u))}K(()=>{U(()=>n.active,u=>{u?(x(),se("keydown",document,a)):(q("keydown",document,a),o&&d())},{immediate:!0})}),R(()=>{q("keydown",document,a),o&&d()});function m(u){if(!l&&g()){const i=y();if(i===null||i.contains(Le(u)))return;c("first")}}function y(){const u=t.value;if(u===null)return null;let i=u;for(;i=i.nextSibling,!(i===null||i instanceof Element&&i.tagName==="DIV"););return i}function x(){var u;if(!n.disabled){if(P.push(e),n.autoFocus){const{initialFocusTo:i}=n;i===void 0?c("first"):(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0})}o=!0,document.addEventListener("focus",m,!0)}}function d(){var u;if(n.disabled||(document.removeEventListener("focus",m,!0),P=P.filter(b=>b!==e),g()))return;const{finalFocusTo:i}=n;i!==void 0?(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0}):n.returnFocusOnDeactivated&&p instanceof HTMLElement&&(l=!0,p.focus({preventScroll:!0}),l=!1)}function c(u){if(g()&&n.active){const i=t.value,b=r.value;if(i!==null&&b!==null){const z=y();if(z==null||z===b){l=!0,i.focus({preventScroll:!0}),l=!1;return}l=!0;const I=u==="first"?Oe(z):We(z);l=!1,I||(l=!0,i.focus({preventScroll:!0}),l=!1)}}}function v(u){if(l)return;const i=y();i!==null&&(u.relatedTarget!==null&&i.contains(u.relatedTarget)?c("last"):c("first"))}function h(u){l||(u.relatedTarget!==null&&u.relatedTarget===t.value?c("last"):c("first"))}return{focusableStartRef:t,focusableEndRef:r,focusableStyle:"position: absolute; height: 0; width: 0;",handleStartFocus:v,handleEndFocus:h}},render(){const{default:n}=this.$slots;if(n===void 0)return null;if(this.disabled)return n();const{active:e,focusableStyle:t}=this;return E(Se,null,[E("div",{"aria-hidden":"true",tabindex:e?"0":"-1",ref:"focusableStartRef",style:t,onFocus:this.handleStartFocus}),n(),E("div",{"aria-hidden":"true",style:t,ref:"focusableEndRef",tabindex:e?"0":"-1",onFocus:this.handleEndFocus})])}});export{At as F,et as L,xe as V,Tt as a,St as b,$t as c,Mt as d,Et as e,zt as f,ye as r}; diff --git a/web/dist/assets/vuex-cc1858c6.js b/web/dist/assets/vuex-d28e9067.js similarity index 89% rename from web/dist/assets/vuex-cc1858c6.js rename to web/dist/assets/vuex-d28e9067.js index 95314481..8592fc43 100644 --- a/web/dist/assets/vuex-cc1858c6.js +++ b/web/dist/assets/vuex-d28e9067.js @@ -1,5 +1,5 @@ -import{w as M,W as V,D as H,X as U,n as k,i as W}from"./@vue-f70ab1bd.js";/*! +import{w as M,Z as V,D as H,_ as U,n as k,i as B}from"./@vue-ca177dbe.js";/*! * vuex v4.1.0 * (c) 2022 Evan You * @license MIT - */var x="store";function st(e){return e===void 0&&(e=null),W(e!==null?e:x)}function g(e,t){Object.keys(e).forEach(function(i){return t(e[i],i)})}function B(e){return e!==null&&typeof e=="object"}function K(e){return e&&typeof e.then=="function"}function X(e,t){return function(){return e(t)}}function T(e,t,i){return t.indexOf(e)<0&&(i&&i.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function A(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var i=e.state;y(e,i,[],e._modules.root,!0),S(e,i,t)}function S(e,t,i){var r=e._state,n=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,a={},s={},u=V(!0);u.run(function(){g(o,function(l,c){a[c]=X(l,e),s[c]=k(function(){return a[c]()}),Object.defineProperty(e.getters,c,{get:function(){return s[c].value},enumerable:!0})})}),e._state=H({data:t}),e._scope=u,e.strict&&Q(e),r&&i&&e._withCommit(function(){r.data=null}),n&&n.stop()}function y(e,t,i,r,n){var o=!i.length,a=e._modules.getNamespace(i);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!n){var s=E(t,i.slice(0,-1)),u=i[i.length-1];e._withCommit(function(){s[u]=r.state})}var l=r.context=Y(e,a,i);r.forEachMutation(function(c,f){var h=a+f;q(e,h,c,l)}),r.forEachAction(function(c,f){var h=c.root?f:a+f,d=c.handler||c;z(e,h,d,l)}),r.forEachGetter(function(c,f){var h=a+f;J(e,h,c,l)}),r.forEachChild(function(c,f){y(e,t,i.concat(f),c,n)})}function Y(e,t,i){var r=t==="",n={dispatch:r?e.dispatch:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;return(!c||!c.root)&&(f=t+f),e.dispatch(f,l)},commit:r?e.commit:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;(!c||!c.root)&&(f=t+f),e.commit(f,l,c)}};return Object.defineProperties(n,{getters:{get:r?function(){return e.getters}:function(){return G(e,t)}},state:{get:function(){return E(e.state,i)}}}),n}function G(e,t){if(!e._makeLocalGettersCache[t]){var i={},r=t.length;Object.keys(e.getters).forEach(function(n){if(n.slice(0,r)===t){var o=n.slice(r);Object.defineProperty(i,o,{get:function(){return e.getters[n]},enumerable:!0})}}),e._makeLocalGettersCache[t]=i}return e._makeLocalGettersCache[t]}function q(e,t,i,r){var n=e._mutations[t]||(e._mutations[t]=[]);n.push(function(a){i.call(e,r.state,a)})}function z(e,t,i,r){var n=e._actions[t]||(e._actions[t]=[]);n.push(function(a){var s=i.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},a);return K(s)||(s=Promise.resolve(s)),e._devtoolHook?s.catch(function(u){throw e._devtoolHook.emit("vuex:error",u),u}):s})}function J(e,t,i,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return i(r.state,r.getters,o.state,o.getters)})}function Q(e){M(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function E(e,t){return t.reduce(function(i,r){return i[r]},e)}function b(e,t,i){return B(e)&&e.type&&(i=t,t=e,e=e.type),{type:e,payload:t,options:i}}var Z="vuex bindings",j="vuex:mutations",C="vuex:actions",_="vuex",tt=0;function et(e,t){U({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Z]},function(i){i.addTimelineLayer({id:j,label:"Vuex Mutations",color:I}),i.addTimelineLayer({id:C,label:"Vuex Actions",color:I}),i.addInspector({id:_,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),i.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===_)if(r.filter){var n=[];D(n,t._modules.root,r.filter,""),r.rootNodes=n}else r.rootNodes=[N(t._modules.root,"")]}),i.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId;G(t,n),r.state=nt(at(t._modules,n),n==="root"?t.getters:t._makeLocalGettersCache,n)}}),i.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId,o=r.path;n!=="root"&&(o=n.split("/").filter(Boolean).concat(o)),t._withCommit(function(){r.set(t._state.data,o,r.state.value)})}}),t.subscribe(function(r,n){var o={};r.payload&&(o.payload=r.payload),o.state=n,i.notifyComponentUpdate(),i.sendInspectorTree(_),i.sendInspectorState(_),i.addTimelineEvent({layerId:j,event:{time:Date.now(),title:r.type,data:o}})}),t.subscribeAction({before:function(r,n){var o={};r.payload&&(o.payload=r.payload),r._id=tt++,r._time=Date.now(),o.state=n,i.addTimelineEvent({layerId:C,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:o}})},after:function(r,n){var o={},a=Date.now()-r._time;o.duration={_custom:{type:"duration",display:a+"ms",tooltip:"Action duration",value:a}},r.payload&&(o.payload=r.payload),o.state=n,i.addTimelineEvent({layerId:C,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:o}})}})})}var I=8702998,rt=6710886,it=16777215,L={label:"namespaced",textColor:it,backgroundColor:rt};function $(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function N(e,t){return{id:t||"root",label:$(t),tags:e.namespaced?[L]:[],children:Object.keys(e._children).map(function(i){return N(e._children[i],t+i+"/")})}}function D(e,t,i,r){r.includes(i)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[L]:[]}),Object.keys(t._children).forEach(function(n){D(e,t._children[n],i,r+n+"/")})}function nt(e,t,i){t=i==="root"?t:t[i];var r=Object.keys(t),n={state:Object.keys(e.state).map(function(a){return{key:a,editable:!0,value:e.state[a]}})};if(r.length){var o=ot(t);n.getters=Object.keys(o).map(function(a){return{key:a.endsWith("/")?$(a):a,editable:!1,value:O(function(){return o[a]})}})}return n}function ot(e){var t={};return Object.keys(e).forEach(function(i){var r=i.split("/");if(r.length>1){var n=t,o=r.pop();r.forEach(function(a){n[a]||(n[a]={_custom:{value:{},display:a,tooltip:"Module",abstract:!0}}),n=n[a]._custom.value}),n[o]=O(function(){return e[i]})}else t[i]=O(function(){return e[i]})}),t}function at(e,t){var i=t.split("/").filter(function(r){return r});return i.reduce(function(r,n,o){var a=r[n];if(!a)throw new Error('Missing module "'+n+'" for path "'+t+'".');return o===i.length-1?a:a._children},t==="root"?e:e.root._children)}function O(e){try{return e()}catch(t){return t}}var v=function(t,i){this.runtime=i,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},R={namespaced:{configurable:!0}};R.namespaced.get=function(){return!!this._rawModule.namespaced};v.prototype.addChild=function(t,i){this._children[t]=i};v.prototype.removeChild=function(t){delete this._children[t]};v.prototype.getChild=function(t){return this._children[t]};v.prototype.hasChild=function(t){return t in this._children};v.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};v.prototype.forEachChild=function(t){g(this._children,t)};v.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)};v.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)};v.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)};Object.defineProperties(v.prototype,R);var m=function(t){this.register([],t,!1)};m.prototype.get=function(t){return t.reduce(function(i,r){return i.getChild(r)},this.root)};m.prototype.getNamespace=function(t){var i=this.root;return t.reduce(function(r,n){return i=i.getChild(n),r+(i.namespaced?n+"/":"")},"")};m.prototype.update=function(t){P([],this.root,t)};m.prototype.register=function(t,i,r){var n=this;r===void 0&&(r=!0);var o=new v(i,r);if(t.length===0)this.root=o;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],o)}i.modules&&g(i.modules,function(s,u){n.register(t.concat(u),s,r)})};m.prototype.unregister=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1],n=i.getChild(r);n&&n.runtime&&i.removeChild(r)};m.prototype.isRegistered=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1];return i?i.hasChild(r):!1};function P(e,t,i){if(t.update(i),i.modules)for(var r in i.modules){if(!t.getChild(r))return;P(e.concat(r),t.getChild(r),i.modules[r])}}function ut(e){return new p(e)}var p=function(t){var i=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var n=t.strict;n===void 0&&(n=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new m(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var a=this,s=this,u=s.dispatch,l=s.commit;this.dispatch=function(h,d){return u.call(a,h,d)},this.commit=function(h,d,F){return l.call(a,h,d,F)},this.strict=n;var c=this._modules.root.state;y(this,c,[],this._modules.root),S(this,c),r.forEach(function(f){return f(i)})},w={state:{configurable:!0}};p.prototype.install=function(t,i){t.provide(i||x,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&et(t,this)};w.state.get=function(){return this._state.data};w.state.set=function(e){};p.prototype.commit=function(t,i,r){var n=this,o=b(t,i,r),a=o.type,s=o.payload,u={type:a,payload:s},l=this._mutations[a];l&&(this._withCommit(function(){l.forEach(function(f){f(s)})}),this._subscribers.slice().forEach(function(c){return c(u,n.state)}))};p.prototype.dispatch=function(t,i){var r=this,n=b(t,i),o=n.type,a=n.payload,s={type:o,payload:a},u=this._actions[o];if(u){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(s,r.state)})}catch{}var l=u.length>1?Promise.all(u.map(function(c){return c(a)})):u[0](a);return new Promise(function(c,f){l.then(function(h){try{r._actionSubscribers.filter(function(d){return d.after}).forEach(function(d){return d.after(s,r.state)})}catch{}c(h)},function(h){try{r._actionSubscribers.filter(function(d){return d.error}).forEach(function(d){return d.error(s,r.state,h)})}catch{}f(h)})})}};p.prototype.subscribe=function(t,i){return T(t,this._subscribers,i)};p.prototype.subscribeAction=function(t,i){var r=typeof t=="function"?{before:t}:t;return T(r,this._actionSubscribers,i)};p.prototype.watch=function(t,i,r){var n=this;return M(function(){return t(n.state,n.getters)},i,Object.assign({},r))};p.prototype.replaceState=function(t){var i=this;this._withCommit(function(){i._state.data=t})};p.prototype.registerModule=function(t,i,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,i),y(this,this.state,t,this._modules.get(t),r.preserveState),S(this,this.state)};p.prototype.unregisterModule=function(t){var i=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=E(i.state,t.slice(0,-1));delete r[t[t.length-1]]}),A(this)};p.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};p.prototype.hotUpdate=function(t){this._modules.update(t),A(this,!0)};p.prototype._withCommit=function(t){var i=this._committing;this._committing=!0,t(),this._committing=i};Object.defineProperties(p.prototype,w);export{ut as c,st as u}; + */var x="store";function st(e){return e===void 0&&(e=null),B(e!==null?e:x)}function g(e,t){Object.keys(e).forEach(function(i){return t(e[i],i)})}function K(e){return e!==null&&typeof e=="object"}function W(e){return e&&typeof e.then=="function"}function Y(e,t){return function(){return e(t)}}function T(e,t,i){return t.indexOf(e)<0&&(i&&i.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function A(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var i=e.state;y(e,i,[],e._modules.root,!0),S(e,i,t)}function S(e,t,i){var r=e._state,n=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,a={},s={},u=V(!0);u.run(function(){g(o,function(l,c){a[c]=Y(l,e),s[c]=k(function(){return a[c]()}),Object.defineProperty(e.getters,c,{get:function(){return s[c].value},enumerable:!0})})}),e._state=H({data:t}),e._scope=u,e.strict&&J(e),r&&i&&e._withCommit(function(){r.data=null}),n&&n.stop()}function y(e,t,i,r,n){var o=!i.length,a=e._modules.getNamespace(i);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!n){var s=E(t,i.slice(0,-1)),u=i[i.length-1];e._withCommit(function(){s[u]=r.state})}var l=r.context=X(e,a,i);r.forEachMutation(function(c,f){var h=a+f;Z(e,h,c,l)}),r.forEachAction(function(c,f){var h=c.root?f:a+f,d=c.handler||c;q(e,h,d,l)}),r.forEachGetter(function(c,f){var h=a+f;z(e,h,c,l)}),r.forEachChild(function(c,f){y(e,t,i.concat(f),c,n)})}function X(e,t,i){var r=t==="",n={dispatch:r?e.dispatch:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;return(!c||!c.root)&&(f=t+f),e.dispatch(f,l)},commit:r?e.commit:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;(!c||!c.root)&&(f=t+f),e.commit(f,l,c)}};return Object.defineProperties(n,{getters:{get:r?function(){return e.getters}:function(){return G(e,t)}},state:{get:function(){return E(e.state,i)}}}),n}function G(e,t){if(!e._makeLocalGettersCache[t]){var i={},r=t.length;Object.keys(e.getters).forEach(function(n){if(n.slice(0,r)===t){var o=n.slice(r);Object.defineProperty(i,o,{get:function(){return e.getters[n]},enumerable:!0})}}),e._makeLocalGettersCache[t]=i}return e._makeLocalGettersCache[t]}function Z(e,t,i,r){var n=e._mutations[t]||(e._mutations[t]=[]);n.push(function(a){i.call(e,r.state,a)})}function q(e,t,i,r){var n=e._actions[t]||(e._actions[t]=[]);n.push(function(a){var s=i.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},a);return W(s)||(s=Promise.resolve(s)),e._devtoolHook?s.catch(function(u){throw e._devtoolHook.emit("vuex:error",u),u}):s})}function z(e,t,i,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return i(r.state,r.getters,o.state,o.getters)})}function J(e){M(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function E(e,t){return t.reduce(function(i,r){return i[r]},e)}function b(e,t,i){return K(e)&&e.type&&(i=t,t=e,e=e.type),{type:e,payload:t,options:i}}var Q="vuex bindings",j="vuex:mutations",C="vuex:actions",_="vuex",tt=0;function et(e,t){U({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Q]},function(i){i.addTimelineLayer({id:j,label:"Vuex Mutations",color:I}),i.addTimelineLayer({id:C,label:"Vuex Actions",color:I}),i.addInspector({id:_,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),i.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===_)if(r.filter){var n=[];D(n,t._modules.root,r.filter,""),r.rootNodes=n}else r.rootNodes=[N(t._modules.root,"")]}),i.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId;G(t,n),r.state=nt(at(t._modules,n),n==="root"?t.getters:t._makeLocalGettersCache,n)}}),i.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId,o=r.path;n!=="root"&&(o=n.split("/").filter(Boolean).concat(o)),t._withCommit(function(){r.set(t._state.data,o,r.state.value)})}}),t.subscribe(function(r,n){var o={};r.payload&&(o.payload=r.payload),o.state=n,i.notifyComponentUpdate(),i.sendInspectorTree(_),i.sendInspectorState(_),i.addTimelineEvent({layerId:j,event:{time:Date.now(),title:r.type,data:o}})}),t.subscribeAction({before:function(r,n){var o={};r.payload&&(o.payload=r.payload),r._id=tt++,r._time=Date.now(),o.state=n,i.addTimelineEvent({layerId:C,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:o}})},after:function(r,n){var o={},a=Date.now()-r._time;o.duration={_custom:{type:"duration",display:a+"ms",tooltip:"Action duration",value:a}},r.payload&&(o.payload=r.payload),o.state=n,i.addTimelineEvent({layerId:C,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:o}})}})})}var I=8702998,rt=6710886,it=16777215,L={label:"namespaced",textColor:it,backgroundColor:rt};function $(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function N(e,t){return{id:t||"root",label:$(t),tags:e.namespaced?[L]:[],children:Object.keys(e._children).map(function(i){return N(e._children[i],t+i+"/")})}}function D(e,t,i,r){r.includes(i)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[L]:[]}),Object.keys(t._children).forEach(function(n){D(e,t._children[n],i,r+n+"/")})}function nt(e,t,i){t=i==="root"?t:t[i];var r=Object.keys(t),n={state:Object.keys(e.state).map(function(a){return{key:a,editable:!0,value:e.state[a]}})};if(r.length){var o=ot(t);n.getters=Object.keys(o).map(function(a){return{key:a.endsWith("/")?$(a):a,editable:!1,value:O(function(){return o[a]})}})}return n}function ot(e){var t={};return Object.keys(e).forEach(function(i){var r=i.split("/");if(r.length>1){var n=t,o=r.pop();r.forEach(function(a){n[a]||(n[a]={_custom:{value:{},display:a,tooltip:"Module",abstract:!0}}),n=n[a]._custom.value}),n[o]=O(function(){return e[i]})}else t[i]=O(function(){return e[i]})}),t}function at(e,t){var i=t.split("/").filter(function(r){return r});return i.reduce(function(r,n,o){var a=r[n];if(!a)throw new Error('Missing module "'+n+'" for path "'+t+'".');return o===i.length-1?a:a._children},t==="root"?e:e.root._children)}function O(e){try{return e()}catch(t){return t}}var v=function(t,i){this.runtime=i,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},R={namespaced:{configurable:!0}};R.namespaced.get=function(){return!!this._rawModule.namespaced};v.prototype.addChild=function(t,i){this._children[t]=i};v.prototype.removeChild=function(t){delete this._children[t]};v.prototype.getChild=function(t){return this._children[t]};v.prototype.hasChild=function(t){return t in this._children};v.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};v.prototype.forEachChild=function(t){g(this._children,t)};v.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)};v.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)};v.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)};Object.defineProperties(v.prototype,R);var m=function(t){this.register([],t,!1)};m.prototype.get=function(t){return t.reduce(function(i,r){return i.getChild(r)},this.root)};m.prototype.getNamespace=function(t){var i=this.root;return t.reduce(function(r,n){return i=i.getChild(n),r+(i.namespaced?n+"/":"")},"")};m.prototype.update=function(t){P([],this.root,t)};m.prototype.register=function(t,i,r){var n=this;r===void 0&&(r=!0);var o=new v(i,r);if(t.length===0)this.root=o;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],o)}i.modules&&g(i.modules,function(s,u){n.register(t.concat(u),s,r)})};m.prototype.unregister=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1],n=i.getChild(r);n&&n.runtime&&i.removeChild(r)};m.prototype.isRegistered=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1];return i?i.hasChild(r):!1};function P(e,t,i){if(t.update(i),i.modules)for(var r in i.modules){if(!t.getChild(r))return;P(e.concat(r),t.getChild(r),i.modules[r])}}function ut(e){return new p(e)}var p=function(t){var i=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var n=t.strict;n===void 0&&(n=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new m(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var a=this,s=this,u=s.dispatch,l=s.commit;this.dispatch=function(h,d){return u.call(a,h,d)},this.commit=function(h,d,F){return l.call(a,h,d,F)},this.strict=n;var c=this._modules.root.state;y(this,c,[],this._modules.root),S(this,c),r.forEach(function(f){return f(i)})},w={state:{configurable:!0}};p.prototype.install=function(t,i){t.provide(i||x,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&et(t,this)};w.state.get=function(){return this._state.data};w.state.set=function(e){};p.prototype.commit=function(t,i,r){var n=this,o=b(t,i,r),a=o.type,s=o.payload,u={type:a,payload:s},l=this._mutations[a];l&&(this._withCommit(function(){l.forEach(function(f){f(s)})}),this._subscribers.slice().forEach(function(c){return c(u,n.state)}))};p.prototype.dispatch=function(t,i){var r=this,n=b(t,i),o=n.type,a=n.payload,s={type:o,payload:a},u=this._actions[o];if(u){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(s,r.state)})}catch{}var l=u.length>1?Promise.all(u.map(function(c){return c(a)})):u[0](a);return new Promise(function(c,f){l.then(function(h){try{r._actionSubscribers.filter(function(d){return d.after}).forEach(function(d){return d.after(s,r.state)})}catch{}c(h)},function(h){try{r._actionSubscribers.filter(function(d){return d.error}).forEach(function(d){return d.error(s,r.state,h)})}catch{}f(h)})})}};p.prototype.subscribe=function(t,i){return T(t,this._subscribers,i)};p.prototype.subscribeAction=function(t,i){var r=typeof t=="function"?{before:t}:t;return T(r,this._actionSubscribers,i)};p.prototype.watch=function(t,i,r){var n=this;return M(function(){return t(n.state,n.getters)},i,Object.assign({},r))};p.prototype.replaceState=function(t){var i=this;this._withCommit(function(){i._state.data=t})};p.prototype.registerModule=function(t,i,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,i),y(this,this.state,t,this._modules.get(t),r.preserveState),S(this,this.state)};p.prototype.unregisterModule=function(t){var i=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=E(i.state,t.slice(0,-1));delete r[t[t.length-1]]}),A(this)};p.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};p.prototype.hotUpdate=function(t){this._modules.update(t),A(this,!0)};p.prototype._withCommit=function(t){var i=this._committing;this._committing=!0,t(),this._committing=i};Object.defineProperties(p.prototype,w);export{ut as c,st as u}; diff --git a/web/dist/index.html b/web/dist/index.html index 69aac1e0..1a394f42 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,27 +8,27 @@ 泡泡 - - - - + + + + - - + + - + - - - + + + diff --git a/web/package.json b/web/package.json index 36bd8fa0..6b1e233b 100644 --- a/web/package.json +++ b/web/package.json @@ -24,6 +24,7 @@ "qrcanvas-vue": "^3.0.0", "qrcode": "^1.5.1", "unplugin-vue-components": "^0.24.1", + "v3-infinite-loading": "^1.2.2", "vfonts": "^0.0.3", "vue": "^3.2.47", "vue-router": "4", diff --git a/web/src/App.vue b/web/src/App.vue index f4bd7042..c19e49d1 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -4,9 +4,9 @@
-
+
diff --git a/web/src/api/post.ts b/web/src/api/post.ts index a16fb77c..81d8e1a7 100644 --- a/web/src/api/post.ts +++ b/web/src/api/post.ts @@ -154,6 +154,50 @@ export const visibilityPost = ( }); }; +/** 点赞评论 */ +export const thumbsUpTweetComment = ( + data: NetParams.PostTweetCommentThumbs +): Promise => { + return request({ + method: "post", + url: "/v1/tweet/comment/thumbsup", + data, + }); +}; + +/** 点踩评论 */ +export const thumbsDownTweetComment = ( + data: NetParams.PostTweetCommentThumbs +): Promise => { + return request({ + method: "post", + url: "/v1/tweet/comment/thumbsdown", + data, + }); +}; + +/** 点赞评论回复 */ +export const thumbsUpTweetReply = ( + data: NetParams.PostTweetReplyThumbs +): Promise => { + return request({ + method: "post", + url: "/v1/tweet/reply/thumbsup", + data, + }); +}; + +/** 点踩评论回复 */ +export const thumbsDownTweetReply = ( + data: NetParams.PostTweetReplyThumbs +): Promise => { + return request({ + method: "post", + url: "/v1/tweet/reply/thumbsdown", + data, + }); +}; + /** 发布动态评论 */ export const createComment = ( data: NetParams.PostCreateComment diff --git a/web/src/assets/css/main.less b/web/src/assets/css/main.less index 3d4024e2..d07f7fc5 100644 --- a/web/src/assets/css/main.less +++ b/web/src/assets/css/main.less @@ -93,8 +93,6 @@ @media screen and (max-width: 821px) { .content-wrap { top: 0; - // left: 60px; position: absolute !important; - // width: calc(100% - 60px) !important; } } \ No newline at end of file diff --git a/web/src/components/auth.vue b/web/src/components/auth.vue index c35d729a..4ea830fa 100644 --- a/web/src/components/auth.vue +++ b/web/src/components/auth.vue @@ -226,6 +226,7 @@ const handleLogin = (e: Event) => { store.commit('updateUserinfo', res); store.commit('triggerAuth', false); + store.commit('refresh') loginForm.username = ''; loginForm.password = ''; }) diff --git a/web/src/components/comment-item.vue b/web/src/components/comment-item.vue index 4c89d8f1..0d8956be 100644 --- a/web/src/components/comment-item.vue +++ b/web/src/components/comment-item.vue @@ -24,12 +24,7 @@
@@ -103,7 +98,6 @@ import { ref, computed } from 'vue'; import { useStore } from 'vuex'; import { useRouter } from 'vue-router'; -import { formatPrettyTime } from '@/utils/formatTime'; import { parsePostTag } from '@/utils/content'; import { Trash } from '@vicons/tabler'; import { deleteComment } from '@/api/post'; diff --git a/web/src/components/compose-reply.vue b/web/src/components/compose-reply.vue index e79b5e2f..5b7d10b7 100644 --- a/web/src/components/compose-reply.vue +++ b/web/src/components/compose-reply.vue @@ -1,36 +1,51 @@