import{s as w,t as A}from"./chunk-C6uGsfWa.js";import{$ as Ehe,Ar as Tu,Bn as Ow,Br as Ux,Cs as q5,Da as e5,Eo as kb,Er as TV,Fo as l$,Ga as g$,Gi as ar,Go as m5,Gr as Va,Hr as V,Ia as f$,Io as lA,Is as rh,J as EI,Lr as Uj,Ls as rx,No as kx,O as CV,Oi as Zt,Oo as kj,P as Cwe,Q as EV,Qi as bV,Qr as W$,S as Bn,Uo as m$,Wa as g,Yi as bI,Za as gx,Zi as bT,Zo as n5,Zs as tBe,Zt as Kc,_r as Se$1,_s as ph,as as oA,cs as on,ea as bhe,ec as th,er as Qc,et as Em,ga as ci,ha as cf,ho as j$,ii as Wg,it as FB,mi as Xxe,mt as Fx,p as Au,pr as S3,rc as u$,s as $x,ta as bi,u as AV,ua as cA,vc as wp,vr as She,xi as Yn,y as Be,ya as d$,z as DV}from"./chunk-B_pj7Jpm.js";import{t as X1}from"./chunk-CgIzqGPc.js";import"./chunk-BV11JmKC.js";import"./chunk-CdfINgvq.js";import{A as qn,C as fn,I as yn,O as ln,_ as Zn,o as Je,p as Vn,s as Jn,t as $n,u as Qn}from"./chunk-BPHMC4rz.js";import"./chunk-COgN00_S.js";import"./chunk-DULXsDZq.js";import{c as oi}from"./chunk-CEibY8iL.js";import{t as S}from"./chunk-BmH4cOwr.js";import{O as sr}from"./chunk-CR0lnyBO.js";import"./chunk-cztdWiEo2.js";import{n as ce}from"./chunk-BHPWLTEh2.js";import"./chunk-BD06qecY2.js";import{a as ne,r as Le}from"./chunk-gBn5D-ff2.js";import{t as g$1}from"./chunk-BESppbb1.js";import{i as o}from"./chunk-CL9Zi7SR.js";import"./chunk-mhEVtCsW.js";import{t as k}from"./chunk-DaUEjKCf.js";import{d as Xe,h as Ze,i as Jo,o as Ke,p as Ye,t as $t$1,w as zt,x as qe}from"./chunk-BHzUb4p92.js";var It=A((lo,Et)=>{Et.exports=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-key-round-icon lucide-key-round">
  <path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z" />
  <circle cx="16.5" cy="7.5" r=".5" fill="currentColor" />
</svg>
`});var At=A((_o,Pt)=>{Pt.exports=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-briefcase-business-icon lucide-briefcase-business">
  <path d="M12 12h.01" />
  <path d="M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2" />
  <path d="M22 13a18.15 18.15 0 0 1-20 0" />
  <rect width="20" height="14" x="2" y="6" rx="2" />
</svg>
`});function $e(){return`no_welcome_modal`}var Ne=class l{hide=Ehe();static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-documentation`]],outputs:{hide:`hide`},decls:55,vars:0,consts:()=>{let n;n="祝贺";let e;e="你的平台已经配置好！";let t;t=`是时候添加关于你平台的信息了！${`[�#12�|�#13�|�#14�|�#15�|�#16�]`}设置描述${`[�/#12�|�/#13�|�/#14�|�/#15�|�/#16�]`}、说清 ${`[�#12�|�#13�|�#14�|�#15�|�#16�]`}你是谁${`[�/#12�|�/#13�|�/#14�|�/#15�|�/#16�]`}、你为何${`[�#12�|�#13�|�#14�|�#15�|�#16�]`}创建这个平台${`[�/#12�|�/#13�|�/#14�|�/#15�|�/#16�]`}以及${`[�#12�|�#13�|�#14�|�#15�|�#16�]`}你打算${`[�/#12�|�/#13�|�/#14�|�/#15�|�/#16�]`}维护这个平台 ${`[�#12�|�#13�|�#14�|�#15�|�#16�]`}多久${`[�/#12�|�/#13�|�/#14�|�/#15�|�/#16�]`}对访问者理解他们在什么类型的网站上非常重要。 `,t=d$(t);let r;r="实用链接";let s;s="PeerTube 官网：";let p;p="博客文章、获取帮助或探索 PeerTube";let I;I="PeerTube 公共索引：";let D;D="将平台放在官方 PeerTube 公共索引中";let x;x="文档";let k;k="管理员：";let X;X="管理用户、关注其他平台、处理垃圾信息发送者、配置对象存储或远程转码…";let A;A="设置你的账户，管理视频播放列表，搜索第三方应用程序……";let y;y="CLI:";let we;we="上传或导入视频，解析日志，删除存储目录，重置用户密码……";let Le;Le="关闭";let We;return We="填写平台信息",[n,e,t,r,s,p,I,D,x,k,X,A,y,we,Le,We,[1,`root`],[1,`one-column`],[1,`mascot-container`],[`src`,`/client/assets/images/mascot/happy.svg`,`alt`,`mascot`,1,`mascot`],[1,`title`],[1,`sub-title`],[1,`mt-4`],[1,`text-content`],[`href`,`https://joinpeertube.org`,`target`,`_blank`,1,`link-primary`,`me-1`],[`href`,`https://instances.joinpeertube.org/instances`,`target`,`_blank`,1,`link-primary`,`me-1`],[`href`,`https://docs.joinpeertube.org/admin/following-instances`,`target`,`_blank`,1,`link-primary`,`me-1`],[`href`,`https://docs.joinpeertube.org/use/setup-account`,`target`,`_blank`,1,`link-primary`,`me-1`],[`href`,`https://docs.joinpeertube.org/maintain/tools`,`target`,`_blank`,1,`link-primary`,`me-1`],[1,`buttons`],[`theme`,`secondary`,3,`click`],[`theme`,`primary`,`ptRouterLink`,`/admin/settings/config`,3,`click`]]},template:function(e,t){e&1&&(wp(0,`div`,16)(1,`div`,17)(2,`div`,18),th(3,`img`,19),kb(),wp(4,`h4`)(5,`div`,20),l$(6,0),kb(),wp(7,`div`,21),l$(8,1),kb()()(),wp(9,`div`,22)(10,`span`,23),kx(11,2),th(12,`strong`)(13,`strong`)(14,`strong`)(15,`strong`)(16,`strong`),Fx(),kb()(),wp(17,`div`,22)(18,`h5`),l$(19,3),kb(),wp(20,`ul`,23)(21,`li`)(22,`a`,24),l$(23,4),kb(),wp(24,`span`),l$(25,5),kb()(),wp(26,`li`)(27,`a`,25),l$(28,6),kb(),wp(29,`span`),l$(30,7),kb()()()(),wp(31,`div`,22)(32,`h5`),l$(33,8),kb(),wp(34,`ul`,23)(35,`li`)(36,`a`,26),l$(37,9),kb(),wp(38,`span`),l$(39,10),kb()(),wp(40,`li`)(41,`a`,27),j$(42,`User:`),kb(),wp(43,`span`),l$(44,11),kb()(),wp(45,`li`)(46,`a`,28),l$(47,12),kb(),wp(48,`span`),l$(49,13),kb()()()(),wp(50,`div`,29)(51,`my-button`,30),rh(`click`,function(){return t.hide.emit()}),l$(52,14),kb(),wp(53,`my-button`,31),rh(`click`,function(){return t.hide.emit()}),l$(54,15),kb()()())},dependencies:[ce],styles:[`.steps[_ngcontent-%COMP%]{color:var(--%NS%fg-200);font-size:14px;font-weight:700}.title[_ngcontent-%COMP%]{color:var(--%NS%fg-350);font-weight:700;font-size:calc(1.3625rem + 1.35vw)}@media(min-width:1200px){.title[_ngcontent-%COMP%]{font-size:2.375rem}}.sub-title[_ngcontent-%COMP%]{color:var(--%NS%fg-300);font-weight:400;font-size:1.25rem}h4[_ngcontent-%COMP%]{margin-bottom:0}.text-content[_ngcontent-%COMP%]{color:var(--%NS%fg-200)}.buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;margin-top:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{margin-top:2.5rem}}.buttons[_ngcontent-%COMP%]{gap:calc(1.275rem + .3vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{gap:1.5rem}}form[_ngcontent-%COMP%]{max-width:512px;width:100%}.two-columns[_ngcontent-%COMP%]{display:flex;gap:1rem}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:50%}.one-column[_ngcontent-%COMP%]{text-align:center}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%]{position:relative;height:110px;margin:0 auto}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%], .one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{width:170px}.one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{position:absolute;top:-100px;left:0;height:190px}h5[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:var(--%NS%fg-300)}`],changeDetection:1})};var Nt=l=>({"input-error":l});function Tt(l,n){if(l&1&&(wp(0,`div`,22),j$(1),kb()),l&2){let e=f$();FB(),oA(e.formErrors.platformName)}}function Dt(l,n){if(l&1&&(wp(0,`div`,22),j$(1),kb()),l&2){let e=f$();FB(),oA(e.formErrors.shortDescription)}}function Ft(l,n){if(l&1){let e=AV();wp(0,`my-button`,34),rh(`click`,function(){EI(e);return bI(f$().back.emit())}),l$(1,10),kb()}}var Ie=class l{server=g(Zt);formReactiveService=g(S);themeService=g(Wg);currentStep=ph.required({transform:q5});totalSteps=ph.required({transform:q5});showBack=ph.required({transform:Tu});back=Ehe();next=Ehe();hide=Ehe();form;formErrors={};validationMessages={};ngOnInit(){this.buildForm();let n=bT(this.server.getHTMLConfig().instance.avatars,128);n&&fetch(n.fileUrl).then(e=>e.blob()).then(e=>this.form.patchValue({avatar:e})).catch(()=>{V.error(`Could not fetch instance avatar`)})}get avatarFileConstraints(){return this.server.getHTMLConfig().avatar.file}buildForm(){let n={platformName:$t$1,shortDescription:zt,avatar:null,primaryColor:o},{form:e,formErrors:t,validationMessages:r}=this.formReactiveService.buildForm(n,this.getDefaultValues());this.form=e,this.formErrors=t,this.validationMessages=r}getDefaultValues(){let n=this.server.getHTMLConfig(),e=n.theme.customization.primaryColor,t=e?this.themeService.formatColorForForm(e):this.themeService.formatColorForForm(this.themeService.getCSSConfigValue(`primaryColor`));return{platformName:n.instance.name,shortDescription:n.instance.shortDescription,avatar:void 0,primaryColor:t}}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-edit-info`]],inputs:{currentStep:[1,`currentStep`],totalSteps:[1,`totalSteps`],showBack:[1,`showBack`]},outputs:{back:`back`,next:`next`,hide:`hide`},decls:39,vars:15,consts:()=>{let n;n=`步骤 ${`�0�`}/${`�1�`}`;let e;e="常规信息";let t;t="你可以稍后编辑此信息";let r;r="平台名";let s;s="简短描述";let p;p="平台图标";let I;I="在网站、移动应用和社交媒体等多个地方使用";let D;D="主色";let x;x="下一步";let k;k="暂时忽略";let X;return X="返回",[n,e,t,r,s,p,I,D,x,k,X,[1,`root`],[1,`two-columns`],[`src`,`/client/assets/images/mascot/pointing.svg`,`alt`,`mascot`,1,`mascot`],[1,`steps`],[1,`header-steps`],[1,`title`],[1,`text-content`],[3,`formGroup`],[1,`form-group`],[`for`,`platformName`],[`type`,`text`,`id`,`platformName`,`formControlName`,`platformName`,1,`form-control`,3,`ngClass`],[`role`,`alert`,1,`form-error`],[`for`,`shortDescription`],[`id`,`shortDescription`,`formControlName`,`shortDescription`,1,`form-control`,`small`,3,`ngClass`],[`for`,`avatarfile`],[1,`form-group-description`],[`formControlName`,`avatar`,`inputName`,`avatar`,`displayDelete`,`true`,1,`avatar-preview`,3,`fileConstraints`],[`for`,`primaryColor`],[`inputId`,`primaryColor`,`formControlName`,`primaryColor`,3,`formError`],[1,`buttons`],[`icon`,`arrow-left`,`theme`,`secondary`],[`theme`,`primary`,3,`click`,`disabled`],[1,`button-as-link`,3,`click`],[`icon`,`arrow-left`,`theme`,`secondary`,3,`click`]]},template:function(e,t){e&1&&(wp(0,`div`,11)(1,`div`,12)(2,`div`),th(3,`img`,13),kb(),wp(4,`div`)(5,`div`,14)(6,`div`,15),l$(7,0),kb()(),wp(8,`h4`,16),l$(9,1),kb(),wp(10,`div`,17),l$(11,2),kb(),wp(12,`form`,18)(13,`div`,19)(14,`label`,20),l$(15,3),kb(),th(16,`input`,21),kj(),EV(17,Tt,2,1,`div`,22),kb(),wp(18,`div`,19)(19,`label`,23),l$(20,4),kb(),th(21,`textarea`,24),kj(),EV(22,Dt,2,1,`div`,22),kb(),wp(23,`div`,19)(24,`label`,25),l$(25,5),kb(),wp(26,`div`,26),l$(27,6),kb(),th(28,`my-image-input`,27),kj(),kb(),wp(29,`div`,19)(30,`label`,28),l$(31,7),kb(),th(32,`my-peertube-color-picker`,29),kj(),kb(),wp(33,`div`,30),EV(34,Ft,2,0,`my-button`,31),wp(35,`my-button`,32),rh(`click`,function(){return t.next.emit(t.form.value)}),l$(36,8),kb(),wp(37,`button`,33),rh(`click`,function(){return t.hide.emit()}),l$(38,9),kb()()()()()()),e&2&&(FB(7),Ux(t.currentStep())(t.totalSteps()),u$(7),FB(5),gx(`formGroup`,t.form),FB(4),gx(`ngClass`,n5(11,Nt,t.formErrors.platformName)),Uj(),FB(),bV(t.formErrors.platformName?17:-1),FB(4),gx(`ngClass`,n5(13,Nt,t.formErrors.shortDescription)),Uj(),FB(),bV(t.formErrors.shortDescription?22:-1),FB(6),gx(`fileConstraints`,t.avatarFileConstraints),Uj(),FB(4),gx(`formError`,t.formErrors.primaryColor),Uj(),FB(2),bV(t.showBack()?34:-1),FB(),gx(`disabled`,!t.form.valid))},dependencies:[Au,S3,Jn,Zn,Je,qn,$n,Qn,Vn,yn,Ke,Le,ce,k],styles:[`form[_ngcontent-%COMP%]{margin-top:calc(1.325rem + .9vw)}@media(min-width:1200px){form[_ngcontent-%COMP%]{margin-top:2rem}}.mascot[_ngcontent-%COMP%]{margin-top:-90px;width:170px;height:190px}.avatar-preview[_ngcontent-%COMP%]{width:128px;height:128px}@media screen and (max-width:800px){.mascot[_ngcontent-%COMP%]{display:none}.two-columns[_ngcontent-%COMP%]{justify-content:center}}textarea[_ngcontent-%COMP%]{min-height:150px}`,`.steps[_ngcontent-%COMP%]{color:var(--%NS%fg-200);font-size:14px;font-weight:700}.title[_ngcontent-%COMP%]{color:var(--%NS%fg-350);font-weight:700;font-size:calc(1.3625rem + 1.35vw)}@media(min-width:1200px){.title[_ngcontent-%COMP%]{font-size:2.375rem}}.sub-title[_ngcontent-%COMP%]{color:var(--%NS%fg-300);font-weight:400;font-size:1.25rem}h4[_ngcontent-%COMP%]{margin-bottom:0}.text-content[_ngcontent-%COMP%]{color:var(--%NS%fg-200)}.buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;margin-top:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{margin-top:2.5rem}}.buttons[_ngcontent-%COMP%]{gap:calc(1.275rem + .3vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{gap:1.5rem}}form[_ngcontent-%COMP%]{max-width:512px;width:100%}.two-columns[_ngcontent-%COMP%]{display:flex;gap:1rem}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:50%}.one-column[_ngcontent-%COMP%]{text-align:center}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%]{position:relative;height:110px;margin:0 auto}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%], .one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{width:170px}.one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{position:absolute;top:-100px;left:0;height:190px}h5[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:var(--%NS%fg-300)}`],changeDetection:1})};var Oe=class l{el=g(Bn);unsafeHTML=ph.required();ngOnInit(){let n=this.el.nativeElement;n.innerHTML=this.unsafeHTML(),n.ariaHidden=`true`}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-custom-icon`]],inputs:{unsafeHTML:[1,`unsafeHTML`]},decls:0,vars:0,template:function(e,t){},styles:[`[_nghost-%COMP%]{display:inline-block;height:24px;width:24px}[_nghost-%COMP%]     svg{vertical-align:bottom;width:inherit;height:inherit}[_nghost-%COMP%]     .feather-flag{margin-left:-1px}`]})};var Se=class l{formReactiveService=g(S);usageType=bhe.required();form;formErrors={};validationMessages={};registrationOptions=[{id:`open`,label:"打开",description:"任何人均可注册并使用平台"},{id:`approval`,label:"需要批准",description:"任何人均可注册账户，但在可以使用平台前需要 审核者 批准账户"},{id:`closed`,label:"关闭",description:"仅管理员可在该平台上创建用户"}];importOptions=[{id:`enabled`,label:"已启用",description:`Your community can import videos from remote platforms (YouTube, Vimeo...) and automatically synchronize remote channels`},{id:`disabled`,label:"已禁用",description:"社区不能导入或同步来自远程平台的内容"}];liveOptions=[{id:`enabled`,label:"是",description:"你的社区可以在平台上直播（需要额外的监管工作）"},{id:`disabled`,label:"否",description:"不允许你的社区在平台上直播"}];globalSearchOptions=[{id:`enabled`,label:"启用全局搜索",description:"将 https://sepiasearch.org 用作在所有已知的 PeerTube 平台搜索内容的搜索引擎"},{id:`disabled`,label:"停用全局搜索",description:"使用只展示本地内容的平台搜索引擎"}];videoQuotaOptions=Jo();ngOnInit(){this.buildForm(),this.form.valueChanges.subscribe(n=>{this.usageType().patch(n)})}buildForm(){let{form:e,formErrors:t,validationMessages:r}=this.formReactiveService.buildForm({registration:null,remoteImport:null,videoQuota:null,live:null,globalSearch:null},this.usageType());this.form=e,this.formErrors=t,this.validationMessages=r}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-community-based-config`]],inputs:{usageType:[1,`usageType`]},outputs:{usageType:`usageTypeChange`},decls:21,vars:6,consts:()=>{let n;n="注册政策";let e;e="新用户视频配额";let t;t="视频导入和同步";let r;r="我的社区可以串流直播";let s;return s="搜索",[n,e,t,r,s,[3,`formGroup`],[1,`form-group`],[`for`,``],[`inputId`,`registration`,`formControlName`,`registration`,3,`items`],[`inputId`,`videoQuota`,`formControlName`,`videoQuota`,3,`items`],[`for`,`remoteImport`],[`inputId`,`remoteImport`,`formControlName`,`remoteImport`,3,`items`],[`inputId`,`live`,`formControlName`,`live`,3,`items`],[`inputId`,`globalSearch`,`formControlName`,`globalSearch`,3,`items`]]},template:function(e,t){e&1&&(wp(0,`form`,5)(1,`div`,6)(2,`label`,7),l$(3,0),kb(),th(4,`my-select-options`,8),kj(),kb(),wp(5,`div`,6)(6,`label`,7),l$(7,1),kb(),th(8,`my-select-options`,9),kj(),kb(),wp(9,`div`,6)(10,`label`,10),l$(11,2),kb(),th(12,`my-select-options`,11),kj(),kb(),wp(13,`div`,6)(14,`label`,7),l$(15,3),kb(),th(16,`my-select-options`,12),kj(),kb(),wp(17,`div`,6)(18,`label`,7),l$(19,4),kb(),th(20,`my-select-options`,13),kj(),kb()()),e&2&&(gx(`formGroup`,t.form),FB(4),gx(`items`,t.registrationOptions),Uj(),FB(4),gx(`items`,t.videoQuotaOptions),Uj(),FB(4),gx(`items`,t.importOptions),Uj(),FB(4),gx(`items`,t.liveOptions),Uj(),FB(4),gx(`items`,t.globalSearchOptions),Uj())},dependencies:[Jn,Zn,qn,$n,Qn,Vn,yn,Ye,Le,oi],encapsulation:2,changeDetection:1})};var Te=class l{formReactiveService=g(S);usageType=bhe.required();form;formErrors={};validationMessages={};p2pOptions=[{id:`enabled`,label:"已启用",description:"对匿名用户和新用户默认开启 P2P 串流"},{id:`disabled`,label:"已禁用",description:"停用 P2P 串流"}];transcriptionOptions=[{id:`enabled`,label:"已启用",description:"开启视频自动文字记录以自动生成字幕"},{id:`disabled`,label:"已禁用",description:"停用视频自动文字记录"}];keepOriginalVideoOptions=[{id:`enabled`,label:"是",description:"在服务器上保留原始视频文件"},{id:`disabled`,label:"否",description:"处理后删除原始视频文件"}];authenticationOptions=[{id:`local`,label:"已禁用",description:"平台内部管理用户注册和登录"},{id:`ldap`,label:"LDAP",description:"使用 LDAP 进行用户身份认证"},{id:`oidc`,label:"OIDC",description:"使用 OpenID Connect 进行用户身份认证"},{id:`saml`,label:"SAML",description:"使用 SAML 2.0 进行用户身份认证"}];ngOnInit(){this.buildForm(),this.form.valueChanges.subscribe(n=>{this.usageType().patch(n)})}buildForm(){let{form:e,formErrors:t,validationMessages:r}=this.formReactiveService.buildForm({keepOriginalVideo:null,p2p:null,transcription:null,authType:null},this.usageType());this.form=e,this.formErrors=t,this.validationMessages=r}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-institutional-config`]],inputs:{usageType:[1,`usageType`]},outputs:{usageType:`usageTypeChange`},decls:21,vars:5,consts:()=>{let n;n="保存已上传视频的副本";let e;e="对等网络";let t;t=`有助于您的平台分发视频内容，但会${`�#10�`}降低用户隐私${`�#11�`}${`�/#11�`}${`�/#10�`}。 `;let r;r="视频文字记录";let s;return s="远程身份认证",[n,e,t,r,s,[3,`formGroup`],[1,`form-group`],[`for`,`keepOriginalVideo`],[`inputId`,`keepOriginalVideo`,`formControlName`,`keepOriginalVideo`,3,`items`],[`for`,`p2p`],[1,`form-group-description`],[`href`,`https://docs.joinpeertube.org/admin/privacy-guide#player-p2p`,`target`,`_blank`],[`iconName`,`external-link`],[`inputId`,`p2p`,`formControlName`,`p2p`,3,`items`],[`for`,`transcription`],[`inputId`,`transcription`,`formControlName`,`transcription`,3,`items`],[`for`,`authType`],[`inputId`,`authType`,`formControlName`,`authType`,3,`items`]]},template:function(e,t){e&1&&(wp(0,`form`,5)(1,`div`,6)(2,`label`,7),l$(3,0),kb(),th(4,`my-select-options`,8),kj(),kb(),wp(5,`div`,6)(6,`label`,9),l$(7,1),kb(),wp(8,`div`,10),kx(9,2),wp(10,`a`,11),th(11,`my-global-icon`,12),kb(),Fx(),kb(),th(12,`my-select-options`,13),kj(),kb(),wp(13,`div`,6)(14,`label`,14),l$(15,3),kb(),th(16,`my-select-options`,15),kj(),kb(),wp(17,`div`,6)(18,`label`,16),l$(19,4),kb(),th(20,`my-select-options`,17),kj(),kb()()),e&2&&(gx(`formGroup`,t.form),FB(4),gx(`items`,t.keepOriginalVideoOptions),Uj(),FB(8),gx(`items`,t.p2pOptions),Uj(),FB(4),gx(`items`,t.transcriptionOptions),Uj(),FB(4),gx(`items`,t.authenticationOptions),Uj())},dependencies:[Jn,Zn,qn,$n,Qn,Vn,yn,Ye,Le,oi,X1],encapsulation:2,changeDetection:1})};var De=class l{formReactiveService=g(S);usageType=bhe.required();form;formErrors={};validationMessages={};importOptions=[{id:`enabled`,label:"已启用",description:"用户可以从远程平台（Youtube、Vimeo…）导入视频并自动同步远程频道"},{id:`disabled`,label:"已禁用",description:"停用视频导入和频道同步"}];liveOptions=[{id:`enabled`,label:"是"},{id:`disabled`,label:"否"}];keepOriginalVideoOptions=[{id:`enabled`,label:"是",description:"在服务器上保留原始视频文件"},{id:`disabled`,label:"否",description:"处理后删除原始视频文件"}];ngOnInit(){this.buildForm(),this.form.valueChanges.subscribe(n=>{this.usageType().patch(n)})}buildForm(){let{form:e,formErrors:t,validationMessages:r}=this.formReactiveService.buildForm({remoteImport:null,live:null,keepOriginalVideo:null},this.usageType());this.form=e,this.formErrors=t,this.validationMessages=r}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-private-instance-config`]],inputs:{usageType:[1,`usageType`]},outputs:{usageType:`usageTypeChange`},decls:13,vars:4,consts:()=>{let n;n="视频导入和同步";let e;e="用户可以直播";let t;return t="保存已上传视频的副本",[n,e,t,[3,`formGroup`],[1,`form-group`],[`for`,`remoteImport`],[`inputId`,`remoteImport`,`formControlName`,`remoteImport`,3,`items`],[`for`,`live`],[`inputId`,`live`,`formControlName`,`live`,3,`items`],[`for`,`keepOriginalVideo`],[`inputId`,`keepOriginalVideo`,`formControlName`,`keepOriginalVideo`,3,`items`]]},template:function(e,t){e&1&&(wp(0,`form`,3)(1,`div`,4)(2,`label`,5),l$(3,0),kb(),th(4,`my-select-options`,6),kj(),kb(),wp(5,`div`,4)(6,`label`,7),l$(7,1),kb(),th(8,`my-select-options`,8),kj(),kb(),wp(9,`div`,4)(10,`label`,9),l$(11,2),kb(),th(12,`my-select-options`,10),kj(),kb()()),e&2&&(gx(`formGroup`,t.form),FB(4),gx(`items`,t.importOptions),Uj(),FB(4),gx(`items`,t.liveOptions),Uj(),FB(4),gx(`items`,t.keepOriginalVideoOptions),Uj())},dependencies:[Jn,Zn,qn,$n,Qn,Vn,yn,Ye,Le,oi],encapsulation:2,changeDetection:1})};var ie=class l{registration;videoQuota;remoteImport;live;globalSearch;defaultPrivacy;defaultCommentPolicy;p2p;federation;keepOriginalVideo;allowReplaceFile;preferDisplayName;transcription;authType;unsafeExplanations=[];config={};plugins=[];constructor(n){for(let[e,t]of Object.entries(n))this[e]=t}static initForCommunity(){let n=new l({registration:`approval`,remoteImport:`disabled`,live:`enabled`,videoQuota:5368709120,globalSearch:`enabled`,defaultPrivacy:on.PUBLIC,p2p:`enabled`,federation:`enabled`,keepOriginalVideo:`disabled`,allowReplaceFile:`disabled`,defaultCommentPolicy:void 0,authType:void 0,preferDisplayName:void 0,transcription:void 0});return n.compute(),n}static initForPrivateInstance(){let n=new l({registration:`closed`,remoteImport:`enabled`,live:`enabled`,videoQuota:-1,globalSearch:`disabled`,defaultPrivacy:on.INTERNAL,p2p:`disabled`,federation:`disabled`,keepOriginalVideo:`enabled`,allowReplaceFile:`enabled`,preferDisplayName:`enabled`,defaultCommentPolicy:void 0,authType:void 0,transcription:void 0});return n.compute(),n}static initForInstitution(){let n=new l({registration:`closed`,remoteImport:`enabled`,live:`enabled`,videoQuota:-1,globalSearch:`disabled`,defaultPrivacy:on.PUBLIC,p2p:`disabled`,keepOriginalVideo:`enabled`,allowReplaceFile:`enabled`,preferDisplayName:`enabled`,authType:`local`,transcription:`enabled`,defaultCommentPolicy:Em.REQUIRES_APPROVAL,federation:void 0});return n.compute(),n}compute(){this.unsafeExplanations=[],this.plugins=[],this.config={},this.computeRegistration(),this.computeDefaultVideoPrivacy(),this.computeVideoQuota(),this.computeKeepOriginalVideo(),this.computeReplaceVideoFile(),this.computeVideoImport(),this.computeStreamLives(),this.computeP2P(),this.computeGlobalSearch(),this.computeDefaultVideoCommentPolicy(),this.computeFederation(),this.computeMiniatureSettings(),this.computeTranscription(),this.computeAuth()}getUnsafeExplanations(){return[...this.unsafeExplanations]}getConfig(){return w({},this.config)}getPlugins(){return[...this.plugins]}patch(n){for(let[e,t]of Object.entries(n))this[e]=t;this.compute()}computeRegistration(){Cwe(this.registration)&&(this.registration===`open`?(this.addExplanation("<strong>允许</strong>任何用户 <strong>注册</strong>"),this.addConfig({signup:{enabled:!0,requiresApproval:!1}})):this.registration===`approval`?(this.addExplanation("允许用户 <strong>申请在你的平台上</strong>注册"),this.addConfig({signup:{enabled:!0,requiresApproval:!0}})):this.registration===`closed`&&(this.addExplanation("<strong>禁止</strong>用户<strong>注册</strong>"),this.addConfig({signup:{enabled:!1}})),(this.registration===`approval`||this.registration===`open`)&&(this.addExplanation("你的社区发布的视频需要 <strong>审核者 批准</strong>"),this.addConfig({autoBlacklist:{videos:{ofUsers:{enabled:!0}}}})))}computeVideoQuota(){Cwe(this.videoQuota)&&(this.addConfig({user:{videoQuota:this.videoQuota}}),this.videoQuota===0?this.addExplanation("<strong>阻止</strong> 新用户 <strong>上传视频</strong> （ 审核者 可以更改设置）"):this.videoQuota===-1?this.addExplanation("<strong>不限制</strong> 新用户可以上传的视频数"):this.addExplanation(`将新用户的 <strong>视频配额设为 ${Xxe(this.videoQuota,0)}</strong>（审核者 可以更改设置）`))}computeVideoImport(){Cwe(this.remoteImport)&&(this.addConfig({import:{videos:{http:{enabled:this.remoteImport===`enabled`}},videoChannelSynchronization:{enabled:this.remoteImport===`enabled`}}}),this.remoteImport===`enabled`?this.addExplanation("<strong>允许</strong> 用户 <strong>从远程平台（YouTube, Vimeo...）</strong>导入并同步视频"):this.addExplanation("<strong>阻止</strong>用户<strong>从远程平台</strong> 导入视频"))}computeStreamLives(){Cwe(this.live)&&(this.addConfig({live:{enabled:this.live===`enabled`}}),this.live===`enabled`?(this.plugins.push(`peertube-plugin-livechat`),this.addExplanation("<strong>允许</strong> 用户 <strong>直播</strong> 并使用 <strong>Livechat</strong> 插件和观众聊天")):this.addExplanation("<strong>阻止</strong> 用户进行 <strong>直播</strong>"))}computeDefaultVideoPrivacy(){Cwe(this.defaultPrivacy)&&(this.addConfig({defaults:{publish:{privacy:this.defaultPrivacy}}}),this.defaultPrivacy===on.INTERNAL?this.addExplanation("将<strong>视频默认隐私等级</strong> 设为 <strong>内部</strong>"):this.defaultPrivacy===on.PUBLIC&&this.addExplanation("将 <strong>视频默认隐私等级</strong> 设为 <strong>公开</strong>"))}computeDefaultVideoCommentPolicy(){Cwe(this.defaultCommentPolicy)&&(this.addConfig({defaults:{publish:{commentsPolicy:this.defaultCommentPolicy}}}),this.addExplanation("<strong>新的视频评论</strong> 默认需要批准"))}computeP2P(){Cwe(this.p2p)&&(this.addConfig({defaults:{p2p:{embed:{enabled:this.p2p===`enabled`},webapp:{enabled:this.p2p===`enabled`}}}}),this.p2p===`enabled`?this.addExplanation("对匿名和新用户<strong>默认允许 P2P 串流</strong>"):this.addExplanation("对匿名和新用户<strong>默认禁用 P2P 串流</strong>"))}computeFederation(){Cwe(this.federation)&&(this.addConfig({followers:{instance:{enabled:this.federation===`enabled`},channels:{enabled:this.federation===`enabled`}}}),this.federation===`enabled`?this.addExplanation("<strong>允许</strong>外部平台/用户订阅 <strong>subscribe</strong>你的内容"):this.addExplanation("<strong>阻止</strong> 外部平台/用户 <strong>订阅你的内容</strong>"))}computeKeepOriginalVideo(){Cwe(this.keepOriginalVideo)&&(this.addConfig({transcoding:{originalFile:{keep:this.keepOriginalVideo===`enabled`}}}),this.keepOriginalVideo===`enabled`&&this.addExplanation("<strong>保存</strong> 已上传视频文件的副本"))}computeReplaceVideoFile(){Cwe(this.allowReplaceFile)&&(this.addConfig({videoFile:{update:{enabled:this.allowReplaceFile===`enabled`}}}),this.allowReplaceFile===`enabled`&&this.addExplanation("<strong>允许</strong>用户 <strong>替换</strong> 已发布的视频"))}computeMiniatureSettings(){Cwe(this.preferDisplayName)&&this.addConfig({client:{videos:{miniature:{preferAuthorDisplayName:this.preferDisplayName===`enabled`}}}})}computeGlobalSearch(){Cwe(this.globalSearch)&&(this.addConfig({search:{searchIndex:{enabled:this.globalSearch===`enabled`,isDefaultSearch:this.globalSearch===`enabled`,url:`https://sepiasearch.org`}}}),this.globalSearch===`enabled`&&this.addExplanation("将 <a href=\"https://sepiasearch.org\" target=\"_blank\">SepiaSearch</a> 设为 <strong>默认搜索引擎</strong>"))}computeTranscription(){Cwe(this.transcription)&&(this.addConfig({videoTranscription:{enabled:this.transcription===`enabled`}}),this.transcription===`enabled`&&this.addExplanation("<strong>启用自动的视频文字记录</strong> 来创建字幕并改进无障碍性"))}computeAuth(){if(!Cwe(this.authType))return;let n="必须在确认预配置向导后 <strong>才能配置此插件</strong>。";this.authType===`ldap`?(this.addExplanation("安装 <strong>LDAP</strong> 身份认证插件。"+n),this.plugins.push(`peertube-plugin-auth-ldap`)):this.authType===`saml`?(this.addExplanation("安装 <strong>SAML 2.0</strong> 身份认证插件。"+n),this.plugins.push(`peertube-plugin-auth-saml2`)):this.authType===`oidc`&&(this.addExplanation("安装 <strong>OpenID Connect</strong>身份认证插件。"+n),this.plugins.push(`peertube-plugin-auth-openid-connect`))}addConfig(n){return this.config=tBe(this.config,n)}addExplanation(n){this.unsafeExplanations.push(n)}};var yt=l=>({"platform-type-selected":l});function ht(l,n){if(l&1&&th(0,`my-community-based-config`,35),l&2){let e=f$();gx(`usageType`,e.usageType[e.platformType])}}function Rt(l,n){if(l&1&&th(0,`my-institutional-config`,35),l&2){let e=f$();gx(`usageType`,e.usageType[e.platformType])}}function bt(l,n){if(l&1&&th(0,`my-private-instance-config`,35),l&2){let e=f$();gx(`usageType`,e.usageType[e.platformType])}}var Fe=class l{currentStep=ph.required({transform:q5});totalSteps=ph.required({transform:q5});back=Ehe();next=Ehe();hide=Ehe();iconKey=It();iconInstitution=At();platformType;usageType={community:ie.initForCommunity(),institution:ie.initForInstitution(),private:ie.initForPrivateInstance()};static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-form`]],inputs:{currentStep:[1,`currentStep`],totalSteps:[1,`totalSteps`]},outputs:{back:`back`,next:`next`,hide:`hide`},decls:58,vars:12,consts:()=>{let n;n=`步骤 ${`�0�`}/${`�1�`}`;let e;e="使用类型";let t;t="我的平台更像…";let r;r="基于社区";let s;s="允许社区一道发布内容并互动。";let p;p="机构";let I;I="公开播出视频。推荐公共机构、协会和企业。";let D;D="私享";let x;x="仅特定人群可访问内容。推荐家族和不公开的社区。";let k;k="返回";let X;X="预览配置";let A;return A="暂时忽略",[n,e,t,r,s,p,I,D,x,k,X,A,[1,`root`],[1,`two-columns`,`mb-4`],[`src`,`/client/assets/images/mascot/default.svg`,`alt`,`mascot`,1,`mascot`],[1,`steps`],[1,`header-steps`],[1,`title`],[1,`text-content`],[1,`label`],[1,`two-columns`,`width-50`],[1,`platform-types`,3,`ngClass`],[1,`ul-unstyle`],[1,`platform-type`],[`type`,`radio`,`name`,`platformType`,`id`,`platformTypeCommunity`,`value`,`community`,3,`ngModelChange`,`ngModel`],[`for`,`platformTypeCommunity`],[`iconName`,`users`],[1,`type-label`],[1,`type-description`],[`type`,`radio`,`name`,`platformType`,`id`,`platformTypeInstitution`,`value`,`institution`,3,`ngModelChange`,`ngModel`],[`for`,`platformTypeInstitution`],[3,`unsafeHTML`],[`type`,`radio`,`name`,`platformType`,`id`,`platformTypePrivate`,`value`,`private`,3,`ngModelChange`,`ngModel`],[`for`,`platformTypePrivate`],[1,`platform-config`],[3,`usageType`],[1,`buttons`],[`icon`,`arrow-left`,`theme`,`secondary`,3,`click`],[`theme`,`primary`,3,`click`,`disabled`],[1,`button-as-link`,3,`click`]]},template:function(e,t){e&1&&(wp(0,`div`,12)(1,`div`,13)(2,`div`),th(3,`img`,14),kb(),wp(4,`div`)(5,`div`,15)(6,`div`,16),l$(7,0),kb()(),wp(8,`h4`,17),l$(9,1),kb(),wp(10,`div`,18),j$(11,`You can also edit your platform configuration at a later time`),kb()()(),wp(12,`div`,19),l$(13,2),kb(),wp(14,`div`,20)(15,`div`,21)(16,`ul`,22)(17,`li`,23)(18,`input`,24),lA(`ngModelChange`,function(s){return W$(t.platformType,s)||(t.platformType=s),s}),kb(),kj(),wp(19,`label`,25)(20,`div`),th(21,`my-global-icon`,26),kb(),wp(22,`div`)(23,`div`,27),l$(24,3),kb(),wp(25,`div`,28),l$(26,4),kb()()()(),wp(27,`li`,23)(28,`input`,29),lA(`ngModelChange`,function(s){return W$(t.platformType,s)||(t.platformType=s),s}),kb(),kj(),wp(29,`label`,30)(30,`div`),th(31,`my-custom-icon`,31),kb(),wp(32,`div`)(33,`div`,27),l$(34,5),kb(),wp(35,`div`,28),l$(36,6),kb()()()(),wp(37,`li`,23)(38,`input`,32),lA(`ngModelChange`,function(s){return W$(t.platformType,s)||(t.platformType=s),s}),kb(),kj(),wp(39,`label`,33)(40,`div`),th(41,`my-custom-icon`,31),kb(),wp(42,`div`)(43,`div`,27),l$(44,7),kb(),wp(45,`div`,28),l$(46,8),kb()()()()()(),wp(47,`div`,34),EV(48,ht,1,1,`my-community-based-config`,35)(49,Rt,1,1,`my-institutional-config`,35)(50,bt,1,1,`my-private-instance-config`,35),kb()(),wp(51,`div`,36)(52,`my-button`,37),rh(`click`,function(){return t.back.emit()}),l$(53,9),kb(),wp(54,`my-button`,38),rh(`click`,function(){return t.next.emit(t.usageType[t.platformType])}),l$(55,10),kb(),wp(56,`button`,39),rh(`click`,function(){return t.hide.emit()}),l$(57,11),kb()()()),e&2&&(FB(7),Ux(t.currentStep())(t.totalSteps()),u$(7),FB(8),gx(`ngClass`,n5(10,yt,t.platformType)),FB(3),cA(`ngModel`,t.platformType),Uj(),FB(10),cA(`ngModel`,t.platformType),Uj(),FB(3),gx(`unsafeHTML`,t.iconInstitution),FB(7),cA(`ngModel`,t.platformType),Uj(),FB(3),gx(`unsafeHTML`,t.iconKey),FB(7),bV(t.platformType===`community`?48:t.platformType===`institution`?49:t.platformType===`private`?50:-1),FB(6),gx(`disabled`,!t.platformType))},dependencies:[Au,S3,Jn,Je,fn,qn,ln,Qn,Ye,Le,ce,X1,Se,De,Te,Oe],styles:[`.mascot[_ngcontent-%COMP%]{margin-top:-90px;width:170px;height:190px}.two-columns.width-50[_ngcontent-%COMP%]{gap:0}.platform-types[_ngcontent-%COMP%]{display:flex}@media screen and (min-width:800px){.platform-types.platform-type-selected[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{border-inline-start:1px solid var(--%NS%bg-secondary-450)}.platform-types[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{padding-inline-start:calc(1.325rem + .9vw)}.platform-types[_ngcontent-%COMP%]{margin-inline-end:calc(1.325rem + .9vw)}}@media screen and (min-width:800px)and (min-width:1200px){.platform-types[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{padding-inline-start:2rem}}@media screen and (min-width:800px)and (min-width:1200px){.platform-types[_ngcontent-%COMP%]{margin-inline-end:2rem}}@media screen and (max-width:800px){.platform-types.platform-type-selected[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{border-block-start:1px solid var(--%NS%bg-secondary-450)}.platform-types[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{padding-top:calc(1.325rem + .9vw)}.platform-types[_ngcontent-%COMP%]{margin-bottom:calc(1.325rem + .9vw)}}@media screen and (max-width:800px)and (min-width:1200px){.platform-types[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{padding-top:2rem}}@media screen and (max-width:800px)and (min-width:1200px){.platform-types[_ngcontent-%COMP%]{margin-bottom:2rem}}.platform-types[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.platform-type[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;padding:1rem 1.5rem;gap:1rem;color:var(--%NS%fg-300);border-radius:8px;border:1px solid var(--%NS%bg-secondary-450);margin:0}.platform-type[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]   my-global-icon[_ngcontent-%COMP%], .platform-type[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]   my-custom-icon[_ngcontent-%COMP%]{color:var(--%NS%secondary-icon-color);display:inline-block;width:34px;height:34px;line-height:34px}.platform-type[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]:hover{background-color:var(--%NS%bg-secondary-300)}.platform-type[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{display:none}.type-label[_ngcontent-%COMP%]{color:var(--%NS%fg-400);font-weight:700;font-size:1rem}.type-description[_ngcontent-%COMP%]{font-size:14px;font-weight:400}input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%]{border:2px solid var(--%NS%border-primary);margin:-1px;background-color:var(--%NS%bg)}input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%]   my-global-icon[_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%]   my-custom-icon[_ngcontent-%COMP%]{color:var(--%NS%border-primary)}@media screen and (max-width:800px){.mascot[_ngcontent-%COMP%]{display:none}.two-columns[_ngcontent-%COMP%]{justify-content:center}.two-columns.width-50[_ngcontent-%COMP%]{flex-direction:column;align-items:center}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:100%!important}}`,`.steps[_ngcontent-%COMP%]{color:var(--%NS%fg-200);font-size:14px;font-weight:700}.title[_ngcontent-%COMP%]{color:var(--%NS%fg-350);font-weight:700;font-size:calc(1.3625rem + 1.35vw)}@media(min-width:1200px){.title[_ngcontent-%COMP%]{font-size:2.375rem}}.sub-title[_ngcontent-%COMP%]{color:var(--%NS%fg-300);font-weight:400;font-size:1.25rem}h4[_ngcontent-%COMP%]{margin-bottom:0}.text-content[_ngcontent-%COMP%]{color:var(--%NS%fg-200)}.buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;margin-top:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{margin-top:2.5rem}}.buttons[_ngcontent-%COMP%]{gap:calc(1.275rem + .3vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{gap:1.5rem}}form[_ngcontent-%COMP%]{max-width:512px;width:100%}.two-columns[_ngcontent-%COMP%]{display:flex;gap:1rem}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:50%}.one-column[_ngcontent-%COMP%]{text-align:center}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%]{position:relative;height:110px;margin:0 auto}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%], .one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{width:170px}.one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{position:absolute;top:-100px;left:0;height:190px}h5[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:var(--%NS%fg-300)}`],changeDetection:1})};function vt(l,n){if(l&1&&th(0,`li`,14),l&2){let e=n.$implicit;gx(`innerHTML`,e,Ow)}}var Ee=class l{adminConfig=g(qe);pluginAPI=g(Xe);notifier=g(bi);html=g(Kc);server=g(Zt);instanceLogo=g(Ze);currentStep=ph.required({transform:q5});totalSteps=ph.required({transform:q5});usageType=ph.required();instanceInfo=ph.required();dryRun=ph.required({transform:Tu});back=Ehe();next=Ehe();hide=Ehe();safeExplanations=[];plugins=[];config={};updating=!1;ngOnChanges(){this.usageType()&&(this.safeExplanations=this.usageType().getUnsafeExplanations().map(n=>this.html.toSimpleSafeHtml(n)),this.config=tBe({instance:{name:this.instanceInfo().platformName,shortDescription:this.instanceInfo().shortDescription},theme:{customization:{primaryColor:this.instanceInfo().primaryColor}}},this.usageType().getConfig()),this.plugins=this.usageType().getPlugins())}confirm(){if(this.dryRun())return this.next.emit();this.updating=!0,this.adminConfig.updateCustomConfig(this.config).pipe(Be(()=>{let n=this.instanceInfo().avatar;return n?this.instanceLogo.updateAvatar(n):this.instanceLogo.deleteAvatar()}),Be(()=>this.server.resetConfig()),Be(()=>Se$1(this.plugins).pipe(ar(n=>this.pluginAPI.install(n)),cf()))).subscribe({next:()=>{this.updating=!1,this.next.emit()},error:n=>{this.notifier.handleError(n),this.updating=!1}})}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-preview`]],inputs:{currentStep:[1,`currentStep`],totalSteps:[1,`totalSteps`],usageType:[1,`usageType`],instanceInfo:[1,`instanceInfo`],dryRun:[1,`dryRun`]},outputs:{back:`back`,next:`next`,hide:`hide`},features:[e5([qe,Xe,Ze]),ci],decls:25,vars:4,consts:()=>{let n;n=`步骤 ${`�0�`}/${`�1�`}`;let e;e="配置预览";let t;t="如果确认，PeerTube 会：";let r;r="如果想要更精细的设置控制，可以在预配置向导后轻松更改平台配置！";let s;s="返回";let p;p="确认此配置";let I;return I="暂时忽略",[n,e,t,r,s,p,I,[1,`root`],[1,`two-columns`],[`src`,`/client/assets/images/mascot/default.svg`,`alt`,`mascot`,1,`mascot`],[1,`steps`],[1,`header-steps`],[1,`title`],[1,`text-content`,`mt-3`],[3,`innerHTML`],[1,`buttons`],[`icon`,`arrow-left`,`theme`,`secondary`,3,`click`],[`theme`,`primary`,3,`click`,`disabled`,`loading`],[1,`button-as-link`,3,`click`]]},template:function(e,t){e&1&&(wp(0,`div`,7)(1,`div`,8)(2,`div`),th(3,`img`,9),kb(),wp(4,`div`)(5,`div`,10)(6,`div`,11),l$(7,0),kb()(),wp(8,`h4`,12),l$(9,1),kb(),wp(10,`div`,13)(11,`p`),l$(12,2),kb(),wp(13,`ul`),CV(14,vt,1,1,`li`,14,TV),kb(),wp(16,`p`),l$(17,3),kb()()()(),wp(18,`div`,15)(19,`my-button`,16),rh(`click`,function(){return t.back.emit()}),l$(20,4),kb(),wp(21,`my-button`,17),rh(`click`,function(){return t.confirm()}),l$(22,5),kb(),wp(23,`button`,18),rh(`click`,function(){return t.hide.emit()}),l$(24,6),kb()()()),e&2&&(FB(7),Ux(t.currentStep())(t.totalSteps()),u$(7),FB(7),DV(t.safeExplanations),FB(7),gx(`disabled`,t.updating)(`loading`,t.updating))},dependencies:[Jn,Qn,Ye,Le,ce],styles:[`.steps[_ngcontent-%COMP%]{color:var(--%NS%fg-200);font-size:14px;font-weight:700}.title[_ngcontent-%COMP%]{color:var(--%NS%fg-350);font-weight:700;font-size:calc(1.3625rem + 1.35vw)}@media(min-width:1200px){.title[_ngcontent-%COMP%]{font-size:2.375rem}}.sub-title[_ngcontent-%COMP%]{color:var(--%NS%fg-300);font-weight:400;font-size:1.25rem}h4[_ngcontent-%COMP%]{margin-bottom:0}.text-content[_ngcontent-%COMP%]{color:var(--%NS%fg-200)}.buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;margin-top:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{margin-top:2.5rem}}.buttons[_ngcontent-%COMP%]{gap:calc(1.275rem + .3vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{gap:1.5rem}}form[_ngcontent-%COMP%]{max-width:512px;width:100%}.two-columns[_ngcontent-%COMP%]{display:flex;gap:1rem}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:50%}.one-column[_ngcontent-%COMP%]{text-align:center}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%]{position:relative;height:110px;margin:0 auto}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%], .one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{width:170px}.one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{position:absolute;top:-100px;left:0;height:190px}h5[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:var(--%NS%fg-300)}`],changeDetection:1})};var Pe=class l{back=Ehe();next=Ehe();hide=Ehe();static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-welcome`]],outputs:{back:`back`,next:`next`,hide:`hide`},decls:18,vars:0,consts:()=>{let n;n="欢迎来到 PeerTube";let e;e="亲爱的管理员！";let t;t=`乌贼 Sepia 有几个问题帮助你 ${`�#10�`}快速预配置你的平台${`�/#10�`}。`;let r;r="开始吧！";let s;s="稍后再提醒我";let p;return p="不再显示",[n,e,t,r,s,p,[1,`root`,`one-column`],[1,`mascot-container`],[`src`,`/client/assets/images/mascot/happy.svg`,`alt`,`mascot`,1,`mascot`],[1,`title`],[1,`sub-title`],[1,`text-content`,`mt-3`],[1,`buttons`],[`theme`,`primary`,3,`click`],[`theme`,`secondary`,3,`click`],[1,`button-as-link`,3,`click`]]},template:function(e,t){e&1&&(wp(0,`div`,6)(1,`div`,7),th(2,`img`,8),kb(),wp(3,`h4`)(4,`div`,9),l$(5,0),kb(),wp(6,`div`,10),l$(7,1),kb()(),wp(8,`div`,11),kx(9,2),th(10,`strong`),Fx(),kb(),wp(11,`div`,12)(12,`my-button`,13),rh(`click`,function(){return t.next.emit()}),l$(13,3),kb(),wp(14,`my-button`,14),rh(`click`,function(){return t.hide.emit({doNotOpenAgain:!1})}),l$(15,4),kb(),wp(16,`button`,15),rh(`click`,function(){return t.hide.emit({doNotOpenAgain:!0})}),l$(17,5),kb()()())},dependencies:[Jn,Qn,Le,ce],styles:[`.steps[_ngcontent-%COMP%]{color:var(--%NS%fg-200);font-size:14px;font-weight:700}.title[_ngcontent-%COMP%]{color:var(--%NS%fg-350);font-weight:700;font-size:calc(1.3625rem + 1.35vw)}@media(min-width:1200px){.title[_ngcontent-%COMP%]{font-size:2.375rem}}.sub-title[_ngcontent-%COMP%]{color:var(--%NS%fg-300);font-weight:400;font-size:1.25rem}h4[_ngcontent-%COMP%]{margin-bottom:0}.text-content[_ngcontent-%COMP%]{color:var(--%NS%fg-200)}.buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;margin-top:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{margin-top:2.5rem}}.buttons[_ngcontent-%COMP%]{gap:calc(1.275rem + .3vw)}@media(min-width:1200px){.buttons[_ngcontent-%COMP%]{gap:1.5rem}}form[_ngcontent-%COMP%]{max-width:512px;width:100%}.two-columns[_ngcontent-%COMP%]{display:flex;gap:1rem}.two-columns.width-50[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:50%}.one-column[_ngcontent-%COMP%]{text-align:center}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%]{position:relative;height:110px;margin:0 auto}.one-column[_ngcontent-%COMP%]   .mascot-container[_ngcontent-%COMP%], .one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{width:170px}.one-column[_ngcontent-%COMP%]   .mascot[_ngcontent-%COMP%]{position:absolute;top:-100px;left:0;height:190px}h5[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:var(--%NS%fg-300)}`],changeDetection:1})};var Gt=[`modal`];var $t=[`stepper`];function wt(l,n){if(l&1){let e=AV();wp(0,`cdk-step`,3)(1,`my-admin-config-wizard-welcome`,11),rh(`back`,function(){EI(e),f$();return bI(g$(2).previous())})(`next`,function(){EI(e),f$();return bI(g$(2).next())})(`hide`,function(r){EI(e);return bI(f$(2).hide(r))}),kb()()}}function Lt(l,n){if(l&1){let e=AV();wp(0,`cdk-step`,10)(1,`my-admin-config-wizard-documentation`,12),rh(`hide`,function(){EI(e);return bI(f$(2).hide({doNotOpenAgain:!0}))}),kb()()}}function Wt(l,n){if(l&1){let e=AV();wp(0,`div`,2)(1,`my-common-stepper`,null,1),EV(3,wt,2,0,`cdk-step`,3),wp(4,`cdk-step`,4)(5,`my-admin-config-wizard-edit-info`,5),rh(`back`,function(){EI(e);return bI(g$(2).previous())})(`next`,function(r){EI(e);let s=g$(2),p=f$();return p.instanceInfo=r,bI(s.next())})(`hide`,function(){EI(e);return bI(f$().hide())}),kb()(),wp(6,`cdk-step`,6)(7,`my-admin-config-wizard-form`,7),rh(`back`,function(){EI(e);return bI(g$(2).previous())})(`next`,function(r){EI(e);let s=g$(2),p=f$();return p.usageType=r,bI(s.next())})(`hide`,function(){EI(e);return bI(f$().hide())}),kb()(),wp(8,`cdk-step`,8)(9,`my-admin-config-wizard-preview`,9),rh(`back`,function(){EI(e);return bI(g$(2).previous())})(`next`,function(){EI(e);let r=g$(2),s=f$();return bI(s.showWelcome?r.next():s.hide())})(`hide`,function(){EI(e);return bI(f$().hide())}),kb()(),EV(10,Lt,2,0,`cdk-step`,10),kb()()}if(l&2){let e=f$();FB(3),bV(e.showWelcome?3:-1),FB(2),gx(`currentStep`,e.currentStep())(`showBack`,e.showWelcome),FB(2),gx(`currentStep`,e.currentStep()),FB(2),gx(`usageType`,e.usageType)(`instanceInfo`,e.instanceInfo)(`dryRun`,e.dryRun)(`currentStep`,e.currentStep()),FB(),bV(e.showWelcome?10:-1)}}var Ot=class l{modalService=g(sr);userService=g(Qc);notifier=g(bi);modal=She(`modal`);stepper=She(`stepper`);created=Ehe();usageType;instanceInfo;showWelcome;dryRun;modalRef;ngOnInit(){this.created.emit()}shouldAutoOpen(n){return this.modalService.hasOpenModals()?!1:this.getFragment()===`#admin-welcome-wizard`||this.getFragment()===`#admin-welcome-wizard-test`?!0:!(n.noWelcomeModal===!0||Yn.getItem($e())===`true`)}show({showWelcome:n}){this.showWelcome=n,this.dryRun=this.getFragment()===`#admin-welcome-wizard-test`,this.modalRef=this.modalService.open(this.modal(),{centered:!0,backdrop:`static`,keyboard:!1,size:`lg`})}currentStep(){if(!this.stepper())return 0;let n=this.stepper().selectedIndex;return this.showWelcome?n:n+1}totalSteps(){if(!this.stepper())return 0;let n=this.stepper().steps.length;return this.showWelcome?n-1:n}hide(n={}){let{doNotOpenAgain:e=!1}=n;e&&this.doNotOpenAgain(),this.modalRef.close()}doNotOpenAgain(){Yn.setItem($e(),`true`),this.userService.updateMyProfile({noWelcomeModal:!0}).subscribe({next:()=>V.info(`We will not open the welcome modal again.`),error:n=>this.notifier.handleError(n)})}getFragment(){return window.location.hash}static ɵfac=function(e){return new(e||l)};static ɵcmp=Va({type:l,selectors:[[`my-admin-config-wizard-modal`]],viewQuery:function(e,t){e&1&&$x(t.modal,Gt,5)(t.stepper,$t,5),e&2&&m$(2)},outputs:{created:`created`},decls:2,vars:0,consts:()=>{let n;n="欢迎介绍";let e;e="编辑常规信息";let t;t="使用类型";let r;r="配置预览";let s;return s="Post 配置文档",[[`modal`,``],[`stepper`,``],[1,`modal-body`],[`label`,n],[`label`,e],[`totalSteps`,`3`,3,`back`,`next`,`hide`,`currentStep`,`showBack`],[`label`,t],[`totalSteps`,`3`,3,`back`,`next`,`hide`,`currentStep`],[`label`,r],[`totalSteps`,`3`,3,`back`,`next`,`hide`,`usageType`,`instanceInfo`,`dryRun`,`currentStep`],[`label`,s],[3,`back`,`next`,`hide`],[3,`hide`]]},template:function(e,t){e&1&&rx(0,Wt,11,9,`ng-template`,null,0,m5)},dependencies:[Le,ne,g$1,Pe,Ie,Fe,Ee,Ne],styles:[`.modal-body[_ngcontent-%COMP%]{padding:2rem 3rem}`],changeDetection:1})};export{Ot as AdminConfigWizardModalComponent};
//# debugId=8fdeb413-84f5-525e-9259-8d3013d52080
//# sourceMappingURL=chunk-CaC-oxOl.js.map