/*************************************** * Wix Velo: Body Type Quiz (Somatotype) * - Counts answers across 3 columns: * ECTOMORPH / MESOMORPH / ENDOMORPH * - Shows a result box + recommended CTA * - (Optional) Saves submission to a collection * * HOW TO USE (quick): * 1) Add 8 RadioGroup elements to your page: * #q1, #q2, #q3, #q4, #q5, #q6, #q7, #q8 * Each must have 3 options in the same order: * 1st = Ectomorph, 2nd = Mesomorph, 3rd = Endomorph * * 2) Add: * Button: #submitBtn * Text: #resultTitle * Text: #resultSubtitle * Box: #resultBox * Button: #bookBtn (optional, link to booking) * * 3) (Optional) Create a collection "BodyTypeQuizSubmissions" * fields (suggested): * name (text), email (text), * ectoScore (number), mesoScore (number), endoScore (number), * resultType (text), isHybrid (boolean), * createdAt (date/time) [Wix adds _createdDate automatically] * * 4) Turn ON Dev Mode and paste this into the page code. ***************************************/ import wixData from "wix-data"; import wixLocation from "wix-location"; const QUESTIONS = [ { id: "#q1", label: "Frame" }, { id: "#q2", label: "Weight gain area" }, { id: "#q3", label: "Metabolism" }, { id: "#q4", label: "Muscle building" }, { id: "#q5", label: "Muscle tone" }, { id: "#q6", label: "Energy" }, { id: "#q7", label: "Treatment response" }, { id: "#q8", label: "Stress response" } ]; // Map option index -> type // 0 = ecto, 1 = meso, 2 = endo const TYPE_BY_INDEX = ["ECTOMORPH", "MESOMORPH", "ENDOMORPH"]; $w.onReady(function () { // Hide result area on load $w("#resultBox").collapse(); $w("#submitBtn").onClick(() => { try { const { scores, answers } = scoreQuiz(); const result = resolveResult(scores); renderResult(result, scores); // OPTIONAL: Save to collection (uncomment + ensure collection exists) // saveSubmission({ scores, result, answers }); // OPTIONAL: Scroll to result $w("#resultBox").expand(); $w("#resultBox").scrollTo(); } catch (err) { // Friendly validation message wixLocation.to(wixLocation.url); // removes any weird state; optional // Or just show a text warning if you have one // $w("#errorText").text = err.message; // $w("#errorText").show(); console.error(err); } }); // OPTIONAL: booking button handler // Make sure #bookBtn has a link OR set it here // $w("#bookBtn").onClick(() => wixLocation.to("/book-now")); }); /** * Reads all radio groups, validates completion, and counts each type. */ function scoreQuiz() { const scores = { ECTOMORPH: 0, MESOMORPH: 0, ENDOMORPH: 0 }; const answers = []; for (const q of QUESTIONS) { const rg = $w(q.id); // Validate: must select something if (!rg.value) { // If you prefer, you can highlight the unanswered input throw new Error("Please answer every question to see your results."); } // Wix RadioGroup value is the "value" of option, not index. // We’ll derive index by finding it in options. const idx = rg.options.findIndex((opt) => opt.value === rg.value); if (idx < 0 || idx > 2) { throw new Error(`Invalid selection detected for ${q.label}.`); } const type = TYPE_BY_INDEX[idx]; scores[type] += 1; answers.push({ question: q.label, selectedValue: rg.value, selectedIndex: idx, type }); } return { scores, answers }; } /** * Determines dominant type and hybrid flag. * Hybrid logic: * - If top score ties with another, it’s a hybrid. * - If top score is only 1 higher than second place, call it “leaning hybrid.” */ function resolveResult(scores) { const entries = Object.entries(scores).sort((a, b) => b[1] - a[1]); const [topType, topScore] = entries[0]; const [secondType, secondScore] = entries[1]; const isTie = topScore === secondScore; const isLeaningHybrid = !isTie && (topScore - secondScore === 1); let resultType = topType; let hybridWith = null; if (isTie) { // True hybrid: show both types in a clean way resultType = `${topType} + ${secondType}`; hybridWith = secondType; } else if (isLeaningHybrid) { // Leaning hybrid: still show a dominant type but note the runner-up hybridWith = secondType; } return { dominant: topType, resultType, hybridWith, isHybrid: isTie || isLeaningHybrid }; } /** * Updates your page UI with the result. * Make sure you created: * #resultTitle (Text) * #resultSubtitle (Text) * #resultBox (Box) */ function renderResult(result, scores) { const { dominant, resultType, hybridWith, isHybrid } = result; $w("#resultTitle").text = `Your Body Type: ${resultType}`; // Short, client-friendly lines you can tweak const blurbs = { ECTOMORPH: "Naturally lean with a faster metabolism. Your focus is nervous system balance, nourishment, and muscle tone support.", MESOMORPH: "Naturally athletic and responsive. Your focus is consistency, inflammation control, and sculpting maintenance.", ENDOMORPH: "Stores fat more easily and thrives with structure. Your focus is detox pathways, water retention, and hormone-friendly habits." }; const serviceRecs = { ECTOMORPH: [ "Magnesium Lymphatic Massage", "Cranial Massage", "Red Light Sessions" ], MESOMORPH: [ "Lymphatic Drainage", "Wood Therapy", "Fat Cavitation" ], ENDOMORPH: [ "Lymphatic Drainage", "Yeso Therapy Wraps", "Hot Stones + Steam" ] }; // If hybrid, blend messaging let subtitle = blurbs[dominant]; let recs = serviceRecs[dominant]; if (isHybrid && hybridWith) { subtitle = `${blurbs[dominant]} You also show strong ${hybridWith.toLowerCase()} traits—so your plan should be customized.`; // Merge & de-dupe recs recs = Array.from(new Set([...serviceRecs[dominant], ...serviceRecs[hybridWith]])); } const scoreLine = `Scores — Ecto: ${scores.ECTOMORPH}, Meso: ${scores.MESOMORPH}, Endo: ${scores.ENDOMORPH}`; const recLine = `Best matches for you: ${recs.join(" • ")}`; $w("#resultSubtitle").text = `${subtitle}\n\n${recLine}\n${scoreLine}`; } /** * OPTIONAL: Save to a collection (requires permission rules set properly). * Create a collection named "BodyTypeQuizSubmissions" and update field keys as needed. */ async function saveSubmission({ scores, result, answers }) { const item = { // If you also collect name/email on the page, add: // name: $w("#nameInput").value, // email: $w("#emailInput").value, ectoScore: scores.ECTOMORPH, mesoScore: scores.MESOMORPH, endoScore: scores.ENDOMORPH, resultType: result.resultType, isHybrid: result.isHybrid, // Storing raw answers is optional—best practice is to store a summary only, // but you can store as JSON string if you want: answersJson: JSON.stringify(answers) }; await wixData.insert("BodyTypeQuizSubmissions", item); }
top of page
Search

