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