@strapi/admin 4.6.1 → 4.7.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/assets/images/onboarding-preview.png +0 -0
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -2
- package/admin/src/hooks/useRegenerate/index.js +2 -2
- package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +7 -0
- package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
- package/admin/src/pages/Admin/Onboarding/index.js +161 -89
- package/admin/src/pages/Admin/index.js +5 -2
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components → components/Tokens}/FormHead/index.js +36 -19
- package/admin/src/pages/SettingsPage/components/Tokens/FormiTokenContainer/LifeSpanInput.js +96 -0
- package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +98 -0
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +73 -0
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DefaultButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DeleteButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/ReadButton/index.js +0 -0
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/UpdateButton/index.js +0 -0
- package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +135 -0
- package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components/ContentBox → components/Tokens/TokenBox}/index.js +17 -17
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +51 -0
- package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +46 -0
- package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +69 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +5 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +52 -142
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +5 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +37 -14
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +5 -13
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +105 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +50 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +201 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +16 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +4 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +10 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +182 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +48 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +14 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +14 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +12 -0
- package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +33 -0
- package/admin/src/permissions/defaultPermissions.js +8 -0
- package/admin/src/translations/en.json +18 -1
- package/build/19eb2dfcf2603eb55733.png +0 -0
- package/build/4649.15cc0afe.chunk.js +30 -0
- package/build/7259.aa68d808.chunk.js +1 -0
- package/build/7407.883fb1f5.chunk.js +1 -0
- package/build/Admin-authenticatedApp.f29f6021.chunk.js +79 -0
- package/build/{Admin_settingsPage.d1493824.chunk.js → Admin_settingsPage.178dc6e3.chunk.js} +25 -25
- package/build/{admin-app.25934eaa.chunk.js → admin-app.77a50e1f.chunk.js} +19 -19
- package/build/{api-tokens-create-page.d248362d.chunk.js → api-tokens-create-page.0db3aec1.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.8516fa20.chunk.js → api-tokens-edit-page.671e0e26.chunk.js} +1 -1
- package/build/api-tokens-list-page.7387102c.chunk.js +16 -0
- package/build/{content-manager.35ff9726.chunk.js → content-manager.42b24d46.chunk.js} +77 -77
- package/build/en-json.b0748970.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/main.1022ed01.js +4393 -0
- package/build/runtime~main.84941a97.js +2 -0
- package/build/transfer-tokens-create-page.16e23791.chunk.js +1 -0
- package/build/transfer-tokens-edit-page.3886c973.chunk.js +1 -0
- package/build/transfer-tokens-list-page.e8010a89.chunk.js +16 -0
- package/package.json +12 -12
- package/server/bootstrap.js +2 -0
- package/server/config/admin-actions.js +48 -0
- package/server/content-types/index.js +2 -0
- package/server/content-types/transfer-token-permission.js +36 -0
- package/server/content-types/transfer-token.js +66 -0
- package/server/controllers/api-token.js +4 -5
- package/server/controllers/index.js +1 -0
- package/server/controllers/transfer/index.js +13 -0
- package/server/controllers/transfer/runner.js +24 -0
- package/server/controllers/transfer/token.js +131 -0
- package/server/register.js +2 -9
- package/server/routes/index.js +2 -0
- package/server/routes/transfer.js +95 -0
- package/server/services/api-token.js +2 -3
- package/server/services/constants.js +6 -0
- package/server/services/index.js +1 -0
- package/server/services/transfer/index.js +6 -0
- package/server/services/transfer/permission.js +22 -0
- package/server/services/transfer/token.js +409 -0
- package/server/strategies/api-token.js +4 -2
- package/server/strategies/data-transfer.js +107 -0
- package/server/strategies/index.js +1 -0
- package/server/utils/index.d.ts +2 -0
- package/server/validation/api-tokens.js +1 -6
- package/server/validation/transfer/index.js +5 -0
- package/server/validation/transfer/token.js +34 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +0 -78
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +0 -112
- package/build/4318.f96a9d4d.chunk.js +0 -30
- package/build/8633.00ccd382.chunk.js +0 -1
- package/build/Admin-authenticatedApp.ce646f66.chunk.js +0 -75
- package/build/api-tokens-list-page.44a79fda.chunk.js +0 -16
- package/build/en-json.1f137a90.chunk.js +0 -1
- package/build/main.7b151630.js +0 -4377
- package/build/runtime~main.a20d633b.js +0 -2
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(z,C,t){t.r(C),t.d(C,{default:function(){return Bt}});var e=t(32735),r=t(88425),P=t(84968),E=t(33795),Q=t.n(E),x=JSON.parse('{"i8":"4.7.0-beta.0"}'),y=t(8888),c=t(5141),A=t(4409),M=t(74506),F=t(51968),V=t(88311),K=t.n(V),Ae=t(58107),v=t(83292),Le=t(60216),i=t.n(Le),G=t(5636),Oe=t(71933),se=t(67563),T=t(87933),L=t(72850),Y=t(27677),be=t(50563),re=t(41415),De=t(35331);const Be=(0,v.default)(T.k)`
|
|
2
|
+
position: fixed;
|
|
3
|
+
z-index: 4;
|
|
4
|
+
inset: 0;
|
|
5
|
+
/* this is theme.colors.neutral800 with opacity */
|
|
6
|
+
background: ${({theme:n})=>`${n.colors.neutral800}1F`};
|
|
7
|
+
`,ie=({onClose:n,onSkip:a,children:o,hideSkip:s})=>{const{formatMessage:p}=(0,G.useIntl)();return e.createElement(Oe.h,null,e.createElement(Be,{onClick:n,padding:8,justifyContent:"center"},e.createElement(se.i,{onEscape:n},e.createElement(Y.K,{background:"neutral0",width:(0,r.pxToRem)(660),shadow:"popupShadow",hasRadius:!0,padding:4,spacing:8,role:"dialog","aria-modal":!0,onClick:d=>d.stopPropagation()},e.createElement(T.k,{justifyContent:"flex-end"},e.createElement(be.h,{onClick:n,"aria-label":p({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(De.default,null)})),e.createElement(L.x,{paddingLeft:7,paddingRight:7,paddingBottom:s?8:0},o),!s&&e.createElement(T.k,{justifyContent:"flex-end"},e.createElement(re.z,{variant:"tertiary",onClick:a},p({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};ie.propTypes={children:i().node.isRequired,onClose:i().func.isRequired,onSkip:i().func.isRequired,hideSkip:i().bool.isRequired};var ke=ie,le=t(97889);const de={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1};var Ne=(n=de,a)=>(0,le.default)(n,o=>{switch(a.type){case"UPDATE_MODAL":{o.stepContent=a.content,o.sectionIndex=a.newSectionIndex,o.stepIndex=a.newStepIndex,o.hasSectionAfter=a.newHasSectionAfter,o.hasStepAfter=a.newHasStepAfter;break}default:return o}}),O=t(49372),ce=t(8482);const Ge=v.default.li`
|
|
8
|
+
list-style: disc;
|
|
9
|
+
&::marker {
|
|
10
|
+
color: ${({theme:n})=>n.colors.neutral800};
|
|
11
|
+
}
|
|
12
|
+
`,ue=({id:n,defaultMessage:a})=>{const{formatMessage:o}=(0,G.useIntl)();return e.createElement(Y.K,{spacing:4,paddingBottom:6},o({id:n,defaultMessage:a},{documentationLink:s=>e.createElement(O.Z,{as:"a",textColor:"primary600",target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters"},s),b:s=>e.createElement(O.Z,{fontWeight:"semiBold"},s),p:s=>e.createElement(O.Z,null,s),light:s=>e.createElement(O.Z,{textColor:"neutral600"},s),ul:s=>e.createElement(L.x,{paddingLeft:6},e.createElement("ul",null,s)),li:s=>e.createElement(Ge,null,s)}))};ue.propTypes={id:i().string.isRequired,defaultMessage:i().string.isRequired};var Ue=ue,J=t(78024),We=t(14317);const w=({number:n,last:a,type:o})=>e.createElement(L.x,{paddingTop:3,paddingBottom:a?0:3},e.createElement(We.Z,{number:n,type:o}));w.defaultProps={number:void 0,last:!1,type:""},w.propTypes={number:i().number,last:i().bool,type:i().string};var pe=w,U=t(23678);const X=({title:n,content:a,cta:o,onCtaClick:s,sectionIndex:p,stepIndex:d,hasSectionAfter:g})=>{const{formatMessage:h}=(0,G.useIntl)(),f=p>0,m=d>0,R=p+1;return e.createElement(e.Fragment,null,e.createElement(T.k,{alignItems:"stretch"},e.createElement(T.k,{marginRight:8,justifyContent:"center",minWidth:(0,r.pxToRem)(30)},f&&e.createElement(J.Z,{type:U.hx,minHeight:(0,r.pxToRem)(24)})),e.createElement(O.Z,{variant:"sigma",textColor:"primary600"},h({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(T.k,null,e.createElement(T.k,{marginRight:8,minWidth:(0,r.pxToRem)(30)},e.createElement(pe,{number:p+1,type:m?U.hx:U.lW})),e.createElement(O.Z,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},h(n))),e.createElement(T.k,{alignItems:"stretch"},e.createElement(T.k,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,r.pxToRem)(30)},g&&e.createElement(e.Fragment,null,e.createElement(J.Z,{type:U.hx}),m&&e.createElement(pe,{number:R+1,type:U.lW,last:!0}))),e.createElement(L.x,null,e.createElement(Ue,{...a}),o&&(o.target?e.createElement(r.LinkButton,{endIcon:e.createElement(ce.Z,null),onClick:s,to:o.target},h(o.title)):e.createElement(re.z,{endIcon:e.createElement(ce.Z,null),onClick:s},h(o.title))))),m&&g&&e.createElement(L.x,{paddingTop:3},e.createElement(T.k,{marginRight:8,justifyContent:"center",width:(0,r.pxToRem)(30)},e.createElement(J.Z,{type:U.hx,minHeight:(0,r.pxToRem)(24)}))))};X.defaultProps={currentStep:null,cta:void 0},X.propTypes={sectionIndex:i().number.isRequired,stepIndex:i().number.isRequired,hasSectionAfter:i().bool.isRequired,content:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired}).isRequired,cta:i().shape({target:i().string,title:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired})}),currentStep:i().string,onCtaClick:i().func.isRequired,title:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired}).isRequired};var Fe=X,Ke=()=>{const{currentStep:n,guidedTourState:a,setCurrentStep:o,setStepState:s,isGuidedTourVisible:p,setSkipped:d}=(0,r.useGuidedTour)(),[g,h]=(0,e.useState)(n),[{stepContent:f,sectionIndex:m,stepIndex:R,hasSectionAfter:B,hasStepAfter:b},$]=(0,e.useReducer)(Ne,de),{trackUsage:W}=(0,r.useTracking)();(0,e.useEffect)(()=>{if(!n){h(!1);return}const[k]=K()(a,n);h(!k&&p)},[n,a,p]),(0,e.useEffect)(()=>{if(n){const[k]=K()(Ae.Z,n),D=Object.keys(a),[I,l]=n.split("."),N=D.indexOf(I),H=Object.keys(a[I]).indexOf(l),ne=N<D.length-1,ae=H<Object.keys(a[I]).length-1;$({type:"UPDATE_MODAL",content:k,newSectionIndex:N,newStepIndex:H,newHasSectionAfter:ne,newHasStepAfter:ae})}},[n,a]);const S=()=>{s(n,!0),W(f.trackingEvent),o(null)},Z=()=>{d(!0),o(null),W("didSkipGuidedtour")};return g&&f?e.createElement(ke,{hideSkip:!b&&!B,onSkip:Z,onClose:S},e.createElement(Fe,{...f,onCtaClick:S,currentStep:n,sectionIndex:m,stepIndex:R,hasSectionAfter:B})):null},je=t(9026),$e=t(15300),Ze=t(61450),ze=t(1897),q=t(78464),me=t(42889),Ve=t(25390),He=t(64838),Qe=t(9371),Ye=t(73165),Je=t(92967);const we=(0,v.default)(L.x)`
|
|
13
|
+
width: ${150/16}rem;
|
|
14
|
+
position: absolute;
|
|
15
|
+
bottom: ${({theme:n})=>n.spaces[9]};
|
|
16
|
+
left: ${({theme:n})=>n.spaces[5]};
|
|
17
|
+
`,ge=(0,v.default)(c.NavLink)`
|
|
18
|
+
display: flex;
|
|
19
|
+
justify-content: space-between;
|
|
20
|
+
align-items: center;
|
|
21
|
+
text-decoration: none;
|
|
22
|
+
padding: ${({theme:n})=>`${n.spaces[2]} ${n.spaces[4]}`};
|
|
23
|
+
border-radius: ${({theme:n})=>n.spaces[1]};
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
background: ${({theme:n,logout:a})=>a?n.colors.danger100:n.colors.primary100};
|
|
27
|
+
text-decoration: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
svg {
|
|
31
|
+
path {
|
|
32
|
+
fill: ${({theme:n})=>n.colors.danger600};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
`,he=({generalSectionLinks:n,pluginsSectionLinks:a})=>{const o=(0,e.useRef)(),[s,p]=(0,e.useState)(!1),{logos:{menu:d}}=(0,y.um)(),[g,h]=(0,r.usePersistentState)("navbar-condensed",!1),{userDisplayName:f}=(0,r.useAppInfos)(),{formatMessage:m}=(0,G.useIntl)(),{trackUsage:R}=(0,r.useTracking)(),{pathname:B}=(0,c.useLocation)(),b=(0,c.useHistory)(),{post:$}=(0,r.getFetchClient)(),W=f.split(" ").map(l=>l.substring(0,1)).join("").substring(0,2),S=()=>p(l=>!l),Z=async()=>{await $("/admin/logout"),r.auth.clearAppStorage(),S(),b.push("/auth/login")},k=l=>{!l.currentTarget.contains(l.relatedTarget)&&l.relatedTarget?.parentElement?.id!=="main-nav-user-button"&&p(!1)},D=(l=null)=>{R("willNavigate",{from:B,to:l})},I=m({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement($e.$,{condensed:g},e.createElement(Ze.D,{as:c.NavLink,workplace:m({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:I,icon:e.createElement("img",{src:d.custom||d.default,alt:m({id:"app.components.LeftMenu.logo.alt",defaultMessage:"Application logo"})})}),e.createElement(je.i,null),e.createElement(ze._,null,e.createElement(q.O,{as:c.NavLink,to:"/content-manager",icon:e.createElement(Ye.Z,null),onClick:()=>D("/content-manager")},m({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(me.y,{label:m({id:"app.components.LeftMenu.plugins",defaultMessage:"Plugins"})},a.map(l=>{const N=l.icon;return e.createElement(q.O,{as:c.NavLink,to:l.to,key:l.to,icon:e.createElement(N,null),onClick:()=>D(l.to)},m(l.intlLabel))})):null,n.length>0?e.createElement(me.y,{label:m({id:"app.components.LeftMenu.general",defaultMessage:"General"})},n.map(l=>{const N=l.icon;return e.createElement(q.O,{as:c.NavLink,badgeContent:l.notificationsCount>0&&l.notificationsCount.toString()||void 0,to:l.to,key:l.to,icon:e.createElement(N,null),onClick:()=>D(l.to)},m(l.intlLabel))})):null),e.createElement(Ve.q,null,e.createElement(He.r,{id:"main-nav-user-button",ref:o,onClick:S,initials:W},f),s&&e.createElement(we,{onBlur:k,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(se.i,{onEscape:S},e.createElement(Y.K,{spacing:0},e.createElement(ge,{tabIndex:0,onClick:S,to:"/me"},e.createElement(O.Z,null,m({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(ge,{tabIndex:0,onClick:Z,logout:"logout",to:"/auth/login"},e.createElement(O.Z,{textColor:"danger600"},m({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(Je.Z,null))))),e.createElement(Qe.w,{onClick:()=>h(l=>!l)},m(g?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"}))))};he.propTypes={generalSectionLinks:i().array.isRequired,pluginsSectionLinks:i().array.isRequired};var Xe=he,qe=t(10728);const _e=(0,v.default)(L.x)`
|
|
36
|
+
flex: 1;
|
|
37
|
+
`,fe=({children:n,sideNav:a})=>{const{formatMessage:o}=(0,G.useIntl)();return e.createElement(L.x,{background:"neutral100"},e.createElement(qe.z,null,o({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(T.k,{alignItems:"flex-start"},a,e.createElement(_e,null,n)))};fe.propTypes={children:i().node.isRequired,sideNav:i().node.isRequired};var et=fe,_=t(64421),tt=t(26648),u=t(39161),j=t(57269),nt=t.p+"19eb2dfcf2603eb55733.png";const at=[{label:{id:"app.components.Onboarding.link.build-content",defaultMessage:"Build a content architecture"},href:"https://www.youtube.com/watch?v=G9GjN0RxhkE",duration:"5:48"},{label:{id:"app.components.Onboarding.link.manage-content",defaultMessage:"Add & manage content"},href:"https://www.youtube.com/watch?v=DEZw4KbybAI",duration:"3:18"},{label:{id:"app.components.Onboarding.link.manage-media",defaultMessage:"Manage media"},href:"https://www.youtube.com/watch?v=-61MuiMQb38",duration:"3:41"}],Ee={href:"https://www.youtube.com/playlist?list=PL7Q0DQYATmvidz6lEmwE5nIcOAYagxWqq",label:{id:"app.components.Onboarding.link.more-videos",defaultMessage:"Watch more videos"}},ot=[{label:{id:"global.documentation",defaultMessage:"documentation"},href:"https://docs.strapi.io",icon:j.Book},{label:{id:"app.static.links.cheatsheet",defaultMessage:"cheatsheet"},href:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf",icon:j.PaperPlane}],st=(0,v.default)(u.Button)`
|
|
38
|
+
border-radius: 50%;
|
|
39
|
+
padding: ${({theme:n})=>n.spaces[3]};
|
|
40
|
+
/* Resetting 2rem height defined by Button component */
|
|
41
|
+
height: 100%;
|
|
42
|
+
`,rt=(0,v.default)(u.Flex)`
|
|
43
|
+
transform: translate(-50%, -50%);
|
|
44
|
+
`,it=(0,v.default)(u.Flex)`
|
|
45
|
+
text-decoration: none;
|
|
46
|
+
|
|
47
|
+
:focus-visible {
|
|
48
|
+
outline-offset: ${({theme:n})=>`-${n.spaces[1]}`};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:hover {
|
|
52
|
+
background: ${({theme:n})=>n.colors.primary100};
|
|
53
|
+
|
|
54
|
+
/* Hover style for the number displayed */
|
|
55
|
+
${u.Typography}:first-child {
|
|
56
|
+
color: ${({theme:n})=>n.colors.primary500};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Hover style for the label */
|
|
60
|
+
${u.Typography}:nth-child(1) {
|
|
61
|
+
color: ${({theme:n})=>n.colors.primary600};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
`,lt=v.default.img`
|
|
65
|
+
width: ${({theme:n})=>n.spaces[10]};
|
|
66
|
+
height: ${({theme:n})=>n.spaces[8]};
|
|
67
|
+
/* Same overlay used in ModalLayout */
|
|
68
|
+
background: ${({theme:n})=>`${n.colors.neutral800}1F`};
|
|
69
|
+
border-radius: ${({theme:n})=>n.borderRadius};
|
|
70
|
+
`,ye=(0,v.default)(u.Typography)`
|
|
71
|
+
/* line height of label and watch more to 1 so they can be better aligned visually */
|
|
72
|
+
line-height: 1;
|
|
73
|
+
`,ve=(0,v.default)(ye)`
|
|
74
|
+
text-decoration: none;
|
|
75
|
+
|
|
76
|
+
:hover {
|
|
77
|
+
text-decoration: underline;
|
|
78
|
+
}
|
|
79
|
+
`;var dt=()=>{const n=(0,e.useRef)(),[a,o]=(0,e.useState)(!1),{formatMessage:s}=(0,G.useIntl)(),p=()=>{o(d=>!d)};return e.createElement(u.Box,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(st,{"aria-label":s(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:p,ref:n},e.createElement(u.Icon,{as:a?j.Cross:j.Question,color:"buttonNeutral0"})),a&&e.createElement(u.Portal,null,e.createElement(u.PopoverPrimitives.Content,{padding:0,source:n,placement:"top-end",spacing:12},e.createElement(u.FocusTrap,{onEscape:p},e.createElement(u.Flex,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ye,{fontWeight:"bold"},s({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(ve,{as:"a",href:Ee.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},s(Ee.label))),e.createElement(u.Divider,null),at.map(({href:d,duration:g,label:h},f)=>e.createElement(it,{as:"a",href:d,target:"_blank",rel:"noreferrer noopener",key:d,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(u.Box,{paddingRight:5},e.createElement(u.Typography,{textColor:"neutral200",variant:"alpha"},f+1)),e.createElement(u.Box,{position:"relative"},e.createElement(lt,{src:nt,alt:""}),e.createElement(rt,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(u.Icon,{as:j.Play,color:"buttonNeutral0",width:3,height:3}))),e.createElement(u.Flex,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(u.Typography,{fontWeight:"bold"},s(h)),e.createElement(u.VisuallyHidden,null,":"),e.createElement(u.Typography,{textColor:"neutral600",variant:"pi"},g)))),e.createElement(u.Stack,{spacing:2,paddingLeft:5,paddingTop:2,paddingBottom:5},ot.map(({label:d,href:g,icon:h})=>e.createElement(u.Stack,{horizontal:!0,spacing:3,key:g},e.createElement(u.Icon,{as:h,color:"primary600"}),e.createElement(ve,{as:"a",href:g,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},s(d)))))))))};const ct=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(2607),t.e(4855),t.e(994)]).then(t.bind(t,39573))),ut=(0,e.lazy)(()=>t.e(3981).then(t.bind(t,52567))),pt=(0,e.lazy)(()=>t.e(3677).then(t.bind(t,15415))),mt=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(5516)]).then(t.bind(t,42052))),Te=(0,e.lazy)(()=>Promise.resolve().then(t.bind(t,53951))),gt=(0,e.lazy)(()=>t.e(9501).then(t.bind(t,92336))),ht=(0,e.lazy)(()=>t.e(9497).then(t.bind(t,9972))),Ce=(0,e.lazy)(()=>Promise.all([t.e(5015),t.e(3632),t.e(5895)]).then(t.bind(t,96822))),ft=()=>{const{trackUsage:n}=(0,r.useTracking)(),a=(0,A.useDispatch)(),o=(0,A.useSelector)(s=>s.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(n("didAccessAuthenticatedAdministration"),a({type:tt.e}))},[o])};var Et=()=>{ft();const{isLoading:n,generalSectionLinks:a,pluginsSectionLinks:o}=(0,y.H9)(),{menu:s}=(0,r.useStrapiApp)(),{showTutorials:p}=(0,y.um)(),d=(0,e.useMemo)(()=>s.filter(g=>g.Component).map(({to:g,Component:h,exact:f})=>(0,_.ot)(h,g,f)),[s]);return n?e.createElement(r.LoadingIndicatorPage,null):e.createElement(M.DndProvider,{backend:F.PD},e.createElement(et,{sideNav:e.createElement(Xe,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(r.LoadingIndicatorPage,null)},e.createElement(c.Switch,null,e.createElement(c.Route,{path:"/",component:ut,exact:!0}),e.createElement(c.Route,{path:"/me",component:ht,exact:!0}),e.createElement(c.Route,{path:"/content-manager",component:ct}),d,e.createElement(c.Route,{path:"/settings/:settingId",component:Ce}),e.createElement(c.Route,{path:"/settings",component:Ce,exact:!0}),e.createElement(c.Route,{path:"/marketplace"},e.createElement(mt,null)),e.createElement(c.Route,{path:"/list-plugins",exact:!0},e.createElement(pt,null)),e.createElement(c.Route,{path:"/404",component:Te}),e.createElement(c.Route,{path:"/500",component:gt}),e.createElement(c.Route,{path:"",component:Te}))),e.createElement(Ke,null),p&&e.createElement(dt,null)))},yt=n=>({plugins:Object.keys(n).reduce((a,o)=>(a[o]={...n[o]},a),{})}),vt=t(3040),Tt=t.n(vt);const Me={plugins:null};var Ct=(n=Me,a)=>(0,le.default)(n,o=>{switch(a.type){case"SET_PLUGIN_READY":{Tt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Mt=()=>{const{plugins:n}=(0,r.useStrapiApp)(),[{plugins:a},o]=(0,e.useReducer)(Ct,Me,()=>yt(n)),s=(0,e.useRef)(d=>{o({type:"SET_PLUGIN_READY",pluginId:d})});if(Object.keys(a).some(d=>a[d].isReady===!1)){const d=Object.keys(a).reduce((g,h)=>{const f=a[h].initializer;if(f){const m=a[h].pluginId;g.push(e.createElement(f,{key:m,setPlugin:s.current}))}return g},[]);return e.createElement(e.Fragment,null,d,e.createElement(r.LoadingIndicatorPage,null))}return e.createElement(Et,null)},Re=t(17367);const Rt=()=>({type:Re.l}),St=n=>({type:Re.m,permissions:n}),Se=({children:n,permissions:a,refetchPermissions:o})=>{const{allPermissions:s}=(0,A.useSelector)(d=>d.rbacProvider),p=(0,A.useDispatch)();return(0,e.useEffect)(()=>(p(St(a)),()=>{p(Rt())}),[a,p]),s?e.createElement(r.RBACProviderContext.Provider,{value:{allPermissions:s,refetchPermissions:o}},n):e.createElement(r.LoadingIndicatorPage,null)};Se.propTypes={children:i().element.isRequired,permissions:i().array.isRequired,refetchPermissions:i().func.isRequired};var It=Se,Pt=t(55721),xt=t(54770),ee=t.n(xt),Ie=(n,a)=>!ee().valid(n)||!ee().valid(a)?!1:ee().lt(n,a);const Pe=x.i8,At=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:te}=(0,r.getFetchClient)(),Lt=async n=>{try{const{data:{tag_name:a}}=await Pt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return Ie(Pe,a)&&At&&n({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Pe}},Ot=async()=>{try{const{data:n,headers:a}=await te("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return n.data}catch(n){throw new Error(n)}},bt=async()=>{try{const{data:n,headers:a}=await te("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return n.data}catch(n){throw new Error(n)}},Dt=async()=>{try{const{data:{data:{roles:n}}}=await te("/admin/users/me");return n}catch(n){throw new Error(n)}},xe=x.i8;var Bt=()=>{const{setGuidedTourVisibility:n}=(0,r.useGuidedTour)(),a=(0,r.useNotification)(),o=(0,e.useRef)(n),s=r.auth.getUserInfo(),p=Q()(s,"username")||(0,_.Pp)(s.firstname,s.lastname),[d,g]=(0,e.useState)(p),[h,f]=(0,e.useState)(null),{showReleaseNotification:m}=(0,y.um)(),[{data:R,status:B},{data:b,isLoading:$},{data:W,status:S,refetch:Z,isFetched:k,isFetching:D},{data:I}]=(0,P.useQueries)([{queryKey:"app-infos",queryFn:Ot},{queryKey:"strapi-release",queryFn:()=>Lt(a),enabled:m,initialData:xe},{queryKey:"admin-users-permission",queryFn:bt,initialData:[]},{queryKey:"user-roles",queryFn:Dt}]),l=(0,e.useMemo)(()=>Ie(xe,b),[b]);(0,e.useEffect)(()=>{I&&I.find(({code:oe})=>oe==="strapi-super-admin")&&R?.autoReload&&o.current(!0)},[I,R]),(0,e.useEffect)(()=>{(async()=>{const oe=await(0,_.Qy)(s);f(oe)})()},[s]);const H=$||(D&&k||B==="loading"||S==="loading"),ne=(0,e.useMemo)(()=>({...R,userId:h,latestStrapiReleaseTag:b,setUserDisplayName:g,shouldUpdateStrapi:l,userDisplayName:d}),[R,b,l,d,h]);return H?e.createElement(r.LoadingIndicatorPage,null):B==="error"?e.createElement("div",null,"error..."):e.createElement(r.AppInfosContext.Provider,{value:ne},e.createElement(It,{permissions:W,refetchPermissions:Z},e.createElement(Mt,null)))}},78024:function(z,C,t){var e=t(32735),r=t(60216),P=t.n(r),E=t(88425),Q=t.n(E),x=t(72850),y=t(23678);const c=({type:A,...M})=>e.createElement(x.x,{width:(0,E.pxToRem)(2),height:"100%",background:A===y.VM?"neutral300":"primary500",hasRadius:!0,...M});c.defaultProps={type:y.VM},c.propTypes={type:P().oneOf([y.lW,y.hx,y.VM])},C.Z=c},14317:function(z,C,t){var e=t(32735),r=t(60216),P=t.n(r),E=t(88425),Q=t.n(E),x=t(87933),y=t(49372),c=t(99140),A=t(66456),M=t(23678);const F=({type:V,number:K})=>V===M.hx?e.createElement(x.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(c.J,{as:A.Z,"aria-hidden":!0,width:(0,E.pxToRem)(16),color:"neutral0"})):V===M.lW?e.createElement(x.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Z,{fontWeight:"semiBold",textColor:"neutral0"},K)):e.createElement(x.k,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Z,{fontWeight:"semiBold",textColor:"neutral600"},K));F.defaultProps={number:void 0,type:M.VM},F.propTypes={number:P().number,type:P().oneOf([M.lW,M.hx,M.VM])},C.Z=F},23678:function(z,C,t){t.d(C,{VM:function(){return P},hx:function(){return r},lW:function(){return e}});const e="isActive",r="isDone",P="isNotDone"},58107:function(z,C){const t={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};C.Z=t}}]);
|