Merge branch 'save-as-localdate' into 'master'
Save date as localdate instead of JS date See merge request bloodyhealth/drip!10
This commit is contained in:
+2
-5
@@ -17,9 +17,7 @@ export default class DatePickView extends Component {
|
||||
}
|
||||
|
||||
passDateToDayView(result) {
|
||||
// TODO this also has date as a string, perhaps useful for LocalDateFormat
|
||||
const date = new Date(result.year, result.month - 1, result.day)
|
||||
const cycleDay = getOrCreateCycleDay(date)
|
||||
const cycleDay = getOrCreateCycleDay(result.dateString)
|
||||
const navigate = this.props.navigation.navigate
|
||||
navigate('dayView', { cycleDay })
|
||||
}
|
||||
@@ -40,8 +38,7 @@ export default class DatePickView extends Component {
|
||||
function getBleedingDaysInCalFormat(bleedingDaysSortedByDate) {
|
||||
const shadesOfRed = ['#ffbaba', '#ff7b7b', '#ff5252', '#ff0000']
|
||||
return bleedingDaysSortedByDate.reduce((acc, day) => {
|
||||
const dateString = day.date.toISOString().slice(0, 10)
|
||||
acc[dateString] = { startingDay: true, endingDay: true, color: shadesOfRed[day.bleeding.value] }
|
||||
acc[day.date] = { startingDay: true, endingDay: true, color: shadesOfRed[day.bleeding.value] }
|
||||
return acc
|
||||
}, {})
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import realm from 'realm'
|
||||
import { v4 as uuid } from 'uuid'
|
||||
|
||||
let db
|
||||
let cycleDaysSortedbyTempValueView = []
|
||||
let cycleDaysSortedbyDate = []
|
||||
let bleedingDaysSortedByDate = []
|
||||
|
||||
const TemperatureSchema = {
|
||||
@@ -24,10 +22,9 @@ const BleedingSchema = {
|
||||
|
||||
const CycleDaySchema = {
|
||||
name: 'CycleDay',
|
||||
primaryKey: 'key',
|
||||
primaryKey: 'date',
|
||||
properties: {
|
||||
key: 'string',
|
||||
date: 'date',
|
||||
date: 'string',
|
||||
temperature: {
|
||||
type: 'Temperature',
|
||||
optional: true
|
||||
@@ -52,14 +49,12 @@ async function openDatabase() {
|
||||
// just for testing purposes, the highest temperature will be topmost
|
||||
// because I was too layz to make a scroll view
|
||||
cycleDaysSortedbyTempValueView = db.objects('CycleDay').filtered('temperature != null').sorted('temperature.value', true)
|
||||
cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
|
||||
bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
|
||||
}
|
||||
|
||||
function saveTemperature(date, temperature) {
|
||||
db.write(() => {
|
||||
const doc = {
|
||||
key: uuid(),
|
||||
date,
|
||||
temperature
|
||||
}
|
||||
@@ -73,13 +68,12 @@ function saveBleeding(cycleDay, bleeding) {
|
||||
})
|
||||
}
|
||||
|
||||
function getOrCreateCycleDay(date) {
|
||||
let result = Array.from(cycleDaysSortedbyDate.filtered('date = $0', date))[0]
|
||||
function getOrCreateCycleDay(localDate) {
|
||||
let result = db.objectForPrimaryKey('CycleDay', localDate)
|
||||
if (!result) {
|
||||
db.write(() => {
|
||||
result = db.create('CycleDay', {
|
||||
key: uuid(),
|
||||
date
|
||||
date: localDate
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user