Breathe Gently: Regulating Your Mind and Body Through Breath and Grounding Techniques

Stress and overwhelm can sneak up on anyone. When your mind races or your body feels tense, a simple tool is always within reach: your breath. Learning to breathe softly and gently, while recognizing your current state and regrounding yourself, can transform moments of anxiety into calm and clarity. This post explores how to use breath and grounding techniques to regulate your mind and body effectively.


Close-up view of a person sitting cross-legged outdoors, focusing on slow, gentle breathing
Practicing gentle breath regulation in a quiet natural setting

Why Breath Matters for Regulation


Breathing is automatic, but it also responds to how we feel. When anxious or stressed, breaths become shallow and rapid. This pattern feeds the nervous system’s fight-or-flight response, making it harder to calm down. By consciously slowing and softening your breath, you send a signal to your brain that it’s safe to relax.


Gentle breath regulation helps:


  • Lower heart rate and blood pressure

  • Reduce muscle tension

  • Clear mental fog

  • Improve emotional balance


The key is to breathe softly and gently, not forcing or holding your breath. This approach encourages ease and acceptance rather than struggle.


How to Breathe Softly and Gently


Start by finding a comfortable position, either sitting or lying down. Close your eyes if you feel safe doing so. Then:


  1. Notice your natural breath without changing it.

  2. Slow your exhale slightly, making it longer than your inhale. For example, inhale for 4 seconds, exhale for 6.

  3. Keep your breath light and smooth, as if you’re gently blowing on a dandelion. Avoid deep, forceful breaths.

  4. Focus on the sensation of air moving in and out through your nose or mouth.

  5. If your mind wanders, gently bring your attention back to your breath without judgment.


Practicing this for just a few minutes can help regulate your nervous system and create a calm foundation.


Recognizing Your State Before Regulating


Before you can regulate effectively, it helps to recognize how you feel physically and mentally. This awareness is the first step to regrounding yourself.


Try these simple checks:


  • Body scan: Notice areas of tension or discomfort. Are your shoulders tight? Is your jaw clenched?

  • Emotional check-in: Name your feelings. Are you anxious, tired, frustrated, or restless?

  • Breath awareness: Is your breathing shallow, fast, or irregular?


By recognizing your state, you can choose the right breath and grounding technique to meet your needs.


Grounding Techniques to Reconnect with the Present


Grounding helps you reconnect with your body and the present moment, reducing overwhelm. Combining grounding with gentle breath regulation enhances the calming effect.


Here are some effective grounding methods:


  • 5-4-3-2-1 technique: Identify 5 things you see, 4 you can touch, 3 you hear, 2 you smell, and 1 you taste or imagine tasting.

  • Feel your feet: Press your feet firmly into the floor or ground. Notice the contact and support beneath you.

  • Hold an object: Focus on the texture, temperature, and weight of something nearby, like a smooth stone or soft fabric.

  • Movement: Slowly rock your body, sway, or stretch while maintaining gentle breathing.


These practices bring your attention away from racing thoughts and into your body and environment.


Combining Breath and Grounding in Daily Life


You don’t need a special setting to use these tools. Here are practical ways to incorporate breath and grounding throughout your day:


  • Morning routine: Start your day with 3 minutes of gentle breath regulation to set a calm tone.

  • During work breaks: Step outside or sit quietly, practice the 5-4-3-2-1 grounding, and breathe softly to reset focus.

  • Before sleep: Use slow, gentle breaths combined with a body scan to release tension and prepare for rest.

  • In stressful moments: Pause, recognize your state, breathe gently, and ground yourself to reduce overwhelm.


Regular practice builds resilience and helps you respond to challenges with more ease.


Tips for Success


  • Be patient with yourself. Breath regulation is a skill that improves with time.

  • Avoid forcing your breath; softness and gentleness are more effective.

  • Use reminders like phone alarms or sticky notes to practice daily.

  • Experiment with different grounding techniques to find what feels best.

  • If emotions feel intense or persistent, consider seeking support from a mental health professional.


 
 
 

Comments


bottom of page