@rnaga/wp-next-admin 1.0.1
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/README.md +292 -0
- package/client/components/RootLayout.d.ts +13 -0
- package/client/components/RootLayout.d.ts.map +1 -0
- package/client/components/RootLayout.js +13 -0
- package/client/components/WrapperRootLayout.d.ts +9 -0
- package/client/components/WrapperRootLayout.d.ts.map +1 -0
- package/client/components/WrapperRootLayout.js +5 -0
- package/client/components/contents/blogs/Create.d.ts +2 -0
- package/client/components/contents/blogs/Create.d.ts.map +1 -0
- package/client/components/contents/blogs/Create.js +67 -0
- package/client/components/contents/blogs/Edit.d.ts +2 -0
- package/client/components/contents/blogs/Edit.d.ts.map +1 -0
- package/client/components/contents/blogs/Edit.js +144 -0
- package/client/components/contents/blogs/List.d.ts +2 -0
- package/client/components/contents/blogs/List.d.ts.map +1 -0
- package/client/components/contents/blogs/List.js +56 -0
- package/client/components/contents/blogs/index.d.ts +6 -0
- package/client/components/contents/blogs/index.d.ts.map +1 -0
- package/client/components/contents/blogs/index.js +8 -0
- package/client/components/contents/comments/ActionLink.d.ts +5 -0
- package/client/components/contents/comments/ActionLink.d.ts.map +1 -0
- package/client/components/contents/comments/ActionLink.js +67 -0
- package/client/components/contents/comments/List/Reply.d.ts +5 -0
- package/client/components/contents/comments/List/Reply.d.ts.map +1 -0
- package/client/components/contents/comments/List/Reply.js +33 -0
- package/client/components/contents/comments/List/Row.d.ts +5 -0
- package/client/components/contents/comments/List/Row.d.ts.map +1 -0
- package/client/components/contents/comments/List/Row.js +30 -0
- package/client/components/contents/comments/List/Toolbar.d.ts +8 -0
- package/client/components/contents/comments/List/Toolbar.d.ts.map +1 -0
- package/client/components/contents/comments/List/Toolbar.js +14 -0
- package/client/components/contents/comments/List/index.d.ts +5 -0
- package/client/components/contents/comments/List/index.d.ts.map +1 -0
- package/client/components/contents/comments/List/index.js +38 -0
- package/client/components/contents/comments/index.d.ts +7 -0
- package/client/components/contents/comments/index.d.ts.map +1 -0
- package/client/components/contents/comments/index.js +6 -0
- package/client/components/contents/dashboard/index.d.ts +2 -0
- package/client/components/contents/dashboard/index.d.ts.map +1 -0
- package/client/components/contents/dashboard/index.js +123 -0
- package/client/components/contents/index.d.ts +46 -0
- package/client/components/contents/index.d.ts.map +1 -0
- package/client/components/contents/index.js +28 -0
- package/client/components/contents/media/Edit.d.ts +2 -0
- package/client/components/contents/media/Edit.d.ts.map +1 -0
- package/client/components/contents/media/Edit.js +86 -0
- package/client/components/contents/media/List/ActionLink.d.ts +5 -0
- package/client/components/contents/media/List/ActionLink.d.ts.map +1 -0
- package/client/components/contents/media/List/ActionLink.js +24 -0
- package/client/components/contents/media/List/Table.d.ts +5 -0
- package/client/components/contents/media/List/Table.d.ts.map +1 -0
- package/client/components/contents/media/List/Table.js +38 -0
- package/client/components/contents/media/List/Thumbnail.d.ts +5 -0
- package/client/components/contents/media/List/Thumbnail.d.ts.map +1 -0
- package/client/components/contents/media/List/Thumbnail.js +28 -0
- package/client/components/contents/media/List/index.d.ts +2 -0
- package/client/components/contents/media/List/index.d.ts.map +1 -0
- package/client/components/contents/media/List/index.js +66 -0
- package/client/components/contents/media/index.d.ts +5 -0
- package/client/components/contents/media/index.d.ts.map +1 -0
- package/client/components/contents/media/index.js +6 -0
- package/client/components/contents/pages/Edit/Settings.d.ts +2 -0
- package/client/components/contents/pages/Edit/Settings.d.ts.map +1 -0
- package/client/components/contents/pages/Edit/Settings.js +17 -0
- package/client/components/contents/pages/Edit/Toolbar.d.ts +2 -0
- package/client/components/contents/pages/Edit/Toolbar.d.ts.map +1 -0
- package/client/components/contents/pages/Edit/Toolbar.js +72 -0
- package/client/components/contents/pages/Edit/index.d.ts +2 -0
- package/client/components/contents/pages/Edit/index.d.ts.map +1 -0
- package/client/components/contents/pages/Edit/index.js +43 -0
- package/client/components/contents/pages/List/ActionLink.d.ts +5 -0
- package/client/components/contents/pages/List/ActionLink.d.ts.map +1 -0
- package/client/components/contents/pages/List/ActionLink.js +12 -0
- package/client/components/contents/pages/List/Statuses.d.ts +2 -0
- package/client/components/contents/pages/List/Statuses.d.ts.map +1 -0
- package/client/components/contents/pages/List/Statuses.js +24 -0
- package/client/components/contents/pages/List/Toolbar.d.ts +8 -0
- package/client/components/contents/pages/List/Toolbar.d.ts.map +1 -0
- package/client/components/contents/pages/List/Toolbar.js +14 -0
- package/client/components/contents/pages/List/index.d.ts +2 -0
- package/client/components/contents/pages/List/index.d.ts.map +1 -0
- package/client/components/contents/pages/List/index.js +45 -0
- package/client/components/contents/pages/index.d.ts +5 -0
- package/client/components/contents/pages/index.d.ts.map +1 -0
- package/client/components/contents/pages/index.js +6 -0
- package/client/components/contents/posts/Edit/Settings.d.ts +2 -0
- package/client/components/contents/posts/Edit/Settings.d.ts.map +1 -0
- package/client/components/contents/posts/Edit/Settings.js +19 -0
- package/client/components/contents/posts/Edit/Toolbar.d.ts +2 -0
- package/client/components/contents/posts/Edit/Toolbar.d.ts.map +1 -0
- package/client/components/contents/posts/Edit/Toolbar.js +72 -0
- package/client/components/contents/posts/Edit/index.d.ts +2 -0
- package/client/components/contents/posts/Edit/index.d.ts.map +1 -0
- package/client/components/contents/posts/Edit/index.js +43 -0
- package/client/components/contents/posts/List/ActionLink.d.ts +5 -0
- package/client/components/contents/posts/List/ActionLink.d.ts.map +1 -0
- package/client/components/contents/posts/List/ActionLink.js +12 -0
- package/client/components/contents/posts/List/Statuses.d.ts +2 -0
- package/client/components/contents/posts/List/Statuses.d.ts.map +1 -0
- package/client/components/contents/posts/List/Statuses.js +32 -0
- package/client/components/contents/posts/List/Toolbar.d.ts +8 -0
- package/client/components/contents/posts/List/Toolbar.d.ts.map +1 -0
- package/client/components/contents/posts/List/Toolbar.js +14 -0
- package/client/components/contents/posts/List/index.d.ts +2 -0
- package/client/components/contents/posts/List/index.d.ts.map +1 -0
- package/client/components/contents/posts/List/index.js +46 -0
- package/client/components/contents/posts/index.d.ts +5 -0
- package/client/components/contents/posts/index.d.ts.map +1 -0
- package/client/components/contents/posts/index.js +6 -0
- package/client/components/contents/profile/index.d.ts +2 -0
- package/client/components/contents/profile/index.d.ts.map +1 -0
- package/client/components/contents/profile/index.js +7 -0
- package/client/components/contents/revisions/List/History.d.ts +7 -0
- package/client/components/contents/revisions/List/History.d.ts.map +1 -0
- package/client/components/contents/revisions/List/History.js +37 -0
- package/client/components/contents/revisions/List/diff2html.css +11 -0
- package/client/components/contents/revisions/List/index.d.ts +9 -0
- package/client/components/contents/revisions/List/index.d.ts.map +1 -0
- package/client/components/contents/revisions/List/index.js +145 -0
- package/client/components/contents/revisions/index.d.ts +2 -0
- package/client/components/contents/revisions/index.d.ts.map +1 -0
- package/client/components/contents/revisions/index.js +1 -0
- package/client/components/contents/roles/List/EditModal.d.ts +8 -0
- package/client/components/contents/roles/List/EditModal.d.ts.map +1 -0
- package/client/components/contents/roles/List/EditModal.js +153 -0
- package/client/components/contents/roles/List/index.d.ts +7 -0
- package/client/components/contents/roles/List/index.d.ts.map +1 -0
- package/client/components/contents/roles/List/index.js +111 -0
- package/client/components/contents/roles/index.d.ts +2 -0
- package/client/components/contents/roles/index.d.ts.map +1 -0
- package/client/components/contents/roles/index.js +1 -0
- package/client/components/contents/settings/index.d.ts +2 -0
- package/client/components/contents/settings/index.d.ts.map +1 -0
- package/client/components/contents/settings/index.js +67 -0
- package/client/components/contents/sites/Create.d.ts +2 -0
- package/client/components/contents/sites/Create.d.ts.map +1 -0
- package/client/components/contents/sites/Create.js +53 -0
- package/client/components/contents/sites/Delete.d.ts +2 -0
- package/client/components/contents/sites/Delete.d.ts.map +1 -0
- package/client/components/contents/sites/Delete.js +125 -0
- package/client/components/contents/sites/Edit.d.ts +2 -0
- package/client/components/contents/sites/Edit.d.ts.map +1 -0
- package/client/components/contents/sites/Edit.js +120 -0
- package/client/components/contents/sites/List.d.ts +2 -0
- package/client/components/contents/sites/List.d.ts.map +1 -0
- package/client/components/contents/sites/List.js +33 -0
- package/client/components/contents/sites/index.d.ts +7 -0
- package/client/components/contents/sites/index.d.ts.map +1 -0
- package/client/components/contents/sites/index.js +10 -0
- package/client/components/contents/terms/List/ActionLink.d.ts +5 -0
- package/client/components/contents/terms/List/ActionLink.d.ts.map +1 -0
- package/client/components/contents/terms/List/ActionLink.js +44 -0
- package/client/components/contents/terms/List/Toolbar.d.ts +8 -0
- package/client/components/contents/terms/List/Toolbar.d.ts.map +1 -0
- package/client/components/contents/terms/List/Toolbar.js +20 -0
- package/client/components/contents/terms/List/index.d.ts +18 -0
- package/client/components/contents/terms/List/index.d.ts.map +1 -0
- package/client/components/contents/terms/List/index.js +94 -0
- package/client/components/contents/terms/index.d.ts +2 -0
- package/client/components/contents/terms/index.d.ts.map +1 -0
- package/client/components/contents/terms/index.js +1 -0
- package/client/components/contents/users/Create.d.ts +2 -0
- package/client/components/contents/users/Create.d.ts.map +1 -0
- package/client/components/contents/users/Create.js +47 -0
- package/client/components/contents/users/Delete.d.ts +2 -0
- package/client/components/contents/users/Delete.d.ts.map +1 -0
- package/client/components/contents/users/Delete.js +113 -0
- package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.d.ts +6 -0
- package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.js +40 -0
- package/client/components/contents/users/Edit/Profile/ResetPasswordModal.d.ts +6 -0
- package/client/components/contents/users/Edit/Profile/ResetPasswordModal.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Profile/ResetPasswordModal.js +41 -0
- package/client/components/contents/users/Edit/Profile/index.d.ts +4 -0
- package/client/components/contents/users/Edit/Profile/index.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Profile/index.js +111 -0
- package/client/components/contents/users/Edit/Roles/ActionLink.d.ts +6 -0
- package/client/components/contents/users/Edit/Roles/ActionLink.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/ActionLink.js +63 -0
- package/client/components/contents/users/Edit/Roles/Add.d.ts +5 -0
- package/client/components/contents/users/Edit/Roles/Add.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/Add.js +60 -0
- package/client/components/contents/users/Edit/Roles/Edit.d.ts +8 -0
- package/client/components/contents/users/Edit/Roles/Edit.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/Edit.js +53 -0
- package/client/components/contents/users/Edit/Roles/Roles.d.ts +4 -0
- package/client/components/contents/users/Edit/Roles/Roles.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/Roles.js +41 -0
- package/client/components/contents/users/Edit/Roles/context.d.ts +9 -0
- package/client/components/contents/users/Edit/Roles/context.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/context.js +2 -0
- package/client/components/contents/users/Edit/Roles/index.d.ts +3 -0
- package/client/components/contents/users/Edit/Roles/index.d.ts.map +1 -0
- package/client/components/contents/users/Edit/Roles/index.js +2 -0
- package/client/components/contents/users/Edit/index.d.ts +4 -0
- package/client/components/contents/users/Edit/index.d.ts.map +1 -0
- package/client/components/contents/users/Edit/index.js +66 -0
- package/client/components/contents/users/List/CountRoles.d.ts +2 -0
- package/client/components/contents/users/List/CountRoles.d.ts.map +1 -0
- package/client/components/contents/users/List/CountRoles.js +68 -0
- package/client/components/contents/users/List/Toolbar.d.ts +10 -0
- package/client/components/contents/users/List/Toolbar.d.ts.map +1 -0
- package/client/components/contents/users/List/Toolbar.js +32 -0
- package/client/components/contents/users/List/index.d.ts +2 -0
- package/client/components/contents/users/List/index.d.ts.map +1 -0
- package/client/components/contents/users/List/index.js +30 -0
- package/client/components/contents/users/index.d.ts +9 -0
- package/client/components/contents/users/index.d.ts.map +1 -0
- package/client/components/contents/users/index.js +10 -0
- package/client/components/layout/Layout.d.ts +3 -0
- package/client/components/layout/Layout.d.ts.map +1 -0
- package/client/components/layout/Layout.js +69 -0
- package/client/components/layout/Main.d.ts +2 -0
- package/client/components/layout/Main.d.ts.map +1 -0
- package/client/components/layout/Main.js +12 -0
- package/client/components/layout/Overlay.d.ts +2 -0
- package/client/components/layout/Overlay.d.ts.map +1 -0
- package/client/components/layout/Overlay.js +49 -0
- package/client/components/layout/Title.d.ts +2 -0
- package/client/components/layout/Title.d.ts.map +1 -0
- package/client/components/layout/Title.js +19 -0
- package/client/components/layout/WrapperLayout.d.ts +2 -0
- package/client/components/layout/WrapperLayout.d.ts.map +1 -0
- package/client/components/layout/WrapperLayout.js +5 -0
- package/client/components/layout/header/Profile.d.ts +2 -0
- package/client/components/layout/header/Profile.d.ts.map +1 -0
- package/client/components/layout/header/Profile.js +66 -0
- package/client/components/layout/header/index.d.ts +2 -0
- package/client/components/layout/header/index.d.ts.map +1 -0
- package/client/components/layout/header/index.js +176 -0
- package/client/components/layout/sidebar/Collapse.d.ts +4 -0
- package/client/components/layout/sidebar/Collapse.d.ts.map +1 -0
- package/client/components/layout/sidebar/Collapse.js +53 -0
- package/client/components/layout/sidebar/Menus.d.ts +5 -0
- package/client/components/layout/sidebar/Menus.d.ts.map +1 -0
- package/client/components/layout/sidebar/Menus.js +76 -0
- package/client/components/layout/sidebar/index.d.ts +2 -0
- package/client/components/layout/sidebar/index.d.ts.map +1 -0
- package/client/components/layout/sidebar/index.js +86 -0
- package/client/components/utils/ErrorFallback.d.ts +6 -0
- package/client/components/utils/ErrorFallback.d.ts.map +1 -0
- package/client/components/utils/ErrorFallback.js +36 -0
- package/client/components/utils/dropdown/SelectWPAvailableSite.d.ts +7 -0
- package/client/components/utils/dropdown/SelectWPAvailableSite.d.ts.map +1 -0
- package/client/components/utils/dropdown/SelectWPAvailableSite.js +58 -0
- package/client/components/utils/dropdown/SelectWPSite.d.ts +5 -0
- package/client/components/utils/dropdown/SelectWPSite.d.ts.map +1 -0
- package/client/components/utils/dropdown/SelectWPSite.js +27 -0
- package/client/components/utils/dropdown/index.d.ts +2 -0
- package/client/components/utils/dropdown/index.d.ts.map +1 -0
- package/client/components/utils/dropdown/index.js +1 -0
- package/client/components/utils/index.d.ts +2 -0
- package/client/components/utils/index.d.ts.map +1 -0
- package/client/components/utils/index.js +1 -0
- package/client/components/utils/link/AdminLink.d.ts +46 -0
- package/client/components/utils/link/AdminLink.d.ts.map +1 -0
- package/client/components/utils/link/AdminLink.js +61 -0
- package/client/components/utils/link/index.d.ts +2 -0
- package/client/components/utils/link/index.d.ts.map +1 -0
- package/client/components/utils/link/index.js +2 -0
- package/client/components/utils/modal/CommentModal.d.ts +2 -0
- package/client/components/utils/modal/CommentModal.d.ts.map +1 -0
- package/client/components/utils/modal/CommentModal.js +53 -0
- package/client/components/utils/modal/TermModal.d.ts +10 -0
- package/client/components/utils/modal/TermModal.d.ts.map +1 -0
- package/client/components/utils/modal/TermModal.js +70 -0
- package/client/components/utils/modal/index.d.ts +3 -0
- package/client/components/utils/modal/index.d.ts.map +1 -0
- package/client/components/utils/modal/index.js +2 -0
- package/client/components/utils/post/PostPanel.d.ts +15 -0
- package/client/components/utils/post/PostPanel.d.ts.map +1 -0
- package/client/components/utils/post/PostPanel.js +70 -0
- package/client/components/utils/post/index.d.ts +4 -0
- package/client/components/utils/post/index.d.ts.map +1 -0
- package/client/components/utils/post/index.js +3 -0
- package/client/components/utils/post/link/PostActionLink.d.ts +9 -0
- package/client/components/utils/post/link/PostActionLink.d.ts.map +1 -0
- package/client/components/utils/post/link/PostActionLink.js +90 -0
- package/client/components/utils/post/link/PostRowLinks.d.ts +8 -0
- package/client/components/utils/post/link/PostRowLinks.d.ts.map +1 -0
- package/client/components/utils/post/link/PostRowLinks.js +30 -0
- package/client/components/utils/post/link/index.d.ts +3 -0
- package/client/components/utils/post/link/index.d.ts.map +1 -0
- package/client/components/utils/post/link/index.js +2 -0
- package/client/components/utils/post/settings/Categories.d.ts +2 -0
- package/client/components/utils/post/settings/Categories.d.ts.map +1 -0
- package/client/components/utils/post/settings/Categories.js +23 -0
- package/client/components/utils/post/settings/Discussion.d.ts +2 -0
- package/client/components/utils/post/settings/Discussion.d.ts.map +1 -0
- package/client/components/utils/post/settings/Discussion.js +25 -0
- package/client/components/utils/post/settings/Excerpt.d.ts +2 -0
- package/client/components/utils/post/settings/Excerpt.d.ts.map +1 -0
- package/client/components/utils/post/settings/Excerpt.js +9 -0
- package/client/components/utils/post/settings/FeaturedImage.d.ts +2 -0
- package/client/components/utils/post/settings/FeaturedImage.d.ts.map +1 -0
- package/client/components/utils/post/settings/FeaturedImage.js +63 -0
- package/client/components/utils/post/settings/PageAttributes.d.ts +2 -0
- package/client/components/utils/post/settings/PageAttributes.d.ts.map +1 -0
- package/client/components/utils/post/settings/PageAttributes.js +23 -0
- package/client/components/utils/post/settings/Revisions.d.ts +2 -0
- package/client/components/utils/post/settings/Revisions.d.ts.map +1 -0
- package/client/components/utils/post/settings/Revisions.js +44 -0
- package/client/components/utils/post/settings/Summary.d.ts +2 -0
- package/client/components/utils/post/settings/Summary.d.ts.map +1 -0
- package/client/components/utils/post/settings/Summary.js +58 -0
- package/client/components/utils/post/settings/Tags.d.ts +2 -0
- package/client/components/utils/post/settings/Tags.d.ts.map +1 -0
- package/client/components/utils/post/settings/Tags.js +11 -0
- package/client/components/utils/post/settings/index.d.ts +9 -0
- package/client/components/utils/post/settings/index.d.ts.map +1 -0
- package/client/components/utils/post/settings/index.js +8 -0
- package/client/hooks/index.d.ts +6 -0
- package/client/hooks/index.d.ts.map +1 -0
- package/client/hooks/index.js +5 -0
- package/client/hooks/use-admin-navigation.d.ts +39 -0
- package/client/hooks/use-admin-navigation.d.ts.map +1 -0
- package/client/hooks/use-admin-navigation.js +61 -0
- package/client/hooks/use-admin-server-actions.d.ts +49 -0
- package/client/hooks/use-admin-server-actions.d.ts.map +1 -0
- package/client/hooks/use-admin-server-actions.js +13 -0
- package/client/hooks/use-admin-user.d.ts +130 -0
- package/client/hooks/use-admin-user.d.ts.map +1 -0
- package/client/hooks/use-admin-user.js +19 -0
- package/client/hooks/use-current-menu.d.ts +3 -0
- package/client/hooks/use-current-menu.d.ts.map +1 -0
- package/client/hooks/use-current-menu.js +37 -0
- package/client/hooks/use-sidebar.d.ts +27 -0
- package/client/hooks/use-sidebar.d.ts.map +1 -0
- package/client/hooks/use-sidebar.js +51 -0
- package/client/hooks/use-sites.d.ts +136 -0
- package/client/hooks/use-sites.d.ts.map +1 -0
- package/client/hooks/use-sites.js +43 -0
- package/client/utils/get-default-admin-hooks.d.ts +3 -0
- package/client/utils/get-default-admin-hooks.d.ts.map +1 -0
- package/client/utils/get-default-admin-hooks.js +3 -0
- package/client/utils/index.d.ts +2 -0
- package/client/utils/index.d.ts.map +1 -0
- package/client/utils/index.js +1 -0
- package/client/wp-admin/initial-global-state.d.ts +5 -0
- package/client/wp-admin/initial-global-state.d.ts.map +1 -0
- package/client/wp-admin/initial-global-state.js +46 -0
- package/client/wp-admin/use-comment.d.ts +55 -0
- package/client/wp-admin/use-comment.d.ts.map +1 -0
- package/client/wp-admin/use-comment.js +32 -0
- package/client/wp-admin/use-overlay.d.ts +28 -0
- package/client/wp-admin/use-overlay.d.ts.map +1 -0
- package/client/wp-admin/use-overlay.js +89 -0
- package/client/wp-admin.d.ts +27 -0
- package/client/wp-admin.d.ts.map +1 -0
- package/client/wp-admin.js +49 -0
- package/client/wp-hooks/index.d.ts +5 -0
- package/client/wp-hooks/index.d.ts.map +1 -0
- package/client/wp-hooks/index.js +5 -0
- package/client/wp-hooks/menu-blog.hook.d.ts +11 -0
- package/client/wp-hooks/menu-blog.hook.d.ts.map +1 -0
- package/client/wp-hooks/menu-blog.hook.js +236 -0
- package/client/wp-hooks/menu-site.hook.d.ts +11 -0
- package/client/wp-hooks/menu-site.hook.d.ts.map +1 -0
- package/client/wp-hooks/menu-site.hook.js +171 -0
- package/client/wp-hooks/preload-modal.hook.d.ts +10 -0
- package/client/wp-hooks/preload-modal.hook.d.ts.map +1 -0
- package/client/wp-hooks/preload-modal.hook.js +45 -0
- package/client/wp-hooks/themes.hook.d.ts +9 -0
- package/client/wp-hooks/themes.hook.d.ts.map +1 -0
- package/client/wp-hooks/themes.hook.js +32 -0
- package/package.json +64 -0
- package/server/actions/dashboard.d.ts +141 -0
- package/server/actions/dashboard.d.ts.map +1 -0
- package/server/actions/dashboard.js +52 -0
- package/server/components/Page.d.ts +2 -0
- package/server/components/Page.d.ts.map +1 -0
- package/server/components/Page.js +3 -0
- package/server/components/RootLayout.d.ts +5 -0
- package/server/components/RootLayout.d.ts.map +1 -0
- package/server/components/RootLayout.js +57 -0
- package/server/components/RootPage.d.ts +2 -0
- package/server/components/RootPage.d.ts.map +1 -0
- package/server/components/RootPage.js +19 -0
- package/server/utils/get-default-admin-hooks.d.ts +3 -0
- package/server/utils/get-default-admin-hooks.d.ts.map +1 -0
- package/server/utils/get-default-admin-hooks.js +4 -0
- package/server/utils/index.d.ts +2 -0
- package/server/utils/index.d.ts.map +1 -0
- package/server/utils/index.js +1 -0
- package/server/wp-admin.d.ts +40 -0
- package/server/wp-admin.d.ts.map +1 -0
- package/server/wp-admin.js +58 -0
- package/server/wp-hooks/index.d.ts +3 -0
- package/server/wp-hooks/index.d.ts.map +1 -0
- package/server/wp-hooks/index.js +3 -0
- package/server/wp-hooks/next-admin-init.hook.d.ts +15 -0
- package/server/wp-hooks/next-admin-init.hook.d.ts.map +1 -0
- package/server/wp-hooks/next-admin-init.hook.js +65 -0
- package/types/client/form-data.d.ts +27 -0
- package/types/client/global-ref.d.ts +7 -0
- package/types/client/global-state.d.ts +78 -0
- package/types/client/index.d.ts +5 -0
- package/types/client/menus.d.ts +39 -0
- package/types/client.d.ts +40 -0
- package/types/hooks/actions.d.ts +4 -0
- package/types/hooks/filters.d.ts +39 -0
- package/types/hooks/index.d.ts +2 -0
- package/types/index.d.ts +4 -0
- package/types/server-actions.d.ts +21 -0
- package/types/theme.d.ts +33 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionLink.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/comments/ActionLink.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,eAAO,MAAM,UAAU,GAAI,OAAO;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,4CAsHrD,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
3
|
+
import { useServerActions } from "@rnaga/wp-next-core/client/hooks/use-server-actions";
|
|
4
|
+
import { useAdminNavigation } from "../../../hooks/use-admin-navigation";
|
|
5
|
+
import { useWPAdmin } from "../../../wp-admin";
|
|
6
|
+
import { AdminLink } from "../../utils/link/AdminLink";
|
|
7
|
+
export const ActionLink = (props) => {
|
|
8
|
+
const { comment } = props;
|
|
9
|
+
const { overlay, comment: commentModal } = useWPAdmin();
|
|
10
|
+
const { actions, safeParse } = useServerActions();
|
|
11
|
+
const { refresh } = useAdminNavigation();
|
|
12
|
+
let commentStatus = "0";
|
|
13
|
+
switch (`${comment.comment_approved}`) {
|
|
14
|
+
case "1":
|
|
15
|
+
case "approve":
|
|
16
|
+
commentStatus = "1";
|
|
17
|
+
break;
|
|
18
|
+
case "spam":
|
|
19
|
+
commentStatus = "spam";
|
|
20
|
+
break;
|
|
21
|
+
case "trash":
|
|
22
|
+
case "post-trashed":
|
|
23
|
+
commentStatus = "trash";
|
|
24
|
+
break;
|
|
25
|
+
case "0":
|
|
26
|
+
case "hold":
|
|
27
|
+
default:
|
|
28
|
+
commentStatus = "0";
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
const handleApprove = (approve) => async () => {
|
|
32
|
+
const result = await overlay.circular.promise(actions.comment
|
|
33
|
+
.update(comment.comment_ID, {
|
|
34
|
+
comment_approved: approve,
|
|
35
|
+
comment_type: comment.comment_type,
|
|
36
|
+
})
|
|
37
|
+
.then(safeParse));
|
|
38
|
+
if (result.error) {
|
|
39
|
+
overlay.snackbar.open("error", result.error);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
overlay.snackbar.open("success", "Item has been updated");
|
|
43
|
+
refresh(["content"]);
|
|
44
|
+
};
|
|
45
|
+
const handleEditOpen = (isReply) => async () => {
|
|
46
|
+
commentModal.open(comment, isReply, () => refresh(["content"]));
|
|
47
|
+
};
|
|
48
|
+
const handleDelete = () => {
|
|
49
|
+
const message = "This action cannot be undone. This will permanently delete your item.";
|
|
50
|
+
const title = "Are you absolutely sure?";
|
|
51
|
+
overlay.confirm.open(message, async (confirm) => {
|
|
52
|
+
if (!confirm) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const result = await overlay.circular
|
|
56
|
+
.promise(actions.comment.del(comment.comment_ID, true))
|
|
57
|
+
.then(safeParse);
|
|
58
|
+
if (!result.success) {
|
|
59
|
+
overlay.snackbar.open("error", result.error);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
overlay.snackbar.open("error", "Item has been deleted Permanently");
|
|
63
|
+
refresh(["content"]);
|
|
64
|
+
}, title);
|
|
65
|
+
};
|
|
66
|
+
return (_jsxs(Box, { sx: { display: "flex", gap: 0.5 }, children: [commentStatus == "1" && (_jsx(AdminLink, { color: "warning", onClick: handleApprove("0"), children: "Unapprove" })), commentStatus == "0" && (_jsx(AdminLink, { color: "success", onClick: handleApprove("1"), children: "Approve" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { onClick: handleEditOpen(true), children: "Reply" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { onClick: handleEditOpen(false), children: "Edit" })), commentStatus.match(/^0|1|trash$/) && (_jsx(AdminLink, { color: "error", onClick: handleApprove("spam"), children: "Spam" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { color: "error", onClick: handleApprove("trash"), children: "Trash" })), commentStatus == "spam" && (_jsx(AdminLink, { color: "warning", onClick: handleApprove("0"), children: "Not Spam" })), commentStatus == "trash" && (_jsx(AdminLink, { color: "success", onClick: handleApprove("0"), children: "Restore" })), commentStatus.match(/^trash|spam$/) && (_jsx(AdminLink, { color: "error", onClick: handleDelete, children: "Delete Permanently" }))] }));
|
|
67
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reply.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Reply.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,KAAK,GAAI,OAAO;IAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D,mDAyFA,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { Box, Stack } from "@mui/material";
|
|
4
|
+
import { SimpleTreeView, TreeItem } from "@mui/x-tree-view";
|
|
5
|
+
import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
|
|
6
|
+
import { Typography } from "@rnaga/wp-next-ui/Typography";
|
|
7
|
+
import { comments as toCommentHierarchy } from "@rnaga/wp-node/common/hierarchy";
|
|
8
|
+
import { AdminLink } from "../../../../components/utils/link";
|
|
9
|
+
import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
|
|
10
|
+
import { ActionLink } from "../ActionLink";
|
|
11
|
+
export const Reply = (props) => {
|
|
12
|
+
const { comment: parentComment } = props;
|
|
13
|
+
const replies = parentComment.children;
|
|
14
|
+
const { updateRouter } = useAdminNavigation();
|
|
15
|
+
const { userCan } = useUser();
|
|
16
|
+
const [expandedItems, setExpandedItems] = useState([]);
|
|
17
|
+
if (!replies) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const handleExpandedItemsChange = (event, itemIds) => {
|
|
21
|
+
setExpandedItems(itemIds);
|
|
22
|
+
};
|
|
23
|
+
const handleExpandClick = () => {
|
|
24
|
+
setExpandedItems((oldExpanded) => oldExpanded.length === 0
|
|
25
|
+
? replies.flatMap((comment) => `${comment.comment_ID}`)
|
|
26
|
+
: []);
|
|
27
|
+
};
|
|
28
|
+
const hierarchy = toCommentHierarchy(replies);
|
|
29
|
+
const items = (comments) => comments.map((comment) => (_jsx(TreeItem, { itemId: `${comment.comment_ID}`, label: _jsxs(Typography, { children: ["Replied by", " ", _jsxs(Typography, { fontWeight: 600, component: "span", children: [comment.comment_author ?? comment.display_name, " "] }), "on", " ", _jsx(Typography, { fontWeight: 600, component: "span", children: comment.comment_date?.split(" ")[0] })] }), children: _jsxs(Stack, { spacing: 1, children: [userCan("edit_comment", parentComment) && (_jsx(ActionLink, { comment: comment })), _jsx(Box, { children: _jsx(Typography, { sx: { mx: 1 }, children: comment.comment_content }) }), comment.children &&
|
|
30
|
+
comment.children.length > 0 &&
|
|
31
|
+
items(comment.children)] }) }, `${comment.comment_ID}`)));
|
|
32
|
+
return (_jsxs(_Fragment, { children: [parentComment.children && parentComment.children?.length > 1 && (_jsxs(Box, { sx: { mb: 1, display: "flex", gap: 1 }, children: [_jsx(AdminLink, { onClick: handleExpandClick, children: expandedItems.length === 0 ? "Expand All" : "Collapse All" }), parentComment.count_children > 10 && (_jsx(AdminLink, { onClick: () => updateRouter({ parent: [parentComment.comment_ID] }), children: "View All Replies" }))] })), _jsx(SimpleTreeView, { sx: { overflowY: "auto" }, expandedItems: expandedItems, onExpandedItemsChange: handleExpandedItemsChange, children: items(hierarchy) })] }));
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Row.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,GAAG,GAAI,OAAO;IACzB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC/C,4CA0FA,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Box } from "@mui/material";
|
|
4
|
+
import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
|
|
5
|
+
import { CardImage } from "@rnaga/wp-next-ui/CardImage";
|
|
6
|
+
import { Chip } from "@rnaga/wp-next-ui/Chip";
|
|
7
|
+
import { Typography } from "@rnaga/wp-next-ui/Typography";
|
|
8
|
+
import { Viewport } from "@rnaga/wp-next-ui/Viewport";
|
|
9
|
+
import { ActionTd, Table, Td, Tr } from "@rnaga/wp-next-ui/list";
|
|
10
|
+
import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
|
|
11
|
+
import { useWPAdmin } from "../../../../wp-admin";
|
|
12
|
+
import { ActionLink } from "../ActionLink";
|
|
13
|
+
import { Reply } from "./Reply";
|
|
14
|
+
export const Row = (props) => {
|
|
15
|
+
const { comment } = props;
|
|
16
|
+
const { wp: { viewport }, } = useWPAdmin();
|
|
17
|
+
const { userCan } = useUser();
|
|
18
|
+
const { updateRouter } = useAdminNavigation();
|
|
19
|
+
return (_jsx(Table, { sx: { backgroundColor: "inherit" }, children: _jsxs("tbody", { children: [_jsxs(Tr, { style: { backgroundColor: "inherit" }, children: [_jsxs(Td, { style: { width: "20%" }, children: [_jsx(Box, { children: _jsx(Typography, { bold: true, children: comment.user_display_name ?? comment.comment_author }) }), _jsx(Viewport, { device: "mobile", children: _jsxs(Typography, { sx: { display: "block", mt: 1, mb: 2 }, component: "div", children: [comment.comment_content, userCan("edit_comment", comment) && (_jsx(ActionLink, { comment: comment }))] }) })] }), _jsxs(ActionTd, { style: { width: "40%" }, children: [_jsx(Typography, { sx: { display: "block" }, children: comment.comment_content }), userCan("edit_comment", comment) && (_jsx(ActionLink, { comment: comment }))] }), _jsxs(Td, { viewport: "desktop", style: { width: "20%" }, children: [comment.post_type == "attachment" && (_jsx(CardImage, { src: comment.post_guid, alt: comment.post_title, sx: { width: 80, height: 80 } })
|
|
20
|
+
// <AspectRatio sx={{ width: 80 }} ratio={4 / 3}>
|
|
21
|
+
// <MediaThumbnail uri={comment.post_guid} />
|
|
22
|
+
// </AspectRatio>
|
|
23
|
+
), _jsx(Typography, { bold: true, children: comment.post_title }), comment.post_comment_count > 0 && (_jsx(Box, { children: _jsx(Chip, { onClick: () => updateRouter({
|
|
24
|
+
post: [comment.comment_post_ID],
|
|
25
|
+
page: 1,
|
|
26
|
+
}), label: `${comment.post_comment_count} Comments` }) }))] }), _jsx(Td, { viewport: "desktop", children: comment.comment_date })] }), comment.children && (_jsx(Tr, { style: {
|
|
27
|
+
borderBottom: "0px solid transparent",
|
|
28
|
+
backgroundColor: "inherit",
|
|
29
|
+
}, children: _jsxs(Td, { colSpan: viewport.isMobile ? 1 : 4, children: [_jsx(Box, { sx: { height: 0, position: "absolute" }, children: _jsx(Chip, { sx: { position: "relative", top: -25 }, label: `${comment.children.length} Replies` }) }), _jsx(Reply, { comment: comment })] }) }))] }) }));
|
|
30
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
|
|
3
|
+
export declare const Toolbar: (props: {
|
|
4
|
+
comments?: wpCoreTypes.actions.Comments;
|
|
5
|
+
info?: wpCoreTypes.actions.CommentsInfo;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASlC,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,OAAO,GAAI,OAAO;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,4CAqBA,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
3
|
+
import { InputSearch } from "@rnaga/wp-next-ui/InputSearch";
|
|
4
|
+
import { Pagination } from "@rnaga/wp-next-ui/list/Pagination";
|
|
5
|
+
import { useWPAdmin } from "../../../../wp-admin";
|
|
6
|
+
export const Toolbar = (props) => {
|
|
7
|
+
const { info, children } = props;
|
|
8
|
+
const { wp: { viewport }, } = useWPAdmin();
|
|
9
|
+
return (_jsxs(_Fragment, { children: [children, _jsxs(Box, { sx: {
|
|
10
|
+
display: "grid",
|
|
11
|
+
gap: 1,
|
|
12
|
+
gridTemplateColumns: viewport.isMobile ? "1fr" : "repeat(2, 1fr)",
|
|
13
|
+
}, children: [_jsx(InputSearch, { size: "medium", sx: { flexGrow: 1 } }), _jsx(Pagination, { pagination: info?.pagination })] })] }));
|
|
14
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
|
|
2
|
+
import type * as wpTypes from "@rnaga/wp-node/types";
|
|
3
|
+
export type Comment = wpTypes.Tables["comments"] | wpCoreTypes.actions.Comments[number];
|
|
4
|
+
export declare const List: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAErD,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAC1B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEzC,eAAO,MAAM,IAAI,+CA6EhB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useState, useTransition } from "react";
|
|
4
|
+
import { Stack } from "@mui/material";
|
|
5
|
+
import { useServerActions } from "@rnaga/wp-next-core/client/hooks/use-server-actions";
|
|
6
|
+
import { SortableTh, Table, Td, Th, THead, Tr } from "@rnaga/wp-next-ui/list";
|
|
7
|
+
import { Loading } from "@rnaga/wp-next-ui/Loading";
|
|
8
|
+
import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
|
|
9
|
+
import { Row } from "./Row";
|
|
10
|
+
import { Toolbar } from "./Toolbar";
|
|
11
|
+
export const List = () => {
|
|
12
|
+
const { actions, parse } = useServerActions();
|
|
13
|
+
const [loading, startTransition] = useTransition();
|
|
14
|
+
const [{ comments, info }, setComments] = useState({
|
|
15
|
+
comments: undefined,
|
|
16
|
+
info: undefined,
|
|
17
|
+
});
|
|
18
|
+
const { navigationStatus, queryObject, refresh, refreshValue } = useAdminNavigation();
|
|
19
|
+
const fetchComments = useCallback(async () => {
|
|
20
|
+
const [comments, info] = await actions.comment
|
|
21
|
+
.list({ parent: [0], ...queryObject })
|
|
22
|
+
.then(parse);
|
|
23
|
+
setComments({ comments, info });
|
|
24
|
+
}, [navigationStatus, refreshValue().content]);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
startTransition(fetchComments);
|
|
27
|
+
}, [navigationStatus]);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
fetchComments();
|
|
30
|
+
}, [refreshValue().content]);
|
|
31
|
+
return (_jsxs(Stack, { spacing: 1, children: [_jsx(Toolbar, { comments: comments, info: info }), _jsx(Loading, { loading: loading, children: _jsxs(Table, { children: [_jsxs(THead, { children: [_jsx(SortableTh, { name: "Author", orderby: "comment_author", style: {
|
|
32
|
+
width: "20%",
|
|
33
|
+
} }), _jsx(Th, { viewport: "desktop", style: { width: "40%" }, children: "Comment" }), _jsx(Th, { viewport: "desktop", style: {
|
|
34
|
+
width: "20%",
|
|
35
|
+
}, children: "In Response To" }), _jsx(SortableTh, { name: "Submitted on", orderby: "comment_date", viewport: "desktop", style: {
|
|
36
|
+
width: "20%",
|
|
37
|
+
} })] }), _jsx("tbody", { children: comments?.map((comment) => (_jsx(Tr, { children: _jsx(Td, { colSpan: 4, children: _jsx(Row, { comment: comment }) }) }, `${comment.comment_ID}`))) })] }) })] }));
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/comments/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;CAGpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/dashboard/index.tsx"],"names":[],"mappings":"AAgDA,eAAO,MAAM,SAAS,+CA6QrB,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useState, useTransition } from "react";
|
|
4
|
+
import { Box, Divider, FormControl, FormLabel, Grid, Stack, } from "@mui/material";
|
|
5
|
+
import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
|
|
6
|
+
import { LightEditor } from "@rnaga/wp-next-rte/tiptap/LightEditor";
|
|
7
|
+
import { Button } from "@rnaga/wp-next-ui/Button";
|
|
8
|
+
import { Card } from "@rnaga/wp-next-ui/Card";
|
|
9
|
+
import { useFormData } from "@rnaga/wp-next-ui/hooks/use-form-data";
|
|
10
|
+
import { Input } from "@rnaga/wp-next-ui/Input";
|
|
11
|
+
import { Table, Td, Tr } from "@rnaga/wp-next-ui/list";
|
|
12
|
+
import { Loading } from "@rnaga/wp-next-ui/Loading";
|
|
13
|
+
import { Typography } from "@rnaga/wp-next-ui/Typography";
|
|
14
|
+
import { formatting } from "@rnaga/wp-node/common/formatting";
|
|
15
|
+
import { Comments } from "../../../components/contents/comments";
|
|
16
|
+
import { AdminLink } from "../../../components/utils/link";
|
|
17
|
+
import { useAdminNavigation } from "../../../hooks";
|
|
18
|
+
import { useAdminServerActions } from "../../../hooks/use-admin-server-actions";
|
|
19
|
+
import { useWPAdmin } from "../../../wp-admin";
|
|
20
|
+
function PostEditLink(props) {
|
|
21
|
+
const { post } = props;
|
|
22
|
+
const { userCan } = useUser();
|
|
23
|
+
return (_jsx(AdminLink, { segment: "blog", page: "posts", subPage: "/edit", queryParams: { id: post.ID }, disabled: !userCan("edit_post", post), children: post.post_title || "(No Title)" }));
|
|
24
|
+
}
|
|
25
|
+
export const Dashboard = () => {
|
|
26
|
+
const { overlay } = useWPAdmin();
|
|
27
|
+
const { user, userCan } = useUser();
|
|
28
|
+
const { refresh, refreshValue } = useAdminNavigation();
|
|
29
|
+
const { actions, parse, safeParse } = useAdminServerActions();
|
|
30
|
+
const { formData, setFormData, submit } = useFormData("post");
|
|
31
|
+
const [dashboard, setDasboard] = useState();
|
|
32
|
+
const [loading, startTransition] = useTransition();
|
|
33
|
+
const fetchActivity = useCallback(async () => {
|
|
34
|
+
const [counts] = await actions.dashboard.counts().then(parse);
|
|
35
|
+
const [activity, activityInfo] = await actions.dashboard
|
|
36
|
+
.activity()
|
|
37
|
+
.then(parse);
|
|
38
|
+
const [postDrafts] = (await actions.post
|
|
39
|
+
.list({ status: ["draft"], per_page: 5, author: [user?.ID ?? 0] })
|
|
40
|
+
.then(parse)) ?? [];
|
|
41
|
+
setDasboard({
|
|
42
|
+
counts,
|
|
43
|
+
activity,
|
|
44
|
+
activityInfo,
|
|
45
|
+
postDrafts,
|
|
46
|
+
});
|
|
47
|
+
}, [refreshValue().content]);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
startTransition(fetchActivity);
|
|
50
|
+
}, []);
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
fetchActivity();
|
|
53
|
+
}, [refreshValue().content]);
|
|
54
|
+
const handleSubmit = async (data) => {
|
|
55
|
+
console.log(formData);
|
|
56
|
+
formData.post_author = user?.ID;
|
|
57
|
+
formData.post_title = data.post_title;
|
|
58
|
+
formData.post_content = data.post_content;
|
|
59
|
+
// Covert Date object to string
|
|
60
|
+
formData.post_date = formatting.dateMySQL(formData.post_date, {
|
|
61
|
+
withGMTOffset: true,
|
|
62
|
+
});
|
|
63
|
+
formData.post_date_gmt = formatting.dateMySQL(formData.post_date);
|
|
64
|
+
const result = await overlay.circular
|
|
65
|
+
.promise(actions.post.create({
|
|
66
|
+
...formData,
|
|
67
|
+
post_type: "post",
|
|
68
|
+
post_status: "draft",
|
|
69
|
+
}))
|
|
70
|
+
.then(safeParse);
|
|
71
|
+
if (!result.success) {
|
|
72
|
+
overlay.snackbar.open("error", result.error);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
overlay.snackbar.open("success", "Post has been saved");
|
|
76
|
+
refresh(["content"]);
|
|
77
|
+
};
|
|
78
|
+
return (_jsx(Loading, { loading: loading, children: _jsxs(Grid, { container: true, spacing: 2, sx: { flexGrow: 1 }, children: [_jsx(Grid, { size: { xs: 12, md: userCan("edit_posts") ? 6 : 12 }, children: _jsxs(Stack, { spacing: 2, children: [_jsxs(Card, { sx: {
|
|
79
|
+
p: 2,
|
|
80
|
+
display: "flex",
|
|
81
|
+
flexDirection: "column",
|
|
82
|
+
justifyContent: "space-between",
|
|
83
|
+
gap: 2,
|
|
84
|
+
}, variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "At a Glance" }), _jsx(Divider, {}), _jsxs(Box, { sx: {
|
|
85
|
+
display: "grid",
|
|
86
|
+
gridTemplateColumns: "repeat(2, 1fr)",
|
|
87
|
+
}, children: [_jsx(AdminLink, { segment: "blog", page: "posts", disabled: !userCan("edit_posts"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.posts, " Posts"] }) }), _jsx(AdminLink, { segment: "blog", page: "pages", disabled: !userCan("edit_pages"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.pages, " Pages"] }) }), _jsx(AdminLink, { segment: "blog", page: "comments", disabled: !userCan("edit_posts"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.comments, " comments"] }) })] })] }), _jsxs(Card, { sx: {
|
|
88
|
+
p: 2,
|
|
89
|
+
display: "flex",
|
|
90
|
+
flexDirection: "column",
|
|
91
|
+
justifyContent: "space-between",
|
|
92
|
+
gap: 2,
|
|
93
|
+
}, variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "Activity" }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", children: "Recently Published" }), _jsx(Table, { children: _jsx("tbody", { children: dashboard?.activity.posts.map((post) => (_jsxs(Tr, { children: [_jsx(Td, { children: formatting.date(post.post_date, {
|
|
94
|
+
format: "MMM Do YY, h:mm a",
|
|
95
|
+
}) }), _jsx(Td, { children: _jsx(PostEditLink, { post: post }) })] }, `posts-${post.ID}`))) }) }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", bold: true, children: "Recent Comments" }), _jsx(Table, { stripe: "even", ariaLabel: "table variants", sx: { borderCollapse: "inherit" }, children: _jsx("tbody", { children: dashboard?.activity.comments.map((comment) => (_jsx(Tr, { children: _jsx(Td, { children: _jsxs(Stack, { spacing: 0.5, children: [_jsxs(Typography, { children: ["From ", _jsx("b", { children: comment.comment_author }), " on", " ", _jsx("b", { children: comment.post_title })] }), _jsx(Typography, { sx: {
|
|
96
|
+
p: 1,
|
|
97
|
+
}, children: comment.comment_content }), userCan("edit_comment", comment) && (_jsx(Comments.ActionLink, { comment: comment }))] }) }) }, `comments-${comment.comment_ID}`))) }) })] })] }) }), userCan("edit_posts") && (_jsx(Grid, { size: { xs: 12, md: 6 }, children: _jsxs(Card, { variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "Quick Drafts" }), _jsx(Divider, {}), _jsx("form", { onSubmit: submit(handleSubmit), children: _jsxs(Stack, { spacing: 1, sx: { display: "grid", gridTemplateColumns: "1fr" }, children: [_jsxs(FormControl, { children: [_jsx(FormLabel, { children: _jsx(Typography, { size: "medium", children: "Title" }) }), _jsx(Input, { size: "medium", name: "post_title" })] }), _jsxs(FormControl, { children: [_jsx(FormLabel, { children: _jsx(Typography, { size: "medium", children: "Content" }) }), _jsx(LightEditor
|
|
98
|
+
//editorKey="post-draft"
|
|
99
|
+
//initialValue=""
|
|
100
|
+
// minHeight={200}
|
|
101
|
+
// onChange={(content) => {
|
|
102
|
+
// console.log(content);
|
|
103
|
+
// setFormData({ post_content: content });
|
|
104
|
+
// }}
|
|
105
|
+
, {
|
|
106
|
+
//editorKey="post-draft"
|
|
107
|
+
//initialValue=""
|
|
108
|
+
// minHeight={200}
|
|
109
|
+
// onChange={(content) => {
|
|
110
|
+
// console.log(content);
|
|
111
|
+
// setFormData({ post_content: content });
|
|
112
|
+
// }}
|
|
113
|
+
minHeight: 200, onUpdate: (editor, transaction) => {
|
|
114
|
+
setFormData({ post_content: editor.getHTML() });
|
|
115
|
+
} })] }), _jsx(Button, { type: "submit", children: "Save Draft" })] }) }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", children: "Your Recent Drafts" }), _jsx(Table, { children: _jsx("tbody", { children: dashboard?.postDrafts.map((post) => (_jsx(Tr, { children: _jsxs(Td, { children: [_jsxs(Typography, { display: "block", children: [_jsx(PostEditLink, { post: post }), " ", formatting.date(post.post_date, {
|
|
116
|
+
format: "MMM Do YY",
|
|
117
|
+
})] }), _jsx(Box, { sx: {
|
|
118
|
+
overflow: "hidden",
|
|
119
|
+
textOverflow: "ellipsis",
|
|
120
|
+
whiteSpace: "nowrap",
|
|
121
|
+
ml: 0.5,
|
|
122
|
+
}, children: _jsx(Typography, { noWrap: true, children: post.post_content }) })] }) }, `drafts-${post.ID}`))) }) })] }) }))] }) }));
|
|
123
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare const Admin: {
|
|
2
|
+
Blogs: {
|
|
3
|
+
Create: () => import("react/jsx-runtime").JSX.Element | null;
|
|
4
|
+
Edit: () => import("react/jsx-runtime").JSX.Element | null;
|
|
5
|
+
List: () => import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
};
|
|
7
|
+
Comments: {
|
|
8
|
+
ActionLink: (props: {
|
|
9
|
+
comment: import("./comments/List").Comment;
|
|
10
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
List: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
};
|
|
13
|
+
Dashboard: () => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
Media: {
|
|
15
|
+
List: () => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
Edit: () => import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
};
|
|
18
|
+
Pages: {
|
|
19
|
+
Edit: () => import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
List: () => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
};
|
|
22
|
+
Posts: {
|
|
23
|
+
Edit: () => import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
List: () => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
};
|
|
26
|
+
Profile: () => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
Revisions: () => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
Roles: () => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
Settings: () => import("react/jsx-runtime").JSX.Element | null;
|
|
30
|
+
Sites: {
|
|
31
|
+
Create: () => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
List: () => import("react/jsx-runtime").JSX.Element | null;
|
|
33
|
+
Edit: () => import("react/jsx-runtime").JSX.Element | null;
|
|
34
|
+
Delete: () => import("react/jsx-runtime").JSX.Element | null;
|
|
35
|
+
};
|
|
36
|
+
Terms: () => import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
Users: {
|
|
38
|
+
Create: () => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
List: () => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
Edit: (props?: {
|
|
41
|
+
userId?: number;
|
|
42
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
43
|
+
Delete: () => import("react/jsx-runtime").JSX.Element | null;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/contents/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQhB,CAAC;;;;CAMF,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Blogs } from "./blogs";
|
|
2
|
+
import { Comments } from "./comments";
|
|
3
|
+
import { Dashboard } from "./dashboard";
|
|
4
|
+
import { Media } from "./media";
|
|
5
|
+
import { Pages } from "./pages";
|
|
6
|
+
import { Posts } from "./posts";
|
|
7
|
+
import { Profile } from "./profile";
|
|
8
|
+
import { Revisions } from "./revisions";
|
|
9
|
+
import { Roles } from "./roles";
|
|
10
|
+
import { Settings } from "./settings";
|
|
11
|
+
import { Sites } from "./sites";
|
|
12
|
+
import { Terms } from "./terms";
|
|
13
|
+
import { Users } from "./users";
|
|
14
|
+
export const Admin = {
|
|
15
|
+
Blogs,
|
|
16
|
+
Comments,
|
|
17
|
+
Dashboard,
|
|
18
|
+
Media,
|
|
19
|
+
Pages,
|
|
20
|
+
Posts,
|
|
21
|
+
Profile,
|
|
22
|
+
Revisions,
|
|
23
|
+
Roles,
|
|
24
|
+
Settings,
|
|
25
|
+
Sites,
|
|
26
|
+
Terms,
|
|
27
|
+
Users,
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Edit.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/media/Edit.tsx"],"names":[],"mappings":"AA2CA,eAAO,MAAM,IAAI,sDAuLhB,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, useEffect, useState } from "react";
|
|
3
|
+
import DeleteIcon from "@mui/icons-material/Delete";
|
|
4
|
+
import FileDownloadIcon from "@mui/icons-material/FileDownload";
|
|
5
|
+
import PreviewIcon from "@mui/icons-material/Preview";
|
|
6
|
+
import { Box, DialogContent, DialogTitle, Divider, Grid, IconButton, List, ListItem, Tooltip, } from "@mui/material";
|
|
7
|
+
import { Modal, ModalContent } from "@rnaga/wp-next-ui/Modal";
|
|
8
|
+
import { Typography } from "@rnaga/wp-next-ui/Typography";
|
|
9
|
+
import { getMetadaList } from "@rnaga/wp-next-core/client/utils/media";
|
|
10
|
+
import { MediaGridForm } from "@rnaga/wp-next-ui/media/MediaGridForm";
|
|
11
|
+
import { MediaTag } from "@rnaga/wp-next-ui/MediaTag";
|
|
12
|
+
import { useAdminNavigation } from "../../../hooks/use-admin-navigation";
|
|
13
|
+
import { useAdminServerActions } from "../../../hooks/use-admin-server-actions";
|
|
14
|
+
import { useWPAdmin } from "../../../wp-admin";
|
|
15
|
+
const ButtonTooltip = (props) => {
|
|
16
|
+
const { title, children, color, href = undefined, onClick } = props;
|
|
17
|
+
return (_jsx(Tooltip, { title: title, placement: "top", children: _jsx(IconButton, { color: color, component: "a", href: href, onClick: onClick, children: children }) }));
|
|
18
|
+
};
|
|
19
|
+
export const Edit = () => {
|
|
20
|
+
const { overlay, wp: { viewport, globalState }, } = useWPAdmin();
|
|
21
|
+
const { actions, safeParse } = useAdminServerActions();
|
|
22
|
+
const mediaEditModalState = globalState.get("media-edit-modal");
|
|
23
|
+
const mediaTargetItemState = globalState.get("media-target-item");
|
|
24
|
+
const { refresh } = useAdminNavigation();
|
|
25
|
+
const post = mediaTargetItemState?.post;
|
|
26
|
+
const [metadataList, setMedataList] = useState();
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!post)
|
|
29
|
+
return;
|
|
30
|
+
getMetadaList(post).then((medataList) => {
|
|
31
|
+
setMedataList(medataList);
|
|
32
|
+
});
|
|
33
|
+
}, [post?.ID]);
|
|
34
|
+
const handleTrash = () => {
|
|
35
|
+
if (!post) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
overlay.confirm.open("This action cannot be undone. This will permanently delete your item.", async (confirm) => {
|
|
39
|
+
if (!confirm) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const result = await overlay.circular.promise(actions.post.trash(post.ID).then(safeParse));
|
|
43
|
+
if (!result.success) {
|
|
44
|
+
overlay.snackbar.open("error", result.error);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
globalState.set({
|
|
48
|
+
"media-edit-modal": { open: false },
|
|
49
|
+
"media-target-item": { post: undefined },
|
|
50
|
+
});
|
|
51
|
+
refresh(["main"]);
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
if (!post || !metadataList) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return (_jsx(Modal, { open: mediaEditModalState?.open ?? false, onClose: () => {
|
|
58
|
+
globalState.set({
|
|
59
|
+
"media-target-item": { post: undefined },
|
|
60
|
+
"media-edit-modal": { open: false },
|
|
61
|
+
});
|
|
62
|
+
}, sx: { zIndex: 2 }, children: _jsxs(ModalContent, { sx: {
|
|
63
|
+
minWidth: "80%",
|
|
64
|
+
}, children: [_jsx(DialogTitle, { children: "Attachment details" }), _jsx(DialogContent, { sx: {
|
|
65
|
+
maxHeight: "70vh",
|
|
66
|
+
overflowY: "auto",
|
|
67
|
+
}, children: _jsxs(Grid, { container: true, spacing: 2, sx: {
|
|
68
|
+
flexGrow: 1,
|
|
69
|
+
}, children: [_jsx(Grid, { size: { xs: viewport.isMobile ? 12 : 7 }, children: _jsx(Box, { sx: {
|
|
70
|
+
display: "flex",
|
|
71
|
+
justifyContent: "center",
|
|
72
|
+
alignItems: "center",
|
|
73
|
+
width: "100%",
|
|
74
|
+
maxWidth: "700px",
|
|
75
|
+
}, children: _jsx(MediaTag, { post: post, slotSxProps: { icon: { fontSize: 200 } } }) }) }), _jsx(Grid, { size: { xs: viewport.isMobile ? 12 : 5 }, children: _jsxs(List, { sx: {
|
|
76
|
+
border: "1px solid",
|
|
77
|
+
borderColor: "divider",
|
|
78
|
+
borderRadius: 1,
|
|
79
|
+
}, children: [_jsx(ListItem, { sx: {
|
|
80
|
+
justifyContent: "flex-end",
|
|
81
|
+
}, children: _jsx(Box, { children: _jsx(List, { children: _jsxs(ListItem, { children: [_jsx(ButtonTooltip, { title: "Preview", color: "inherit", href: post.guid, children: _jsx(PreviewIcon, {}) }), _jsx(ButtonTooltip, { title: "Download", color: "primary", href: post.guid, children: _jsx(FileDownloadIcon, {}) }), _jsx(ButtonTooltip, { title: "Delete permanently", color: "error", onClick: handleTrash, children: _jsx(DeleteIcon, {}) })] }) }) }) }), _jsx(ListItem, { children: _jsx(Grid, { container: true, spacing: 2, sx: {
|
|
82
|
+
flexGrow: 1,
|
|
83
|
+
}, children: metadataList.map(([key, value]) => (_jsxs(Fragment, { children: [_jsx(Grid, { size: { xs: 4 }, children: _jsxs(Typography, { children: [key, ":"] }) }), _jsx(Grid, { size: { xs: 8 }, children: _jsx(Typography, { fontWeight: 300, sx: {
|
|
84
|
+
overflowWrap: "break-word",
|
|
85
|
+
}, children: value }) })] }, key))) }) }), _jsx(Divider, {}), _jsx(ListItem, { children: _jsx(MediaGridForm, {}) })] }) })] }) })] }) }));
|
|
86
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionLink.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/media/List/ActionLink.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,UAAU,GAAI,OAAO;IAChC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACzC,mDA4BA,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
|
|
4
|
+
import { PostActionLink } from "../../../../components/utils/post";
|
|
5
|
+
import { useWPAdmin } from "../../../../wp-admin";
|
|
6
|
+
export const ActionLink = (props) => {
|
|
7
|
+
const { post } = props;
|
|
8
|
+
const { wp: { globalState }, } = useWPAdmin();
|
|
9
|
+
const { userCan } = useUser();
|
|
10
|
+
// Check if user has permission to edit other posts
|
|
11
|
+
if (!userCan("edit_post", post)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return (_jsx(PostActionLink, { actionLinks: ["edit", "delete", "view", "copy"], post: post, onClickEdit: () => {
|
|
15
|
+
globalState.set({
|
|
16
|
+
"media-edit-modal": {
|
|
17
|
+
open: true,
|
|
18
|
+
},
|
|
19
|
+
"media-target-item": {
|
|
20
|
+
post,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
} }));
|
|
24
|
+
};
|