feat: update placeholder texts across various forms for improved user guidance

This commit is contained in:
Yoga Pangestu 2026-06-30 17:18:47 +07:00
parent 25c501c011
commit c2dbbf57ba
24 changed files with 37 additions and 37 deletions

View File

@ -65,7 +65,7 @@ function submit() {
id="login"
v-model="form.login"
type="text"
placeholder="Contoh: nama@perusahaan.com atau username"
placeholder="Masukkan email atau username"
required
/>
<FieldError :errors="formErrors(form, 'login')" />

View File

@ -215,7 +215,7 @@ function formatNumber(value: number): string {
id="retail-notes"
v-model="form.notes"
rows="2"
placeholder="Contoh: Transfer untuk kebutuhan kasir"
placeholder="Masukkan catatan transfer"
/>
</Field>
</FieldSet>

View File

@ -103,7 +103,7 @@ function submit() {
Email
</FieldLabel>
<Input id="email" v-model="form.email" type="email"
placeholder="Contoh: nama@perusahaan.com" :maxlength="FIELD_LIMITS.email" />
placeholder="Masukkan email" :maxlength="FIELD_LIMITS.email" />
<FieldError :errors="formErrors(form, 'email')" />
</Field>
@ -112,7 +112,7 @@ function submit() {
Username
</FieldLabel>
<Input id="username" v-model="form.username" type="text"
placeholder="Contoh: johndoe" :maxlength="FIELD_LIMITS.username" />
placeholder="Masukkan username" :maxlength="FIELD_LIMITS.username" />
<FieldError :errors="formErrors(form, 'username')" />
</Field>
@ -121,7 +121,7 @@ function submit() {
Nama Lengkap
</FieldLabel>
<Input id="full_name" v-model="form.full_name" type="text"
placeholder="Contoh: John Doe" :maxlength="FIELD_LIMITS.fullName" />
placeholder="Masukkan nama lengkap" :maxlength="FIELD_LIMITS.fullName" />
<FieldError :errors="formErrors(form, 'full_name')" />
</Field>
@ -166,7 +166,7 @@ function submit() {
Alamat
</FieldLabel>
<Textarea id="address" v-model="form.address"
placeholder="Contoh: Jl. Sudirman No. 123, Jakarta" rows="3" />
placeholder="Masukkan alamat" rows="3" />
<FieldError :errors="formErrors(form, 'address')" />
</Field>
</FieldGroup>

View File

@ -124,7 +124,7 @@ function submit() {
<Field>
<FieldLabel for="employee-advance-description" required>Keterangan</FieldLabel>
<Textarea id="employee-advance-description" v-model="form.description"
placeholder="Contoh: Kebutuhan mendesak" rows="3"
placeholder="Masukkan keterangan" rows="3"
:maxlength="FIELD_LIMITS.description" />
<FieldError :errors="formErrors(form, 'description')" />
</Field>

View File

@ -130,7 +130,7 @@ function submit() {
<Field>
<FieldLabel for="expense-description" required>Keterangan</FieldLabel>
<Textarea id="expense-description" v-model="form.description"
placeholder="Contoh: Pembelian perlengkapan toko" rows="3"
placeholder="Masukkan keterangan" rows="3"
:maxlength="FIELD_LIMITS.description" />
<FieldError :errors="formErrors(form, 'description')" />
</Field>

View File

@ -179,7 +179,7 @@ function submit() {
<Field>
<FieldLabel for="description" required>Keterangan</FieldLabel>
<Textarea id="description" v-model="form.description" rows="3"
:maxlength="FIELD_LIMITS.description" placeholder="Contoh: Kinerja Bagus"
:maxlength="FIELD_LIMITS.description" placeholder="Masukkan keterangan"
required />
<FieldError :errors="formErrors(form, 'description')" />
</Field>

View File

@ -130,12 +130,12 @@ function submit() {
<Field>
<FieldLabel for="email" required>Email</FieldLabel>
<Input id="email" v-model="form.email" type="email"
placeholder="Contoh: nama@perusahaan.com" :maxlength="FIELD_LIMITS.email" />
placeholder="Masukkan email" :maxlength="FIELD_LIMITS.email" />
<FieldError :errors="formErrors(form, 'email')" />
</Field>
<Field>
<FieldLabel for="username" required>Username</FieldLabel>
<Input id="username" v-model="form.username" type="text" placeholder="Contoh: johndoe"
<Input id="username" v-model="form.username" type="text" placeholder="Masukkan username"
:maxlength="FIELD_LIMITS.username" />
<FieldError :errors="formErrors(form, 'username')" />
</Field>
@ -168,7 +168,7 @@ function submit() {
<Field class="md:col-span-3">
<FieldLabel for="full_name" required>Nama Lengkap</FieldLabel>
<Input id="full_name" v-model="form.full_name" type="text"
placeholder="Contoh: John Doe" :maxlength="FIELD_LIMITS.fullName" />
placeholder="Masukkan nama lengkap" :maxlength="FIELD_LIMITS.fullName" />
<FieldError :errors="formErrors(form, 'full_name')" />
</Field>
<Field>
@ -200,7 +200,7 @@ function submit() {
<Field class="md:col-span-3">
<FieldLabel for="address">Alamat</FieldLabel>
<Textarea id="address" v-model="form.address"
placeholder="Contoh: Jl. Sudirman No. 123, Jakarta" rows="3" />
placeholder="Masukkan alamat" rows="3" />
<FieldError :errors="formErrors(form, 'address')" />
</Field>
</FieldSet>

View File

@ -77,7 +77,7 @@ function submit() {
<Field>
<FieldLabel for="reject-reason" required>Alasan Penolakan</FieldLabel>
<Textarea id="reject-reason" v-model="form.reason"
placeholder="Contoh: Kuota cuti untuk bulan ini sudah habis" rows="3" autofocus
placeholder="Masukkan alasan penolakan" rows="3" autofocus
:maxlength="FIELD_LIMITS.reason" />
<FieldError :errors="formErrors(form, 'reason')" />
</Field>

View File

@ -69,7 +69,7 @@ const emit = defineEmits<{
<Textarea
id="description"
v-model="form.description"
placeholder="Contoh: Cutting batch pagi"
placeholder="Masukkan keterangan"
rows="2"
:maxlength="FIELD_LIMITS.description"
/>

View File

@ -68,7 +68,7 @@ function submitReject() {
<Field>
<FieldLabel for="cutting-reject-reason" required>Alasan Penolakan</FieldLabel>
<Textarea id="cutting-reject-reason" v-model="rejectForm.reason"
placeholder="Contoh: Jumlah barang yang diterima tidak sesuai" rows="3" autofocus
placeholder="Masukkan alasan penolakan" rows="3" autofocus
:maxlength="FIELD_LIMITS.reason" />
<FieldError :errors="rejectForm.errors.reason
? [rejectForm.errors.reason]

View File

@ -199,7 +199,7 @@ function submitVerify() {
<Field>
<FieldLabel for="verification-note">Catatan Verifikasi</FieldLabel>
<Textarea id="verification-note" v-model="verifyForm.verification_note"
placeholder="Contoh: Terdapat 1 barang cacat jahitan saat dihitung di toko" rows="3" />
placeholder="Masukkan catatan verifikasi" rows="3" />
<FieldError
:errors="verifyForm.errors.verification_note ? [verifyForm.errors.verification_note] : []" />
</Field>

View File

@ -100,7 +100,7 @@ async function submit() {
id="quick-customer-name"
v-model="form.name"
type="text"
placeholder="Contoh: Budi Santoso"
placeholder="Masukkan nama pelanggan"
autofocus
:maxlength="FIELD_LIMITS.name"
/>
@ -116,7 +116,7 @@ async function submit() {
<PhoneNumberInput
id="quick-customer-phone"
v-model="form.phone_number"
placeholder="Contoh: 08123456789"
placeholder="Masukkan nomor telepon"
/>
</Field>
<Field>
@ -127,7 +127,7 @@ async function submit() {
id="quick-customer-address"
v-model="form.address"
rows="3"
placeholder="Contoh: Jl. Mawar No. 12, Surabaya"
placeholder="Masukkan alamat"
/>
</Field>
</FieldSet>

View File

@ -86,7 +86,7 @@ const photoState = defineModel<MediaUploadState>('photoState', { required: true
<Field>
<FieldLabel for="notes">Keterangan</FieldLabel>
<Textarea id="notes" v-model="form.notes" placeholder="Contoh: Pesanan walk-in" rows="2" />
<Textarea id="notes" v-model="form.notes" placeholder="Masukkan keterangan" rows="2" />
<FieldError :errors="formErrors(form, 'notes')" />
</Field>

View File

@ -138,7 +138,7 @@ async function submit() {
<form class="space-y-4" @submit.prevent="submit">
<Field>
<FieldLabel for="new_variant_name" required>Nama Varian</FieldLabel>
<Input id="new_variant_name" v-model="variant" type="text" placeholder="Contoh: Premium / 40s"
<Input id="new_variant_name" v-model="variant" type="text" placeholder="Masukkan nama varian"
:maxlength="FIELD_LIMITS.variantName" />
</Field>

View File

@ -60,7 +60,7 @@ const photoState = defineModel<MediaUploadState>('photoState', { required: true
<Textarea
id="notes"
v-model="form.notes"
placeholder="Contoh: Belanja batch 2"
placeholder="Masukkan keterangan"
rows="2"
:maxlength="FIELD_LIMITS.notes"
/>

View File

@ -230,7 +230,7 @@ function submitVerify() {
<Field>
<FieldLabel for="stock-verification-note">Catatan Verifikasi</FieldLabel>
<Textarea id="stock-verification-note" v-model="verifyForm.verification_note"
placeholder="Contoh: Terdapat 1 barang cacat jahitan saat dihitung di toko" rows="3" />
placeholder="Masukkan catatan verifikasi" rows="3" />
<FieldError
:errors="verifyForm.errors.verification_note ? [verifyForm.errors.verification_note] : []" />
</Field>

View File

@ -94,7 +94,7 @@ function submit() {
<FieldSet class="grid gap-4">
<Field>
<FieldLabel for="category-name" required>Nama</FieldLabel>
<Input id="category-name" v-model="form.name" type="text" placeholder="Contoh: Daster"
<Input id="category-name" v-model="form.name" type="text" placeholder="Masukkan nama kategori"
autofocus :maxlength="FIELD_LIMITS.categoryName" />
<FieldError :errors="formErrors(form, 'name')" />
</Field>

View File

@ -100,20 +100,20 @@ function submit() {
<FieldSet class="grid gap-4">
<Field>
<FieldLabel for="customer-name" required>Nama</FieldLabel>
<Input id="customer-name" v-model="form.name" type="text" placeholder="Contoh: Budi Santoso"
<Input id="customer-name" v-model="form.name" type="text" placeholder="Masukkan nama pelanggan"
autofocus :maxlength="FIELD_LIMITS.name" />
<FieldError :errors="formErrors(form, 'name')" />
</Field>
<Field>
<FieldLabel for="customer-phone-number">Nomor Telepon</FieldLabel>
<PhoneNumberInput id="customer-phone-number" v-model="form.phone_number"
placeholder="Contoh: 08123456789" />
placeholder="Masukkan nomor telepon" />
<FieldError :errors="formErrors(form, 'phone_number')" />
</Field>
<Field>
<FieldLabel for="customer-address">Alamat</FieldLabel>
<Textarea id="customer-address" v-model="form.address" rows="3"
placeholder="Contoh: Jl. Mawar No. 12, Surabaya" />
placeholder="Masukkan alamat" />
<FieldError :errors="formErrors(form, 'address')" />
</Field>
</FieldSet>

View File

@ -43,7 +43,7 @@ function isCategoryChecked(categoryIds: number[], categoryId: number): boolean {
id="name"
:model-value="form.name"
type="text"
placeholder="Contoh: Midi Olla Dress"
placeholder="Masukkan nama produk"
:maxlength="FIELD_LIMITS.name"
@update:model-value="emit('update:name', String($event))"
/>
@ -55,7 +55,7 @@ function isCategoryChecked(categoryIds: number[], categoryId: number): boolean {
<Textarea
id="description"
:model-value="form.description"
placeholder="Contoh: Hi Sobat, New arrival dari DST dengan Olla Dress. Yuks check detail produk: Detail: * Bahan Cey Flow Bordir * Ld 120 cm * PB 110 cm * Bisa jadi dress..."
placeholder="Masukkan deskripsi"
rows="4"
@update:model-value="emit('update:description', String($event))"
/>

View File

@ -61,7 +61,7 @@ const emit = defineEmits<{
:id="`variant_name_${variant.client_id}`"
:model-value="variant.name"
type="text"
placeholder="Contoh: Polkadot"
placeholder="Masukkan nama varian"
:maxlength="FIELD_LIMITS.variantName"
@update:model-value="emit('update:name', String($event))"
/>

View File

@ -40,7 +40,7 @@ defineProps<{
id="name"
v-model="form.name"
type="text"
placeholder="Contoh: Kain Katun Premium"
placeholder="Masukkan nama bahan baku"
:maxlength="FIELD_LIMITS.name"
/>
<FieldError :errors="formErrors(form, 'name')" />

View File

@ -74,7 +74,7 @@ const emit = defineEmits<{
:id="`variant_${price.client_id}`"
:model-value="price.variant"
type="text"
placeholder="Contoh: Premium / 40s"
placeholder="Masukkan nama varian"
:maxlength="FIELD_LIMITS.variantName"
@update:model-value="emit('update:variant', String($event))"
/>

View File

@ -101,19 +101,19 @@ function submit() {
<Field>
<FieldLabel for="supplier-name" required>Nama</FieldLabel>
<Input id="supplier-name" v-model="form.name" type="text"
placeholder="Contoh: PT Sumber Makmur" autofocus :maxlength="FIELD_LIMITS.name" />
placeholder="Masukkan nama supplier" autofocus :maxlength="FIELD_LIMITS.name" />
<FieldError :errors="formErrors(form, 'name')" />
</Field>
<Field>
<FieldLabel for="supplier-phone-number">Nomor Telepon</FieldLabel>
<PhoneNumberInput id="supplier-phone-number" v-model="form.phone_number"
placeholder="Contoh: 08123456789" />
placeholder="Masukkan nomor telepon" />
<FieldError :errors="formErrors(form, 'phone_number')" />
</Field>
<Field>
<FieldLabel for="supplier-address">Alamat</FieldLabel>
<Textarea id="supplier-address" v-model="form.address" rows="3"
placeholder="Contoh: Jl. Merdeka No. 45, Bandung" />
placeholder="Masukkan alamat" />
<FieldError :errors="formErrors(form, 'address')" />
</Field>
</FieldSet>

View File

@ -117,7 +117,7 @@ function submit() {
<FieldSet class="grid gap-4">
<Field>
<FieldLabel for="name" required>Nama</FieldLabel>
<Input id="name" v-model="form.name" type="text" placeholder="Contoh: admin-gudang" />
<Input id="name" v-model="form.name" type="text" placeholder="Masukkan nama role" />
<FieldError :errors="formErrors(form, 'name')" />
</Field>
</FieldSet>