feat: add feature flag for peek view (#7122)
This commit is contained in:
1
packages/common/env/src/global.ts
vendored
1
packages/common/env/src/global.ts
vendored
@@ -24,6 +24,7 @@ export const runtimeFlagsSchema = z.object({
|
|||||||
enablePayment: z.boolean(),
|
enablePayment: z.boolean(),
|
||||||
enablePageHistory: z.boolean(),
|
enablePageHistory: z.boolean(),
|
||||||
enableExperimentalFeature: z.boolean(),
|
enableExperimentalFeature: z.boolean(),
|
||||||
|
enablePeekView: z.boolean(),
|
||||||
allowLocalWorkspace: z.boolean(),
|
allowLocalWorkspace: z.boolean(),
|
||||||
// this is for the electron app
|
// this is for the electron app
|
||||||
serverUrlPrefix: z.string(),
|
serverUrlPrefix: z.string(),
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ const usePatchSpecs = (page: Doc, specs: BlockSpec[]) => {
|
|||||||
patchReferenceRenderer(patched, reactToLit, referenceRenderer),
|
patchReferenceRenderer(patched, reactToLit, referenceRenderer),
|
||||||
confirmModal
|
confirmModal
|
||||||
);
|
);
|
||||||
if (!page.readonly) {
|
if (!page.readonly && runtimeConfig.enablePeekView) {
|
||||||
patched = patchPeekViewService(patched, peekViewService);
|
patched = patchPeekViewService(patched, peekViewService);
|
||||||
}
|
}
|
||||||
return patched;
|
return patched;
|
||||||
|
|||||||
@@ -124,13 +124,18 @@ export class PeekViewEntity extends Entity {
|
|||||||
.map(show => show && this._active$.value !== null)
|
.map(show => show && this._active$.value !== null)
|
||||||
.distinctUntilChanged();
|
.distinctUntilChanged();
|
||||||
|
|
||||||
|
// return true if the peek view will be handled
|
||||||
open = (target: ActivePeekView['target']) => {
|
open = (target: ActivePeekView['target']) => {
|
||||||
|
if (!runtimeConfig.enablePeekView) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
const resolvedInfo = resolvePeekInfoFromPeekTarget(target);
|
const resolvedInfo = resolvePeekInfoFromPeekTarget(target);
|
||||||
if (!resolvedInfo) {
|
if (!resolvedInfo) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
this._active$.next({ target, info: resolvedInfo });
|
this._active$.next({ target, info: resolvedInfo });
|
||||||
this._show$.next(true);
|
this._show$.next(true);
|
||||||
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
close = () => {
|
close = () => {
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ export function CurrentWorkspaceModals() {
|
|||||||
<CloudQuotaModal />
|
<CloudQuotaModal />
|
||||||
)}
|
)}
|
||||||
<AiLoginRequiredModal />
|
<AiLoginRequiredModal />
|
||||||
<PeekViewManagerModal />
|
{runtimeConfig.enablePeekView && <PeekViewManagerModal />}
|
||||||
{environment.isDesktop && <FindInPageModal />}
|
{environment.isDesktop && <FindInPageModal />}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
|
|||||||
enablePayment: true,
|
enablePayment: true,
|
||||||
enablePageHistory: true,
|
enablePageHistory: true,
|
||||||
enableExperimentalFeature: false,
|
enableExperimentalFeature: false,
|
||||||
|
enablePeekView: false,
|
||||||
allowLocalWorkspace: buildFlags.distribution === 'desktop' ? true : false,
|
allowLocalWorkspace: buildFlags.distribution === 'desktop' ? true : false,
|
||||||
serverUrlPrefix: 'https://app.affine.pro',
|
serverUrlPrefix: 'https://app.affine.pro',
|
||||||
appVersion: packageJson.version,
|
appVersion: packageJson.version,
|
||||||
@@ -63,6 +64,7 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
|
|||||||
enablePayment: true,
|
enablePayment: true,
|
||||||
enablePageHistory: true,
|
enablePageHistory: true,
|
||||||
enableExperimentalFeature: true,
|
enableExperimentalFeature: true,
|
||||||
|
enablePeekView: true,
|
||||||
allowLocalWorkspace: buildFlags.distribution === 'desktop' ? true : false,
|
allowLocalWorkspace: buildFlags.distribution === 'desktop' ? true : false,
|
||||||
serverUrlPrefix: 'https://affine.fail',
|
serverUrlPrefix: 'https://affine.fail',
|
||||||
appVersion: packageJson.version,
|
appVersion: packageJson.version,
|
||||||
@@ -117,6 +119,11 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
|
|||||||
: buildFlags.mode === 'development'
|
: buildFlags.mode === 'development'
|
||||||
? true
|
? true
|
||||||
: currentBuildPreset.enablePageHistory,
|
: currentBuildPreset.enablePageHistory,
|
||||||
|
enablePeekView: process.env.ENABLE_PEEK_VIEW
|
||||||
|
? process.env.ENABLE_PEEK_VIEW === 'true'
|
||||||
|
: buildFlags.mode === 'development'
|
||||||
|
? true
|
||||||
|
: currentBuildPreset.enablePeekView,
|
||||||
allowLocalWorkspace: process.env.ALLOW_LOCAL_WORKSPACE
|
allowLocalWorkspace: process.env.ALLOW_LOCAL_WORKSPACE
|
||||||
? process.env.ALLOW_LOCAL_WORKSPACE === 'true'
|
? process.env.ALLOW_LOCAL_WORKSPACE === 'true'
|
||||||
: buildFlags.mode === 'development'
|
: buildFlags.mode === 'development'
|
||||||
|
|||||||
Reference in New Issue
Block a user