Builder on mobile

Desktop is recommended

The shop builder is a precision layout editor. You can continue on this device, but a desktop or rotated tablet/phone will be more reliable for detailed editing.

{{ Math.round(zoomLevel*100) }}%
By continuing use of Forumark, you agree to the Terms of Service.
{{ foyer.build_label }}

{{ foyer.hero_title }}

{{ foyer.hero_text }}

{{ foyer.how_title }}
  1. {{ idx + 1 }}
    {{ step.title }}
    {{ step.text }}
{{ card.icon }}
{{ card.title }}
{{ card.text }}
Industry windows

Browse Forumark by industry.

Premium clusters help visitors compare independent storefronts at a glance, then dive into the industries that matter to them.

Loading industries…
No published shops yet.

Industries appear here once shops are live.

Industry

{{ group.industry }}

{{ group.items.length }} shop{{ group.items.length===1?'':'s' }}
Industry cube

{{ group.industry }}

A compact 2×2 window into this segment.

{{ group.items.length }}
{{ marketKindLabel(route.name) }}

{{ marketPageTitle(route.name) }}

{{ marketPageIntro(route.name) }}

Loading {{ route.name }}…
Featured savings

Discounted {{ route.name }}

{{ discountedMarketItems(route.name).length }} live offer{{ discountedMarketItems(route.name).length===1?'':'s' }}
No {{ route.name }} yet.

Published shop catalogues will populate this page.

{{ group.industry }}

{{ route.name==='services' ? 'Services' : 'Products' }} in {{ group.industry }}

{{ group.items.length }}
Loading shop…
Cart

Your cart

Review products and services from any published shop before placing your order.

Your cart is empty.
Add products or services from any shop.
{{ group.shop_name || 'Shop' }}
{{ group.items.length }} item{{ group.items.length===1?'':'s' }}
{{ priceLabel(group.total, group.currency) }}
{{ entry.name }}
{{ priceLabel(entry.price, entry.currency) }}
{{ entry.qty }}
{{ priceLabel(entry.qty*entry.price, entry.currency) }}
Place order

Confirm delivery and instructions

Your delivery information will be shared with the seller when placing an order so the seller can contact you regarding your order and its delivery.

Thank you for your order, the seller will contact you shortly regarding your order.
{{ order.shop_name }}
{{ order.order_ref }}
{{ priceLabel(order.total, order.currency) }}
Delivery information

This information will be shared with the seller for order and delivery contact.

{{ group.shop_name }}
Order to this seller
{{ priceLabel(group.total, group.currency) }}
{{ entry.name }} × {{ entry.qty }}
{{ priceLabel(entry.qty*entry.price, entry.currency) }}
Your cart is empty.
Loading messages…
Order comments

{{ orderThread.order.order_ref }}

This is not a back-and-forth chat. Customers can add comments to clarify the placed order; sellers reply directly by email during beta.

{{ messageDirection(message)==='seller' ? 'Seller' : 'Customer comment' }}{{ message.payload.tag || ('Order: '+orderThread.order.order_ref) }} · {{ formatDate(message.created_at) }}
Message deleted
{{ message.payload.text }}
edited
No messages yet.
Add a customer comment
Seller replies inside Forumark are disabled during beta. Use the customer's email from the order notification if you need to respond.
Forumark Admin

Control room for trust, shops, and growth.

Moderate published storefronts, review seller audit responses, and watch actionable platform statistics without touching seller drafts unless a case is explicitly resolved.

Live shops
{{ admin.dashboard.counts.shops_live || 0 }}

Published storefronts visible to customers.

Homepage traffic
{{ admin.dashboard.counts.homepage_traffic || 0 }}

Marketplace landing page views.

Interactions
{{ admin.dashboard.counts.total_interactions || 0 }}

Cart adds, orders, forms and bookings.

Orders placed
{{ admin.dashboard.counts.orders_placed || 0 }}

Seller order records created.

Open audits
{{ admin.dashboard.counts.open_cases || 0 }}

Cases needing seller/admin attention.

Moderation queue
{{ admin.dashboard.counts.pending_revisions || 0 }}
Audit revisions

Sellers say they amended flagged content.

{{ admin.dashboard.counts.pending_appeals || 0 }}
Appeals

Sellers ask for reconsideration.

