Merge branch 'dev'
This commit is contained in:
@@ -7,8 +7,8 @@ android {
|
|||||||
applicationId "com.donetick.app"
|
applicationId "com.donetick.app"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 13
|
versionCode 22
|
||||||
versionName "1.0.4"
|
versionName "0.4.0"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
aaptOptions {
|
aaptOptions {
|
||||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||||
|
|||||||
@@ -355,12 +355,12 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 13;
|
CURRENT_PROJECT_VERSION = 22;
|
||||||
DEVELOPMENT_TEAM = 6UJJ78R3BS;
|
DEVELOPMENT_TEAM = 6UJJ78R3BS;
|
||||||
INFOPLIST_FILE = App/Info.plist;
|
INFOPLIST_FILE = App/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
MARKETING_VERSION = 1.0.4;
|
MARKETING_VERSION = 0.4.0;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
@@ -374,12 +374,12 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 13;
|
CURRENT_PROJECT_VERSION = 22;
|
||||||
DEVELOPMENT_TEAM = 6UJJ78R3BS;
|
DEVELOPMENT_TEAM = 6UJJ78R3BS;
|
||||||
INFOPLIST_FILE = App/Info.plist;
|
INFOPLIST_FILE = App/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
MARKETING_VERSION = 1.0.4;
|
MARKETING_VERSION = 0.4.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.donetick.app;
|
PRODUCT_BUNDLE_IDENTIFIER = com.donetick.app;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "donetick",
|
"name": "donetick",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.145",
|
"version": "0.4.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0",
|
"node": ">=20.0.0",
|
||||||
@@ -29,7 +29,10 @@
|
|||||||
"merge": "git checkout main && git merge develop && git push origin main && git checkout develop",
|
"merge": "git checkout main && git merge develop && git push origin main && git checkout develop",
|
||||||
"ionic:build": "npm run build",
|
"ionic:build": "npm run build",
|
||||||
"ionic:serve": "npm run start",
|
"ionic:serve": "npm run start",
|
||||||
"android": "npm run build && npx cap sync android"
|
"android": "npm run build && npx cap sync android",
|
||||||
|
"bump": "node bump-version.js",
|
||||||
|
"bump:minor": "node bump-version.js minor",
|
||||||
|
"bump:major": "node bump-version.js major"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@capacitor-community/sqlite": "^7.0.0",
|
"@capacitor-community/sqlite": "^7.0.0",
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import DeleteIcon from '@mui/icons-material/Delete'
|
import DeleteIcon from '@mui/icons-material/Delete'
|
||||||
import EditIcon from '@mui/icons-material/Edit'
|
import EditIcon from '@mui/icons-material/Edit'
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
Box,
|
Box,
|
||||||
Chip,
|
Chip,
|
||||||
CircularProgress,
|
CircularProgress,
|
||||||
Container,
|
Container,
|
||||||
IconButton,
|
IconButton,
|
||||||
Stack,
|
Stack,
|
||||||
Typography,
|
Typography,
|
||||||
} from '@mui/joy'
|
} from '@mui/joy'
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import LabelModal from '../Modals/Inputs/LabelModal'
|
import LabelModal from '../Modals/Inputs/LabelModal'
|
||||||
@@ -16,11 +16,11 @@ import LabelModal from '../Modals/Inputs/LabelModal'
|
|||||||
import { Add } from '@mui/icons-material'
|
import { Add } from '@mui/icons-material'
|
||||||
import { useQueryClient } from '@tanstack/react-query'
|
import { useQueryClient } from '@tanstack/react-query'
|
||||||
import {
|
import {
|
||||||
Type as ListType,
|
Type as ListType,
|
||||||
SwipeableList,
|
SwipeableList,
|
||||||
SwipeableListItem,
|
SwipeableListItem,
|
||||||
SwipeAction,
|
SwipeAction,
|
||||||
TrailingActions,
|
TrailingActions,
|
||||||
} from 'react-swipeable-list'
|
} from 'react-swipeable-list'
|
||||||
import 'react-swipeable-list/dist/styles.css'
|
import 'react-swipeable-list/dist/styles.css'
|
||||||
import { useUserProfile } from '../../queries/UserQueries'
|
import { useUserProfile } from '../../queries/UserQueries'
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { NextWeek, Today, WbSunny, Weekend } from '@mui/icons-material'
|
import { Box, Button, Input } from '@mui/joy'
|
||||||
import { Box, Button, Chip, Input, Stack, Typography } from '@mui/joy'
|
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import { useResponsiveModal } from '../../../hooks/useResponsiveModal'
|
import { useResponsiveModal } from '../../../hooks/useResponsiveModal'
|
||||||
|
|
||||||
@@ -10,62 +9,6 @@ function DateModal({ isOpen, onClose, onSave, current, title }) {
|
|||||||
current ? new Date(current).toISOString().split('T')[0] : '',
|
current ? new Date(current).toISOString().split('T')[0] : '',
|
||||||
)
|
)
|
||||||
|
|
||||||
const getQuickScheduleDate = option => {
|
|
||||||
const now = new Date()
|
|
||||||
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
|
|
||||||
|
|
||||||
switch (option) {
|
|
||||||
case 'today': {
|
|
||||||
const nowHour = now.getHours()
|
|
||||||
const scheduled = new Date(today)
|
|
||||||
if (nowHour < 9) {
|
|
||||||
scheduled.setHours(9, 0, 0, 0)
|
|
||||||
} else if (nowHour < 12) {
|
|
||||||
scheduled.setHours(12, 0, 0, 0)
|
|
||||||
} else if (nowHour < 17) {
|
|
||||||
scheduled.setHours(17, 0, 0, 0)
|
|
||||||
} else {
|
|
||||||
scheduled.setHours(
|
|
||||||
now.getHours(),
|
|
||||||
now.getMinutes(),
|
|
||||||
now.getSeconds(),
|
|
||||||
now.getMilliseconds(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
return scheduled
|
|
||||||
}
|
|
||||||
case 'tomorrow': {
|
|
||||||
const tomorrow = new Date(today)
|
|
||||||
tomorrow.setDate(today.getDate() + 1)
|
|
||||||
tomorrow.setHours(12, 0, 0, 0)
|
|
||||||
return tomorrow
|
|
||||||
}
|
|
||||||
case 'weekend': {
|
|
||||||
const weekend = new Date(today)
|
|
||||||
const daysUntilSaturday = (6 - today.getDay() + 7) % 7 || 7
|
|
||||||
weekend.setDate(today.getDate() + daysUntilSaturday)
|
|
||||||
return weekend
|
|
||||||
}
|
|
||||||
case 'next-week': {
|
|
||||||
const nextWeek = new Date(today)
|
|
||||||
const daysUntilMonday = (1 - today.getDay() + 7) % 7 || 7
|
|
||||||
nextWeek.setDate(today.getDate() + daysUntilMonday)
|
|
||||||
return nextWeek
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return today
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleQuickSchedule = option => {
|
|
||||||
if (option === 'remove') {
|
|
||||||
setDate('')
|
|
||||||
} else {
|
|
||||||
const selectedDate = getQuickScheduleDate(option)
|
|
||||||
setDate(selectedDate.toISOString().split('T')[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
onSave(date)
|
onSave(date)
|
||||||
onClose()
|
onClose()
|
||||||
@@ -86,7 +29,7 @@ function DateModal({ isOpen, onClose, onSave, current, title }) {
|
|||||||
onChange={e => setDate(e.target.value)}
|
onChange={e => setDate(e.target.value)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Box sx={{ mt: 3 }}>
|
{/* <Box sx={{ mt: 3 }}>
|
||||||
<Typography level='body-sm' sx={{ mb: 1.5, fontWeight: 500 }}>
|
<Typography level='body-sm' sx={{ mb: 1.5, fontWeight: 500 }}>
|
||||||
Quick select:
|
Quick select:
|
||||||
</Typography>
|
</Typography>
|
||||||
@@ -132,7 +75,7 @@ function DateModal({ isOpen, onClose, onSave, current, title }) {
|
|||||||
Next week
|
Next week
|
||||||
</Chip>
|
</Chip>
|
||||||
</Stack>
|
</Stack>
|
||||||
</Box>
|
</Box> */}
|
||||||
|
|
||||||
<Box display={'flex'} justifyContent={'space-around'} mt={4}>
|
<Box display={'flex'} justifyContent={'space-around'} mt={4}>
|
||||||
<Button size='lg' onClick={handleSave} fullWidth sx={{ mr: 1 }}>
|
<Button size='lg' onClick={handleSave} fullWidth sx={{ mr: 1 }}>
|
||||||
|
|||||||
Reference in New Issue
Block a user