Files
maternal-app/maternal-web/components/legal/EULAContent.tsx
Andrei e4b97df0c0
Some checks failed
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
feat: Implement AI response feedback UI and complete high-priority features
Frontend Features:
- Add MessageFeedback component with thumbs up/down buttons
- Positive feedback submits immediately with success toast
- Negative feedback opens dialog for optional text input
- Integrate feedback buttons on all AI assistant messages
- Add success Snackbar confirmation message
- Translation keys added to ai.json (feedback section)

Backend Features:
- Add POST /api/v1/ai/feedback endpoint
- Create FeedbackDto with conversation ID validation
- Implement submitFeedback service method
- Store feedback in conversation metadata with timestamps
- Add audit logging for feedback submissions
- Fix conversationId regex validation to support nanoid format

Legal & Compliance:
- Implement complete EULA acceptance flow with modal
- Create reusable legal content components (Terms, Privacy, EULA)
- Add LegalDocumentViewer for nested modal viewing
- Cookie Consent Banner with GDPR compliance
- Legal pages with AppShell navigation
- EULA acceptance tracking in user entity

Branding Updates:
- Rebrand from "Maternal App" to "ParentFlow"
- Update all icons (72px to 512px) from high-res source
- PWA manifest updated with ParentFlow branding
- Contact email: hello@parentflow.com
- Address: Serbota 3, Bucharest, Romania

Bug Fixes:
- Fix chat endpoint validation (support nanoid conversation IDs)
- Fix EULA acceptance API call (use apiClient vs hardcoded localhost)
- Fix icon loading errors with proper PNG generation

Documentation:
- Mark 11 high-priority features as complete in REMAINING_FEATURES.md
- Update feature statistics: 73/139 complete (53%)
- All high-priority features now complete! 🎉

Files Changed:
Frontend: 21 files (components, pages, locales, icons)
Backend: 6 files (controller, service, DTOs, migrations)
Docs: 1 file (REMAINING_FEATURES.md)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 11:39:02 +00:00

218 lines
11 KiB
TypeScript