Commercial pulse
{{ admin.dashboard.counts.added_to_cart || 0 }}
Added to cart
{{ admin.dashboard.counts.forms_submitted || 0 }}
Forms submitted
{{ admin.dashboard.counts.bookings_submitted || 0 }}
Bookings
{{ admin.dashboard.counts.traffic || 0 }}
Shop traffic
Users

Access and compliance controls

Deny account access, downgrade seller access, or process scoped privacy requests while preserving records needed for disputes, scams, orders, audits, and legal compliance.

{{ formatDate(u.created_at) }}
{{ u.name || 'User #' + u.id }}
{{ u.email }}
AdminAccount deniedSeller blockedSeller erasedUser erased
{{ u.customer_deleted_at ? 'Erased' : (u.access_type==='seller' ? 'Seller' : (u.access_type==='disabled' ? 'Disabled' : 'Customer')) }}
{{ u.shop_count }} shops
{{ u.published_shop_count }} live - {{ u.draft_shop_count }} draft
{{ u.customer_order_count }} customer orders
{{ u.seller_order_count }} seller orders
{{ u.issue_count }} issues - {{ u.feedback_count }} feedback
No users match this filter.
Feedback

{{ admin.feedback.selected.features }}

{{ admin.feedback.selected.name }} - {{ admin.feedback.selected.email }} - {{ formatDate(admin.feedback.selected.created_at) }}

Name
{{ admin.feedback.selected.name }}
Email
{{ admin.feedback.selected.email }}
Access
{{ admin.feedback.selected.access_type }}
{{ admin.feedback.selected.message }}
Report an Issue

{{ admin.issues.selected.subject }}

{{ admin.issues.selected.issue_type_label }} - {{ admin.issues.selected.status }} - {{ formatDate(admin.issues.selected.created_at) }}

Name
{{ admin.issues.selected.name }}
Email
{{ admin.issues.selected.email }}
Access
{{ admin.issues.selected.access_type }}
Type
{{ admin.issues.selected.issue_type_label }}
Updated
{{ formatDate(admin.issues.selected.updated_at) }}
{{ admin.issues.selected.message }}
Thread
{{ msg.sender_kind==='admin' ? 'Forumark Admin' : msg.sender_name }} - {{ formatDate(msg.created_at) }}
{{ msg.message }}
Terms of Service

Unified terms sheet

This text appears in every account, the signup acceptance pane, and the floating Terms reader.

{{ admin.terms.updated_at ? formatDate(admin.terms.updated_at) : 'Not saved yet' }}
Admin inbox

Operational email command centre

Receive, send, thread, mark, delete, and template operational mail across configured Forumark sender identities.

Domain settings

Sender identities

Each identity keeps its own local part and domain. Adding [email protected] will not alter [email protected].

{{ inboxAddressPreview(addr) }} · {{ addr.provider || admin.inbox.settings.provider || 'smtp' }}
{{ inboxViewLabel(admin.inbox.view) }}
{{ selectedAdminMailbox()?.address || 'Mailbox' }}
{{ admin.inbox.threadTotal || admin.inbox.threads.length }} threads
Page {{ admin.inbox.threadPage || 1 }} / {{ adminInboxTotalPages() }}
No threads in {{ inboxViewLabel(admin.inbox.view).toLowerCase() }}.
Template manager

Saved email templates

Insert template

Choose a template for this compose

No templates yet. Open Template manager to create one.
Preview

How this email will render

{{ att.name }}
Scam advisor: {{ admin.inbox.scamReport.likelihood }} likelihood · {{ admin.inbox.scamReport.score }}%
  • {{ reason }}
{{ msg.direction==='out' ? 'Sent from' : 'From' }}: {{ msg.from?.name || msg.from?.email }} {{ msg.from?.email }}
To: {{ inboxAddressLine(msg.to) }}
CC: {{ inboxAddressLine(msg.cc) }}
{{ formatDate(msg.created_at) }}
{{ msg.subject }}
{{ msg.text_body }}
{{ msg.status }} · {{ msg.provider }}
No messages in this selected thread.
Select a thread to view the conversation history, or compose a new message.
All shops

Trace every active shop to its seller

