From 509eb4c83d2b0d224c501c7c6df5eee0295f3b19 Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Mon, 24 Mar 2025 01:11:18 +0530
Subject: [PATCH 16/21] Update CliTutorMode.js
---
src/components/cli-tutor-mode/CliTutorMode.js | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/components/cli-tutor-mode/CliTutorMode.js b/src/components/cli-tutor-mode/CliTutorMode.js
index 6c7ae41e1..b03b3c44f 100644
--- a/src/components/cli-tutor-mode/CliTutorMode.js
+++ b/src/components/cli-tutor-mode/CliTutorMode.js
@@ -1,6 +1,7 @@
import React, { Fragment } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'redux-bundler-react'
+import useCliTutorMode from '../../hooks/useCliTutorMode' // Import the custom hook
// Components
import { Modal, ModalBody, ModalActions } from '../modal/Modal.js'
@@ -56,8 +57,14 @@ export const CliTutorialModal = ({ command, t, onLeave, className, downloadConfi
}
const CliTutorMode = ({
- t, filesPage, isCliTutorModeEnabled, onLeave, isCliTutorModalOpen, command, config, showIcon, doOpenCliTutorModal
+ t, filesPage, onLeave, command, config, showIcon
}) => {
+ const {
+ isCliTutorModeEnabled,
+ isCliTutorModalOpen,
+ doOpenCliTutorModal,
+ } = useCliTutorMode() // Use the custom hook
+
const downloadConfig = (config) => {
const url = window.URL.createObjectURL(new Blob([config]))
const link = document.createElement('a')
@@ -102,8 +109,5 @@ CliTutorialModal.defaultProps = {
}
export default connect(
- 'doOpenCliTutorModal',
- 'selectIsCliTutorModalOpen',
- 'selectIsCliTutorModeEnabled',
CliTutorMode
)
From a043d45f1174f45224cf168f749e3ad23158d82a Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Mon, 24 Mar 2025 01:28:54 +0530
Subject: [PATCH 17/21] Delete src/hooks directory
---
src/hooks/useCliTutorMode.js | 47 ------------------------------------
src/hooks/useShortcut.js | 34 --------------------------
2 files changed, 81 deletions(-)
delete mode 100644 src/hooks/useCliTutorMode.js
delete mode 100644 src/hooks/useShortcut.js
diff --git a/src/hooks/useCliTutorMode.js b/src/hooks/useCliTutorMode.js
deleted file mode 100644
index cdce73a9c..000000000
--- a/src/hooks/useCliTutorMode.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useEffect } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { createAsyncResourceBundle, createSelector } from 'redux-bundler';
-
-const useCliTutorMode = () => {
- const dispatch = useDispatch();
- const isCliTutorModeEnabled = useSelector(state => state.cliTutorMode.isCliTutorModeEnabled);
- const showCliTutorModal = useSelector(state => !!state.cliTutorMode.showCliTutorModal);
- const cliOptions = useSelector(state => state.cliTutorMode.cliOptions);
-
- const doToggleCliTutorMode = (key) => {
- dispatch({
- type: 'CLI_TUTOR_MODE_TOGGLE',
- payload: key,
- });
- };
-
- const doSetCliOptions = (cliOptions) => {
- dispatch({
- type: 'CLI_OPTIONS',
- payload: cliOptions,
- });
- };
-
- const doOpenCliTutorModal = (openModal) => {
- dispatch({
- type: 'CLI_TUTOR_MODAL_ENABLE',
- payload: openModal,
- });
- };
-
- useEffect(() => {
- const isEnabled = Boolean(JSON.parse(localStorage.getItem('isCliTutorModeEnabled')));
- doToggleCliTutorMode(isEnabled);
- }, []);
-
- return {
- isCliTutorModeEnabled,
- showCliTutorModal,
- cliOptions,
- doToggleCliTutorMode,
- doSetCliOptions,
- doOpenCliTutorModal,
- };
-};
-
-export default useCliTutorMode;
diff --git a/src/hooks/useShortcut.js b/src/hooks/useShortcut.js
deleted file mode 100644
index ef937fb8b..000000000
--- a/src/hooks/useShortcut.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useState, useEffect, useRef } from 'react';
-
-const useShortcut = (props) => {
- const dropdownMenuRef = useRef();
- const [dropdown, setDropdown] = useState(false);
-
- const wrap = (name, cliOptions) => () => {
- if (name === 'onCliTutorMode' && cliOptions) {
- props.doSetCliOptions(cliOptions);
- }
- props.handleClick();
- props[name]();
- };
-
- useEffect(() => {
- if (props.autofocus && props.isOpen) {
- if (!dropdownMenuRef.current) return;
-
- const firstButton = dropdownMenuRef.current.querySelector('button');
- if (!firstButton) return;
-
- firstButton.focus();
- }
- }, [props.autofocus, props.isOpen]);
-
- return {
- dropdownMenuRef,
- dropdown,
- setDropdown,
- wrap
- };
-};
-
-export default useShortcut;
From 952e349ffdd79f5682f2f150d8dc0fd63f1e509a Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Mon, 24 Mar 2025 01:31:46 +0530
Subject: [PATCH 18/21] Update IpnsManager.js
---
src/components/ipns-manager/IpnsManager.js | 31 ++--------------------
1 file changed, 2 insertions(+), 29 deletions(-)
diff --git a/src/components/ipns-manager/IpnsManager.js b/src/components/ipns-manager/IpnsManager.js
index 0f8eb768c..95c2075d3 100644
--- a/src/components/ipns-manager/IpnsManager.js
+++ b/src/components/ipns-manager/IpnsManager.js
@@ -2,7 +2,6 @@ import React, { Fragment, useState, useRef, useMemo, useEffect } from 'react'
import { connect } from 'redux-bundler-react'
import { sortByProperty } from '../../lib/sort.js'
import { AutoSizer, Table, Column, SortDirection } from 'react-virtualized'
-import useCliTutorMode from '../../hooks/useCliTutorMode' // Import the custom hook
// Components
import Button from '../button/button.tsx'
@@ -10,6 +9,7 @@ import Overlay from '../overlay/Overlay.js'
import GenerateKeyModal from './generate-key-modal/GenerateKeyModal.js'
import RenameKeyModal from './rename-key-modal/RenameKeyModal.js'
import RemoveKeyModal from './remove-key-modal/RemoveKeyModal.js'
+
import ContextMenu from '../context-menu/ContextMenu.js'
import ContextMenuItem from '../context-menu/ContextMenuItem.js'
import GlyphDots from '../../icons/GlyphDots.js'
@@ -53,7 +53,7 @@ const OptionsCell = ({ t, name, showRenameKeyModal, showRemoveKeyModal }) => {
)
}
-export const IpnsManager = ({ t, ipfsReady, doFetchIpnsKeys, doGenerateIpnsKey, doRenameIpnsKey, doRemoveIpnsKey, doImportIpnsKey, availableGateway, ipnsKeys }) => {
+export const IpnsManager = ({ t, ipfsReady, doFetchIpnsKeys, doGenerateIpnsKey, doRenameIpnsKey, doRemoveIpnsKey, availableGateway, ipnsKeys }) => {
const [isGenerateKeyModalOpen, setGenerateKeyModalOpen] = useState(false)
const showGenerateKeyModal = () => setGenerateKeyModalOpen(true)
const hideGenerateKeyModal = () => setGenerateKeyModalOpen(false)
@@ -81,23 +81,6 @@ export const IpnsManager = ({ t, ipfsReady, doFetchIpnsKeys, doGenerateIpnsKey,
(ipnsKeys || []).sort(sortByProperty(sortSettings.sortBy, sortSettings.sortDirection === SortDirection.ASC ? 1 : -1)),
[ipnsKeys, sortSettings.sortBy, sortSettings.sortDirection])
- const handleImportKey = (event) => {
- const file = event.target.files[0]
- if (file) {
- doImportIpnsKey(file)
- }
- }
-
- // Use the CLI Tutor Mode hook
- const {
- isCliTutorModeEnabled,
- showCliTutorModal,
- cliOptions,
- doToggleCliTutorMode,
- doSetCliOptions,
- doOpenCliTutorModal,
- } = useCliTutorMode()
-
return (
@@ -153,15 +136,6 @@ export const IpnsManager = ({ t, ipfsReady, doFetchIpnsKeys, doGenerateIpnsKey,
-
-
@@ -215,6 +189,5 @@ export default connect(
'doGenerateIpnsKey',
'doRemoveIpnsKey',
'doRenameIpnsKey',
- 'doImportIpnsKey',
IpnsManager
)
From 753a6a486f8f033547b3708f7c6d82d95d23e9c1 Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Mon, 24 Mar 2025 01:33:13 +0530
Subject: [PATCH 19/21] Update cli-tutor-mode.js
---
src/bundles/cli-tutor-mode.js | 69 +++++++++++++++++++++++++----------
1 file changed, 49 insertions(+), 20 deletions(-)
diff --git a/src/bundles/cli-tutor-mode.js b/src/bundles/cli-tutor-mode.js
index 2f428085c..d5b7e4e5c 100644
--- a/src/bundles/cli-tutor-mode.js
+++ b/src/bundles/cli-tutor-mode.js
@@ -1,45 +1,74 @@
-import { createAsyncResourceBundle, createSelector } from 'redux-bundler';
-import useCliTutorMode from '../../hooks/useCliTutorMode';
+import { createAsyncResourceBundle, createSelector } from 'redux-bundler'
const bundle = createAsyncResourceBundle({
name: 'cliTutorMode',
actionBaseType: 'CLI_TUTOR_MODE_TOGGLE',
persist: true,
checkIfOnline: false,
- getPromise: () => {},
-});
+ getPromise: () => {}
+})
bundle.reactIsCliTutorModeEnabled = createSelector(
'selectIsCliTutorModeEnabled',
(isCliTutorModeEnabled) => {
- const isEnabled = Boolean(JSON.parse(localStorage.getItem('isCliTutorModeEnabled')));
+ const isEnabled = Boolean(JSON.parse(localStorage.getItem('isCliTutorModeEnabled')))
if (isCliTutorModeEnabled !== undefined && isCliTutorModeEnabled !== isEnabled) {
- localStorage.setItem('isCliTutorModeEnabled', isCliTutorModeEnabled);
+ localStorage.setItem('isCliTutorModeEnabled', isCliTutorModeEnabled)
}
}
-);
+)
-bundle.selectIsCliTutorModeEnabled = state => state.cliTutorMode.isCliTutorModeEnabled;
-bundle.selectIsCliTutorModalOpen = state => !!state.cliTutorMode.showCliTutorModal;
-bundle.selectCliOptions = state => state.cliTutorMode.cliOptions;
+bundle.selectIsCliTutorModeEnabled = state => state.cliTutorMode.isCliTutorModeEnabled
+
+bundle.selectIsCliTutorModalOpen = state => !!state.cliTutorMode.showCliTutorModal
+
+bundle.selectCliOptions = state => state.cliTutorMode.cliOptions
bundle.reducer = (state = {}, action) => {
if (action.type === 'CLI_TUTOR_MODE_TOGGLE') {
- return { ...state, isCliTutorModeEnabled: action.payload };
+ return { ...state, isCliTutorModeEnabled: action.payload }
}
if (action.type === 'CLI_TUTOR_MODAL_ENABLE') {
- return { ...state, showCliTutorModal: action.payload };
+ return { ...state, showCliTutorModal: action.payload }
}
if (action.type === 'CLI_OPTIONS') {
- return { ...state, cliOptions: action.payload };
+ return { ...state, cliOptions: action.payload }
}
- return state;
-};
-bundle.init = store => {
- const isEnabled = Boolean(JSON.parse(localStorage.getItem('isCliTutorModeEnabled')));
- return store.doToggleCliTutorMode(isEnabled);
-};
+ return state
+}
+
+bundle.doToggleCliTutorMode = key => ({ dispatch }) => {
+ dispatch({
+ type: 'CLI_TUTOR_MODE_TOGGLE',
+ payload: key
+ })
+}
-export default bundle;
+bundle.doSetCliOptions = cliOptions => ({ dispatch }) => {
+ dispatch({
+ type: 'CLI_OPTIONS',
+ payload: cliOptions
+ })
+}
+
+bundle.doOpenCliTutorModal = openModal => ({ dispatch }) => {
+ dispatch({
+ type: 'CLI_TUTOR_MODAL_ENABLE',
+ payload: openModal
+ })
+}
+
+bundle.doOpenCliTutorModal = openModal => ({ dispatch }) => {
+ dispatch({
+ type: 'CLI_TUTOR_MODAL_ENABLE',
+ payload: openModal
+ })
+}
+
+bundle.init = store => {
+ const isEnabled = Boolean(JSON.parse(localStorage.getItem('isCliTutorModeEnabled')))
+ return store.doToggleCliTutorMode(isEnabled)
+}
+export default bundle
From da26389cc8aa4422b70e997891f059f5819b3fd2 Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Mon, 24 Mar 2025 01:35:01 +0530
Subject: [PATCH 20/21] Update CliTutorMode.js
---
src/components/cli-tutor-mode/CliTutorMode.js | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/components/cli-tutor-mode/CliTutorMode.js b/src/components/cli-tutor-mode/CliTutorMode.js
index b03b3c44f..6c7ae41e1 100644
--- a/src/components/cli-tutor-mode/CliTutorMode.js
+++ b/src/components/cli-tutor-mode/CliTutorMode.js
@@ -1,7 +1,6 @@
import React, { Fragment } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'redux-bundler-react'
-import useCliTutorMode from '../../hooks/useCliTutorMode' // Import the custom hook
// Components
import { Modal, ModalBody, ModalActions } from '../modal/Modal.js'
@@ -57,14 +56,8 @@ export const CliTutorialModal = ({ command, t, onLeave, className, downloadConfi
}
const CliTutorMode = ({
- t, filesPage, onLeave, command, config, showIcon
+ t, filesPage, isCliTutorModeEnabled, onLeave, isCliTutorModalOpen, command, config, showIcon, doOpenCliTutorModal
}) => {
- const {
- isCliTutorModeEnabled,
- isCliTutorModalOpen,
- doOpenCliTutorModal,
- } = useCliTutorMode() // Use the custom hook
-
const downloadConfig = (config) => {
const url = window.URL.createObjectURL(new Blob([config]))
const link = document.createElement('a')
@@ -109,5 +102,8 @@ CliTutorialModal.defaultProps = {
}
export default connect(
+ 'doOpenCliTutorModal',
+ 'selectIsCliTutorModalOpen',
+ 'selectIsCliTutorModeEnabled',
CliTutorMode
)
From 4c0b3c751a88106fe8166434250412a741507b54 Mon Sep 17 00:00:00 2001
From: Shobit garg <122355051+shobit000@users.noreply.github.com>
Date: Wed, 2 Apr 2025 17:23:01 +0530
Subject: [PATCH 21/21] Update ipns.js
---
src/bundles/ipns.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/bundles/ipns.js b/src/bundles/ipns.js
index 71a31d090..8fc31362f 100644
--- a/src/bundles/ipns.js
+++ b/src/bundles/ipns.js
@@ -72,8 +72,8 @@ const ipnsBundle = {
reader.readAsText(file)
},
-
-
+ // moderate expectation: publishing should take no longer than average
+ // between old expectation and the length of the last publish + some buffer
doUpdateExpectedPublishTime: (time) => async ({ store, dispatch }) => {
const oldExpectedTime = store.selectExpectedPublishTime()
const avg = Math.floor((time * 1.5 + oldExpectedTime) / 2)