Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Merge pull request #214 from new5558/master
Browse files Browse the repository at this point in the history
version 0.92 beta
new5558 authored Feb 14, 2019
2 parents 52654b4 + 777b90f commit 46b3f11
Showing 21 changed files with 179 additions and 71 deletions.
40 changes: 37 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,50 @@
# CU Blood Component Template
# CU Blood FrontEnd


## Starting Development Server
```
yarn go
yarn start:prod
```

Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

## Run production mode
```
yarn install
yarn gencss
yarn next:build
yarn start
```

Need pm2 to always run the node
and nginx to reverse proxy to port 80

### There is a login bug when login from localhost
Since this is only appear in localhost, there will not be a fix for this.
- we have provided manual login for localhost use by the following steps:
1. login from http://next.fives.cloud and copy cookie named "connect.sid" which has value familair to the image

![image](https://user-images.githubusercontent.com/12471844/52804631-423db700-30b7-11e9-8fdf-45b9e28567f7.png)

2. open localhost:3000 and use browser's dev tool to create new cookie named "connect.sid" with the same value copied from the previous step.

![image](https://user-images.githubusercontent.com/12471844/52804581-23d7bb80-30b7-11e9-9b71-886e0c6e393a.png)

3. refreshthe web. you will be now logged in.

![image](https://user-images.githubusercontent.com/12471844/52804671-5b466800-30b7-11e9-928a-9d96375c24ea.png)


## Directory Referencing

Symbol | Directory | Example Usage
--- | --- | ---
@ | ./components | `import FacebookCard from '@/shared-components/FacebookCard'`
@ | ./components | `import FacebookCard from '@/shared-components/FacebookCard'`


## Available deployment sites
https://new5558.surge.sh << old build before migrate from static site to express rendering.
https://cu-blood.herokuapp.com << master branch CI/CD NO DOCKER.
https://poom-cublood.herokuapp.com << poom branch CI/CD NO DOCKER.
http://next.fives.cloud << production branch (same as master but less frequent update)(digital ocean 5$ droplet) NO CD ONLY MANUAL DEPLOY.
13 changes: 8 additions & 5 deletions components/announcement/local-components/AnnouncementCard.jsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
import React from 'react'
import React, {Component} from 'react'
import moment from 'moment';
import I18 from '@/core/i18n';
let i18n = I18.i18n;

export default class AnnouncementCard extends React.Component {
export default class AnnouncementCard extends Component {
render() {

const { text, date, image } = this.props

i18n.language === 'th' ? moment.locale('th') : moment.locale('en');

return (
<div className={"bg-white flex flex-col justify-between shadow-md text-black rounded-lg lg:mb-0 m-5 mt-10"} style={{ width: "19rem" }}>
<div className="bg-white flex bg-center bg-cover" style={{ height: '150px', borderTopLeftRadius: '0.5rem', borderTopRightRadius: '0.5rem', backgroundImage: "url(" + image + ")"}}></div>
<div className="flex flex-row items-center px-6 bg-white my-5">
<div className="pl-2 font-semibold text-lg font-cu-body text-pink-dark">
{date}
{moment(date).format('DD MMMM YYYY')}
</div>
</div>
<div className="px-8 pb-3 bg-white text-sm mb-3 font-cu-body text-lg leading-normal select-none">
4 changes: 2 additions & 2 deletions components/home/local-components/Statistic.jsx
Original file line number Diff line number Diff line change
@@ -42,11 +42,11 @@ class Statistic extends Component {
<div className="flex flex-col sm:flex-row w-full items-center">
<div className={`${contentStyle} pt-6 sm:border-b-0 sm:border-r sm:pr-6`}>
{/* <StatisticContent number={statNumber[2]} content={statContent[2]} /> */}
<StatisticContent number={data[3]} content={t('bloodTypeO')} />
<StatisticContent number={data[2]} content={t('bloodTypeO')} />
</div>
<div className={`text-center w-full sm:w-1/2 sm:border-b-0 pt-6 sm:pl-6 sm:flex sm:justify-center`}>
{/* <StatisticContent number={statNumber[3]} content={statContent[3]} /> */}
<StatisticContent number={data[0]} content={t('bloodTypeAB')} />
<StatisticContent number={data[3]} content={t('bloodTypeAB')} />
</div>
</div>
<div className="sm:absolute w-full h-full">
33 changes: 25 additions & 8 deletions components/home/local-components/UrgentAnnouncement.jsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,40 @@
import React, { Component } from "react";
import moment from 'moment';
import I18 from '@/core/i18n';
let i18n = I18.i18n;

class UrgentAnnouncement extends Component {
render() {

return (
const { commonsData = {}, t } = this.props;
i18n.language === 'th' ? moment.locale('th') : moment.locale('en');
const startDate = moment(commonsData.startDate);
const endDate = moment(commonsData.endDate);
const regisEndDate = moment(commonsData.registrationEndDate);
const now = moment();
const startAndEndMonth = startDate.format('M') === endDate.format('M')
? startDate.format('MMMM')
: startDate.format('MMM') + '-' + endDate.format('MMM');

return commonsData.startDate ?
(
<div className="bg-cb-red flex justify-center sm:block">
<div className="flex flex-col sm:flex-row py-6 justify-center sm:items-center font-cu-heading text-white">
<div className=" sm:pb-0 sm:pr-4 md:pr-8 mb-3 sm:mb-0 flex justify-start sm:justify-end">
{this.contentDate(`18-21`, `มกราคม`)}
{this.contentDesc(`วันบริจาคเลือด`, `อีก 3 วัน`)}
{this.contentDate(startDate.format('D') + "-" + endDate.format('D'), startAndEndMonth)}
{this.contentDesc(t('donationDate'), `${t('left')} ${endDate.diff(now, 'days')} ${t('days')}`)}
</div>
<div className="sm:border-l border-t w-full sm:w-px sm:h-16 special-color"></div>
<div className=" sm:pl-4 md:pl-8 mt-3 sm:mt-0 flex items-end">
{this.contentDate(17, `มกราคม`)}
{this.contentDesc(`ปิดการลงทะเบียน`, `อีก 2 วัน`)}
{this.contentDate(regisEndDate.format('D'), regisEndDate.format('MMMM'))}
{this.contentDesc(t('endOfRegistrationDate'), `${t('left')} ${regisEndDate.diff(now, 'days')} ${t('days')}`)}
</div>
</div>
</div>
);
)
:
(
null
)
}

contentDate = (date, month) => {
@@ -39,4 +56,4 @@ class UrgentAnnouncement extends Component {
}
}

export default UrgentAnnouncement;
export default I18.withNamespaces('index')(UrgentAnnouncement);
6 changes: 3 additions & 3 deletions components/profile/local-components/Enrollment.jsx
Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@ class Enrollment extends Component {
return (
<div className="bg-cb-grey-lighter pb-10">
<div className="layout-wide">
<Header english="ENROLLMENT" thai="ลงทะเบียนเข้าร่วม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentSmallHeader')} thai={t('enrollmentBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<Card>
<Detail bigText="ขณะนี้ข้อมูลมีปัญหา โปรดลองใหม่อีกครั้ง" smallText="Error in retrieving information, please try again later"/>
</Card>
@@ -68,7 +68,7 @@ class Enrollment extends Component {
return(
<div className="bg-cb-grey-lighter pb-10">
<div className="layout-wide">
<Header english="ENROLLMENT" thai="ลงทะเบียนเข้าร่วม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentSmallHeader')} thai={t('enrollmentBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<Card>
<Detail bigText="ขณะนี้ไม่ได้อยู่ในช่วงเปิดให้ลงทะเบียน" smallText="Currently, it is not in the registration period."/>
</Card>
@@ -109,7 +109,7 @@ class Enrollment extends Component {
return (
<div className="bg-cb-grey-lighter pb-10">
<div className="layout-wide">
<Header english="ENROLLMENT" thai="ลงทะเบียนเข้าร่วม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentSmallHeader')} thai={t('enrollmentBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<Card>
<div className="w-full mb-8 font-cu-heading flex flex-col md:flex-row text-center md:text-left justify-between items-center">
<div className="text-3xl">{commonsInfo.name}</div>
11 changes: 6 additions & 5 deletions components/profile/local-components/EnrollmentHistory.jsx
Original file line number Diff line number Diff line change
@@ -12,12 +12,13 @@ class EnrollmentHistory extends Component {
const commonsInfo = this.props.commonsInfo;
const sessionInfo = this.props.sessionInfo;
const content = (commonsInfo !== null) && (sessionInfo !== null) ? this.chooseContent(sessionInfo, commonsInfo) : null

const { t } = this.props;

if (commonsInfo === null) {
return(
<div className="bg-cb-grey-lighter pb-10">
<div className="layout-wide">
<Header english="ENROLLMENT" thai="ลงทะเบียนเข้าร่วม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentHistorySmallHeader')} thai={t('enrollmentHistoryBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<div className="mb-8"><Card><Detail bigText="ขณะนี้ข้อมูลมีปัญหา โปรดลองใหม่อีกครั้ง" smallText="Error in retrieving information, please try again later"/></Card></div>
</div>
</div>
@@ -28,7 +29,7 @@ class EnrollmentHistory extends Component {
return(
<div className="bg-cb-grey-lighter pb-10">
<div className="layout-wide">
<Header english="ENROLLMENT" thai="ลงทะเบียนเข้าร่วม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentHistorySmallHeader')} thai={t('enrollmentHistoryBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<div className="mb-8"><Card><Detail bigText="ไม่มีประวัติการเข้าร่วมกิจกรรม" smallText="No enrollment history is available"/></Card></div>
</div>
</div>
@@ -37,7 +38,7 @@ class EnrollmentHistory extends Component {
return(
<div className="bg-cb-grey-lighter">
<div className="layout-wide pb-2">
<Header english="ENROLLMENT HISTORY" thai="ประวัติการเข้าร่วมกิจกรรม" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('enrollmentHistorySmallHeader')} thai={t('enrollmentHistoryBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
{content}
</div>
</div>
@@ -62,4 +63,4 @@ class EnrollmentHistory extends Component {
}
}

export default EnrollmentHistory;
export default I18.withNamespaces('profile')(EnrollmentHistory);
4 changes: 2 additions & 2 deletions components/profile/local-components/PersonalInfo.jsx
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ class PersonalInfo extends Component {
return (
<div className="layout-wide">
<div className="flex items-center justify-between">
<Header english="PERSONAL INFORMATION" thai="ข้อมูลส่วนตัว" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('personalInfoSmallHeader')} thai={t('personalInfoBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<Link href="/u/updateInfo" prefetch>
<div className="flex font-cu-heading text-sm items-center">
<div className="mr-2 hidden sm:block">{t('changeUserInfo')}</div>
@@ -49,7 +49,7 @@ class PersonalInfo extends Component {
}}
</UserInfoConsumer>
<hr className="w-full max-w-xs border border-cb-grey-border" />
<Header english="MEDICAL CONDITIONS" thai="โรคประจำตัว / ประวัติการแพ้ยา" englishColor="text-cb-pink" borderColor="border-cb-red" />
<Header english={t('medicalInfoSmallHeader')} thai={t('medicalInfoBigHeader')} englishColor="text-cb-pink" borderColor="border-cb-red" />
<UserInfoConsumer>
{({ userInfo }) => {
if ((userInfo === null) || (userInfo === undefined)) {
14 changes: 7 additions & 7 deletions components/shared-components/UserLogin.jsx
Original file line number Diff line number Diff line change
@@ -8,19 +8,19 @@ class UserLogin extends Component {
const { onSubmit, errorMessage, username, password, onChange, formValid, t} = this.props;
return (
<div>
<Header borderColor="border-cb-red" english="LOGIN" thai="เข้าสู่ระบบ" englishColor="text-cb-pink" />
<div className="text-red mb-4">{errorMessage}</div>
<Header borderColor="border-cb-red" english={t('userLoginTitleSmall')} thai={t('userLoginTitleBig')} englishColor="text-cb-pink" />
<div className="text-red mb-4">{t(errorMessage)}</div>
<form onSubmit={onSubmit}>
<span className="font-cu-heading">อีเมล์</span>
<span className="font-cu-heading">{t('userLogin_Email')}</span>
<input autocomplete="new-username" className="bg-cb-grey-light rounded-lg mt-2 w-full h-8 mb-10 p-6" value={username} onChange={onChange} type="text" name="username" />
<div className="flex justify-between">
<span className="font-cu-heading">รหัสผ่าน</span>
<span className="font-cu-heading font-semibold text-grey">ลืมรหัสผ่าน</span>
<span className="font-cu-heading">{t('userLogin_Password')}</span>
<span className="font-cu-heading font-semibold text-grey">{t('userLoginForgotPassword')}</span>
</div>
<input autocomplete="new-password" className="bg-cb-grey-light rounded-lg mt-2 w-full h-8 mb-10 p-6" value={password} onChange={onChange} type="password" name="password" />
<div className="flex flex-row justify-between items-center">
<Link href="/registerForm"><a className="no-underline"><span className="font-cu-heading text-grey underline">ลงทะเบียน</span></a></Link>
<button disabled={!formValid} type="submit" className="px-10 py-3 text-white bg-cb-pink rounded-lg btn" id="confirm">เข้าสู่ระบบ</button>
<Link href="/registerForm"><a className="no-underline"><span className="font-cu-heading text-grey underline">{t('userLoginRegister')}</span></a></Link>
<button disabled={!formValid} type="submit" className="px-10 py-3 text-white bg-cb-pink rounded-lg btn" id="confirm">{t('userLoginLogin')}</button>
</div>
</form>
</div>
12 changes: 1 addition & 11 deletions pages/announcement.js
Original file line number Diff line number Diff line change
@@ -5,7 +5,6 @@ import Footer from '@/shared-components/Footer';
import FacebookButton from '@/shared-components/FacebookButton';
import axios from 'axios';
import map from 'lodash/map';
import moment from 'moment';

class Notice extends React.Component {
constructor(props) {
@@ -16,7 +15,6 @@ class Notice extends React.Component {
totalPage: this.props.numberOfPage,
isButtonDisabledRight: false,
isButtonDisabledLeft: true,

}
}

@@ -117,19 +115,11 @@ class Notice extends React.Component {

const lengthOfArray = this.state.totalPage;

//format date
const announcementDateMoment = (props) => {
let data = moment(announcementDate[props]).format('DD MMMM YYYY');
return(
data
);
}

//array for cards
const AnnouncementCardLoop = () => {
let data = [];
for(let i = 0; i < lengthOfArray; i++) {
data.push(<AnnouncementCard key={i} text={announcementTitle[i]} date={announcementDateMoment(i)} image={announcementImage[i]}/>);
data.push(<AnnouncementCard key={i} text={announcementTitle[i]} date={announcementDate[i]} image={announcementImage[i]}/>);
}

return data;
41 changes: 28 additions & 13 deletions pages/chulaLogin.js
Original file line number Diff line number Diff line change
@@ -39,10 +39,28 @@ class ChulaLogin extends Component {
})
.catch((e) => {
if (e.response) {
state = {
username: "",
password: "",
errorMessage: e.response.data.message
const message = e.response.data.message;
switch (message) {
case "Invalid credentials":
state = {
username: "",
password: "",
errorMessage: "wrongPassword"
}
break;
case "User not found":
state = {
password: "",
errorMessage: "userNotFound"
}
break;
default:
state = {
username: "",
password: "",
errorMessage: message
}
break;
}
} else {
state = {
@@ -61,24 +79,21 @@ class ChulaLogin extends Component {

validateForm = () => {
this.setState(prevState => ({
formValid: prevState.username !== "" && prevState.password !=="",
formValid: prevState.username !== "" && prevState.password !== "",
}))
}

render() {
const { t } = this.props;
return (
<div className="flex flex-col special-height">
<div className="layout-wide flex flex-row items-center special-height">
<div className="w-full mr-12 md:mr-32 hidden sm:flex sm:flex-col">
<img src="../static/icons/bulb.svg" alt="bulb" style={{ height: "40px", width: "35px" }} />
<span className="font-bold text-xl text-cb-pink my-2 font-cu-heading">รู้หรือไม่...</span>
<span className="font-bold text-xl my-2 font-cu-heading">การบริจาคโลหิตลดความเสี่ยงจากโรคต่าง ๆ</span>
<span className="font-bold text-xl text-cb-pink my-2 font-cu-heading">{t('chulaLoginDoYouKnow')}</span>
<span className="font-bold text-xl my-2 font-cu-heading">{t('chulaLoginDYKfirstLine')}</span>
<p className="text-base my-2 font-cu-body" style={{ color: "#9A9A9A" }}>
ไม่ว่าจะเป็นโรคมะเร็งชนิดต่างๆ เช่น มะเร็งตับ
มะเร็งปอด มะเร็งลําไส้ใหญ่ มะเร็งกระเพาะอาหาร
และอื่นๆ ทั้งยังช่วยลดปริมาณธาตุเหล็กส่วนเกิน
ในร่างกาย อันเป็นปัจจัยของการเกิดโรค
“เส้นเลือดหัวใจอุดตัน
{t('chulaLoginDYKBody')}
</p>
</div>
<div className="w-full">
@@ -99,4 +114,4 @@ class ChulaLogin extends Component {
}
}

export default I18.withNamespaces('common')(ChulaLogin);
export default I18.withNamespaces('common')(ChulaLogin);
10 changes: 6 additions & 4 deletions pages/index.js
Original file line number Diff line number Diff line change
@@ -20,29 +20,31 @@ class App extends Component {
const statDataPromise = axios.get(`/commons/insights/blood-types/${year}`)
const FacebookPostsPromise = axios.get('https://api-dev.fives.cloud/v0/commons/facebook/posts')
const calendarEventsPromise = axios.get('https://api-dev.fives.cloud/v0/events/all/1')
const commonsDataPromise = axios.get('https://api-dev.fives.cloud/v0/commons');

const data = await Promise.all([announcementdataPromise, statDataPromise, FacebookPostsPromise, calendarEventsPromise]
const data = await Promise.all([announcementdataPromise, statDataPromise, FacebookPostsPromise, calendarEventsPromise, commonsDataPromise]
.map(p => p
.then(response => response.data)
.catch(e => null)))
.catch(console.log);

const [announcementData, statData, facebookPosts, calendarEvents] = data;
const [announcementData, statData, facebookPosts, calendarEvents, commonsData] = data;
return {
announcementData: announcementData ? announcementData.result.data : undefined,
statData: statData ? statData.result : undefined,
facebookPosts: facebookPosts ? facebookPosts.result : undefined,
calendarEvents: calendarEvents ? calendarEvents.result.data : undefined,
commonsData : commonsData ? commonsData.result : undefined,
year,
};
}

render() {
const { announcementData, statData, facebookPosts, calendarEvents, year } = this.props;
const { announcementData, statData, facebookPosts, calendarEvents, commonsData ,year } = this.props;
return (
<div className="font-sans border-black flex flex-col content-center w-full" >
<HomeHead />
<UrgentAnnouncement />
<UrgentAnnouncement commonsData={commonsData} />
<Announcement announcementData={announcementData} />
<CalendarContainer calendarEvents={calendarEvents}/>
<Statistic statData={statData} year={year}/>
Binary file modified static/home/announcementBackground.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/home/homehead.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion static/locales/en/common.json
Original file line number Diff line number Diff line change
@@ -6,5 +6,8 @@
"contact": "Contact",
"logout": "Logout",
"login": "Login",
"profile": "Profile"
"profile": "Profile",
"chulaLoginDoYouKnow" : "Do you Know?",
"chulaLoginDYKfirstLine" : "Donating blood decreases your vulnerability to many diseases",
"chulaLoginDYKBody": "including the various types of cancer, such as liver cancer, lung cancer, colon cancer, stomach cancer, etc. It also helps get rid of excess iron in the body, which is a factor for \"Coronary Artery Disease\"."
}
6 changes: 5 additions & 1 deletion static/locales/en/index.json
Original file line number Diff line number Diff line change
@@ -15,5 +15,9 @@
"bloodTypeB": "BloodType B",
"bloodTypeO": "BloodType O",
"bloodTypeAB": "BloodType AB",
"totalDonors": "Total Donors"
"totalDonors": "Total Donors",
"donationDate": "Donation date",
"endOfRegistrationDate": "End of Registration",
"left": "",
"days": "days left"
}
10 changes: 9 additions & 1 deletion static/locales/en/login.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
{

"userLogin_Email" : "Email",
"userLoginLogin" : "LOGIN",
"userLoginRegister" : "REGISTER",
"userLogin_Password": "Password",
"userLoginForgotPassword": "Forgot Password?",
"userLoginTitleSmall": "เข้าสู่ระบบ",
"userLoginTitleBig": "LOGIN",
"wrongPassword": "Wrong password",
"userNotFound": "User not found"
}
10 changes: 9 additions & 1 deletion static/locales/en/profile.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"profileHeader" : "Personal Information",
"enrollmentSmallHeader" : "ลงทะเบียนเข้าร่วม",
"enrollmentBigHeader" : "ENROLLMENT",
"enrollmentViewTime" : "Registered Time",
"enrollmentViewMap" : "View on map",
"enrollmentRegister" : "Register",
@@ -15,6 +17,8 @@
"enrollmentDonatePeriod" : "Blood Donation Period",
"enrollmentCancel" : "Cancel",
"enrollmentConfirm" : "Confirm",
"personalInfoSmallHeader" : "ข้อมูลส่วนตัว",
"personalInfoBigHeader" : "PERSONAL INFORMATION",
"personalInfoName" : "Full Name (NickName)",
"personalInfoSex" : "Sex",
"personalInfoBirthday" : "Birthday",
@@ -36,5 +40,9 @@
"personalInfoDidNot" : "No",
"personalInfoYes" : "Yes",
"personalInfoNo" : "No",
"changeUserInfo" : "Edit Info"
"changeUserInfo" : "Edit Info",
"medicalInfoSmallHeader" : "โรคประจำตัว / ประวัติการแพ้ยา",
"medicalInfoBigHeader" : "MEDICAL CONDITIONS",
"enrollmentHistorySmallHeader" : "ประวัติการเข้าร่วมกิจกรรม",
"enrollmentHistoryBigHeader" : "ENROLLMENT HISTORY"
}
5 changes: 4 additions & 1 deletion static/locales/th/common.json
Original file line number Diff line number Diff line change
@@ -6,5 +6,8 @@
"contact": "ติดต่อเรา",
"logout": "ออกจากระบบ",
"login": "เข้าสู่ระบบ",
"profile": "ไปที่หน้าโปรไฟล์"
"profile": "ไปที่หน้าโปรไฟล์",
"chulaLoginDoYouKnow": "รู้หรือไม่?",
"chulaLoginDYKfirstLine": "การบริจาคโลหิตลดความเสี่ยงจากโรคต่าง ๆ",
"chulaLoginDYKBody": "ไม่ว่าจะเป็นโรคมะเร็งชนิดต่างๆ เช่น มะเร็งตับ มะเร็งปอด มะเร็งลําไส้ใหญ่ มะเร็งกระเพาะอาหาร และอื่นๆ ทั้งยังช่วยลดปริมาณธาตุเหล็กส่วนเกิน ในร่างกาย อันเป็นปัจจัยของการเกิดโรค \"เส้นเลือดหัวใจอุดตัน\""
}
6 changes: 5 additions & 1 deletion static/locales/th/index.json
Original file line number Diff line number Diff line change
@@ -15,5 +15,9 @@
"bloodTypeB": "หมู่โลหิต B",
"bloodTypeO": "หมู่โลหิต O",
"bloodTypeAB": "หมู่โลหิต AB",
"totalDonors": "จำนวนผู้บริจาคทั้งหมด"
"totalDonors": "จำนวนผู้บริจาคทั้งหมด",
"donationDate": "วันบริจาคเลือด",
"endOfRegistrationDate": "ปิดการลงทะเบียน",
"left": "อีก",
"days": "วัน"
}
10 changes: 9 additions & 1 deletion static/locales/th/login.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
{

"userLogin_Email" : "อีเมล์",
"userLoginLogin" : "เข้าสู่ระบบ",
"userLoginRegister" : "ลงทะเบียน",
"userLogin_Password": "รหัสผ่าน",
"userLoginForgotPassword": "ลืมรหัสผ่าน?",
"userLoginTitleBig": "เข้าสู่ระบบ",
"userLoginTitleSmall": "LOGIN",
"wrongPassword": "รหัสผ่านไม่ถูกต้อง",
"userNotFound": "ไม่พบชื่อผู้ใช้นี้"
}
10 changes: 9 additions & 1 deletion static/locales/th/profile.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"profileHeader" : "ประวัติส่วนตัว",
"enrollmentSmallHeader" : "ENROLLMENT",
"enrollmentBigHeader" : "ลงทะเบียนเข้าร่วม",
"enrollmentViewTime" : "เวลาที่เลือก",
"enrollmentViewMap" : "ดูแผนที่",
"enrollmentRegister" : "ลงทะเบียน",
@@ -15,6 +17,8 @@
"enrollmentDonatePeriod" : "วันบริจาคโลหิต",
"enrollmentCancel" : "ยกเลิก",
"enrollmentConfirm" : "ยืนยัน",
"personalInfoSmallHeader" : "PERSONAL INFORMATION",
"personalInfoBigHeader" : "ข้อมูลส่วนตัว",
"personalInfoName" : "ชื่อ - นามสกุล (ชื่อเล่น)",
"personalInfoSex" : "เพศ",
"personalInfoBirthday" : "วัน / เดือน / ปี เกิด",
@@ -36,5 +40,9 @@
"personalInfoDidNot" : "ไม่เคย",
"personalInfoYes" : "ใช่",
"personalInfoNo" : "ไม่ใช่",
"changeUserInfo" : "แก้ไขข้อมูล"
"changeUserInfo" : "แก้ไขข้อมูล",
"medicalInfoSmallHeader" : "MEDICAL CONDITIONS",
"medicalInfoBigHeader" : "โรคประจำตัว / ประวัติการแพ้ยา",
"enrollmentHistorySmallHeader" : "ENROLLMENT HISTORY",
"enrollmentHistoryBigHeader" : "ประวัติการเข้าร่วมกิจกรรม"
}

0 comments on commit 46b3f11

Please sign in to comment.