Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: allow to manually move dev menu to avoid conflicts #150

Merged
merged 1 commit into from
Jun 24, 2024

Conversation

okwasniewski
Copy link
Member

Summary:

This PR allows users to move dev menu to avoid conflicts with their custom ornaments.

Changelog:

[VISIONOS] [ADDED] - allow to manually move dev menu to avoid conflicts

Test Plan:

Test if dev menu ornament can be moved

@okwasniewski okwasniewski force-pushed the fix/devmenuplacement branch from 7bbc160 to e2564af Compare June 10, 2024 15:09
@thymikee
Copy link
Member

cc @thiagobrez, would you be able to test it in your app?

@thiagobrez
Copy link

@thymikee I'm using a custom setup on my app with native TabViews, so I need to add the DevMenu myself, but it is not exported.

Already synced with @okwasniewski and he is aware, he will release a fix soon

var body: some Scene {
    WindowGroup {
      TabView {
        RCTRootViewRepresentable(moduleName: "visionary")
          .tabItem {
            Label("Home", systemImage: "house.fill")
          }
        RCTRootViewRepresentable(moduleName: "SettingsScreen")
          .tabItem {
            Label("Settings", systemImage: "gear")
          }
      }

      // Works great
      .ornament(attachmentAnchor: .scene(.bottom)) {
        VStack {
          Button("Hey!") {}
        }
        .glassBackgroundEffect()
      }
      
      // Error: Cannot find 'DevMenuView' in scope
      .toolbar {
        DevMenuView(placement: .bottomOrnament)
      }
    }
  }

@okwasniewski okwasniewski force-pushed the main branch 2 times, most recently from 16c43b6 to 0589134 Compare June 21, 2024 10:55
@okwasniewski okwasniewski force-pushed the fix/devmenuplacement branch 3 times, most recently from 00524eb to d312387 Compare June 21, 2024 20:45
@okwasniewski okwasniewski force-pushed the fix/devmenuplacement branch from d312387 to 5392023 Compare June 24, 2024 09:48
@okwasniewski okwasniewski marked this pull request as ready for review June 24, 2024 09:48
@okwasniewski
Copy link
Member Author

okwasniewski commented Jun 24, 2024

After checking @thiagobrez custom solution I took a different approach. Now the dev menu is attached to RCTRootViewRepresentable so even with something totally custom you will still get the dev menu ornament:

There is no need to add it manually now.

var body: some Scene {
    WindowGroup {
      TabView {
// Move dev menu ornament to the top
        RCTRootViewRepresentable(moduleName: "visionary", devMenuSceneAnchor: .top)
          .tabItem {
            Label("Home", systemImage: "house.fill")
          }
// Remove dev menu ornament from second window
        RCTRootViewRepresentable(moduleName: "SettingsScreen", devMenuSceneAnchor: nil)
          .tabItem {
            Label("Settings", systemImage: "gear")
          }
      }
      .ornament(attachmentAnchor: .scene(.bottom)) {
        VStack {
          Button("Hey!") {}
        }
        .glassBackgroundEffect()
      }
    }
  }

CleanShot 2024-06-24 at 11 44 26@2x

@okwasniewski okwasniewski merged commit d5bf2fe into main Jun 24, 2024
11 checks passed
@okwasniewski okwasniewski deleted the fix/devmenuplacement branch June 24, 2024 10:10
okwasniewski added a commit that referenced this pull request Sep 12, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Sep 16, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Sep 16, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Sep 17, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Sep 17, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Sep 24, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Nov 18, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Nov 18, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Nov 27, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Nov 27, 2024
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Jan 7, 2025
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Jan 7, 2025
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
okwasniewski added a commit that referenced this pull request Jan 23, 2025
* feat: add multi-window support

* feat: introduce WindowManager

fix: RCTReactViewController properly check props to update

fix: use clearColor instead of systemBackgroundColor for visionOS (#125)

feat: allow to use WindowHandlingModifier outside of RCTMainWindow

fix: deep and universal links when app is running (#140)

Co-authored-by: Thiago Brezinski <[email protected]>

fix: remove window init

feat: add support for ornaments & dev menu trigger (#149)

* feat: add support for ornaments

* feat: add ornaments support to second window

fix: allow to manually move dev menu to avoid conflicts (#150)

fix: remove unnecessary diff after upstreaming changes (#151)

Make CMake 3.29.0 as minimum required version (#155)

fix: move visionOS codegen specs, sync with upstream

chore: sync with upstream

fix: remove template

Move template to a separate repo

fix: update oot-release scripts

chore: remove unnecessary diff (#159)

fix: react-native-config

chore: sync with upstream

chore: sync with upstrteam
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants