improvement: Frontend Dockerfile updated so that aseests in public folder loads on the website.
This commit is contained in:
@@ -50,6 +50,8 @@ ENV HOSTNAME=0.0.0.0
|
||||
|
||||
COPY --from=builder --chown=dyolink:nodejs /app/.next/standalone ./
|
||||
COPY --from=builder --chown=dyolink:nodejs /app/.next/static ./.next/static
|
||||
# Standalone does not include public/; catalog icons are <img src="/prosthesis-catalog/*.svg">.
|
||||
COPY --from=builder --chown=dyolink:nodejs /app/public ./public
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
# Windows git/build context may use CRLF; strip before chmod (fixes dumb-init "No such file or directory").
|
||||
|
||||
@@ -60,4 +60,4 @@ npm install
|
||||
|
||||
## Docker
|
||||
|
||||
Image build and build-args (`NEXT_PUBLIC_*`) are documented in the **repository root `README.md`**.
|
||||
Image build and build-args (`NEXT_PUBLIC_*`) are documented in the **repository root `README.md`**. Next `standalone` does not include `public/` — `frontend/Dockerfile` copies it so `/prosthesis-catalog/*.svg` is served in production.
|
||||
|
||||
@@ -159,9 +159,8 @@
|
||||
"verifyFailed": "Invalid or expired verification code."
|
||||
},
|
||||
"landing": {
|
||||
"heroTitle": "Connect Dental Clinics & Labs",
|
||||
"heroHighlight": "Seamlessly",
|
||||
"heroSubtitle": "Streamline communication between dental professionals. Start with a 30-day free trial, no credit card required.",
|
||||
"heroTitle": "Nudentic is a digital workflow platform for modern dentistry.",
|
||||
"heroSubtitle": "It brings clinical and laboratory workflows, case information, communication, and patient records into one structured environment.",
|
||||
"featureClinicsTitle": "For Clinics",
|
||||
"featureClinicsDescription": "Manage patients, appointments, and send cases to labs instantly.",
|
||||
"featureLabsTitle": "For Labs",
|
||||
|
||||
@@ -159,9 +159,8 @@
|
||||
"verifyFailed": "کد تأیید نامعتبر یا منقضی شده است."
|
||||
},
|
||||
"landing": {
|
||||
"heroTitle": "اتصال کلینیکها و لابراتوارهای دندانپزشکی",
|
||||
"heroHighlight": "بهصورت یکپارچه",
|
||||
"heroSubtitle": "ارتباط بین متخصصان دندانپزشکی را ساده و سریع کنید. با یک دوره آزمایشی رایگان ۳۰ روزه، بدون نیاز به کارت اعتباری، شروع کنید.",
|
||||
"heroTitle": "Nudentic یک پلتفرم گردشکار دیجیتال برای دندانپزشکی مدرن است.",
|
||||
"heroSubtitle": "این پلتفرم گردشکارهای بالینی و لابراتواری، اطلاعات پرونده، ارتباط و سوابق بیمار را در یک محیط ساختاریافته کنار هم میآورد.",
|
||||
"featureClinicsTitle": "برای کلینیکها",
|
||||
"featureClinicsDescription": "بیماران و نوبتها را مدیریت کنید و پروندهها را فوراً به لابراتوارها ارسال کنید.",
|
||||
"featureLabsTitle": "برای لابراتوارها",
|
||||
|
||||
@@ -159,9 +159,8 @@
|
||||
"verifyFailed": "Ongeldige of verlopen verificatiecode."
|
||||
},
|
||||
"landing": {
|
||||
"heroTitle": "Verbind Tandheelkundige Klinieken & Laboratoria",
|
||||
"heroHighlight": "Naadloos",
|
||||
"heroSubtitle": "Stroomlijn de communicatie tussen tandheelkundige professionals. Start met een gratis proefperiode van 30 dagen, zonder creditcard.",
|
||||
"heroTitle": "Nudentic is een digitaal workflowplatform voor de moderne tandheelkunde.",
|
||||
"heroSubtitle": "Het brengt klinische en laboratoriumworkflows, casusinformatie, communicatie en patiëntendossiers samen in één gestructureerde omgeving.",
|
||||
"featureClinicsTitle": "Voor Klinieken",
|
||||
"featureClinicsDescription": "Beheer patiënten, afspraken en stuur casussen direct naar laboratoria.",
|
||||
"featureLabsTitle": "Voor Laboratoria",
|
||||
|
||||
@@ -52,12 +52,11 @@ export default function HomePage() {
|
||||
|
||||
<main className="flex-1 container mx-auto px-4 pt-28 sm:pt-32 pb-16 sm:pb-20">
|
||||
<div className="max-w-4xl mx-auto text-center">
|
||||
<h1 className="text-3xl sm:text-4xl md:text-5xl lg:text-6xl font-semibold mb-4 sm:mb-6 leading-tight">
|
||||
<h1 className="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-semibold mb-4 sm:mb-6 leading-tight text-balance max-w-3xl mx-auto">
|
||||
{t('heroTitle')}
|
||||
<span className="text-primary"> {t('heroHighlight')}</span>
|
||||
</h1>
|
||||
|
||||
<p className="text-base sm:text-lg text-text-secondary mb-6 sm:mb-8 max-w-2xl mx-auto">
|
||||
<p className="text-base sm:text-lg text-text-secondary mb-6 sm:mb-8 max-w-3xl mx-auto">
|
||||
{t('heroSubtitle')}
|
||||
</p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user