feat(settings): update default application settings for clean bright look
feat(db): add dayHeaderGap field to persist spacing settings chore(release): bump version to 1.8.4
This commit is contained in:
parent
87cf48e6fd
commit
7f1211a048
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "my-weekly-todo-list",
|
"name": "my-weekly-todo-list",
|
||||||
"version": "1.8.3",
|
"version": "1.8.4",
|
||||||
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
|
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -39,16 +39,16 @@ model User {
|
|||||||
showAllDayEvents Boolean @default(true)
|
showAllDayEvents Boolean @default(true)
|
||||||
showSchedule Boolean @default(true)
|
showSchedule Boolean @default(true)
|
||||||
cellDuration Int @default(30)
|
cellDuration Int @default(30)
|
||||||
viewStyle String @default("grid")
|
viewStyle String @default("simple")
|
||||||
viewDays Int @default(7)
|
viewDays Int @default(7)
|
||||||
fontSize String @default("M")
|
fontSize String @default("M")
|
||||||
goalFallbackType String @default("quote")
|
goalFallbackType String @default("quote")
|
||||||
goalDefaultSentence String @default("goal of the week")
|
goalDefaultSentence String @default("goal of the week")
|
||||||
goalFontFamily String? @default("Inter")
|
goalFontFamily String? @default("Lato")
|
||||||
goalFontSize String? @default("0.9rem")
|
goalFontSize String? @default("1rem")
|
||||||
goalFontWeight String? @default("500")
|
goalFontWeight String? @default("500")
|
||||||
headlineFont String @default("Inter")
|
headlineFont String @default("Oswald")
|
||||||
headlineFontSize String? @default("1.25rem")
|
headlineFontSize String? @default("1.5rem")
|
||||||
headlineFontWeight String? @default("900")
|
headlineFontWeight String? @default("900")
|
||||||
dateFontFamily String? @default("Inter")
|
dateFontFamily String? @default("Inter")
|
||||||
dateFontSize String? @default("0.65rem")
|
dateFontSize String? @default("0.65rem")
|
||||||
@ -64,11 +64,11 @@ model User {
|
|||||||
eventFontSize String? @default("0.85rem")
|
eventFontSize String? @default("0.85rem")
|
||||||
eventFontWeight String? @default("400")
|
eventFontWeight String? @default("400")
|
||||||
fontWeight String @default("400")
|
fontWeight String @default("400")
|
||||||
weekdayColor String? @default("#888888")
|
weekdayColor String? @default("#0ea5e9")
|
||||||
dateColor String? @default("#888888")
|
dateColor String? @default("#888888")
|
||||||
taskColor String? @default("#333333")
|
taskColor String? @default("#333333")
|
||||||
todayHighlightColor String? @default("#f0fafa")
|
todayHighlightColor String? @default("#f0fafa")
|
||||||
weekendColorSat String? @default("#666666")
|
weekendColorSat String? @default("#ffc107")
|
||||||
weekendColorSun String? @default("#dc2626")
|
weekendColorSun String? @default("#dc2626")
|
||||||
pastDayColor String? @default("#a6a6a7")
|
pastDayColor String? @default("#a6a6a7")
|
||||||
goalScope String @default("week")
|
goalScope String @default("week")
|
||||||
@ -76,14 +76,15 @@ model User {
|
|||||||
dateAlignment String @default("center")
|
dateAlignment String @default("center")
|
||||||
hourLabelFormat String @default("short")
|
hourLabelFormat String @default("short")
|
||||||
showSubHourSlots Boolean @default(true)
|
showSubHourSlots Boolean @default(true)
|
||||||
allDayPosition String @default("below")
|
dayHeaderGap String? @default("0.75em")
|
||||||
|
allDayPosition String @default("above")
|
||||||
cwColor String? @default("#333333")
|
cwColor String? @default("#333333")
|
||||||
cwFontFamily String? @default("Inter")
|
cwFontFamily String? @default("Oswald")
|
||||||
cwFontSize String? @default("1.125rem")
|
cwFontSize String? @default("1.5rem")
|
||||||
cwFontWeight String? @default("700")
|
cwFontWeight String? @default("700")
|
||||||
yearColor String? @default("#333333")
|
yearColor String? @default("#333333")
|
||||||
yearFontFamily String? @default("Inter")
|
yearFontFamily String? @default("Oswald")
|
||||||
yearFontSize String? @default("1.125rem")
|
yearFontSize String? @default("1.5rem")
|
||||||
yearFontWeight String? @default("700")
|
yearFontWeight String? @default("700")
|
||||||
showTaskCheckboxes Boolean @default(false)
|
showTaskCheckboxes Boolean @default(false)
|
||||||
emailVerificationCode String?
|
emailVerificationCode String?
|
||||||
|
|||||||
@ -77,6 +77,7 @@ export async function GET(request: NextRequest) {
|
|||||||
yearFontSize: true,
|
yearFontSize: true,
|
||||||
yearFontWeight: true,
|
yearFontWeight: true,
|
||||||
yearColor: true,
|
yearColor: true,
|
||||||
|
dayHeaderGap: true,
|
||||||
createdAt: true
|
createdAt: true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -117,7 +118,7 @@ export async function PATCH(request: NextRequest) {
|
|||||||
hourLabelFormat, showSubHourSlots, allDayPosition,
|
hourLabelFormat, showSubHourSlots, allDayPosition,
|
||||||
cwFontFamily, cwFontSize, cwFontWeight, cwColor,
|
cwFontFamily, cwFontSize, cwFontWeight, cwColor,
|
||||||
yearFontFamily, yearFontSize, yearFontWeight, yearColor,
|
yearFontFamily, yearFontSize, yearFontWeight, yearColor,
|
||||||
showTaskCheckboxes
|
showTaskCheckboxes, dayHeaderGap
|
||||||
} = body;
|
} = body;
|
||||||
|
|
||||||
const updateData: any = {
|
const updateData: any = {
|
||||||
@ -185,6 +186,7 @@ export async function PATCH(request: NextRequest) {
|
|||||||
...(yearFontSize !== undefined && { yearFontSize }),
|
...(yearFontSize !== undefined && { yearFontSize }),
|
||||||
...(yearFontWeight !== undefined && { yearFontWeight }),
|
...(yearFontWeight !== undefined && { yearFontWeight }),
|
||||||
...(yearColor !== undefined && { yearColor }),
|
...(yearColor !== undefined && { yearColor }),
|
||||||
|
...(dayHeaderGap !== undefined && { dayHeaderGap }),
|
||||||
};
|
};
|
||||||
if (password && password.trim() !== "") {
|
if (password && password.trim() !== "") {
|
||||||
updateData.passwordHash = await bcrypt.hash(password, 10);
|
updateData.passwordHash = await bcrypt.hash(password, 10);
|
||||||
@ -260,6 +262,7 @@ export async function PATCH(request: NextRequest) {
|
|||||||
yearFontSize: true,
|
yearFontSize: true,
|
||||||
yearFontWeight: true,
|
yearFontWeight: true,
|
||||||
yearColor: true,
|
yearColor: true,
|
||||||
|
dayHeaderGap: true,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -660,12 +660,12 @@ export default function WeeklyView() {
|
|||||||
dateFormat: "yyyy-MM-dd",
|
dateFormat: "yyyy-MM-dd",
|
||||||
timeFormat: "24h",
|
timeFormat: "24h",
|
||||||
startHour: 8,
|
startHour: 8,
|
||||||
endHour: 22,
|
endHour: 18,
|
||||||
autoRolling: true,
|
autoRolling: false,
|
||||||
protectEventTimes: true,
|
protectEventTimes: false,
|
||||||
showTimeGrid: true,
|
showTimeGrid: true,
|
||||||
cellDuration: 60,
|
cellDuration: 30,
|
||||||
viewStyle: "list",
|
viewStyle: "simple",
|
||||||
fontSize: "M",
|
fontSize: "M",
|
||||||
showNextTask: false,
|
showNextTask: false,
|
||||||
showSomeday: true,
|
showSomeday: true,
|
||||||
@ -673,12 +673,15 @@ export default function WeeklyView() {
|
|||||||
showSchedule: true,
|
showSchedule: true,
|
||||||
hourLabelFormat: "short",
|
hourLabelFormat: "short",
|
||||||
showSubHourSlots: true,
|
showSubHourSlots: true,
|
||||||
allDayPosition: "below",
|
dayHeaderGap: "0.75em",
|
||||||
|
showSubHourSlots: true,
|
||||||
|
allDayPosition: "above",
|
||||||
focusTimerDuration: 25,
|
focusTimerDuration: 25,
|
||||||
focusBreakDuration: 5,
|
focusBreakDuration: 5,
|
||||||
headlineFont: "Inter",
|
headlineFont: "Oswald",
|
||||||
headlineFontSize: "1.25rem",
|
headlineFontSize: "1.5rem",
|
||||||
headlineFontWeight: "900",
|
headlineFontWeight: "900",
|
||||||
|
weekdayColor: "#0ea5e9",
|
||||||
dateFontFamily: "Inter",
|
dateFontFamily: "Inter",
|
||||||
dateFontSize: "0.65rem",
|
dateFontSize: "0.65rem",
|
||||||
dateFontWeight: "400",
|
dateFontWeight: "400",
|
||||||
@ -693,15 +696,21 @@ export default function WeeklyView() {
|
|||||||
eventFontSize: "0.85rem",
|
eventFontSize: "0.85rem",
|
||||||
eventFontWeight: "400",
|
eventFontWeight: "400",
|
||||||
goalFallbackType: "quote",
|
goalFallbackType: "quote",
|
||||||
goalFontFamily: "Inter",
|
goalFontFamily: "Lato",
|
||||||
goalFontSize: "0.9rem",
|
goalFontSize: "1rem",
|
||||||
goalFontWeight: "500",
|
goalFontWeight: "500",
|
||||||
goalScope: "week",
|
goalScope: "week",
|
||||||
dateLayout: "right",
|
dateLayout: "right",
|
||||||
dateAlignment: "center",
|
dateAlignment: "center",
|
||||||
weekendColorSat: "#666666",
|
weekendColorSat: "#ffc107",
|
||||||
weekendColorSun: "#dc2626",
|
weekendColorSun: "#dc2626",
|
||||||
pastDayColor: "#a6a6a7",
|
pastDayColor: "#a6a6a7",
|
||||||
|
cwFontFamily: "Oswald",
|
||||||
|
cwFontSize: "1.5rem",
|
||||||
|
cwFontWeight: "700",
|
||||||
|
yearFontFamily: "Oswald",
|
||||||
|
yearFontSize: "1.5rem",
|
||||||
|
yearFontWeight: "700",
|
||||||
quoteSourceUrl: "https://recite.vercel.app/api/random",
|
quoteSourceUrl: "https://recite.vercel.app/api/random",
|
||||||
quoteSourceUrls: ["https://recite.vercel.app/api/random"],
|
quoteSourceUrls: ["https://recite.vercel.app/api/random"],
|
||||||
});
|
});
|
||||||
@ -717,7 +726,7 @@ export default function WeeklyView() {
|
|||||||
const [syncStatus, setSyncStatus] = useState<"idle" | "syncing" | "synced">(
|
const [syncStatus, setSyncStatus] = useState<"idle" | "syncing" | "synced">(
|
||||||
"idle",
|
"idle",
|
||||||
);
|
);
|
||||||
const [cellDuration, setCellDuration] = useState<CellDuration>(60);
|
const [cellDuration, setCellDuration] = useState<CellDuration>(30);
|
||||||
const [draggedTask, setDraggedTask] = useState<Task | null>(null);
|
const [draggedTask, setDraggedTask] = useState<Task | null>(null);
|
||||||
const [showTimeGrid, setShowTimeGrid] = useState(true);
|
const [showTimeGrid, setShowTimeGrid] = useState(true);
|
||||||
const [slideDirection, setSlideDirection] = useState<"next" | "prev" | null>(
|
const [slideDirection, setSlideDirection] = useState<"next" | "prev" | null>(
|
||||||
@ -739,11 +748,11 @@ export default function WeeklyView() {
|
|||||||
slotIdx?: number;
|
slotIdx?: number;
|
||||||
} | null>(null);
|
} | null>(null);
|
||||||
const [viewStyle, setViewStyle] = useState<ViewStyle>("simple");
|
const [viewStyle, setViewStyle] = useState<ViewStyle>("simple");
|
||||||
const [protectEventTimes, setProtectEventTimes] = useState(true);
|
const [protectEventTimes, setProtectEventTimes] = useState(false);
|
||||||
const [unlockedEvents, setUnlockedEvents] = useState<Set<string>>(new Set());
|
const [unlockedEvents, setUnlockedEvents] = useState<Set<string>>(new Set());
|
||||||
|
|
||||||
const [startHour, setStartHour] = useState(8);
|
const [startHour, setStartHour] = useState(8);
|
||||||
const [endHour, setEndHour] = useState(22);
|
const [endHour, setEndHour] = useState(18);
|
||||||
const [weekStartDay, setWeekStartDay] = useState(1); // 1 = Monday, 0 = Sunday
|
const [weekStartDay, setWeekStartDay] = useState(1); // 1 = Monday, 0 = Sunday
|
||||||
const [showSomeday, setShowSomeday] = useState(true);
|
const [showSomeday, setShowSomeday] = useState(true);
|
||||||
const [showAllDay, setShowAllDay] = useState(true);
|
const [showAllDay, setShowAllDay] = useState(true);
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
const nodemailer = require('nodemailer');
|
|
||||||
|
|
||||||
const transporter = nodemailer.createTransport({
|
|
||||||
host: "w00ff033.kasserver.com",
|
|
||||||
port: 587,
|
|
||||||
secure: false,
|
|
||||||
auth: { user: "mail@carrylight.de", pass: "QijU8e2A8p3FE8WS8esR" },
|
|
||||||
tls: { rejectUnauthorized: false },
|
|
||||||
});
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
try {
|
|
||||||
const info = await transporter.sendMail({
|
|
||||||
from: '"My Weekly ToDo\'s" <mail@carrylight.de>',
|
|
||||||
to: "mail@martin-bierschenk.de",
|
|
||||||
subject: "Test from config",
|
|
||||||
html: "<p>Test</p>",
|
|
||||||
});
|
|
||||||
console.log("Message sent:", info.messageId);
|
|
||||||
process.exit(0);
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Error:", error);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
main();
|
|
||||||
Loading…
Reference in New Issue
Block a user