Skip to content

Commit

Permalink
v3.1.4
Browse files Browse the repository at this point in the history
v3.1.4
  • Loading branch information
KenCorma authored Oct 24, 2024
2 parents 1c1a2be + 11bea17 commit 4f2cbe1
Show file tree
Hide file tree
Showing 48 changed files with 580 additions and 808 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# 3.1.4 (2024.10.23)

[Release Link](https://github.com/Nexusoft/NexusInterface/releases/tag/v3.1.4)

#### Additions

- Nexus Core v5.1.4
- UI Pin Lock

#### Adjustments

- None

#### Fixes

- UI Fixes

# 3.1.3 (2024.2.28)

[Release Link](https://github.com/Nexusoft/NexusInterface/releases/tag/v3.1.3)
Expand Down
Binary file modified assets/darwin/cores/nexus-darwin-x64
Binary file not shown.
Binary file modified assets/linux/cores/nexus-linux-x64
Binary file not shown.
Binary file modified assets/win32/cores/nexus-win32-x64.exe
Binary file not shown.
9 changes: 3 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "nexus_wallet",
"productName": "Nexus Wallet",
"version": "3.1.3",
"version": "3.1.4",
"backwardCompatible": "2.2.0",
"buildDate": "February 28th 2024",
"buildDate": "October 23rd 2024",
"description": "User interface for the Nexus blockchain and ecosystem.",
"scripts": {
"prebuild-dev": "concurrently \"npm run build-main-dev\" \"npm run build-preload-dev\" \"node -r @babel/register ./internals/scripts/checkDll.js\" ",
Expand All @@ -21,12 +21,9 @@
"package-mac": "npm run build && electron-builder build --mac",
"package-mac-unsigned": "npm run build && electron-builder build --mac -c.mac.identity=\"null\"",
"package-win": "npm run build && electron-builder build --win --x64",
"preprod": "cross-env NODE_ENV_RUN=production_test npm run build",
"prod-test": "cross-env NODE_ENV=production NODE_ENV_RUN=production-test electron ./src/",
"start": "npm run dev",
"start-main-dev": "cross-env HOT=1 NODE_ENV=development electron ./build/main.dev.js",
"start-renderer-dev": "cross-env NODE_ENV=development webpack serve --config configs/webpack.config.renderer.dev.babel.js",
"run-tests": "./node_modules/mocha/bin/mocha tests/test.js",
"trans-extract": "node -r @babel/register ./internals/scripts/extractTranslations.js",
"update-documentation": "./UpdateDocumentation.sh",
"update-maxmind": "node -r @babel/register ./internals/scripts/UpdateMaxMind.js",
Expand Down Expand Up @@ -281,4 +278,4 @@
"react": "18.2.0"
}
}
}
}
2 changes: 1 addition & 1 deletion src/App/Header/StatusIconsTritium/SwitchUserModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import styled from '@emotion/styled';
import ControlledModal from 'components/ControlledModal';
import Icon from 'components/Icon';
import { timing } from 'styles';
import { setActiveUser, selectActiveSession } from 'lib/user';
import { setActiveUser, selectActiveSession } from 'lib/session';
import userIcon from 'icons/user.svg';

