style: refine greeting section with peace blessing and new verse intro
This commit is contained in:
@@ -13,11 +13,11 @@ export interface BibleVerse {
|
|||||||
|
|
||||||
export const bibleVerses: BibleVerse[] = [
|
export const bibleVerses: BibleVerse[] = [
|
||||||
{
|
{
|
||||||
reference: "Epheser 2:19",
|
reference: "Epheser 2:19-22",
|
||||||
content: {
|
content: {
|
||||||
en: "So then you are no longer strangers and aliens...",
|
en: "So then you are no longer strangers and aliens, but you are fellow citizens with the saints and members of the household of God, built on the foundation of the apostles and prophets, Christ Jesus himself being the cornerstone, in whom the whole structure, being joined together, grows into a holy temple in the Lord. In him you also are being built together into a dwelling place for God by the Spirit.",
|
||||||
de: "So seid ihr nun nicht mehr Gäste und Fremdlinge...",
|
de: "So seid ihr nun nicht mehr Gäste und Fremdlinge, sondern Mitbürger der Heiligen und Gottes Hausgenossen, erbaut auf den Grund der Apostel und Propheten, da Jesus Christus der Eckstein ist, auf welchem der ganze Bau ineinandergefügt wächst zu einem heiligen Tempel in dem Herrn. Durch ihn werdet auch ihr mit erbaut zu einer Wohnung Gottes im Geist.",
|
||||||
ru: "Итак вы уже не чужие и не пришельцы..."
|
ru: "Итак, вы уже не чужие и не пришельцы, но сограждане святым и свои Богу, быв утверждены на основании Апостолов и пророков, имея Самого Иисуса Христа краеугольным камнем, на котором всё здание, слагаясь стройно, возрастает в святой храм в Господе, на котором и вы устрояетесь в жилище Божие Духом."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ import { useParams } from "next/navigation";
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { bibleVerses, localizedContent } from "./lib/dailyVerseData";
|
import { bibleVerses, localizedContent } from "./lib/dailyVerseData";
|
||||||
|
import { Avatar, AvatarImage, AvatarFallback } from "@/components/ui/avatar";
|
||||||
|
import Image from "next/image";
|
||||||
|
|
||||||
const Dashboard: React.FC = () => {
|
const Dashboard: React.FC = () => {
|
||||||
// 1. Get a unique number for the current day
|
// 1. Get a unique number for the current day
|
||||||
@@ -39,7 +41,6 @@ const Dashboard: React.FC = () => {
|
|||||||
const todayVerse = bibleVerses[verseIndex];
|
const todayVerse = bibleVerses[verseIndex];
|
||||||
const params = useParams();
|
const params = useParams();
|
||||||
const lng = params.locale as keyof localizedContent || "en"; // Default to English if no locale is provided
|
const lng = params.locale as keyof localizedContent || "en"; // Default to English if no locale is provided
|
||||||
|
|
||||||
const t = useTranslations("dashboard");
|
const t = useTranslations("dashboard");
|
||||||
|
|
||||||
const categories: ModuleCategory[] = [
|
const categories: ModuleCategory[] = [
|
||||||
@@ -184,22 +185,21 @@ const Dashboard: React.FC = () => {
|
|||||||
return (
|
return (
|
||||||
<div className="mx-auto max-w-7xl space-y-8">
|
<div className="mx-auto max-w-7xl space-y-8">
|
||||||
{/* Welcome Section */}
|
{/* Welcome Section */}
|
||||||
<div className="flex flex-col justify-between gap-4 md:flex-row md:items-center">
|
<div data-cmp="ModuleCard" className="group bg-card border border-border rounded-xl p-6 h-full overflow-hidden">
|
||||||
<div>
|
<div className="animate-in items-baseline fade-in slide-in-from-bottom-4 duration-700 flex flex-col sm:flex-row grow pr-6 gap-2">
|
||||||
<h1 className="text-foreground text-3xl font-bold tracking-tight">
|
<span className="text-2xl md:text-3xl text-nowrap font-semibold leading-none">{t("greeting_name", { user: "Alexander" })}</span>
|
||||||
{t("title")}
|
<span className="text-xl font-semibold text-nowrap leading-none"> {t("greeting")}</span>
|
||||||
</h1>
|
|
||||||
<p className="text-muted-foreground mt-1">{t("greeting", { user: "David", church: "Rastatt" })}</p>
|
|
||||||
<p className="text-muted-foreground mt-1">{t("verse_intro")}</p>
|
|
||||||
<p className="text-muted-foreground mt-1">
|
|
||||||
„{todayVerse.content[lng]}"
|
|
||||||
</p>
|
|
||||||
<span className="text-sm text-muted-foreground">({todayVerse.reference})</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="flex space-x-3">
|
<div className="flex-col mt-4">
|
||||||
<Badge variant="secondary" className="px-2.5 py-0.5 text-sm">
|
<p>
|
||||||
v2.4.0 Live
|
<span className="font-semibold">{t("verse_intro")}</span> <br />
|
||||||
</Badge>
|
<i className="italic text-foreground">"{todayVerse.content[lng]}"</i>
|
||||||
|
</p>
|
||||||
|
<div className="flex justify-end mt-3">
|
||||||
|
<Badge variant="outline" className="rounded-sm self-start">
|
||||||
|
{todayVerse.reference}
|
||||||
|
</Badge>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ interface HeaderProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const Header: React.FC<HeaderProps> = ({ onMenuClick, pageTitle }) => {
|
const Header: React.FC<HeaderProps> = ({ onMenuClick, pageTitle }) => {
|
||||||
|
const [hasError, setHasError] = React.useState(false);
|
||||||
return (
|
return (
|
||||||
<header
|
<header
|
||||||
data-cmp="Header"
|
data-cmp="Header"
|
||||||
@@ -55,9 +56,19 @@ const Header: React.FC<HeaderProps> = ({ onMenuClick, pageTitle }) => {
|
|||||||
<p className="text-foreground text-sm font-medium">Community Admin</p>
|
<p className="text-foreground text-sm font-medium">Community Admin</p>
|
||||||
<p className="text-muted-foreground text-xs">Super Administrator</p>
|
<p className="text-muted-foreground text-xs">Super Administrator</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="bg-primary/10 border-primary/20 flex h-9 w-9 shrink-0 items-center justify-center rounded-full border">
|
{hasError ? (
|
||||||
<User className="text-primary h-5 w-5" />
|
<div className="w-10 h-10 rounded-full border border-border bg-muted flex items-center justify-center">
|
||||||
</div>
|
<User className="w-6 h-6 text-muted-foreground" />
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<img
|
||||||
|
src="/images/IMG_84271.jpg"
|
||||||
|
alt="Profile"
|
||||||
|
className="w-10 h-10 rounded-full object-cover border border-border"
|
||||||
|
/* If image fails to load, set hasError to true */
|
||||||
|
onError={() => setHasError(true)}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"title": "Community-Dashboard",
|
"title": "Community-Dashboard",
|
||||||
"welcome": "Willkommen im Admin-Bereich. Verwalten Sie Ihre Community-Ressourcen sicher.",
|
"welcome": "Willkommen im Admin-Bereich. Verwalten Sie Ihre Community-Ressourcen sicher.",
|
||||||
"greeting": "Lieber {user}, deine örtliche Gemeinde {church} begrüßt dich!",
|
"greeting_name": "Lieber Bruder {user},",
|
||||||
"verse_intro": "Lass dich durch den folgenden Vers ermutigen:"
|
"greeting": "Friede sei mit Dir!",
|
||||||
|
"verse_intro": "Zur Ermutigung:"
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"title": "Benutzer",
|
"title": "Benutzer",
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"title": "Community Dashboard",
|
"title": "Community Dashboard",
|
||||||
"welcome": "Welcome to the admin area. Manage your community resources safely.",
|
"welcome": "Welcome to the admin area. Manage your community resources safely.",
|
||||||
"greeting": "Dear {user}, your local community {church} welcomes you!",
|
"greeting_name": "Dear brother {user},",
|
||||||
"verse_intro": "Let the following verse encourage you:"
|
"greeting": "peace be with you!",
|
||||||
|
"verse_intro": "For encouragement:"
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"title": "Users",
|
"title": "Users",
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"title": "Community Dashboard",
|
"title": "Community Dashboard",
|
||||||
"welcome": "Добро пожаловать в административный раздел. Безопасно управляйте ресурсами вашего сообщества.",
|
"welcome": "Добро пожаловать в административный раздел. Безопасно управляйте ресурсами вашего сообщества.",
|
||||||
"greeting": "Дорогой {user}, твоя местная община {church} приветствует тебя!",
|
"greeting_name": "Дорогой брат {user},",
|
||||||
"verse_intro": "Пусть этот стих подбодрит тебя:"
|
"greeting": "мир Тебе!",
|
||||||
|
"verse_intro": "Для ободрения:"
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"title": "Пользователи",
|
"title": "Пользователи",
|
||||||
|
|||||||
BIN
public/images/IMG_84271.jpg
Normal file
BIN
public/images/IMG_84271.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 143 KiB |
Reference in New Issue
Block a user