{{ shop.name }}
{{ shop.owner }} · {{ shop.owner_email }} · /{{ shop.slug }}
{{ shop.published?'Published':'Offline' }}{{ shop.open_audit_cases }} open audit{{ shop.traffic || 0 }} visits{{ shop.total_interactions || 0 }} interactions
{{ au.role === 'co_owner' ? 'Co-owner' : 'Editor' }}: {{ au.email }}
No shops match this filter.
Moderation action

{{ admin.flagging.shop.name }}

Taking a shop down only sets it offline. Draft/live data stays preserved for revision or appeal.

{{ f.target_label }}
Select a shop to create a moderation case.
Sharing

Shop ownership and editor access log

View transfer, co-ownership, and editor-access records across all shops. Admin changes are made from the Ownership button inside the Shops tab.

{{ formatDate(item.updated_at || item.created_at) }}
{{ item.shop_name }}
{{ item.action_label }}
{{ item.status }}
{{ item.initiator_name || 'Admin' }}
{{ item.initiator_email || '' }}
{{ item.target_name || 'Target user' }}
{{ item.target_email }}
No sharing records yet.
Flagged Content

Automatic moderation signals

These are decision-support flags from upload/text checks. They do not restrict a seller until an admin takes an action.

{{ flag.content_kind === 'media' ? 'Media flag' : 'Text flag' }} #{{ flag.id }}

{{ flag.shop_name || 'Shop content' }}

{{ flag.owner_name }} · {{ flag.owner_email }} · {{ flag.target_label || 'Shop content' }} · {{ formatDate(flag.created_at) }}

{{ flag.status }}{{ flag.provider || 'local' }}{{ Math.round((flag.score || 0)*100) }}%{{ cat }}
No media preview.
Detected content

{{ flag.text_excerpt || flag.media_url || 'No excerpt available.' }}

{{ flag.note }}

No automatic flags in this view.
Case #{{ c.id }}

{{ c.shop_name }}

{{ c.seller_name }} · {{ c.seller_email }}

{{ auditStatusLabel(c.status) }} {{ c.seller_response_type }}
Reason

{{ c.reason }}

Flags
{{ f.target_label }} · Image + Text
Seller response

{{ c.seller_response_type || 'Waiting' }}

{{ c.seller_response_text }}

Last admin note

{{ c.admin_note }}

No moderation cases yet.
Shop statistics
ShopSellerTrafficTotal interactionsAdded to cartOrders initiatedOrders placedFormsBookings
{{ row.name }}
/{{ row.slug }}
{{ row.seller }}{{ row.traffic || 0 }}{{ row.total_interactions || 0 }}{{ row.added_to_cart || 0 }}{{ row.checkout_started || 0 }}{{ row.orders_placed || 0 }}{{ row.forms_submitted || 0 }}{{ row.bookings_submitted || 0 }}
Page {{ admin.statsPage || 1 }} of {{ statsTotalPages('admin') }} · {{ admin.statsTotal || 0 }} shops
Dedicated shop dashboard

{{ admin.statsDetail.shop.name }}

{{ admin.statsDetail.shop.seller }} · {{ admin.statsDetail.shop.seller_email }}

{{ card.name }}
{{ card.value }}

{{ card.desc }}

Tab traffic
{{ tab.tab_label }} · {{ tab.views }}
{{ card.name }}
{{ admin.statsDetail.period?.label || 'Selected period' }} · max {{ statChartMax(admin.statsDetail, card.key) }}
{{ statChartLastLabel(admin.statsDetail) }}
{{ tick.label }}{{ tick.label }}
{{ statChartHover('admin', card.key).label }} · {{ statChartHover('admin', card.key).value }}
Actionable notes
  • • {{ note }}
Slug Security

Reserved shop addresses

Manage every banned shop slug from one place. Exact rules block only that full slug; prefix rules block the value and values beginning with it plus a dash.

RuleTypeReasonStatusActions
/{{ rule.value }} {{ rule.rule_type }} {{ rule.reason || 'Reserved slug' }} {{ rule.enabled ? 'Blocked' : 'Disabled' }}
No slug rules are configured.
Edit slug rule

Update reserved address

Changes take effect immediately and refresh the slug-security cache.

Industry values
Source of truth for industry dropdowns

Enabled values appear in seller onboarding, the builder, and marketplace industry filters. Disabled values are preserved for later re-enabling.

