mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-07 18:26:37 +08:00
fix(ui): mobile modal scroll behavior (#412)
* docs: add announcement popup design spec * docs: add announcement popup implementation plan * fix(ui): change modal scroll behavior to inside for mobile screens Fixes layout issue where modal footer and action buttons are pushed off screen on mobile devices.
This commit is contained in:
@@ -662,7 +662,7 @@ export default function AdminLayout({
|
|||||||
}}
|
}}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={() => {
|
onOpenChange={() => {
|
||||||
onOpenChange();
|
onOpenChange();
|
||||||
|
|||||||
@@ -1103,7 +1103,7 @@ export default function DashboardPage() {
|
|||||||
backdrop="blur"
|
backdrop="blur"
|
||||||
isOpen={addressModalOpen}
|
isOpen={addressModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={() => setAddressModalOpen(false)}
|
onClose={() => setAddressModalOpen(false)}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4702,7 +4702,7 @@ export default function ForwardPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={modalOpen}
|
isOpen={modalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setModalOpen}
|
onOpenChange={setModalOpen}
|
||||||
>
|
>
|
||||||
@@ -4917,7 +4917,7 @@ export default function ForwardPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={deleteModalOpen}
|
isOpen={deleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setDeleteModalOpen}
|
onOpenChange={setDeleteModalOpen}
|
||||||
>
|
>
|
||||||
@@ -4962,7 +4962,7 @@ export default function ForwardPage() {
|
|||||||
base: "!w-[calc(100%-32px)] !mx-auto sm:!w-full rounded-2xl overflow-hidden",
|
base: "!w-[calc(100%-32px)] !mx-auto sm:!w-full rounded-2xl overflow-hidden",
|
||||||
}}
|
}}
|
||||||
isOpen={addressModalOpen}
|
isOpen={addressModalOpen}
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="lg"
|
size="lg"
|
||||||
onClose={() => setAddressModalOpen(false)}
|
onClose={() => setAddressModalOpen(false)}
|
||||||
>
|
>
|
||||||
@@ -5007,7 +5007,7 @@ export default function ForwardPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={exportModalOpen}
|
isOpen={exportModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={() => {
|
onClose={() => {
|
||||||
setExportModalOpen(false);
|
setExportModalOpen(false);
|
||||||
@@ -5166,7 +5166,7 @@ export default function ForwardPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={importModalOpen}
|
isOpen={importModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={() => setImportModalOpen(false)}
|
onClose={() => setImportModalOpen(false)}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -432,7 +432,7 @@ export default function LimitPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={modalOpen}
|
isOpen={modalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setModalOpen}
|
onOpenChange={setModalOpen}
|
||||||
>
|
>
|
||||||
@@ -510,7 +510,7 @@ export default function LimitPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={deleteModalOpen}
|
isOpen={deleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setDeleteModalOpen}
|
onOpenChange={setDeleteModalOpen}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -2410,7 +2410,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={dialogVisible}
|
isOpen={dialogVisible}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={() => setDialogVisible(false)}
|
onClose={() => setDialogVisible(false)}
|
||||||
>
|
>
|
||||||
@@ -2831,7 +2831,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={rollbackModalOpen}
|
isOpen={rollbackModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setRollbackModalOpen}
|
onOpenChange={setRollbackModalOpen}
|
||||||
>
|
>
|
||||||
@@ -2872,7 +2872,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={deleteModalOpen}
|
isOpen={deleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setDeleteModalOpen}
|
onOpenChange={setDeleteModalOpen}
|
||||||
>
|
>
|
||||||
@@ -2968,7 +2968,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={installCommandModal}
|
isOpen={installCommandModal}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={() => setInstallCommandModal(false)}
|
onClose={() => setInstallCommandModal(false)}
|
||||||
>
|
>
|
||||||
@@ -3025,7 +3025,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={upgradeModalOpen}
|
isOpen={upgradeModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="md"
|
size="md"
|
||||||
onOpenChange={setUpgradeModalOpen}
|
onOpenChange={setUpgradeModalOpen}
|
||||||
>
|
>
|
||||||
@@ -3131,7 +3131,7 @@ export default function NodePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={batchDeleteModalOpen}
|
isOpen={batchDeleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="md"
|
size="md"
|
||||||
onOpenChange={setBatchDeleteModalOpen}
|
onOpenChange={setBatchDeleteModalOpen}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ export default function ProfilePage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={() => {
|
onOpenChange={() => {
|
||||||
onOpenChange();
|
onOpenChange();
|
||||||
|
|||||||
@@ -2005,7 +2005,7 @@ export default function TunnelPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={modalOpen}
|
isOpen={modalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={setModalOpen}
|
onOpenChange={setModalOpen}
|
||||||
>
|
>
|
||||||
@@ -2942,7 +2942,7 @@ export default function TunnelPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={deleteModalOpen}
|
isOpen={deleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onOpenChange={handleDeleteModalOpenChange}
|
onOpenChange={handleDeleteModalOpenChange}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1455,7 +1455,7 @@ export default function UserPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isUserModalOpen}
|
isOpen={isUserModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onUserModalClose}
|
onClose={onUserModalClose}
|
||||||
>
|
>
|
||||||
@@ -1698,7 +1698,7 @@ export default function UserPage() {
|
|||||||
isDismissable={false}
|
isDismissable={false}
|
||||||
isOpen={isTunnelModalOpen}
|
isOpen={isTunnelModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onTunnelModalClose}
|
onClose={onTunnelModalClose}
|
||||||
>
|
>
|
||||||
@@ -2035,7 +2035,7 @@ export default function UserPage() {
|
|||||||
isDismissable={false}
|
isDismissable={false}
|
||||||
isOpen={isEditTunnelModalOpen}
|
isOpen={isEditTunnelModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onEditTunnelModalClose}
|
onClose={onEditTunnelModalClose}
|
||||||
>
|
>
|
||||||
@@ -2215,7 +2215,7 @@ export default function UserPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isDeleteModalOpen}
|
isOpen={isDeleteModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onDeleteModalClose}
|
onClose={onDeleteModalClose}
|
||||||
>
|
>
|
||||||
@@ -2261,7 +2261,7 @@ export default function UserPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isDeleteTunnelModalOpen}
|
isOpen={isDeleteTunnelModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onDeleteTunnelModalClose}
|
onClose={onDeleteTunnelModalClose}
|
||||||
>
|
>
|
||||||
@@ -2309,7 +2309,7 @@ export default function UserPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isResetFlowModalOpen}
|
isOpen={isResetFlowModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onResetFlowModalClose}
|
onClose={onResetFlowModalClose}
|
||||||
>
|
>
|
||||||
@@ -2401,7 +2401,7 @@ export default function UserPage() {
|
|||||||
}}
|
}}
|
||||||
isOpen={isResetTunnelFlowModalOpen}
|
isOpen={isResetTunnelFlowModalOpen}
|
||||||
placement="center"
|
placement="center"
|
||||||
scrollBehavior="outside"
|
scrollBehavior="inside"
|
||||||
size="2xl"
|
size="2xl"
|
||||||
onClose={onResetTunnelFlowModalClose}
|
onClose={onResetTunnelFlowModalClose}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user