Skip to content

Commit

Permalink
Right to left mode (#611)
Browse files Browse the repository at this point in the history
* Right to left mode

* Fix label

---------

Co-authored-by: Julien Nahum <[email protected]>
  • Loading branch information
chiragchhatrala and JhumanJ authored Nov 20, 2024
1 parent fbf0831 commit 62e980a
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 5 deletions.
1 change: 1 addition & 0 deletions api/app/Http/Requests/UserFormRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public function rules()
'theme' => ['required', Rule::in(Form::THEMES)],
'width' => ['required', Rule::in(Form::WIDTHS)],
'size' => ['required', Rule::in(Form::SIZES)],
'layout_rtl' => 'boolean',
'border_radius' => ['required', Rule::in(Form::BORDER_RADIUS)],
'cover_picture' => 'url|nullable',
'logo_picture' => 'url|nullable',
Expand Down
1 change: 1 addition & 0 deletions api/app/Http/Resources/FormResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ private function getProtectedForm()
'is_password_protected' => true,
'has_password' => $this->has_password,
'width' => 'centered',
'layout_rtl' => $this->layout_rtl,
'no_branding' => $this->no_branding,
'properties' => [],
'logo_picture' => $this->logo_picture,
Expand Down
1 change: 1 addition & 0 deletions api/app/Models/Forms/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class Form extends Model implements CachableAttributes
'border_radius',
'theme',
'width',
'layout_rtl',
'cover_picture',
'logo_picture',
'dark_mode',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class () extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('forms', function (Blueprint $table) {
$table->boolean('layout_rtl')->default(false);
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('forms', function (Blueprint $table) {
$table->dropColumn('layout_rtl');
});
}
};
4 changes: 2 additions & 2 deletions client/components/open/forms/OpenCompleteForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div
v-if="form"
class="open-complete-form"
:style="{ '--font-family': form.font_family }"
:style="{ '--font-family': form.font_family, 'direction': form?.layout_rtl ? 'rtl' : 'ltr' }"
>
<link
v-if="adminPreview && form.font_family"
Expand Down Expand Up @@ -147,7 +147,7 @@
key="submitted"
class="px-2"
>
<TextBlock
<TextBlock
v-if="form.submitted_text"
class="form-description text-gray-700 dark:text-gray-300 whitespace-pre-wrap"
:content="form.submitted_text"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,14 @@
label="Form Width"
help="Useful when embedding your form"
/>

<ToggleSwitchInput
name="layout_rtl"
:form="form"
class="mt-4"
label="Right-to-Left Layout"
help="Adjusts form layout for right-to-left languages."
/>

<EditorSectionHeader
icon="heroicons:tag-16-solid"
Expand All @@ -128,7 +136,8 @@
<image-input
name="cover_picture"
:form="form"
label="Color (for buttons & inputs border)"
label="Color image"
help="Not visible when form is embedded"
/>
<toggle-switch-input
name="hide_title"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,13 @@
v-if="form.logo_picture"
class="w-full mx-auto py-5 relative"
:class="{'pt-20':!form.cover_picture, 'max-w-lg': form && (form.width === 'centered'),'px-7': !isExpanded, 'px-3': isExpanded}"
:style="{ 'direction': form?.layout_rtl ? 'rtl' : 'ltr' }"
>
<img
alt="Logo Picture"
:src="coverPictureSrc(form.logo_picture)"
:class="{'top-5':!form.cover_picture, '-top-10':form.cover_picture}"
class="max-w-60 h-20 object-contain absolute left-5 transition-all"
class="max-w-60 h-20 object-contain absolute transition-all"
>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions client/composables/forms/initForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const initForm = (defaultValue = {}, withDefaultProperties = false) => {
font_family: null,
theme: "default",
width: "centered",
layout_rtl: false,
dark_mode: "auto",
color: DEFAULT_COLOR,
hide_title: false,
Expand Down
3 changes: 2 additions & 1 deletion client/pages/forms/[slug]/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
v-if="form.logo_picture"
class="w-full p-5 relative mx-auto"
:class="{'pt-20':!form.cover_picture, 'md:w-3/5 lg:w-1/2 md:max-w-2xl': form.width === 'centered', 'max-w-7xl': (form.width === 'full' && !isIframe) }"
:style="{ 'direction': form?.layout_rtl ? 'rtl' : 'ltr' }"
>
<img
alt="Logo Picture"
:src="form.logo_picture"
:class="{'top-5':!form.cover_picture, '-top-10':form.cover_picture}"
class="w-20 h-20 object-contain absolute left-5 transition-all"
class="w-20 h-20 object-contain absolute transition-all"
>
</div>
</div>
Expand Down

0 comments on commit 62e980a

Please sign in to comment.