@@ -19,7 +19,7 @@ const PageTree: FC = memo(() => {
const { data: targetId } = useCurrentPageId();
const { data: targetAndAncestorsData } = useTargetAndAncestors();
- const { data: migrationStatus } = useSWRxV5MigrationStatus(!isGuestUser);
+ const { data: migrationStatus } = useSWRxV5MigrationStatus();
// for delete modal
const [isDeleteModalOpen, setDeleteModalOpen] = useState(false);
@@ -24,5 +24,6 @@ export interface TargetAndAncestors {
export interface V5MigrationStatus {
+ isV5Compatible : boolean,
migratablePagesCount: number
}
@@ -715,8 +715,9 @@ module.exports = (crowi) => {
router.get('/v5-migration-status', accessTokenParser, loginRequired, async(req, res) => {
try {
+ const isV5Compatible = crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
const migratablePagesCount = await crowi.pageService.v5MigratablePrivatePagesCount(req.user);
- return res.apiv3({ migratablePagesCount });
+ return res.apiv3({ isV5Compatible, migratablePagesCount });
catch (err) {
return res.apiv3Err(new ErrorV3('Failed to obtain migration status'));
@@ -46,12 +46,12 @@ export const useSWRxPageChildren = (
};
export const useSWRxV5MigrationStatus = (
- shouldFetch = true,
): SWRResponse<V5MigrationStatus, Error> => {
return useSWR(
- shouldFetch ? '/pages/v5-migration-status' : null,
+ '/pages/v5-migration-status',
endpoint => apiv3Get(endpoint).then((response) => {
return {
+ isV5Compatible: response.data.isV5Compatible,
migratablePagesCount: response.data.migratablePagesCount,
}),