feat(ui): improve mobile responsive layouts
This commit is contained in:
+5
-5
@@ -165,7 +165,7 @@ export function SubscriptionPurchaseDialog(props: Props) {
|
||||
|
||||
return (
|
||||
<Dialog open={props.open} onOpenChange={props.onOpenChange}>
|
||||
<DialogContent className='sm:max-w-md'>
|
||||
<DialogContent className='max-sm:w-[calc(100vw-1.5rem)] sm:max-w-md'>
|
||||
<DialogHeader>
|
||||
<DialogTitle className='flex items-center gap-2'>
|
||||
<Crown className='h-5 w-5' />
|
||||
@@ -173,8 +173,8 @@ export function SubscriptionPurchaseDialog(props: Props) {
|
||||
</DialogTitle>
|
||||
</DialogHeader>
|
||||
|
||||
<div className='space-y-4'>
|
||||
<div className='bg-muted/50 space-y-3 rounded-lg border p-4'>
|
||||
<div className='space-y-3 sm:space-y-4'>
|
||||
<div className='bg-muted/50 space-y-2.5 rounded-lg border p-3 sm:space-y-3 sm:p-4'>
|
||||
<div className='flex justify-between'>
|
||||
<span className='text-muted-foreground text-sm'>
|
||||
{t('Plan Name')}
|
||||
@@ -239,7 +239,7 @@ export function SubscriptionPurchaseDialog(props: Props) {
|
||||
{t('Select payment method')}
|
||||
</p>
|
||||
{(hasStripe || hasCreem) && (
|
||||
<div className='flex gap-2'>
|
||||
<div className='grid grid-cols-2 gap-2 sm:flex'>
|
||||
{hasStripe && (
|
||||
<Button
|
||||
variant='outline'
|
||||
@@ -263,7 +263,7 @@ export function SubscriptionPurchaseDialog(props: Props) {
|
||||
</div>
|
||||
)}
|
||||
{hasEpay && (
|
||||
<div className='flex gap-2'>
|
||||
<div className='grid grid-cols-[minmax(0,1fr)_auto] gap-2'>
|
||||
<Select
|
||||
value={selectedEpayMethod}
|
||||
onValueChange={setSelectedEpayMethod}
|
||||
|
||||
+9
-9
@@ -124,8 +124,8 @@ export function SubscriptionsMutateDrawer({
|
||||
}
|
||||
}}
|
||||
>
|
||||
<SheetContent className='flex w-full flex-col sm:max-w-[600px]'>
|
||||
<SheetHeader className='text-start'>
|
||||
<SheetContent className='flex h-dvh w-full flex-col gap-0 overflow-hidden p-0 sm:max-w-[600px]'>
|
||||
<SheetHeader className='border-b px-4 py-3 text-start sm:px-6 sm:py-4'>
|
||||
<SheetTitle>
|
||||
{isEdit ? t('Update plan info') : t('Create new subscription plan')}
|
||||
</SheetTitle>
|
||||
@@ -141,7 +141,7 @@ export function SubscriptionsMutateDrawer({
|
||||
<form
|
||||
id='subscription-form'
|
||||
onSubmit={form.handleSubmit(onSubmit)}
|
||||
className='flex-1 space-y-6 overflow-y-auto px-4'
|
||||
className='flex-1 space-y-4 overflow-y-auto px-3 py-3 pb-4 sm:space-y-6 sm:px-4'
|
||||
>
|
||||
{/* Basic Info */}
|
||||
<div className='space-y-4'>
|
||||
@@ -181,7 +181,7 @@ export function SubscriptionsMutateDrawer({
|
||||
)}
|
||||
/>
|
||||
|
||||
<div className='grid grid-cols-2 gap-3'>
|
||||
<div className='grid grid-cols-1 gap-3 sm:grid-cols-2'>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='price_amount'
|
||||
@@ -229,7 +229,7 @@ export function SubscriptionsMutateDrawer({
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='grid grid-cols-2 gap-3'>
|
||||
<div className='grid grid-cols-1 gap-3 sm:grid-cols-2'>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='upgrade_group'
|
||||
@@ -288,7 +288,7 @@ export function SubscriptionsMutateDrawer({
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='grid grid-cols-2 gap-3'>
|
||||
<div className='grid grid-cols-1 gap-3 sm:grid-cols-2'>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='sort_order'
|
||||
@@ -336,7 +336,7 @@ export function SubscriptionsMutateDrawer({
|
||||
{t('Duration Settings')}
|
||||
</h3>
|
||||
|
||||
<div className='grid grid-cols-2 gap-3'>
|
||||
<div className='grid grid-cols-1 gap-3 sm:grid-cols-2'>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='duration_unit'
|
||||
@@ -418,7 +418,7 @@ export function SubscriptionsMutateDrawer({
|
||||
{t('Quota Reset')}
|
||||
</h3>
|
||||
|
||||
<div className='grid grid-cols-2 gap-3'>
|
||||
<div className='grid grid-cols-1 gap-3 sm:grid-cols-2'>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='quota_reset_period'
|
||||
@@ -508,7 +508,7 @@ export function SubscriptionsMutateDrawer({
|
||||
</div>
|
||||
</form>
|
||||
</Form>
|
||||
<SheetFooter className='gap-2'>
|
||||
<SheetFooter className='grid grid-cols-2 gap-2 border-t px-4 py-3 sm:flex sm:px-6 sm:py-4'>
|
||||
<SheetClose asChild>
|
||||
<Button variant='outline'>{t('Close')}</Button>
|
||||
</SheetClose>
|
||||
|
||||
@@ -62,7 +62,7 @@ export function SubscriptionsTable() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className='space-y-4'>
|
||||
<div className='space-y-3 sm:space-y-4'>
|
||||
{isMobile ? (
|
||||
<MobileCardList
|
||||
table={table}
|
||||
|
||||
Reference in New Issue
Block a user