EnabledIndustryStatusAction
{{ item.label }}{{ item.disabled ? 'Disabled' : 'Active' }}
No industry values yet.
Approved seller beta invitees
NameEmailStatusSourceCreatedAction
{{ r.name }}{{ r.email }}{{ r.status }}{{ r.source }}{{ formatDate(r.created_at) }}
No approved invitees yet.
Waitlist
NameEmailRoleBetaStatusMessage
{{ w.name }}{{ w.email }}{{ w.desired_role }}{{ w.request_beta_access ? 'Yes' : 'No' }}{{ w.status }}{{ w.message }}Joined beta
No waitlist entries yet.
Foyer

Homepage and public banner controls

Edit the public homepage introduction, header logo, audience cards, and beta banner while preserving the current layout structure.

Logo
Forumark logo preview
F
Intro text
How to use it
{{ idx + 1 }}
Audience cards
Beta banner
Linked phrases are shown as [[text]] in this field and rendered normally on the homepage.
Banner style preview
Homepage footer

Platform contact information

This footer appears on the homepage and is intended for Forumark/project and provider-company contact details. It can later be reused on an About page.

Forumark project details
Provider company details
Footer links
No extra footer links.
Admin settings

Access and delivery checklist

Admin access is granted server-side through the configured admin email. For production, pair this with HTTPS, a private admin path, and a proven SMTP sender domain.

Email base URL

Set ONE_BAZAAR_PUBLIC_BASE_URL so audit email buttons point back to the app.

SMTP mode

Test audit notices in Mailpit before real SMTP credentials.

Account

{{ user ? ((user.role==='seller' && !customerMode) ? 'Seller workspace' : 'Customer account') : 'Account' }}

{{ user && user.role==='seller' && !customerMode ? 'Manage shops, incoming orders, booking requests, and contact forms.' : 'Track your orders, bookings, delivery information, and messages.' }}

{{ shop.industry }}
{{ shop.name }}
{{ kw }} {{ shop.published ? 'Published' : 'Draft' }} {{ shop.access_status==='pending' ? 'Pending access' : shopAccessLabel(shop) }}

{{ shop.description }}

No shops yet.
Create one with the guided setup or skip straight to a clean starter layout.
Sharing

Ownership and editor access

Review historical requests and manage active co-owner/editor permissions without disturbing primary ownership.

Records

Requests and outcomes

{{ account.sharing.length }} records
{{ item.shop_name }}
{{ formatDate(item.updated_at || item.created_at) }} - {{ item.initiator_email || 'Admin' }} -> {{ item.target_email }}
{{ item.status }}
{{ item.action_label }}
No sharing records yet.
Permissions

Current shared access

{{ account.sharingPermissions.length }} active
{{ perm.shop_name }}
Shared with {{ perm.user_name || perm.user_email }} - {{ perm.user_email }}
Shared by {{ perm.owner_name || perm.owner_email }} - {{ perm.owner_email }}
{{ perm.role_label }}
No active shared permissions.

Current orders

Customer has requested cancellation.
The seller needs to approve cancellation because this order is being processed.
{{ order.shop_name }}
{{ order.order_ref || ('Order #'+order.id) }}
{{ formatDate(order.created_at) }}
{{ statusLabel(order.status) }} Base price {{ priceLabel(order.total, order.currency) }} !
{{ line.name }} × {{ line.qty }}
Instruction: {{ isInstructionExpanded(order,line) || !isInstructionLong(line.instruction) ? line.instruction : (String(line.instruction).slice(0,90) + '...') }}
{{ priceLabel(line.line_total, line.currency) }}
Customer: {{ Object.values(order.customer).filter(Boolean).join(' · ') }}
Select collection address

Choose a saved collection address or enter a new one for this order.

Collection address selected
{{ collectionSummary(order.collection) }}
No current orders.
Page {{ paging.orders }} / {{ pageCount(account.orders) }}

Previous orders

{{ order.shop_name }}
{{ order.order_ref || ('Order #'+order.id) }}
{{ formatDate(order.created_at) }}
{{ statusLabel(order.status) }}Base price {{ priceLabel(order.total, order.currency) }} !
{{ line.name }} × {{ line.qty }}
Instruction: {{ isInstructionExpanded(order,line) || !isInstructionLong(line.instruction) ? line.instruction : (String(line.instruction).slice(0,90) + '...') }}
{{ priceLabel(line.line_total, line.currency) }}
Customer: {{ Object.values(order.customer).filter(Boolean).join(' · ') }}
No previous orders yet.
Message full view

