diff --git a/app/src/main/java/org/futo/circles/base/Constants.kt b/app/src/main/java/org/futo/circles/base/Constants.kt
index bc8926167b55b13b8b5c3a0be3e1c71fb0d2e7d2..c0408e694c921c160f8cb1df54dd738546f4fa09 100644
--- a/app/src/main/java/org/futo/circles/base/Constants.kt
+++ b/app/src/main/java/org/futo/circles/base/Constants.kt
@@ -12,5 +12,6 @@ fun getPusherUrl(): String = "https://sygnal.${getCirclesDomain()}/_matrix/push/
 
 const val DEFAULT_PUSH_GATEWAY = "https://matrix.gateway.unifiedpush.org/_matrix/push/v1/notify"
 
-const val CIRCULI_INVITE_URL_PREFIX = "https://circu.li/invite/"
+const val SHARE_ROOM_URL_PREFIX = "https://circu.li/room/"
+const val SHARE_PROFILE_URL_PREFIX = "https://circu.li/profile/"
 
diff --git a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
index 0f622fa937efd7276cf6a9dff9c018e5cd9963a0..9b2c949d9973063e9477940d2b40087dc5658433 100644
--- a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
@@ -18,7 +18,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.MainActivity
 import org.futo.circles.R
-import org.futo.circles.base.CIRCULI_INVITE_URL_PREFIX
+import org.futo.circles.base.SHARE_ROOM_URL_PREFIX
 import org.futo.circles.core.extensions.navigateSafe
 import org.futo.circles.core.extensions.observeData
 import org.futo.circles.core.extensions.setSupportActionBar
@@ -98,8 +98,8 @@ class HomeFragment : Fragment(R.layout.fragment_bottom_navigation), DeepLinkInte
 
     private fun handleOpenFromShareRoomUrl() {
         val uri = activity?.intent?.data ?: return
-        if (uri.toString().startsWith(CIRCULI_INVITE_URL_PREFIX).not()) return
-        val roomId = uri.toString().removePrefix(CIRCULI_INVITE_URL_PREFIX)
+        if (uri.toString().startsWith(SHARE_ROOM_URL_PREFIX).not()) return
+        val roomId = uri.toString().removePrefix(SHARE_ROOM_URL_PREFIX)
         findNavController().navigateSafe(HomeFragmentDirections.toRoomWellKnownDialogFragment(roomId))
         activity?.intent?.data = null
     }
diff --git a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt
index 78dbbbf3cc105626e001759e69a6d06929ef87d5..a6f8cddeddb91beab78092df3e129e21af20a45a 100644
--- a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt
@@ -3,6 +3,7 @@ package org.futo.circles.feature.room.share
 import android.os.Bundle
 import android.view.View
 import androidx.fragment.app.viewModels
+import androidx.navigation.fragment.navArgs
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.R
 import org.futo.circles.core.extensions.gone
@@ -12,6 +13,7 @@ import org.futo.circles.core.extensions.visible
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.mapping.nameOrId
 import org.futo.circles.core.model.TextShareable
