diff --git a/components/dashboard/src/components/OptionCard.tsx b/components/dashboard/src/components/OptionCard.tsx
new file mode 100644
index 00000000000000..cab23e3afa1b91
--- /dev/null
+++ b/components/dashboard/src/components/OptionCard.tsx
@@ -0,0 +1,15 @@
+export interface OptionCardProps {
+ title: string;
+ selected: boolean;
+ onClick: () => void;
+ children?: React.ReactNode;
+}
+
+function OptionCard(props: OptionCardProps) {
+ return
+
{props.title}
+ {props.children}
+
;
+}
+
+export default OptionCard;
diff --git a/components/dashboard/src/settings/DefaultIDE.tsx b/components/dashboard/src/settings/DefaultIDE.tsx
index ea0c295145de6f..08973bcfef2ac2 100644
--- a/components/dashboard/src/settings/DefaultIDE.tsx
+++ b/components/dashboard/src/settings/DefaultIDE.tsx
@@ -1,11 +1,24 @@
+import { useContext, useState } from "react";
+import OptionCard from "../components/OptionCard";
import { SettingsPage } from "../components/SettingsPage";
-import settingsMenu from './settings-menu';
+// import { getGitpodService } from "../service/service";
+import { UserContext } from "../user-context";
+import settingsMenu from "./settings-menu";
export default function DefaultIDE() {
+ const { user } = useContext(UserContext);
+ const [ defaultIde, setDefaultIde ] = useState(user?.additionalData?.ideSettings?.defaultIde || 'code');
+
return
-
- Default IDE
+
+
+
+ setDefaultIde('code')}>
+ setDefaultIde('theia')}>
+ setDefaultIde('')}>
+
+
;