import { Box, Typography } from '@mui/material';
export function EULAContent() {
return (
<Box sx={{ '& h5': { mt: 3, mb: 1, fontWeight: 'bold' }, '& h6': { mt: 2, mb: 1, fontWeight: 'bold' }, '& p': { mb: 2 }, '& ul': { mb: 2 } }}>
<Typography variant="h5">1. License Grant</Typography>
<Typography paragraph>
Subject to your compliance with this End User License Agreement ("EULA"), ParentFlow grants you a limited,
non-exclusive, non-transferable, revocable license to use the ParentFlow mobile application (the "App")
for your personal, non-commercial use.
</Typography>
<Typography variant="h5">2. License Restrictions</Typography>
<Typography paragraph>You agree NOT to:</Typography>
<Typography component="ul">
<li>Copy, modify, or create derivative works of the App</li>
<li>Reverse engineer, decompile, or disassemble the App</li>
<li>Remove or alter any copyright, trademark, or proprietary notices</li>
<li>Rent, lease, loan, sell, or sublicense the App</li>
<li>Use the App for any commercial purpose without authorization</li>
<li>Use the App in any way that violates applicable laws or regulations</li>
<li>Use automated tools or bots to access the App</li>
<li>Interfere with or disrupt the App's servers or networks</li>
</Typography>
<Typography variant="h5">3. Intellectual Property Rights</Typography>
<Typography paragraph>
The App and all its components, including but not limited to software code, design, graphics, text, and user interface,
are owned by ParentFlow and are protected by copyright, trademark, and other intellectual property laws.
</Typography>
<Typography paragraph>
This EULA does not grant you any ownership rights to the App. All rights not expressly granted are reserved by ParentFlow.
</Typography>
<Typography variant="h5">4. User Data and Privacy</Typography>
<Typography paragraph>
Your use of the App is subject to our Privacy Policy, which explains how we collect, use, and protect your information.
</Typography>
<Typography paragraph>
You retain ownership of all data you input into the App, including activity logs, photos, and personal information.
By using the App, you grant us a license to process your data to provide the Service.
</Typography>
<Typography variant="h5">5. Updates and Modifications</Typography>
<Typography paragraph>
We may release updates, patches, or new versions of the App from time to time. These updates may:
</Typography>
<Typography component="ul">
<li>Add new features or functionality</li>
<li>Fix bugs or security vulnerabilities</li>
<li>Improve performance</li>
<li>Remove or modify existing features</li>
</Typography>
<Typography paragraph>
By continuing to use the App after an update, you accept the updated version and any changes to this EULA.
</Typography>
<Typography variant="h5">6. Medical Disclaimer</Typography>
<Typography paragraph sx={{ fontWeight: 'bold', color: 'error.main' }}>
THE APP IS NOT A MEDICAL DEVICE AND DOES NOT PROVIDE MEDICAL ADVICE.
</Typography>
<Typography paragraph>
The App's tracking features and AI assistant provide general information and insights only. They are not a substitute
for professional medical advice, diagnosis, or treatment. Always seek the advice of qualified healthcare providers
with questions regarding your child's health.
</Typography>
<Typography paragraph>
<strong>In medical emergencies, call your local emergency number immediately.</strong>
</Typography>
<Typography variant="h5">7. AI Features and Limitations</Typography>
<Typography paragraph>
The App includes AI-powered features (such as the parenting assistant) that use machine learning models.
You acknowledge that:
</Typography>
<Typography component="ul">
<li>AI responses may not always be accurate or complete</li>
<li>AI cannot replace professional judgment or expertise</li>
<li>You use AI features at your own risk</li>
<li>We are not liable for decisions made based on AI recommendations</li>
</Typography>
<Typography variant="h5">8. Third-Party Services</Typography>
<Typography paragraph>
The App may integrate with or link to third-party services (e.g., cloud storage, analytics, payment processors).
Your use of these third-party services is governed by their own terms and privacy policies.
</Typography>
<Typography paragraph>
We are not responsible for the availability, content, or practices of third-party services.
</Typography>
<Typography variant="h5">9. Termination</Typography>
<Typography variant="h6">9.1 Termination by You</Typography>
<Typography paragraph>You may terminate this EULA at any time by:</Typography>
<Typography component="ul">
<li>Deleting your account through the App settings</li>
<li>Uninstalling the App from all your devices</li>
<li>Ceasing all use of the App</li>
</Typography>
<Typography variant="h6">9.2 Termination by Us</Typography>
<Typography paragraph>
We may terminate or suspend your license to use the App immediately if you:
</Typography>
<Typography component="ul">
<li>Violate any terms of this EULA</li>
<li>Engage in illegal or harmful activities</li>
<li>Fail to pay subscription fees (if applicable)</li>
<li>Pose a security risk to the App or other users</li>
</Typography>
<Typography variant="h6">9.3 Effect of Termination</Typography>
<Typography paragraph>Upon termination:</Typography>
<Typography component="ul">
<li>Your license to use the App ends immediately</li>
<li>You must uninstall the App from all devices</li>
<li>Your data will be deleted in accordance with our Privacy Policy</li>
<li>Provisions of this EULA that should survive termination will remain in effect</li>
</Typography>
<Typography variant="h5">10. Disclaimers and Warranties</Typography>
<Typography paragraph sx={{ fontWeight: 'bold' }}>
THE APP IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND.
</Typography>
<Typography paragraph>
TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING:
</Typography>
<Typography component="ul">
<li>Warranties of merchantability</li>
<li>Warranties of fitness for a particular purpose</li>
<li>Warranties of non-infringement</li>
<li>Warranties that the App will be error-free or uninterrupted</li>
<li>Warranties regarding data accuracy or completeness</li>
</Typography>
<Typography variant="h5">11. Limitation of Liability</Typography>
<Typography paragraph sx={{ fontWeight: 'bold' }}>
TO THE MAXIMUM EXTENT PERMITTED BY LAW:
</Typography>
<Typography component="ul">
<li>WE SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, OR PUNITIVE DAMAGES</li>
<li>WE SHALL NOT BE LIABLE FOR ANY LOSS OF DATA, REVENUE, PROFITS, OR BUSINESS OPPORTUNITIES</li>
<li>OUR TOTAL LIABILITY SHALL NOT EXCEED THE AMOUNT YOU PAID US IN THE 12 MONTHS PRECEDING THE CLAIM, OR $100, WHICHEVER IS GREATER</li>
</Typography>
<Typography paragraph>
Some jurisdictions do not allow limitations on liability, so these limitations may not apply to you.
</Typography>
<Typography variant="h5">12. Indemnification</Typography>
<Typography paragraph>
You agree to indemnify, defend, and hold harmless ParentFlow, its officers, directors, employees, contractors,
and agents from any claims, damages, losses, or expenses (including attorney's fees) arising from:
</Typography>
<Typography component="ul">
<li>Your use or misuse of the App</li>
<li>Your violation of this EULA</li>
<li>Your violation of any laws or regulations</li>
<li>Your violation of third-party rights</li>
</Typography>
<Typography variant="h5">13. Export Compliance</Typography>
<Typography paragraph>
The App may be subject to export control laws and regulations. You agree to comply with all applicable export
and import laws and not to export, re-export, or transfer the App in violation of such laws.
</Typography>
<Typography variant="h5">14. Governing Law and Dispute Resolution</Typography>
<Typography paragraph>
This EULA is governed by the laws of [Your Jurisdiction], without regard to conflict of law principles.
</Typography>
<Typography paragraph>
Any disputes arising from this EULA will be resolved through binding arbitration in accordance with the
American Arbitration Association rules, except where prohibited by law.
</Typography>
<Typography variant="h5">15. Severability</Typography>
<Typography paragraph>
If any provision of this EULA is found to be invalid or unenforceable, that provision will be limited or eliminated
to the minimum extent necessary, and the remaining provisions will remain in full force and effect.
</Typography>
<Typography variant="h5">16. Entire Agreement</Typography>
<Typography paragraph>
This EULA, together with our Terms of Service and Privacy Policy, constitutes the entire agreement between you and ParentFlow regarding the App.
</Typography>
<Typography variant="h5">17. Changes to This EULA</Typography>
<Typography paragraph>
We may update this EULA from time to time to reflect changes in the App or legal requirements. We will notify you
of material changes by email or through the App. Your continued use of the App after changes constitutes acceptance
of the updated EULA.
</Typography>
<Typography variant="h5">18. Contact Us</Typography>
<Typography paragraph>
If you have questions about this EULA, please contact us:
</Typography>
<Typography component="div" paragraph>
<strong>Email:</strong> hello@parentflow.com<br />
<strong>Address:</strong> Serbota 3, Bucharest, Romania
</Typography>
<Box sx={{ mt: 4, pt: 3, borderTop: 1, borderColor: 'divider' }}>
<Typography variant="h6" gutterBottom>
Acceptance of EULA
</Typography>
<Typography paragraph>
BY CLICKING "I ACCEPT" DURING APP SETUP, CREATING AN ACCOUNT, OR CONTINUING TO USE THE APP, YOU ACKNOWLEDGE
THAT YOU HAVE READ, UNDERSTOOD, AND AGREE TO BE BOUND BY THIS EULA.
</Typography>
<Typography paragraph>
IF YOU DO NOT AGREE TO THIS EULA, DO NOT USE THE APP.
</Typography>
</Box>
</Box>
);
}