+import org.futo.circles.core.provider.MatrixSessionProvider
 import org.futo.circles.core.share.ShareProvider
 import org.futo.circles.databinding.DialogFragmentShareRoomBinding
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
@@ -21,6 +23,7 @@ class ShareRoomDialogFragment :
     BaseFullscreenDialogFragment(DialogFragmentShareRoomBinding::inflate) {
 
     private val viewModel by viewModels<ShareRoomViewModel>()
+    private val args: ShareRoomDialogFragmentArgs by navArgs()
 
     private val binding by lazy {
         getBinding() as DialogFragmentShareRoomBinding
@@ -33,6 +36,8 @@ class ShareRoomDialogFragment :
     }
 
     private fun setupViews() {
+        binding.toolbar.title =
+            getString(if (args.isProfile) R.string.share_profile else R.string.share_room)
         binding.btnShare.setOnClickListener {
             ShareProvider.share(requireContext(), TextShareable(viewModel.buildInviteUrl()))
         }
@@ -54,7 +59,9 @@ class ShareRoomDialogFragment :
             vLoading.gone()
             ivQr.visible()
             ivQr.setData(viewModel.buildInviteUrl())
-            tvRoomName.text = roomSummary.nameOrId()
+            tvRoomName.text = if (args.isProfile)
+                MatrixSessionProvider.currentSession?.myUserId ?: roomSummary.nameOrId()
+            else roomSummary.nameOrId()
             tvRoomId.text = roomSummary.roomId
             btnShare.visible()
         }
diff --git a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt
index 389006677057722d206c3709d0f34c359fbc1b22..8f285c72879ae4368ce67a6b68cae8a4d264d110 100644
--- a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt
@@ -3,7 +3,8 @@ package org.futo.circles.feature.room.share
 import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
-import org.futo.circles.base.CIRCULI_INVITE_URL_PREFIX
+import org.futo.circles.base.SHARE_PROFILE_URL_PREFIX
+import org.futo.circles.base.SHARE_ROOM_URL_PREFIX
 import org.futo.circles.core.extensions.getOrThrow
 import org.futo.circles.core.provider.MatrixSessionProvider
 import javax.inject.Inject
@@ -13,10 +14,13 @@ class ShareRoomViewModel @Inject constructor(
     savedStateHandle: SavedStateHandle
 ) : ViewModel() {
 
-
     private val roomId: String = savedStateHandle.getOrThrow("roomId")
+    private val isProfile: Boolean = savedStateHandle.getOrThrow("isProfile")
+
     val roomLiveData =
         MatrixSessionProvider.currentSession?.roomService()?.getRoomSummaryLive(roomId)
 
-    fun buildInviteUrl(): String = CIRCULI_INVITE_URL_PREFIX + roomId
+    fun buildInviteUrl(): String = if (isProfile)
+        SHARE_PROFILE_URL_PREFIX + MatrixSessionProvider.currentSession?.myUserId + "/" + roomId
+    else SHARE_ROOM_URL_PREFIX + roomId
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
index 7b686aec87c9920427c556737049cca941a4449f..9be3bb5324cc3eaac8a7af221c94fd823f2c12b2 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
@@ -1,11 +1,8 @@
 package org.futo.circles.feature.settings
 
-import android.Manifest
-import android.app.Activity
 import android.os.Bundle
 import android.view.View
 import android.widget.Toast
-import androidx.activity.result.contract.ActivityResultContracts
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import androidx.fragment.app.viewModels
@@ -23,12 +20,10 @@ import org.futo.circles.core.extensions.observeResponse
 import org.futo.circles.core.extensions.showError
 import org.futo.circles.core.extensions.showSuccess
 import org.futo.circles.core.extensions.withConfirmation
-import org.futo.circles.core.picker.RuntimePermissionHelper
 import org.futo.circles.core.provider.PreferencesProvider
 import org.futo.circles.core.view.LoadingDialog
 import org.futo.circles.databinding.FragmentSettingsBinding
 import org.futo.circles.feature.home.SystemNoticesCountSharedViewModel
-import org.futo.circles.feature.settings.active_sessions.verify.qr.QrScannerActivity
 import org.futo.circles.model.DeactivateAccount
 import org.matrix.android.sdk.api.session.user.model.User
 
@@ -41,14 +36,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
     private val loadingDialog by lazy { LoadingDialog(requireContext()) }
     private val preferencesProvider by lazy { PreferencesProvider(requireContext()) }
     private val navigator by lazy { SettingsNavigator(this) }
-    private val cameraPermissionHelper = RuntimePermissionHelper(this, Manifest.permission.CAMERA)
-    private val scanActivityResultLauncher =
-        registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { activityResult ->
-            if (activityResult.resultCode == Activity.RESULT_OK) {
-                val scannedQrCode = QrScannerActivity.getResultText(activityResult.data)
-                viewModel.onProfileQrScanned(scannedQrCode)
-            }
-        }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
@@ -68,11 +55,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
             tvClearCache.setOnClickListener { viewModel.clearCash() }
             tvVersion.setOnLongClickListener { toggleDeveloperMode(); true }
             tvPushNotifications.setOnClickListener { navigator.navigateToPushSettings() }
-            ivScanProfile.setOnClickListener {
-                cameraPermissionHelper.runWithPermission {
-                    QrScannerActivity.startForResult(requireActivity(), scanActivityResultLauncher)
-                }
-            }
             ivShareProfile.setOnClickListener { navigator.navigateToShareProfile() }
         }
         setVersion()
@@ -114,8 +96,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
         viewModel.clearCacheLiveData.observeData(this) {
             (activity as? MainActivity)?.restartForClearCache()
         }
-        viewModel.scanProfileQrResultLiveData.observeResponse(this,
-            success = { showSuccess(getString(R.string.request_sent)) })
     }
 
     private fun bindProfile(user: User) {
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
index df77feb035860a96f87edd09f88c52fdd9d17d14..6578d2340ad3998e7fd7a862145b58c0359143e2 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
@@ -4,6 +4,7 @@ import androidx.navigation.fragment.findNavController
 import org.futo.circles.R
 import org.futo.circles.core.extensions.navigateSafe
 import org.futo.circles.core.extensions.showError
+import org.futo.circles.core.utils.getSharedCirclesSpaceId
 import org.futo.circles.core.utils.getSystemNoticesRoomId
 
 class SettingsNavigator(private val fragment: SettingsFragment) {
@@ -44,8 +45,16 @@ class SettingsNavigator(private val fragment: SettingsFragment) {
     }
 
     fun navigateToShareProfile() {
+        val sharedSpaceId = getSharedCirclesSpaceId() ?: kotlin.run {
+            fragment.showError(
+                fragment.requireContext().getString(R.string.shared_circles_space_not_found)
+            )
+            return
+        }
         fragment.findNavController()
-            .navigateSafe(SettingsFragmentDirections.toShareProfileDialogFragment())
+            .navigateSafe(
+                SettingsFragmentDirections.toShareProfileDialogFragment(sharedSpaceId, true)
+            )
     }
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
index 15eaa1122a9877b40fb766bca73e899e8ba0efcf..91c58b8ca01b22e7508f10ddc7b36e5a339bc502 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
@@ -24,7 +24,6 @@ class SettingsViewModel @Inject constructor(
     val deactivateLiveData = SingleEventLiveData<Response<Unit?>>()
     val navigateToMatrixChangePasswordEvent = SingleEventLiveData<Unit>()
     val changePasswordResponseLiveData = SingleEventLiveData<Response<Unit?>>()
-    val scanProfileQrResultLiveData = SingleEventLiveData<Response<Unit?>>()
     val clearCacheLiveData = SingleEventLiveData<Unit>()
 
     fun logOut() {
@@ -59,13 +58,4 @@ class SettingsViewModel @Inject constructor(
         launchBg { settingsDataSource.clearCache() }
         clearCacheLiveData.postValue(Unit)
     }
-
-    fun onProfileQrScanned(sharedCirclesSpaceId: String) {
-        launchBg {
-            val result = createResult {
-                MatrixSessionProvider.currentSession?.roomService()?.knock(sharedCirclesSpaceId)
-            }
-            scanProfileQrResultLiveData.postValue(result)
-        }
-    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt
deleted file mode 100644
index d62037ba8ec65ebafa056078a55c4c0cb6d73be7..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.futo.circles.feature.settings.profile.share
-
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.viewModels
-import dagger.hilt.android.AndroidEntryPoint
-import org.futo.circles.R
-import org.futo.circles.core.extensions.gone
-import org.futo.circles.core.extensions.observeData
-import org.futo.circles.core.extensions.showError
-import org.futo.circles.core.extensions.visible
-import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.DialogFragmentShareProfileBinding
-
-@AndroidEntryPoint
-class ShareProfileDialogFragment :
-    BaseFullscreenDialogFragment(DialogFragmentShareProfileBinding::inflate) {
-
-    private val viewModel by viewModels<ShareProfileViewModel>()
-
-    private val binding by lazy {
-        getBinding() as DialogFragmentShareProfileBinding
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        setupObServers()
-    }
-
-    private fun setupObServers() {
-        viewModel.qrProfileLiveData.observeData(this) {
-            it?.let { handelQrReady(it) } ?: run {
-                binding.vLoading.gone()
-                showError(getString(R.string.shared_circles_space_not_found))
-            }
-        }
-    }
-
-    private fun handelQrReady(qrText: String) {
-        with(binding) {
-            vLoading.gone()
-            ivQr.visible()
-            ivQr.setData(qrText)
-            tvMessage.text = qrText
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt
deleted file mode 100644
index 878d3671313201b039066933e4dc5c748bfcd9ab..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.futo.circles.feature.settings.profile.share
-
-import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.ViewModel
-import dagger.hilt.android.lifecycle.HiltViewModel
-import org.futo.circles.core.utils.getSharedCirclesSpaceId
-import javax.inject.Inject
-
-@HiltViewModel
-class ShareProfileViewModel @Inject constructor() : ViewModel() {
-
-    val qrProfileLiveData = MutableLiveData<String?>(getSharedCirclesSpaceId())
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt
index 51ab3fc9d4796253361ea5164cc79a6e13e18b27..28f9db111130fac6a4fafd63be40f1558b8b3a99 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt
@@ -95,6 +95,6 @@ class TimelineNavigator(private val fragment: TimelineDialogFragment) {
 
     fun navigateToShareRoom(roomId: String) {
         fragment.findNavController()
-            .navigateSafe(TimelineDialogFragmentDirections.toShareRoom(roomId))
+            .navigateSafe(TimelineDialogFragmentDirections.toShareRoom(roomId, false))
     }
 }
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_qr_scanner.xml b/app/src/main/res/drawable/ic_qr_scanner.xml
deleted file mode 100644
index f4a1cb380d940cbf30010be3c760f613a57f042b..0000000000000000000000000000000000000000
--- a/app/src/main/res/drawable/ic_qr_scanner.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:tint="@color/menu_icon_color"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M9.5,6.5v3h-3v-3H9.5M11,5H5v6h6V5L11,5zM9.5,14.5v3h-3v-3H9.5M11,13H5v6h6V13L11,13zM17.5,6.5v3h-3v-3H17.5M19,5h-6v6h6V5L19,5zM13,13h1.5v1.5H13V13zM14.5,14.5H16V16h-1.5V14.5zM16,13h1.5v1.5H16V13zM13,16h1.5v1.5H13V16zM14.5,17.5H16V19h-1.5V17.5zM16,16h1.5v1.5H16V16zM17.5,14.5H19V16h-1.5V14.5zM17.5,17.5H19V19h-1.5V17.5zM22,7h-2V4h-3V2h5V7zM22,22v-5h-2v3h-3v2H22zM2,22h5v-2H4v-3H2V22zM2,2v5h2V4h3V2H2z" />
-</vector>
diff --git a/app/src/main/res/layout/dialog_fragment_share_profile.xml b/app/src/main/res/layout/dialog_fragment_share_profile.xml
deleted file mode 100644
index d4e4ab801108ce135a5c2d1caba60c5ec93dd4f4..0000000000000000000000000000000000000000
--- a/app/src/main/res/layout/dialog_fragment_share_profile.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-
-    <com.google.android.material.appbar.MaterialToolbar
-        android:id="@+id/toolbar"
-        android:layout_width="0dp"
-        android:layout_height="?attr/actionBarSize"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:navigationIcon="?attr/homeAsUpIndicator"
-        app:title="@string/share_profile"
-        app:titleCentered="true" />
-
-
-    <View
-        android:id="@+id/toolbarDivider"
-        android:layout_width="0dp"
-        android:layout_height="@dimen/divider_height"
-        android:background="@color/divider_color"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/toolbar" />
-
-    <org.futo.circles.view.QrCodeImageView
-        android:id="@+id/ivQr"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_marginHorizontal="36dp"
-        android:layout_marginTop="36dp"
-        android:visibility="invisible"
-        app:layout_constraintDimensionRatio="w,1:1"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/toolbarDivider" />
-
-    <ProgressBar
-        android:id="@+id/vLoading"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/toolbarDivider"
-        app:layout_constraintVertical_bias="0.25" />
-
-    <TextView
-        android:id="@+id/tvMessage"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="36dp"
-        android:layout_marginTop="36dp"
-        android:gravity="center"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/ivQr"
-        tools:text="Aasdsadasdsaf" />
-
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_fragment_share_room.xml b/app/src/main/res/layout/dialog_fragment_share_room.xml
index 0f2e2ba4951c94669fed568f2b2050036e33fcf4..730b47dd6e80b6ed3fcb5e10c07e4c9006b7126b 100644
--- a/app/src/main/res/layout/dialog_fragment_share_room.xml
+++ b/app/src/main/res/layout/dialog_fragment_share_room.xml
@@ -14,8 +14,8 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:navigationIcon="?attr/homeAsUpIndicator"
-        app:title="@string/share_room"
-        app:titleCentered="true" />
+        app:titleCentered="true"
+        tools:title="@string/share_room" />
 
 
     <View
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 7365dfaefe9e13ad714dc54673867866b3d9e793..83a21c19ada376a3f1b8d730ef386b7b1196acc8 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -75,13 +75,12 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="16dp"
-            android:layout_marginEnd="64dp"
             android:background="?selectableItemBackgroundBorderless"
             android:clickable="true"
             android:focusable="true"
             android:padding="4dp"
             android:src="@drawable/ic_qr"
-            app:layout_constraintEnd_toStartOf="@id/ivScanProfile"
+            app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_chainStyle="packed"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/tvUserId" />
@@ -96,28 +95,6 @@
             app:layout_constraintStart_toStartOf="@id/ivShareProfile"
             app:layout_constraintTop_toBottomOf="@id/ivShareProfile" />
 
-        <ImageView
-            android:id="@+id/ivScanProfile"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:background="?selectableItemBackgroundBorderless"
-            android:clickable="true"
-            android:focusable="true"
-            android:padding="4dp"
-            android:src="@drawable/ic_qr_scanner"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toEndOf="@id/ivShareProfile"
-            app:layout_constraintTop_toTopOf="@id/ivShareProfile" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:gravity="center"
-            android:text="@string/scan_profile"
-            android:textSize="13sp"
-            app:layout_constraintEnd_toEndOf="@id/ivScanProfile"
-            app:layout_constraintStart_toStartOf="@id/ivScanProfile"
-            app:layout_constraintTop_toBottomOf="@id/ivScanProfile" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/app/src/main/res/navigation/settings_nav_graph.xml b/app/src/main/res/navigation/settings_nav_graph.xml
index dffc52160706af2265510cdc4596ffcc2f46e31f..1bc720e05b024cbc7f4134f23f7b3a01fd987d32 100644
--- a/app/src/main/res/navigation/settings_nav_graph.xml
+++ b/app/src/main/res/navigation/settings_nav_graph.xml
@@ -43,7 +43,19 @@
             app:destination="@id/reAuthStagesDialogFragment" />
         <action
             android:id="@+id/to_shareProfileDialogFragment"
-            app:destination="@id/shareProfileDialogFragment" />
+            app:destination="@id/shareRoomDialogFragment">
+
+            <argument
+                android:name="roomId"
+                app:argType="string"
+                app:nullable="false" />
+
+            <argument
+                android:name="isProfile"
+                app:argType="boolean"
+                app:nullable="false" />
+
+        </action>
         <action
             android:id="@+id/to_pushNotificationsSettingsDialogFragment"
             app:destination="@id/pushNotificationsSettingsDialogFragment" />
@@ -114,9 +126,22 @@
         tools:layout="@layout/fragment_login_stages" />
 
     <dialog
-        android:id="@+id/shareProfileDialogFragment"
-        android:name="org.futo.circles.feature.settings.profile.share.ShareProfileDialogFragment"
-        tools:layout="@layout/dialog_fragment_share_profile" />
+        android:id="@+id/shareRoomDialogFragment"
+        android:name="org.futo.circles.feature.room.share.ShareRoomDialogFragment"
+        tools:layout="@layout/dialog_fragment_share_room">
+
+        <argument
+            android:name="roomId"
+            app:argType="string"
+            app:nullable="false" />
+
+        <argument
+            android:name="isProfile"
+            app:argType="boolean"
+            app:nullable="false" />
+
+    </dialog>
+
     <dialog
         android:id="@+id/pushNotificationsSettingsDialogFragment"
         android:name="org.futo.circles.feature.notifications.settings.PushNotificationsSettingsDialogFragment"
diff --git a/app/src/main/res/navigation/timeline_nav_graph.xml b/app/src/main/res/navigation/timeline_nav_graph.xml
index 8e89a9d62f3de893276e787183f91bec6e1175ff..a28cd45a04746e430186c531d07516224bb63155 100644
--- a/app/src/main/res/navigation/timeline_nav_graph.xml
+++ b/app/src/main/res/navigation/timeline_nav_graph.xml
@@ -228,6 +228,11 @@
                 app:argType="string"
                 app:nullable="false" />
 
+            <argument
+                android:name="isProfile"
+                app:argType="boolean"
+                app:nullable="false" />
+
         </action>
 
         <action
@@ -488,6 +493,11 @@
             app:argType="string"
             app:nullable="false" />
 
+        <argument
+            android:name="isProfile"
+            app:argType="boolean"
+            app:nullable="false" />
+
     </dialog>
 
 </navigation>
\ No newline at end of file