const UserWrapper = styled.div(({ theme, active, switching }) => ({
Expand Down
2 changes: 1 addition & 1 deletion src/App/Header/StatusIconsTritium/UserDropdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import SetRecoveryModal from 'components/SetRecoveryModal';
import { isLoggedIn } from 'selectors';
import { openModal, showNotification } from 'lib/ui';
import { timing, animations, consts } from 'styles';
import { logOut, selectUsername } from 'lib/user';
import { logOut, selectUsername } from 'lib/session';

import SwitchUserModal from './SwitchUserModal';

Expand Down
55 changes: 55 additions & 0 deletions src/App/Overlays/LockScreen.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import styled from '@emotion/styled';
import { keyframes } from '@emotion/react';

import FullScreen from './FullScreen';
import Button from 'components/Button';
import { confirmPin } from 'lib/dialog';
import { toggleLockScreen } from 'lib/ui';

const breathe = keyframes`
0% {
opacity: 1
}
100% {
opacity: .5
}
`;

const Wrapper = styled.div({
height: '100%',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
});

const BannerMessage = styled.div(({ theme }) => ({
color: theme.primary,
fontSize: 24,
paddingBottom: '2em',
animation: `${breathe} 2s ease 0s infinite alternate`,
}));

export default function LockedScreen() {
return (
<FullScreen width={null}>
<Wrapper>
<BannerMessage>{__('Locked')}</BannerMessage>
<Button
skin="primary"
wide
onClick={async () => {
const pin = await confirmPin({
confirmLabel: 'Unlock',
});
if (pin) {
toggleLockScreen(false);
}
}}
>
Unlock
</Button>
</Wrapper>
</FullScreen>
);
}
10 changes: 10 additions & 0 deletions src/App/Overlays/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { useSelector } from 'react-redux';
import { openModal } from 'lib/ui';

import ClosingScreen from './ClosingScreen';
import LockScreen from './LockScreen';
import SelectLanguage from './SelectLanguage';
import LicenseAgreement from './LicenseAgreement';
import LiteModeNotice from './LiteModeNotice';
Expand All @@ -20,11 +21,20 @@ export default function Overlays({ children }) {
(state) => state.settings.acceptedAgreement
);
const closing = useSelector((state) => state.ui.closing);
const locked = useSelector((state) => state.ui.locked);

if (closing) {
return <ClosingScreen />;
}

if (locked) {
return (
<Wallet>
<LockScreen />
</Wallet>
);
}

if (!locale) {
return <SelectLanguage />;
}
Expand Down
4 changes: 2 additions & 2 deletions src/App/Send/PreviewTransactionModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Tooltip from 'components/Tooltip';
import Form from 'components/Form';
import { callAPI } from 'lib/api';
import { openSuccessDialog } from 'lib/dialog';
import { loadAccounts } from 'lib/user';
import { refreshAccounts } from 'lib/user';
import { formSubmit, required } from 'lib/form';
import { timeToText } from 'utils/misc';
import WarningIcon from 'icons/warning.svg';
Expand Down Expand Up @@ -223,7 +223,7 @@ export default function PreviewTransactionModal({
onSuccess: () => {
UT.Send(source?.token ? 'token' : 'nexus');
resetSendForm();
loadAccounts();
refreshAccounts();
loadTransactions();
closeModal();
openSuccessDialog({
Expand Down
6 changes: 3 additions & 3 deletions src/App/Send/SendForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Icon from 'components/Icon';
import Button from 'components/Button';
import FormField from 'components/FormField';
import { openModal } from 'lib/ui';
import { loadAccounts, loadOwnedTokens } from 'lib/user';
import { refreshAccounts, refreshOwnedTokens } from 'lib/user';
import {
formName,
getDefaultRecipient,
Expand Down Expand Up @@ -91,8 +91,8 @@ export default function SendForm() {
const accountOptions = useSelector(selectAccountOptions);
const initialValues = useInitialValues();
useEffect(() => {
loadAccounts();
loadOwnedTokens();
refreshAccounts();
refreshOwnedTokens();
}, []);

return (
Expand Down
4 changes: 2 additions & 2 deletions src/App/Settings/Style/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import UT from 'lib/usageTracking';
import { updateSettings } from 'lib/settings';
import { switchSettingsTab, showNotification } from 'lib/ui';
import { loadCustomTheme } from 'lib/theme';
import { loadAccounts } from 'lib/user';
import { refreshAccounts } from 'lib/user';
import { walletDataDir } from 'consts/paths';
import { webGLAvailable } from 'consts/misc';
import memoize from 'utils/memoize';
Expand Down Expand Up @@ -84,7 +84,7 @@ export default function SettingsStyle() {
useEffect(() => {
switchSettingsTab('Style');
if (!defaultAddress) {
loadAccounts();
refreshAccounts();
}
}, []);

Expand Down
6 changes: 3 additions & 3 deletions src/App/Transactions/Filters.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Icon from 'components/Icon';
import Button from 'components/Button';
import Tooltip from 'components/Tooltip';
import { updateFilter } from 'lib/transactions';
import { loadOwnedTokens, loadAccounts } from 'lib/user';
import { refreshOwnedTokens, refreshAccounts } from 'lib/user';
import { openModal } from 'lib/ui';
import { debounced } from 'utils/universal';
import ListIcon from 'icons/list.svg';
Expand Down Expand Up @@ -89,8 +89,8 @@ export default function Filters({ morePadding }) {
);
const [addressInput, setAddressInput] = useState(addressQuery);
useEffect(() => {
loadOwnedTokens();
loadAccounts();
refreshOwnedTokens();
refreshAccounts();
}, []);
return (
<FiltersWrapper morePadding={morePadding}>
Expand Down
6 changes: 3 additions & 3 deletions src/App/Transactions/SelectAddressModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import ControlledModal from 'components/ControlledModal';
import NexusAddress from 'components/NexusAddress';
import TokenName from 'components/TokenName';
import { timing } from 'styles';
import { loadAccounts, loadOwnedTokens } from 'lib/user';
import { refreshAccounts, refreshOwnedTokens } from 'lib/user';
import memoize from 'utils/memoize';

__ = __context('SelectAddress');
Expand Down Expand Up @@ -68,8 +68,8 @@ export default function SelectAddressModal({ onSelect }) {
const tokens = useSelector(selectKnownTokens);
const contacts = useSelector(selectContacts);
useEffect(() => {
loadAccounts();
loadOwnedTokens();
refreshAccounts();
refreshOwnedTokens();
}, []);

return (
Expand Down
6 changes: 3 additions & 3 deletions src/App/UserPage/Accounts/RenameAccountModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import FormField from 'components/FormField';
import { formSubmit, required } from 'lib/form';
import { confirmPin, openErrorDialog } from 'lib/dialog';
import { callAPI } from 'lib/api';
import { loadAccounts } from 'lib/user';
import { refreshAccounts } from 'lib/user';
import { showNotification } from 'lib/ui';
import { createLocalNameFee } from 'lib/fees';
import { selectUsername } from 'lib/user';
import { selectUsername } from 'lib/session';
import memoize from 'utils/memoize';
import UT from 'lib/usageTracking';

Expand Down Expand Up @@ -75,7 +75,7 @@ async function submit({ name, account, username }) {
function handleSubmitSuccess({ result, name, closeModal }) {
if (!result) return; // Submission was cancelled
UT.RenameAccount();
loadAccounts();
refreshAccounts();
closeModal();
showNotification(
__('Account has been renamed to %{account_name}', {
Expand Down
6 changes: 3 additions & 3 deletions src/App/UserPage/Accounts/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useSelector } from 'react-redux';
import Icon from 'components/Icon';
import Button from 'components/Button';
import { switchUserTab, openModal } from 'lib/ui';
import { loadAccounts, loadOwnedTokens } from 'lib/user';
import { refreshAccounts, refreshOwnedTokens } from 'lib/user';
import plusIcon from 'icons/plus.svg';

import Account from './Account';
Expand All @@ -19,8 +19,8 @@ export default function Accounts() {

useEffect(() => {
switchUserTab('Accounts');
loadAccounts();
loadOwnedTokens();
refreshAccounts();
refreshOwnedTokens();
}, [session]);

return (
Expand Down
4 changes: 2 additions & 2 deletions src/App/UserPage/Assets/CreateAssetModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Icon from 'components/Icon';
import QuestionCircle from 'components/QuestionCircle';
import { formSubmit } from 'lib/form';
import { confirmPin, openSuccessDialog } from 'lib/dialog';
import { loadAssets } from 'lib/user';
import { refreshAssets } from 'lib/user';
import { callAPI } from 'lib/api';
import { createLocalNameFee } from 'lib/fees';
import plusIcon from 'icons/plus.svg';
Expand Down Expand Up @@ -96,7 +96,7 @@ export default function CreateAssetModal() {
if (!result) return; // Submission was cancelled
UT.CreateNewItem('asset');
closeModal();
loadAssets();
refreshAssets();
openSuccessDialog({
message: __('New asset has been created'),
});
Expand Down
4 changes: 2 additions & 2 deletions src/App/UserPage/Assets/EditAssetModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import InfoField from 'components/InfoField';
import Spinner from 'components/Spinner';
import { formSubmit } from 'lib/form';
import { confirmPin, openSuccessDialog } from 'lib/dialog';
import { loadAssets } from 'lib/user';
import { refreshAssets } from 'lib/user';
import { callAPI } from 'lib/api';
import { getAssetData } from 'lib/asset';
import { assetNumberTypes } from 'consts/misc';
Expand Down Expand Up @@ -44,7 +44,7 @@ export default function EditAssetModal({ schema, asset }) {
},
onSuccess: async (result, values, form) => {
if (!result) return; // Submission was cancelled
loadAssets();
refreshAssets();
form.restart();
closeModal();
openSuccessDialog({
Expand Down
6 changes: 3 additions & 3 deletions src/App/UserPage/Assets/TokenizeAssetModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import FormField from 'components/FormField';
import Spinner from 'components/Spinner';
import { formSubmit, required } from 'lib/form';
import { confirmPin, openSuccessDialog } from 'lib/dialog';
import { loadAssets, loadOwnedTokens } from 'lib/user';
import { refreshAssets, refreshOwnedTokens } from 'lib/user';
import { callAPI } from 'lib/api';
import memoize from 'utils/memoize';

Expand Down Expand Up @@ -57,7 +57,7 @@ const initialValues = {
export default function TokenizeAssetModal({ asset }) {
const tokenSuggestions = useSelector(selectTokenSuggestions);
useEffect(() => {
loadOwnedTokens();
refreshOwnedTokens();
}, []);

return (
Expand All @@ -84,7 +84,7 @@ export default function TokenizeAssetModal({ asset }) {
},
onSuccess: async (result) => {
if (!result) return; // Submission was cancelled
loadAssets();
refreshAssets();
closeModal();
openSuccessDialog({
message: __('Asset has been tokenized'),
Expand Down
4 changes: 2 additions & 2 deletions src/App/UserPage/Assets/TransferAssetModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import FormField from 'components/FormField';
import Spinner from 'components/Spinner';
import { formSubmit, required } from 'lib/form';
import { confirmPin, openSuccessDialog } from 'lib/dialog';
import { loadAssets } from 'lib/user';
import { refreshAssets } from 'lib/user';
import { callAPI } from 'lib/api';
import { userIdRegex } from 'consts/misc';

Expand Down Expand Up @@ -49,7 +49,7 @@ export default function TransferAssetModal({ asset }) {
},
onSuccess: async (result) => {
if (!result) return; // Submission was cancelled
loadAssets();
refreshAssets();
closeModal();
openSuccessDialog({
message: __('Asset has been transferred'),
Expand Down
4 changes: 2 additions & 2 deletions src/App/UserPage/Assets/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import styled from '@emotion/styled';
import Icon from 'components/Icon';
import Button from 'components/Button';
import { switchUserTab, openModal } from 'lib/ui';
import { loadAssets } from 'lib/user';
import { refreshAssets } from 'lib/user';
import plusIcon from 'icons/plus.svg';

import Asset from './Asset';
Expand All @@ -25,7 +25,7 @@ export default function Assets() {
const assets = useSelector((state) => state.user.assets);
useEffect(() => {
switchUserTab('Assets');
loadAssets();
refreshAssets();
}, [session]);

return (
Expand Down
Loading

0 comments on commit 4f2cbe1

Please sign in to comment.