{{ account.selectedMessage.shop_name || 'Forumark shop' }}

{{ formatDate(account.selectedMessage.created_at) }}

Type
Form submission
Shop
{{ account.selectedMessage.shop_name || 'Forumark shop' }}
Name
{{ messageCustomerName(account.selectedMessage) }}
Email
{{ messageCustomerEmail(account.selectedMessage) || '—' }}
Phone
{{ messageCustomerPhone(account.selectedMessage) || '—' }}
Date
{{ formatDate(account.selectedMessage.created_at) }}
{{ messagePrimaryText(account.selectedMessage) }}
{{ prettyFieldKey(key) }}
{{ value }}
Message full view

{{ account.selectedMessage.shop_name || 'Forumark shop' }} {{ account.selectedMessage.order_ref || account.selectedMessage.payload?.order_ref }}

Type
{{ account.selectedMessage.kind==='order' ? 'Order comment' : 'Form submission' }}
Order ref
{{ account.selectedMessage.order_ref || account.selectedMessage.payload?.order_ref }}
Name
{{ account.selectedMessage.customer?.full_name || account.selectedMessage.customer?.name || account.selectedMessage.payload?.fields?.name || 'Customer' }}
Email
{{ account.selectedMessage.customer?.email || account.selectedMessage.payload?.fields?.email || '—' }}
Phone
{{ account.selectedMessage.customer?.phone || account.selectedMessage.payload?.fields?.phone || '—' }}
Date
{{ formatDate(account.selectedMessage.created_at) }}
{{ messagePrimaryText(account.selectedMessage) }}
{{ message.kind==='order' ? ('Order: ' + (message.order_ref || message.payload.order_ref || '')) : 'Form submission' }} {{ message.shop_name || 'Forumark shop' }} {{ messageDirection(message)==='seller' ? 'Seller sent' : 'Customer sent' }} {{ message.customer?.full_name || message.customer?.name || message.payload?.fields?.name || 'Customer' }} · {{ message.customer_code }} {{ formatDate(message.created_at) }}
{{ message.kind==='order' ? (message.payload.text || 'Order message') : (message.payload?.title || 'Contact request') }}
{{ (message.items_json||[]).map(x=>x.name).join(' · ') }}
{{ messagePrimaryText(message) }}
No messages yet.
Page {{ paging.messages }} / {{ pageCount(account.messages) }}
Customers

Customer activity overview

{{ customer.name }}
{{ customer.code }}
{{ customer.orders_count || (customer.orders?.length || 0) }} {{ customer.last_order_date ? formatDate(customer.last_order_date) : '—' }} {{ customer.messages_count || (customer.messages?.length || 0) }} {{ customer.last_message_date ? formatDate(customer.last_message_date) : '—' }} {{ customer.bookings_count || (customer.bookings?.length || 0) }} {{ customer.last_booking_date ? formatDate(customer.last_booking_date) : '—' }}
No customers yet.
Page {{ paging.customers }} / {{ pageCount(sortedCustomers) }}
Customer full view

{{ account.selectedCustomer.name }} {{ account.selectedCustomer.code }}

Order full view
{{ account.selectedCustomerOrder.shop_name || 'Forumark shop' }}
{{ account.selectedCustomerOrder.order_ref }}
{{ formatDate(account.selectedCustomerOrder.created_at) }}
Status: {{ statusLabel(account.selectedCustomerOrder.status) }}
Base price: {{ priceLabel(account.selectedCustomerOrder.total, account.selectedCustomerOrder.currency) }}
{{ line.name }} × {{ line.qty }}
Instruction: {{ line.instruction }}
Booking full view
{{ account.selectedCustomerBooking.shop_name || 'Forumark shop' }}
{{ formatDate(account.selectedCustomerBooking.starts_at) }}
{{ bookingDisplayStatus(account.selectedCustomerBooking) }}
{{ bookingMessage(account.selectedCustomerBooking) || 'No booking message.' }}
{{ account.selectedCustomerMessage.kind==='order' ? 'Order comment full view' : 'Form submission full view' }}
Shop
{{ account.selectedCustomerMessage.shop_name || 'Forumark shop' }}
Order ref
{{ account.selectedCustomerMessage.order_ref || account.selectedCustomerMessage.payload?.order_ref }}
Date
{{ formatDate(account.selectedCustomerMessage.created_at) }}
{{ messagePrimaryText(account.selectedCustomerMessage) }}
Forms and comments
Order history
Bookings
Seller audit centre

