Skip to content

Commit 1b5f06c

Browse files
committed
[dashboard] start with options by default
1 parent 529b8ae commit 1b5f06c

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

components/dashboard/src/app/AppRoutes.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import { StartWorkspaceModalContext } from "../workspaces/start-workspace-modal-
4444
import { StartWorkspaceOptions } from "../start/start-workspace-options";
4545
import { WebsocketClients } from "./WebsocketClients";
4646
import { OrgRequiredRoute } from "./OrgRequiredRoute";
47+
import { useFeatureFlags } from "../contexts/FeatureFlagContext";
4748

4849
const Setup = React.lazy(() => import(/* webpackPrefetch: true */ "../Setup"));
4950
const WorkspacesNew = React.lazy(() => import(/* webpackPrefetch: true */ "../workspaces/WorkspacesNew"));
@@ -97,6 +98,7 @@ export const AppRoutes: FunctionComponent<AppRoutesProps> = ({ user, teams }) =>
9798
const hash = getURLHash();
9899
const { startWorkspaceModalProps, setStartWorkspaceModalProps } = useContext(StartWorkspaceModalContext);
99100
const [isWhatsNewShown, setWhatsNewShown] = useState(shouldSeeWhatsNew(user));
101+
const { startWithOptions } = useFeatureFlags();
100102

101103
// Prefix with `/#referrer` will specify an IDE for workspace
102104
// We don't need to show IDE preference in this case
@@ -127,7 +129,11 @@ export const AppRoutes: FunctionComponent<AppRoutesProps> = ({ user, teams }) =>
127129
<SelectIDEModal location="workspace_start" onClose={() => setShowUserIdePreference(false)} />
128130
</StartPage>
129131
);
130-
} else if (new URLSearchParams(window.location.search).has("showOptions")) {
132+
} else if (
133+
new URLSearchParams(window.location.search).has("showOptions") ||
134+
startWithOptions ||
135+
user?.additionalData?.isMigratedToTeamOnlyAttribution
136+
) {
131137
const props = StartWorkspaceOptions.parseSearchParams(window.location.search);
132138
return (
133139
<StartWorkspaceModal

components/dashboard/src/contexts/FeatureFlagContext.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ interface FeatureFlagConfig {
1515
}
1616

1717
const FeatureFlagContext = createContext<{
18+
startWithOptions: boolean;
1819
showUsageView: boolean;
1920
isUsageBasedBillingEnabled: boolean;
2021
showUseLastSuccessfulPrebuild: boolean;
@@ -23,6 +24,7 @@ const FeatureFlagContext = createContext<{
2324
oidcServiceEnabled: boolean;
2425
orgGitAuthProviders: boolean;
2526
}>({
27+
startWithOptions: false,
2628
showUsageView: false,
2729
isUsageBasedBillingEnabled: false,
2830
showUseLastSuccessfulPrebuild: false,
@@ -37,6 +39,7 @@ const FeatureFlagContextProvider: React.FC = ({ children }) => {
3739
const teams = useTeams();
3840
const { project } = useContext(ProjectContext);
3941
const team = useCurrentTeam();
42+
const [startWithOptions, setStartWithOptions] = useState<boolean>(false);
4043
const [showUsageView, setShowUsageView] = useState<boolean>(false);
4144
const [isUsageBasedBillingEnabled, setIsUsageBasedBillingEnabled] = useState<boolean>(false);
4245
const [showUseLastSuccessfulPrebuild, setShowUseLastSuccessfulPrebuild] = useState<boolean>(false);
@@ -49,6 +52,7 @@ const FeatureFlagContextProvider: React.FC = ({ children }) => {
4952
if (!user) return;
5053
(async () => {
5154
const featureFlags: FeatureFlagConfig = {
55+
start_with_options: { defaultValue: false, setter: setStartWithOptions },
5256
usage_view: { defaultValue: false, setter: setShowUsageView },
5357
isUsageBasedBillingEnabled: { defaultValue: false, setter: setIsUsageBasedBillingEnabled },
5458
showUseLastSuccessfulPrebuild: { defaultValue: false, setter: setShowUseLastSuccessfulPrebuild },
@@ -98,6 +102,7 @@ const FeatureFlagContextProvider: React.FC = ({ children }) => {
98102
return (
99103
<FeatureFlagContext.Provider
100104
value={{
105+
startWithOptions,
101106
showUsageView,
102107
isUsageBasedBillingEnabled,
103108
showUseLastSuccessfulPrebuild,

0 commit comments

Comments
 (0)