Update disclaimer and footer, add link to git repo
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
- Updated `LDX_TO_DAMPH_SALT_FACTOR` from 0.2948 to **0.29677** (exact MW ratio: 135.21/455.60)
|
- Updated `LDX_TO_DAMPH_SALT_FACTOR` from 0.2948 to **0.29677** (exact MW ratio: 135.21/455.60)
|
||||||
- Added `DEFAULT_F_ORAL = 0.96` (oral bioavailability from FDA label)
|
- Added `DEFAULT_F_ORAL = 0.96` (oral bioavailability from FDA label)
|
||||||
- Changed LDX absorption half-life default from 1.5h to **0.9h** (better matches ~1h Tmax)
|
- Changed LDX absorption half-life default from 1.5h to **0.9h** (better matches ~1h Tmax)
|
||||||
- Widened therapeutic range from 10.5–11.5 to **5–25 ng/mL** (general adult range)
|
- Widened therapeutic range from 10.5–11.5 to **5–25 ng/mL** (general adult range)
|
||||||
- Bumped localStorage key to `v7` (will reset existing user data)
|
- Bumped localStorage key to `v7` (will reset existing user data)
|
||||||
|
|
||||||
### 2. Advanced Settings Features
|
### 2. Advanced Settings Features
|
||||||
|
|||||||
14
src/App.tsx
14
src/App.tsx
@@ -10,6 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import { GitBranch } from 'lucide-react';
|
||||||
|
|
||||||
// Components
|
// Components
|
||||||
import DaySchedule from './components/day-schedule';
|
import DaySchedule from './components/day-schedule';
|
||||||
@@ -18,6 +19,7 @@ import Settings from './components/settings';
|
|||||||
import LanguageSelector from './components/language-selector';
|
import LanguageSelector from './components/language-selector';
|
||||||
import DisclaimerModal from './components/disclaimer-modal';
|
import DisclaimerModal from './components/disclaimer-modal';
|
||||||
import { Button } from './components/ui/button';
|
import { Button } from './components/ui/button';
|
||||||
|
import { PROJECT_REPOSITORY_URL } from './constants/defaults';
|
||||||
|
|
||||||
// Custom Hooks
|
// Custom Hooks
|
||||||
import { useAppState } from './hooks/useAppState';
|
import { useAppState } from './hooks/useAppState';
|
||||||
@@ -185,14 +187,24 @@ const MedPlanAssistant = () => {
|
|||||||
<h3 className="font-semibold mb-2 text-foreground">{t('importantNote')}</h3>
|
<h3 className="font-semibold mb-2 text-foreground">{t('importantNote')}</h3>
|
||||||
<p>{t('disclaimer')}</p>
|
<p>{t('disclaimer')}</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="flex items-center justify-between">
|
||||||
<Button
|
<Button
|
||||||
variant="outline"
|
variant="outline"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={handleOpenDisclaimer}
|
onClick={handleOpenDisclaimer}
|
||||||
className="w-full sm:w-auto"
|
|
||||||
>
|
>
|
||||||
{t('disclaimerModalFooterLink')}
|
{t('disclaimerModalFooterLink')}
|
||||||
</Button>
|
</Button>
|
||||||
|
<a
|
||||||
|
href={PROJECT_REPOSITORY_URL}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="inline-flex items-center justify-center w-8 h-8 rounded-md hover:bg-accent text-foreground hover:text-accent-foreground transition-colors"
|
||||||
|
title={t('footerProjectRepo')}
|
||||||
|
>
|
||||||
|
<GitBranch size={18} />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import React, { useState } from 'react';
|
|||||||
import { Button } from './ui/button';
|
import { Button } from './ui/button';
|
||||||
import { Card, CardContent, CardHeader, CardTitle } from './ui/card';
|
import { Card, CardContent, CardHeader, CardTitle } from './ui/card';
|
||||||
import LanguageSelector from './language-selector';
|
import LanguageSelector from './language-selector';
|
||||||
|
import { PROJECT_REPOSITORY_URL } from '../constants/defaults';
|
||||||
|
|
||||||
interface DisclaimerModalProps {
|
interface DisclaimerModalProps {
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
@@ -249,7 +250,16 @@ const DisclaimerModal: React.FC<DisclaimerModalProps> = ({
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p className="text-xs text-muted-foreground mt-4 pt-3 border-t">
|
<p className="text-xs text-muted-foreground mt-4 pt-3 border-t">
|
||||||
All sources accessed January 8–9, 2026. For complete citation details, see the project documentation at the end of this app.
|
{t('disclaimerModalSourcesFooter')}{' '}
|
||||||
|
<a
|
||||||
|
href={PROJECT_REPOSITORY_URL}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="text-primary hover:underline"
|
||||||
|
>
|
||||||
|
{PROJECT_REPOSITORY_URL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export const LOCAL_STORAGE_KEY = 'medPlanAssistantState_v7';
|
export const LOCAL_STORAGE_KEY = 'medPlanAssistantState_v7';
|
||||||
|
export const PROJECT_REPOSITORY_URL = 'https://git.11001001.org/cbaoth/med-plan-assistant';
|
||||||
|
|
||||||
// Pharmacokinetic Constants (from research literature)
|
// Pharmacokinetic Constants (from research literature)
|
||||||
// MW ratio: 135.21 (d-amphetamine) / 455.60 (LDX dimesylate) = 0.29677
|
// MW ratio: 135.21 (d-amphetamine) / 455.60 (LDX dimesylate) = 0.29677
|
||||||
|
|||||||
@@ -139,8 +139,10 @@ export const de = {
|
|||||||
disclaimerModalScheduleIIText: "Lisdexamfetamin ist eine kontrollierte Substanz (Betäubungsmittel) mit, im Vergleich zum aktiven Dexamfetamin, moderatem Missbrauchs- und Abhängigkeitspotenzial. Unsachgemäßer oder missbräuchlicher Gebrauch kann schwerwiegende gesundheitliche Folgen so wie strafrechtliche konsequenzen haben.",
|
disclaimerModalScheduleIIText: "Lisdexamfetamin ist eine kontrollierte Substanz (Betäubungsmittel) mit, im Vergleich zum aktiven Dexamfetamin, moderatem Missbrauchs- und Abhängigkeitspotenzial. Unsachgemäßer oder missbräuchlicher Gebrauch kann schwerwiegende gesundheitliche Folgen so wie strafrechtliche konsequenzen haben.",
|
||||||
disclaimerModalLiability: "Keine Garantien oder Gewährleistungen",
|
disclaimerModalLiability: "Keine Garantien oder Gewährleistungen",
|
||||||
disclaimerModalLiabilityText: "Dies ist ein Hobby-/Bildungsprojekt ohne kommerzielle Absicht. Der Entwickler übernimmt keine Garantien, Gewährleistungen oder Haftung. Nutzung erfolgt vollständig auf eigenes Risiko.",
|
disclaimerModalLiabilityText: "Dies ist ein Hobby-/Bildungsprojekt ohne kommerzielle Absicht. Der Entwickler übernimmt keine Garantien, Gewährleistungen oder Haftung. Nutzung erfolgt vollständig auf eigenes Risiko.",
|
||||||
|
disclaimerModalSourcesFooter: "Alle Quellen zugegriffen am 8.–9. Januar 2026. Für vollständige Zitierdetails siehe die Projektdokumentation unter",
|
||||||
disclaimerModalAccept: "Verstanden - Weiter zur App",
|
disclaimerModalAccept: "Verstanden - Weiter zur App",
|
||||||
disclaimerModalFooterLink: "Medizinischer Haftungsausschluss & Datenquellen",
|
disclaimerModalFooterLink: "Medizinischer Haftungsausschluss & Datenquellen",
|
||||||
|
footerProjectRepo: "Projekt-Repository",
|
||||||
// Units
|
// Units
|
||||||
unitMg: "mg",
|
unitMg: "mg",
|
||||||
unitNgml: "ng/ml",
|
unitNgml: "ng/ml",
|
||||||
|
|||||||
@@ -137,8 +137,10 @@ export const en = {
|
|||||||
disclaimerModalScheduleIIText: "Lisdexamfetamine is a controlled substance (Schedule II) with moderate abuse and dependence potential compared to active dexamphetamine. Improper or abusive use can lead to serious health consequences as well as legal repercussions.",
|
disclaimerModalScheduleIIText: "Lisdexamfetamine is a controlled substance (Schedule II) with moderate abuse and dependence potential compared to active dexamphetamine. Improper or abusive use can lead to serious health consequences as well as legal repercussions.",
|
||||||
disclaimerModalLiability: "No Warranties or Guarantees",
|
disclaimerModalLiability: "No Warranties or Guarantees",
|
||||||
disclaimerModalLiabilityText: "This is a hobbyist/educational project with no commercial intent. The developer provides no warranties, guarantees, or liability. Use entirely at your own risk.",
|
disclaimerModalLiabilityText: "This is a hobbyist/educational project with no commercial intent. The developer provides no warranties, guarantees, or liability. Use entirely at your own risk.",
|
||||||
|
disclaimerModalSourcesFooter: "All sources accessed January 8–9, 2026. For complete citation details, see the project documentation at",
|
||||||
disclaimerModalAccept: "I Understand - Continue to App",
|
disclaimerModalAccept: "I Understand - Continue to App",
|
||||||
disclaimerModalFooterLink: "Medical Disclaimer & Data Sources",
|
disclaimerModalFooterLink: "Medical Disclaimer & Data Sources",
|
||||||
|
footerProjectRepo: "Project Repository",
|
||||||
// Units
|
// Units
|
||||||
unitMg: "mg",
|
unitMg: "mg",
|
||||||
unitNgml: "ng/ml",
|
unitNgml: "ng/ml",
|
||||||
|
|||||||
Reference in New Issue
Block a user