Review flagged content and respond clearly.

If a shop is taken offline for content review, amend the relevant banner/section and submit an Audit Revision, or Make Appeal if you believe the content was incorrectly flagged.

{{ c.shop_name }} · Case #{{ c.id }}
{{ auditStatusLabel(c.status) }}

{{ c.reason }}

{{ c.status }}
{{ f.target_label }}
ImageText

{{ f.note }}

Admin note

{{ c.admin_note }}

Your response: {{ c.seller_response_type }}

{{ c.seller_response_text }}

Submitted to admin review. Your shop stays offline until an admin restores it or waives the case.
This case is no longer awaiting your response.
No audit cases for your shops.
Your shop statistics

Click a row to see actionable conversion notes for that shop.

ShopTrafficTotal interactionsAdded to cartOrders initiatedOrders placedFormsBookings
{{ row.name }}
/{{ row.slug }}
{{ row.traffic || 0 }}{{ row.total_interactions || 0 }}{{ row.added_to_cart || 0 }}{{ row.checkout_started || 0 }}{{ row.orders_placed || 0 }}{{ row.forms_submitted || 0 }}{{ row.bookings_submitted || 0 }}
Page {{ account.statsPage || 1 }} of {{ statsTotalPages('seller') }} · {{ account.statsTotal || 0 }} shops
No shop statistics yet.
Dedicated shop dashboard

{{ account.statsDetail.shop.name }}

{{ card.name }}
{{ card.value }}

{{ card.desc }}

Tab traffic
{{ tab.tab_label }} · {{ tab.views }}
{{ card.name }}
{{ account.statsDetail.period?.label || 'Selected period' }} · max {{ statChartMax(account.statsDetail, card.key) }}
{{ statChartLastLabel(account.statsDetail) }}
{{ tick.label }}{{ tick.label }}
{{ statChartHover('seller', card.key).label }} · {{ statChartHover('seller', card.key).value }}
Actionable notes
  • • {{ note }}
Bookings calendar

{{ bookingCalendar.view==='month' ? 'Monthly schedule' : bookingCalendar.view==='day' ? 'Daily schedule' : 'Weekly schedule' }}

No bookings yet.
Create booking

Add a booking manually

Invitees
Selected booking

{{ bookingCalendar.selected.shop_name }}

{{ bookingDisplayStatus(bookingCalendar.selected) }}{{ formatDate(bookingCalendar.selected.starts_at) }}
Customer
{{ Object.values(bookingCalendar.selected.customer||{}).filter(Boolean).join(' · ') }}
Message
{{ bookingMessage(bookingCalendar.selected) }}
Latest activity
{{ log.label }} · {{ formatDate(log.at) }}
No activity log yet.
Counter proposal
Click a booking on the calendar to view details and seller actions.
Seller beta access

Upgrade to a seller account

Forumark is in private beta. Only approved beta testers can open seller accounts. If you are not approved, join the waitlist.

{{ user && user.role==='seller' && !customerMode ? 'Collection information' : 'Delivery information' }}
{{ user && user.role==='seller' && !customerMode ? 'Saved collection addresses' : 'Saved delivery sets' }}

{{ user && user.role==='seller' && !customerMode ? 'Saved collection addresses can be selected when an order is awaiting collection.' : 'This information will be shared with the seller when placing an order so the seller can contact you regarding your order and its delivery.' }}

Feedback record

{{ account.selectedFeedback.features }}

Submitted {{ formatDate(account.selectedFeedback.created_at) }}

Name
{{ account.selectedFeedback.name || user?.name }}
Email
{{ account.selectedFeedback.email || user?.email }}
Access
{{ account.selectedFeedback.access_type || accessTypeText(user) }}
{{ account.selectedFeedback.message }}
Report an Issue

{{ account.selectedIssue.subject }}

