diff --git a/app_data/assets/contents.json b/app_data/assets/contents.json index 9cc6de1..5f3a80b 100644 --- a/app_data/assets/contents.json +++ b/app_data/assets/contents.json @@ -411,10 +411,6 @@ "md5Checksum": "0a7233c6b3cd46ec4e708f81eacae687", "size_kb": 62.4 }, - "images/makerere_university_logo.png": { - "md5Checksum": "32ea097efc60d6f04ce980f599620183", - "size_kb": 14.9 - }, "images/managing_difficult_behaviour_1.jpg": { "md5Checksum": "6d3affcfcf75716fcbcd5bff474879d2", "size_kb": 58.7 @@ -736,8 +732,8 @@ "size_kb": 38.8 }, "lottie/well_done.txt": { - "md5Checksum": "7a10387b0df7a27efc81dbe6742fa34f", - "size_kb": 1.7 + "md5Checksum": "47443abc05d66955ae94643f73adfb67", + "size_kb": 0.2 }, "pdf/facilitator_manual/10_review_pfr_manual.pdf": { "md5Checksum": "dede387f6b7070109f5d472b00427be9", diff --git a/app_data/assets/lottie/well_done.txt b/app_data/assets/lottie/well_done.txt index f164576..16efdcc 100644 --- a/app_data/assets/lottie/well_done.txt +++ b/app_data/assets/lottie/well_done.txt @@ -1,12 +1,3 @@ -Lottie Simple License (FL 9.13.21) -Copyright © 2021 Design Barn Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of the public animation files available for download at the LottieFiles site (“Files”) to download, reproduce, modify, publish, distribute, publicly display, and publicly digitally perform such Files, including for commercial purposes, provided that any display, publication, performance, or distribution of Files must contain (and be subject to) the same terms and conditions of this license. Modifications to Files are deemed derivative works and must also be expressly distributed under the same terms and conditions of this license. You may not purport to impose any additional or different terms or conditions on, or apply any technical measures that restrict exercise of, the rights granted under this license. This license does not include the right to collect or compile Files from LottieFiles to replicate or develop a similar or competing service. - - - -Use of Files without attributing the creator(s) of the Files is permitted under this license, though attribution is strongly encouraged. If attributions are included, such attributions should be visible to the end user. - - - -FILES ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL THE CREATOR(S) OF FILES OR DESIGN BARN, INC. BE LIABLE ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF SUCH FILES. \ No newline at end of file +Animation for Congratulations message link: https://lottiefiles.com/animations/winner-zxgcG1apJN +Licence https://lottiefiles.com/page/license +Created by: https://lottiefiles.com/5kytlz90rlmcm95b \ No newline at end of file diff --git a/app_data/sheets/data_list/generated/session_tasks.json b/app_data/sheets/data_list/generated/session_tasks.json index 30c1249..e92ec41 100644 --- a/app_data/sheets/data_list/generated/session_tasks.json +++ b/app_data/sheets/data_list/generated/session_tasks.json @@ -4,247 +4,137 @@ "flow_type": "data_list", "rows": [ { - "id": "onboarding", + "id": "onboarding_tasks", "number": 0, - "title": "Welcome to Parenting for Respectability", - "session_type": "onboarding", - "image_asset": "images/pfr_latest_logo.jpg", - "goal_1": "* Introduction to PfR.", - "goal_2": "* Explore expectations and set ground rules.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", + "session_id": "onboarding", "completed_field": "task_onboarding_completed", "completed": "@fields.task_onboarding_completed", "skipped_field": "task_onboarding_skipped" }, { - "id": "family_relation", + "id": "family_relation_tasks", "number": 1, - "title": "@data.topic.family_relation.title", - "session_type": "onboarding", - "image_asset": "@data.topic.family_relation.image_asset", - "goal_1": "* Appreciate the importance of family relationships especially relations with one’s children and partner.", - "goal_2": "* Encourage participants to recruit their partners.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/1_family_relation_pfr_manual_2021.pdf", + "session_id": "family_relation", "completed_field": "task_family_relation_completed", "completed": "@fields.task_family_relation_completed", "skipped_field": "task_family_relation_skipped" }, { - "id": "current_pract", + "id": "current_pract_tasks", "number": 2, - "title": "@data.topic.current_pract.title", - "session_type": "topic", - "image_asset": "@data.topic.current_pract.image_asset", - "goal_1": "* Explore parenting goals and factors that facilitate the achievement of these goals.", - "goal_2": "* Explore parents’ current beliefs and practices regarding parent – child interaction.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/2_current_pract_pfr_manual_2021.pdf", + "session_id": "current_pract", "completed_field": "task_current_pract_completed", "completed": "@fields.task_current_pract_completed", "skipped_field": "task_current_pract_skipped" }, { - "id": "child_dev", + "id": "child_dev_tasks", "number": 3, - "title": "@data.topic.child_dev.title", - "session_type": "topic", - "image_asset": "@data.topic.child_dev.image_asset", - "goal_1": "* Explore the basic developmental needs and behaviors of children 0 – 17 years.", - "goal_2": "* Discuss the importance of fathers’ supportiveness during pregnancy and childhood.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/3_child_dev_pfr_manual_2021.pdf", - "goal_3": "* Importance of parenting practices for children to reach their full potential.", + "session_id": "child_dev", "completed_field": "task_child_dev_completed", "completed": "@fields.task_child_dev_completed", "skipped_field": "task_child_dev_skipped" }, { - "id": "parent_childhood", + "id": "parent_childhood_tasks", "number": 4, - "title": "@data.topic.parent_childhood.title", - "session_type": "topic", - "image_asset": "@data.topic.parent_childhood.image_asset", - "goal_1": "* Reflect on the influence of parent figures on participants while they were growing up.", - "goal_2": "* Building on your parents’ positive influences, and avoid repeating their negative influences.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/4_parent_childhood_pfr_manual_2021.pdf", - "goal_3": "* Identify and learn new ways to encourage good behavior without being violent.", + "session_id": "parent_childhood", "completed_field": "task_parent_childhood_completed", "completed": "@fields.task_parent_childhood_completed", "skipped_field": "task_parent_childhood_skipped" }, { - "id": "positive_parenting", + "id": "positive_parenting_tasks", "number": 5, - "title": "@data.topic.positive_parenting.title", - "session_type": "topic", - "image_asset": "@data.topic.positive_parenting.image_asset", - "goal_1": "* We will explore positive parent-child interaction and reflect upon different styles of parenting which promote positive relationships and respectability", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/5_positive_parenting_pfr_manual_2021.pdf", + "session_id": "positive_parenting", "completed_field": "task_positive_parenting_completed", "completed": "@fields.task_positive_parenting_completed", "skipped_field": "task_positive_parenting_skipped" }, { - "id": "gender_power", + "id": "gender_power_tasks", "number": 6, - "title": "@data.topic.gender_power.title", - "session_type": "topic", - "image_asset": "@data.topic.gender_power.image_asset", - "goal_1": "* Reflect upon how gender norms can be harmful to both women and men, girls and boys.", - "goal_2": "* Increase the awareness of gendered power differences within families and society.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/6_gender_power_pfr_manual_2021.pdf", - "goal_3": "* Encourage men to commit to positive notions of ‘being a man’.", + "session_id": "gender_power", "completed_field": "task_gender_power_completed", "completed": "@fields.task_gender_power_completed", "skipped_field": "task_gender_power_skipped" }, { - "id": "impact_conflict", + "id": "impact_conflict_tasks", "number": 7, - "title": "@data.topic.impact_conflict.title", - "session_type": "topic", - "image_asset": "@data.topic.impact_conflict.image_asset", - "goal_1": "* Reflect on own experiences and common causes of spousal conflict.", - "goal_2": "* Discuss the effects of spousal conflict on parenting.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/7_impact_conflict_pfr_manual_2021.pdf", - "goal_3": "* Envision intimate relationships based on respect.", + "session_id": "impact_conflict", "completed_field": "task_impact_conflict_completed", "completed": "@fields.task_impact_conflict_completed", "skipped_field": "task_impact_conflict_skipped" }, { - "id": "sharing_care", + "id": "sharing_care_tasks", "number": 8, - "title": "@data.topic.sharing_care.title", - "session_type": "topic", - "image_asset": "@data.topic.sharing_care.image_asset", - "goal_1": "* Reflect on the time men and women dedicate to caring for their children and shaping their future.", - "goal_2": "* Identify how men and women can be more involved in family life.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/8_sharing_care_pfr_manual_2021.pdf", - "goal_3": "* Improve men’s self–confidence and efficacy in caregiving.", + "session_id": "sharing_care", "completed_field": "task_sharing_care_completed", "completed": "@fields.task_sharing_care_completed", "skipped_field": "task_sharing_care_skipped" }, { - "id": "healthy_relation", + "id": "healthy_relation_tasks", "number": 9, - "title": "@data.topic.healthy_relation.title", - "session_type": "topic", - "image_asset": "@data.topic.healthy_relation.image_asset", - "goal_1": "* Learn how excessive drinking affects relationships and children and how to help a partner reduce alcohol consumption and other socially unacceptable practices.", - "goal_2": "* Explore what constitutes a healthy marriage and sexuality.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/9_healthy_relation_pfr_manual_2021.pdf", - "goal_3": "* Importance of father’s supportiveness during pregnancy and after birth.", + "session_id": "healthy_relation", "completed_field": "task_healthy_relation_completed", "completed": "@fields.task_healthy_relation_completed", "skipped_field": "task_healthy_relation_skipped" }, { - "id": "review", + "id": "review_tasks", "number": 10, - "title": "Review", - "session_type": "review", - "image_asset": "images/family_time_playing_reading.jpg", - "goal_1": "To reflect on all single sex sessions and plan for the mixed sex sessions.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/10_review_pfr_manual_2021.pdf", + "session_id": "review", "completed_field": "task_review_completed", "completed": "@fields.task_review_completed", "skipped_field": "task_review_skipped" }, { - "id": "discipline", + "id": "discipline_tasks", "number": 11, - "title": "@data.topic.discipline.title", - "session_type": "topic", - "image_asset": "@data.topic.discipline.image_asset", - "goal_1": "* Identify the differences between punishment and discipline while exploring the effects of punishment on children’s development.", - "goal_2": "*Practising effective strategies for managing anger and disappointment.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/11_discipline_pfr_manual_2021.pdf", - "goal_3": "* Explore how to positively and sensitively engage with children to promote respect.", + "session_id": "discipline", "completed_field": "task_discipline_completed", "completed": "@fields.task_discipline_completed", "skipped_field": "task_discipline_skipped" }, { - "id": "education", + "id": "education_tasks", "number": 12, - "title": "@data.topic.education.title", - "session_type": "topic", - "image_asset": "@data.topic.education.image_asset", - "goal_1": "* Encourage both parent and child to be accountable for the child’s education.", - "goal_2": "* Explore ways to increase parents’ engagement at school and cooperation with teachers.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/12_education_pfr_manual_2021.pdf", - "goal_3": "* Learn how to encourage children to achieve through education.", + "session_id": "education", "completed_field": "task_education_completed", "completed": "@fields.task_education_completed", "skipped_field": "task_education_skipped" }, { - "id": "gender_equal", + "id": "gender_equal_tasks", "number": 13, - "title": "@data.topic.gender_equal.title", - "session_type": "topic", - "image_asset": "@data.topic.gender_equal.image_asset", - "goal_1": "* Understand how gender expectations affect the lives of women and men, and of girls and boys.", - "goal_2": "* Identify discriminatory or unequal gender norms and practices", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/13_gender_equal_pfr_manual_2021.pdf", - "goal_3": "* Explore strategies to modify discriminatory gender norms.", + "session_id": "gender_equal", "completed_field": "task_gender_equal_completed", "completed": "@fields.task_gender_equal_completed", "skipped_field": "task_gender_equal_skipped" }, { - "id": "prevent_abuse", + "id": "prevent_abuse_tasks", "number": 14, - "title": "@data.topic.prevent_abuse.title", - "session_type": "topic", - "image_asset": "@data.topic.prevent_abuse.image_asset", - "goal_1": "* Exploring long-term goals for preventing sexual abuse and early sex.", - "goal_2": "* Nurture values in children for preventing sexual violence.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/14_prevent_abuse_pfr_manual_2021.pdf", - "goal_3": "* Facilitating healthy communication between parents and children about sexuality.", + "session_id": "prevent_abuse", "completed_field": "task_prevent_abuse_completed", "completed": "@fields.task_prevent_abuse_completed", "skipped_field": "task_prevent_abuse_skipped" }, { - "id": "reduce_conflict", + "id": "reduce_conflict_tasks", "number": 15, - "title": "@data.topic.reduce_conflict.title", - "session_type": "topic", - "image_asset": "@data.topic.reduce_conflict.image_asset", - "goal_1": "* Explore constructive ways of sharing information to avoid violent situation in relationships.", - "goal_2": "* Express personal needs and feelings and listen reflectively and empathically.", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/15_reduce_conflict_pfr_manual_2021.pdf", + "session_id": "reduce_conflict", "completed_field": "task_reduce_conflict_completed", "completed": "@fields.task_reduce_conflict_completed", "skipped_field": "task_reduce_conflict_skipped" }, { - "id": "conclusion", + "id": "conclusion_tasks", "number": 16, - "title": "Conclusion", - "session_type": "conclusion", - "image_asset": "images/mother_kids_with_magazine.jpg", - "goal_1": "* Reflect on the participants’ experience of the programme", - "goal_2": "* To reinforce commitment to positive more equitable and respectful parenting", - "attached_single_doc": "https://docs.google.com/document/d/1Rz0NRM4CtCIlThmHF7Knw8Orn7xGe9oYVpKGZs8LrvU", - "manual_pdf_asset": "pdf/facilitator_manual/16_conclusion_pfr_manual_2021.pdf", - "goal_3": "* To encourage continued meetings after the programme formally ends.", + "session_id": "conclusion", "completed_field": "task_conclusion_completed", "completed": "@fields.task_conclusion_completed", "skipped_field": "task_conclusion_skipped" diff --git a/app_data/sheets/data_pipe/session_data_pipe.json b/app_data/sheets/data_pipe/session_data_pipe.json index e1a888b..e0ae4e8 100644 --- a/app_data/sheets/data_pipe/session_data_pipe.json +++ b/app_data/sheets/data_pipe/session_data_pipe.json @@ -3,14 +3,22 @@ "flow_name": "session_data_pipe", "status": "released", "rows": [ + { + "operation": "map", + "args_list": [ + "session_id: @row.id", + "id: {@row.id}_tasks", + "number: @row.number" + ], + "input_source": "session" + }, { "operation": "append_columns", "args_list": [ - "completed_field: task_{@row.id}_completed", + "completed_field: task_{@row.session_id}_completed", "completed: @fields.@row.completed_field", - "skipped_field: task_{@row.id}_skipped" + "skipped_field: task_{@row.session_id}_skipped" ], - "input_source": "session", "output_target": "session_tasks" } ], diff --git a/app_data/sheets/global/navigation_defaults.json b/app_data/sheets/global/navigation_defaults.json index 7ce7633..e618d42 100644 --- a/app_data/sheets/global/navigation_defaults.json +++ b/app_data/sheets/global/navigation_defaults.json @@ -47,6 +47,59 @@ "_translations": { "value": {} } + }, + { + "type": "declare_global_constant", + "name": "terms_and_conditions", + "value": "Terms & Conditions", + "_translations": { + "value": {} + } + }, + { + "type": "declare_global_constant", + "name": "privacy_policy", + "value": "Privacy Policy", + "_translations": { + "value": {} + } + }, + { + "type": "declare_global_constant", + "name": "dev_mode_code", + "value": "app_dev", + "_translations": { + "value": {} + } + }, + { + "type": "declare_field_default", + "name": "user_mode", + "value": true + }, + { + "type": "declare_global_constant", + "name": "test_mode_code", + "value": "PfR_App_Test", + "_translations": { + "value": {} + } + }, + { + "type": "declare_global_constant", + "name": "language", + "value": "Language", + "_translations": { + "value": {} + } + }, + { + "type": "declare_global_constant", + "name": "user_info", + "value": "Your Profile", + "_translations": { + "value": {} + } } ], "_xlsxPath": "global/data_lists/navigation.xlsx" diff --git a/app_data/sheets/template/accept_terms.json b/app_data/sheets/template/accept_terms.json index fb98f6c..8954878 100644 --- a/app_data/sheets/template/accept_terms.json +++ b/app_data/sheets/template/accept_terms.json @@ -6,7 +6,7 @@ { "type": "image", "name": "image", - "value": "first_app_launch/shield.svg", + "value": "images/shield.svg", "_translations": { "value": {} }, @@ -18,7 +18,7 @@ { "type": "text", "name": "text_1", - "value": "By providing your consent below you acknowledge reading and accepting the Terms & Conditions and Privacy Policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", + "value": "By providing your consent below you acknowledge reading and accepting the @global.terms_and_conditions and @global.privacy_policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", "_translations": { "value": {} }, @@ -26,7 +26,19 @@ "_dynamicFields": { "value": [ { - "fullExpression": "By providing your consent below you acknowledge reading and accepting the Terms & Conditions and Privacy Policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", + "fullExpression": "By providing your consent below you acknowledge reading and accepting the @global.terms_and_conditions and @global.privacy_policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", + "matchedExpression": "@global.terms_and_conditions", + "type": "global", + "fieldName": "terms_and_conditions" + }, + { + "fullExpression": "By providing your consent below you acknowledge reading and accepting the @global.terms_and_conditions and @global.privacy_policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", + "matchedExpression": "@global.privacy_policy", + "type": "global", + "fieldName": "privacy_policy" + }, + { + "fullExpression": "By providing your consent below you acknowledge reading and accepting the @global.terms_and_conditions and @global.privacy_policy. The most important commitments are:\n1. This is, and will always be, a fully free app.\n2. Your data will never be sold. We are not for profit.\n3. By using the app you are helping to make the app better for you and others.\n4. Your anonymised data may be used for research purposes by our @global.parent_app team.", "matchedExpression": "@global.parent_app", "type": "global", "fieldName": "parent_app" @@ -34,6 +46,12 @@ ] }, "_dynamicDependencies": { + "@global.terms_and_conditions": [ + "value" + ], + "@global.privacy_policy": [ + "value" + ], "@global.parent_app": [ "value" ] @@ -42,7 +60,7 @@ { "type": "button", "name": "button_1", - "value": "Terms & Conditions", + "value": "@global.terms_and_conditions", "_translations": { "value": {} }, @@ -57,12 +75,27 @@ "_cleaned": "click | pop_up: app_menu_terms" } ], - "_nested_name": "button_1" + "_nested_name": "button_1", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@global.terms_and_conditions", + "matchedExpression": "@global.terms_and_conditions", + "type": "global", + "fieldName": "terms_and_conditions" + } + ] + }, + "_dynamicDependencies": { + "@global.terms_and_conditions": [ + "value" + ] + } }, { "type": "button", "name": "button_2", - "value": "Privacy Policy", + "value": "@global.privacy_policy", "_translations": { "value": {} }, @@ -77,7 +110,22 @@ "_cleaned": "click | pop_up: app_menu_privacy_policy" } ], - "_nested_name": "button_2" + "_nested_name": "button_2", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@global.privacy_policy", + "matchedExpression": "@global.privacy_policy", + "type": "global", + "fieldName": "privacy_policy" + } + ] + }, + "_dynamicDependencies": { + "@global.privacy_policy": [ + "value" + ] + } }, { "type": "text", diff --git a/app_data/sheets/template/app_menu.json b/app_data/sheets/template/app_menu.json index aa7eacb..36d7d04 100644 --- a/app_data/sheets/template/app_menu.json +++ b/app_data/sheets/template/app_menu.json @@ -26,7 +26,7 @@ { "type": "button", "name": "button_terms", - "value": "Terms & Conditions", + "value": "@global.terms_and_conditions", "_translations": { "value": {} }, @@ -41,12 +41,27 @@ "_cleaned": "click | go_to: app_menu_terms" } ], - "_nested_name": "button_terms" + "_nested_name": "button_terms", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@global.terms_and_conditions", + "matchedExpression": "@global.terms_and_conditions", + "type": "global", + "fieldName": "terms_and_conditions" + } + ] + }, + "_dynamicDependencies": { + "@global.terms_and_conditions": [ + "value" + ] + } }, { "type": "button", "name": "button_privacy", - "value": "Privacy Policy", + "value": "@global.privacy_policy", "_translations": { "value": {} }, @@ -61,7 +76,22 @@ "_cleaned": "click | go_to: app_menu_privacy_policy" } ], - "_nested_name": "button_privacy" + "_nested_name": "button_privacy", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@global.privacy_policy", + "matchedExpression": "@global.privacy_policy", + "type": "global", + "fieldName": "privacy_policy" + } + ] + }, + "_dynamicDependencies": { + "@global.privacy_policy": [ + "value" + ] + } }, { "type": "button", diff --git a/app_data/sheets/template/home_screen_modular.json b/app_data/sheets/template/home_screen_modular.json index ec0beb6..8e64de0 100644 --- a/app_data/sheets/template/home_screen_modular.json +++ b/app_data/sheets/template/home_screen_modular.json @@ -21,31 +21,6 @@ ], "_nested_name": "custom_actions_1" }, - { - "name": "highlighted_session", - "value": "@fields._task_highlighted_group_id", - "_translations": { - "value": {} - }, - "exclude_from_translation": true, - "type": "set_variable", - "_nested_name": "highlighted_session", - "_dynamicFields": { - "value": [ - { - "fullExpression": "@fields._task_highlighted_group_id", - "matchedExpression": "@fields._task_highlighted_group_id", - "type": "fields", - "fieldName": "_task_highlighted_group_id" - } - ] - }, - "_dynamicDependencies": { - "@fields._task_highlighted_group_id": [ - "value" - ] - } - }, { "type": "display_group", "name": "dg_highlighted_session", @@ -60,26 +35,26 @@ "exclude_from_translation": true, "rows": [ { - "name": "session_id", - "value": "@local.highlighted_session", + "name": "session_tasks", + "value": "@fields._task_highlighted_group_id", "_translations": { "value": {} }, "exclude_from_translation": true, "type": "set_variable", - "_nested_name": "dg_highlighted_session.highlighted_session_card.session_id", + "_nested_name": "dg_highlighted_session.highlighted_session_card.session_tasks", "_dynamicFields": { "value": [ { - "fullExpression": "@local.highlighted_session", - "matchedExpression": "@local.highlighted_session", - "type": "local", - "fieldName": "highlighted_session" + "fullExpression": "@fields._task_highlighted_group_id", + "matchedExpression": "@fields._task_highlighted_group_id", + "type": "fields", + "fieldName": "_task_highlighted_group_id" } ] }, "_dynamicDependencies": { - "@local.highlighted_session": [ + "@fields._task_highlighted_group_id": [ "value" ] } @@ -127,7 +102,7 @@ "rows": [ { "type": "items", - "value": "@data.session_tasks", + "value": "@data.session", "exclude_from_translation": true, "rows": [ { @@ -205,15 +180,15 @@ "_dynamicFields": { "value": [ { - "fullExpression": "@data.session_tasks", - "matchedExpression": "@data.session_tasks", + "fullExpression": "@data.session", + "matchedExpression": "@data.session", "type": "data", - "fieldName": "session_tasks" + "fieldName": "session" } ] }, "_dynamicDependencies": { - "@data.session_tasks": [ + "@data.session": [ "value" ] } diff --git a/app_data/sheets/template/session_card.json b/app_data/sheets/template/session_card.json index b2e2f68..e50e66d 100644 --- a/app_data/sheets/template/session_card.json +++ b/app_data/sheets/template/session_card.json @@ -15,7 +15,7 @@ }, { "name": "session_id", - "value": "introduction", + "value": "child_dev", "_translations": { "value": {} }, @@ -66,6 +66,48 @@ ] } }, + { + "name": "session_id", + "value": "@calc(@local.session_tasks.replace(@local.tasks,\"\"))", + "_translations": { + "value": {} + }, + "type": "set_variable", + "_nested_name": "session_id", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@calc(@local.session_tasks.replace(@local.tasks,\"\"))", + "matchedExpression": "@local.session_tasks.replace", + "type": "local", + "fieldName": "session_tasks" + }, + { + "fullExpression": "@calc(@local.session_tasks.replace(@local.tasks,\"\"))", + "matchedExpression": "@local.tasks", + "type": "local", + "fieldName": "tasks" + }, + { + "fullExpression": "@calc(@local.session_tasks.replace(@local.tasks,\"\"))", + "matchedExpression": "@calc(@local.session_tasks.replace(@local.tasks,\"\"))", + "type": "calc", + "fieldName": "@local.session_tasks.replace(@local.tasks,\"\")" + } + ] + }, + "_dynamicDependencies": { + "@local.session_tasks.replace": [ + "value" + ], + "@local.tasks": [ + "value" + ], + "@calc(@local.session_tasks.replace(@local.tasks,\"\"))": [ + "value" + ] + } + }, { "name": "completed", "value": "_completed", @@ -112,7 +154,7 @@ }, { "name": "ww_id", - "value": "session_tasks.@local.session_id", + "value": "session.@local.session_id", "_translations": { "value": {} }, @@ -122,7 +164,7 @@ "_dynamicFields": { "value": [ { - "fullExpression": "session_tasks.@local.session_id", + "fullExpression": "session.@local.session_id", "matchedExpression": "@local.session_id", "type": "local", "fieldName": "session_id" @@ -135,6 +177,30 @@ ] } }, + { + "name": "wt_id", + "value": "session_tasks.@local.session_tasks", + "_translations": { + "value": {} + }, + "type": "set_variable", + "_nested_name": "wt_id", + "_dynamicFields": { + "value": [ + { + "fullExpression": "session_tasks.@local.session_tasks", + "matchedExpression": "@local.session_tasks", + "type": "local", + "fieldName": "session_tasks" + } + ] + }, + "_dynamicDependencies": { + "@local.session_tasks": [ + "value" + ] + } + }, { "name": "session_data", "value": "@data.@local.ww_id", @@ -160,6 +226,30 @@ ] } }, + { + "name": "session_tasks_data", + "value": "@data.@local.wt_id", + "_translations": { + "value": {} + }, + "type": "set_variable", + "_nested_name": "session_tasks_data", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@data.@local.wt_id", + "matchedExpression": "@local.wt_id", + "type": "local", + "fieldName": "wt_id" + } + ] + }, + "_dynamicDependencies": { + "@local.wt_id": [ + "value" + ] + } + }, { "name": "card_title", "value": "@local.session_data.title", @@ -559,6 +649,30 @@ "type": "set_variable", "_nested_name": "highlighted_text" }, + { + "name": "completed_field", + "value": "@local.session_tasks_data.completed_field", + "_translations": { + "value": {} + }, + "type": "set_variable", + "_nested_name": "completed_field", + "_dynamicFields": { + "value": [ + { + "fullExpression": "@local.session_tasks_data.completed_field", + "matchedExpression": "@local.session_tasks_data.completed_field", + "type": "local", + "fieldName": "session_tasks_data" + } + ] + }, + "_dynamicDependencies": { + "@local.session_tasks_data.completed_field": [ + "value" + ] + } + }, { "type": "task_card", "name": "task_card", @@ -604,7 +718,7 @@ "parameter_list": { "task_group_id": "@local.session_id@local.tasks", "task_group_data": "@local.session_id@local.tasks", - "completed_field": "@local.session_data.completed_field", + "completed_field": "@local.completed_field", "title": "@local.card_title", "subtitle": "@local.card_subtitle", "image": "@local.card_image", @@ -705,10 +819,10 @@ ], "completed_field": [ { - "fullExpression": "@local.session_data.completed_field", - "matchedExpression": "@local.session_data.completed_field", + "fullExpression": "@local.completed_field", + "matchedExpression": "@local.completed_field", "type": "local", - "fieldName": "session_data" + "fieldName": "completed_field" } ], "title": [ @@ -770,7 +884,7 @@ "parameter_list.task_group_id", "parameter_list.task_group_data" ], - "@local.session_data.completed_field": [ + "@local.completed_field": [ "parameter_list.completed_field" ], "@local.card_title": [ diff --git a/config.ts b/config.ts index 743e3a9..c2c2c21 100644 --- a/config.ts +++ b/config.ts @@ -13,7 +13,7 @@ config.google_drive = { config.git = { content_repo: "https://github.com/IDEMSInternational/pfr-app-content.git", - content_tag_latest: "1.1.8", + content_tag_latest: "1.1.9", }; config.error_logging = {