diff --git a/CHANGELOG.md b/CHANGELOG.md
index 28c3318..1a10d4f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
+## [0.5.6] — 2025-06-24
+
+### Changed
+
+- Fixed white theme button disappearing issue
+
## [0.5.4] — 2025-06-12
### Changed
diff --git a/Makefile b/Makefile
index 3ea60f5..0494de2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
IMAGE?=localstack/localstack-docker-desktop
-TAG?=0.5.5
+TAG?=0.5.6
BUILDER=buildx-multi-arch
diff --git a/ui/src/components/Feedback/ConfirmableButton.tsx b/ui/src/components/Feedback/ConfirmableButton.tsx
index 1233fb4..890231c 100644
--- a/ui/src/components/Feedback/ConfirmableButton.tsx
+++ b/ui/src/components/Feedback/ConfirmableButton.tsx
@@ -79,7 +79,7 @@ export const ConfirmableButton = ({
) => {
if (rest.onClick) rest.onClick(event as any); // eslint-disable-line
setShowConfirmDialog(false);
diff --git a/ui/src/components/Header/Controller.tsx b/ui/src/components/Header/Controller.tsx
index 09afea4..aa005e2 100644
--- a/ui/src/components/Header/Controller.tsx
+++ b/ui/src/components/Header/Controller.tsx
@@ -174,7 +174,7 @@ export const Controller = (): ReactElement => {
{(isRunning && !isStarting) ?
}>
@@ -196,7 +196,7 @@ export const Controller = (): ReactElement => {
}>
diff --git a/ui/src/components/Views/Configs/ConfigPage.tsx b/ui/src/components/Views/Configs/ConfigPage.tsx
index 01d9da0..79c8f63 100644
--- a/ui/src/components/Views/Configs/ConfigPage.tsx
+++ b/ui/src/components/Views/Configs/ConfigPage.tsx
@@ -77,12 +77,12 @@ export const ConfigPage = (): ReactElement => {
}
- variant='contained'
+ variant='outlined'
onClick={() => openModalSetup()}
>
New
- mountPoint.setMountPointData({ ...mountPoint, showForm: true })}>
+ mountPoint.setMountPointData({ ...mountPoint, showForm: true })}>
Change mount point
diff --git a/ui/src/components/Views/Configs/SettingsForm.tsx b/ui/src/components/Views/Configs/SettingsForm.tsx
index 47f756b..3833305 100644
--- a/ui/src/components/Views/Configs/SettingsForm.tsx
+++ b/ui/src/components/Views/Configs/SettingsForm.tsx
@@ -25,23 +25,38 @@ import {
} from '../../../services';
import { ConfirmableButton } from '../../Feedback';
-const ShrinkedCircularProgress = (): ReactElement => ;
+const ShrinkedCircularProgress = (): ReactElement => (
+
+);
interface MountPointFormProps {
initialState: number;
}
-export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElement => {
-
- const [userState, setUserState] = useState({ loading: false, selectedUser: '', users: [] });
- const [osState, setOsState] = useState({ loading: false, selectedOS: '', OSs: [] });
+export const SettingsForm = ({
+ initialState,
+}: MountPointFormProps): ReactElement => {
+ const [userState, setUserState] = useState({
+ loading: false,
+ selectedUser: '',
+ users: [],
+ });
+ const [osState, setOsState] = useState({
+ loading: false,
+ selectedOS: '',
+ OSs: [],
+ });
const [triggerUserCheck, setTriggerUserCheck] = useState(false);
const [activeStep, setActiveStep] = useState(initialState);
const { setMountPointData, user, os } = useMountPoint();
const { client: ddClient } = useDDClient();
- const steps = ['Enable Docker Desktop option', 'Launching pro container', 'Set mount point'];
+ const steps = [
+ 'Enable Docker Desktop option',
+ 'Launching pro container',
+ 'Set mount point',
+ ];
const handleNext = () => {
if (activeStep !== steps.length - 1) {
@@ -55,9 +70,13 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
const getMountPointPath = (): string => {
if (ddClient.host.platform === 'darwin') {
- return `/Users/${userState.selectedUser || 'loading...'}/Library/Caches/localstack/volume`;
+ return `/Users/${
+ userState.selectedUser || 'loading...'
+ }/Library/Caches/localstack/volume`;
}
- return `/home/${userState.selectedUser || 'loading...'}/.cache/localstack/volume`;
+ return `/home/${
+ userState.selectedUser || 'loading...'
+ }/.cache/localstack/volume`;
};
const checkWindowsDistro = async () => {
@@ -67,7 +86,11 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
const foundOSs = getOSsFromBinary(res.stdout);
- setOsState({ loading: false, selectedOS: os || foundOSs[0], OSs: foundOSs });
+ setOsState({
+ loading: false,
+ selectedOS: os || foundOSs[0],
+ OSs: foundOSs,
+ });
setTriggerUserCheck(true);
};
@@ -77,7 +100,9 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
let res: ExecResult;
let foundUsers = [];
if (ddClient.host.platform === 'win32') {
- res = await ddClient.extension.host?.cli.exec('checkUser.cmd', [osState.selectedOS]);
+ res = await ddClient.extension.host?.cli.exec('checkUser.cmd', [
+ osState.selectedOS,
+ ]);
foundUsers = getUsersFromBinaryWindows(res.stdout);
} else {
res = await ddClient.extension.host?.cli.exec('checkUser.sh', []);
@@ -85,11 +110,17 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
}
if (res.stderr || !res.stdout) {
- ddClient.desktopUI.toast.error(`Error while locating users: ${res.stderr} using /tmp as mount point`);
+ ddClient.desktopUI.toast.error(
+ `Error while locating users: ${res.stderr} using /tmp as mount point`,
+ );
closeWithoutSetting();
}
- setUserState({ loading: false, selectedUser: user || foundUsers[0], users: foundUsers });
+ setUserState({
+ loading: false,
+ selectedUser: user || foundUsers[0],
+ users: foundUsers,
+ });
};
const locateMountPoint = async () => {
@@ -102,8 +133,10 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
useEffect(() => {
const execChecks = async () => {
- if (userState.users.length === 0
- || (ddClient.host.platform === 'win32' && osState.OSs.length === 0)) {
+ if (
+ userState.users.length === 0 ||
+ (ddClient.host.platform === 'win32' && osState.OSs.length === 0)
+ ) {
locateMountPoint();
}
};
@@ -154,94 +187,117 @@ export const SettingsForm = ({ initialState }: MountPointFormProps): ReactElemen
{label}
- ),
- )}
+ ))}
- {activeStep === 0 &&
+ {activeStep === 0 && (
<>
- Make sure to have the option "Show Docker Extensions system containers" enabled.
- To enable it visit your settings:
+ Make sure to have the option "Show Docker Extensions system
+ containers" enabled. To enable it visit your settings:
Navigate to Settings
Select the Extensions tab
- Next to Show Docker Extensions system containers, select the checkbox
+
+ Next to Show Docker Extensions system containers, select the
+ checkbox
+
In the bottom-right corner, select Apply & Restart
>
- }
- {
- activeStep === 1 &&
+ )}
+ {activeStep === 1 && (
- In order to start the Pro container, add a configuration with the variable LOCALSTACK_AUTH_TOKEN
- set to your auth token and select that configuration in the top right corner.
- API Keys are also supported, but will be deprecated in the future.
+ In order to start the Pro container, add a configuration with the
+ variable LOCALSTACK_AUTH_TOKEN set to your auth token and select
+ that configuration in the top right corner. API Keys are also
+ supported, but will be deprecated in the future.
- }
- {activeStep === 2 &&
+ )}
+ {activeStep === 2 && (
<>
-
- Default mount point settings
-
- {ddClient.host.platform === 'win32' &&
+ Default mount point settings
+
+
+ {ddClient.host.platform === 'win32' && (
<>
-
- WSL distro
-
-
+ WSL distro
+
Select in which WSL distro you want to mount the container
- {osState.loading ?
+ {osState.loading ? (
- :
-
+ ) : (
+
handleOsChange(target.value)}
+ onChange={({ target }) =>
+ handleOsChange(target.value)
+ }
>
- {osState.OSs.map(os => (
- {os}
+ {osState.OSs.map((os) => (
+
+ {os}
+
))}
- }
+
+ )}
- >}
+ >
+ )}
<>
-
- User
-
-
+ User
+
Select under which user you want to mount the container
- {userState.loading || osState.loading ?
+ {userState.loading || osState.loading ? (
- :
-
+ ) : (
+
setUserState({
- loading: userState.loading,
- selectedUser: target.value,
- users: userState.users,
- })}
+ onChange={({ target }) =>
+ setUserState({
+ loading: userState.loading,
+ selectedUser: target.value,
+ users: userState.users,
+ })
+ }
>
- {userState.users.map(user => (
- {user}
+ {userState.users.map((user) => (
+
+ {user}
+
))}
- }
+
+ )}
>
-
+
+
+
{`The LocalStack container will be mounted under ${getMountPointPath()}`}
-
- *You can still change this by overriding the LOCALSTACK_VOLUME_DIR environment variable
- >
- }
+
+
+ *You can still change this by overriding the
+ LOCALSTACK_VOLUME_DIR environment variable
+
+ >
+ )}
- {
- activeStep === steps.length - 1 ?
- <>
-
- Close
-
-
- Confirm
-
- >
- :
-
- Next
+ >
+ Close
+
+
+ Confirm
- }
+ >
+ ) : (
+
+ Next
+
+ )}
-
+
);
};
diff --git a/ui/src/components/Views/Configs/UpsertConfig.tsx b/ui/src/components/Views/Configs/UpsertConfig.tsx
index dbb5715..440c8dc 100644
--- a/ui/src/components/Views/Configs/UpsertConfig.tsx
+++ b/ui/src/components/Views/Configs/UpsertConfig.tsx
@@ -191,7 +191,7 @@ export const UpsertConfig = ({ config, open, onClose }: Props): ReactElement =>
Cancel