{{ account.selectedIssue.issue_type_label }} - {{ account.selectedIssue.status }} - {{ formatDate(account.selectedIssue.created_at) }}

Name
{{ account.selectedIssue.name || user?.name }}
Email
{{ account.selectedIssue.email || user?.email }}
Access
{{ account.selectedIssue.access_type || accessTypeText(user) }}
Updated
{{ formatDate(account.selectedIssue.updated_at) }}
{{ account.selectedIssue.message }}
Thread
{{ msg.sender_kind==='admin' ? 'Forumark Admin' : (msg.sender_name || 'You') }} - {{ formatDate(msg.created_at) }}
{{ msg.message }}
Terms of Service

Unified Forumark terms

The same terms apply to customers, sellers, admins, invitees, and visitors.

{{ terms.text || 'Terms of Service are not available yet.' }}
Secure account settings
Profile and regional defaults
Change password
Update your login secret
Privacy and account requests
Deletion and access changes

Request account deletion or downgrade to customer-only access. Required dispute, scam, security, order, audit, and legal records may be retained after any approved erasure.

Loading builder…
{{ builder.shop.name }}
{{ builder.saveState }}
Private beta

You already have seller beta access

The waitlist is only for people who still need access.

Private beta

Join the Forumark waitlist

Forumark is currently in private beta. Customers can create accounts now; seller access requires approval.

Your waitlist request has been recorded.
F

Account not created

Your information has been discarded and no Forumark account was created.

{{ auth.mode==='login' ? 'Log in' : 'Create account' }}

{{ auth.mode==='login' ? 'Welcome back' : 'Create your account' }}

{{ auth.mode==='login' ? 'Pick up where you left off.' : 'Customers can join now. Seller access is invite-only during beta.' }}

{{ auth.error }}

Password must be 12+ characters and include a capital letter, small letter, number, and sign.

Verify email
We sent a six-digit code to {{ auth.otpEmail }}. {{ auth.otpPurpose==='login' ? 'Complete verification within 10 minutes to sign in.' : 'Complete verification within 10 minutes to create your account.' }}
Terms of Service

Welcome to Forumark

{{ terms.text || 'Terms of Service are not available yet.' }}
Terms of Service

Welcome to Forumark

Review the unified Terms of Service to complete account creation.

{{ terms.text || 'Terms of Service are not available yet.' }}
Admin confirmation

Confirm password

Sensitive admin actions require a fresh password confirmation.

{{ admin.reauth.error }}
Ownership

{{ ownershipPane.admin ? 'Admin ownership control' : 'Manage shop access' }}

{{ ownershipPane.shop?.name || 'Selected shop' }}

{{ ownershipPane.admin ? 'Admin changes apply immediately and are preserved in the sharing log.' : 'The target seller must accept before any transfer, co-ownership, or editor access is applied.' }}

The new primary owner must have capacity for this shop. Co-owners keep operational history; editors only edit the builder.

Account request

Submit deletion or downgrade request

Forumark will review the request and may retain required records for fraud, dispute, tax, security, audit, or legal reasons.

{{ ui.productModal.type }}
{{ ui.productModal.product.name }}
{{ priceLabel(productFinalPrice(ui.productModal.product), ui.productModal.product.currency || ui.productModal.shop.data.meta.currency) }}

{{ ui.productModal.product.description }}

{{ currentQty(ui.productModal.product.uid, ui.productModal.shop.id) }}
Crop image
Adjust without distorting aspect ratio
Create shop

{{ createShop.skipJourney ? 'Fast manual start' : createShopSteps()[createShop.wizardStep]?.title }}

{{ createShop.skipJourney ? 'Create a clean starter layout and go straight to the builder.' : createShopSteps()[createShop.wizardStep]?.hint }}

{{ ui.slugChecks.create.message || 'Choose a unique public URL tail.' }}
Replace current design
Are you sure you want to discard the current design?

Your shop name, keywords, currency, and timezone stay, but the current page layout will be replaced by the selected preset.

{{ ui.tabNameModal.mode==='rename' ? 'Rename shop tab' : 'Create shop tab' }}

{{ ui.tabNameModal.mode==='rename' ? 'Enter a new tab name' : 'Name the new tab' }}

Tab names are shown in the shop navigation. Keep them short and clear.

{{ ui.toast }}