Skip to content

Commit 3e6b4b7

Browse files
authored
feat: freehand drawing capability and card layout improvements and v0.2.29 release (#180)
1 parent 31700c9 commit 3e6b4b7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+800
-121
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
## Version 0.2.29
4+
5+
### Added
6+
7+
* ✏️ Freehand drawing capability for habits and wishlist items
8+
9+
### Fixed
10+
11+
* Wishlist and Habit card layout - time and rewards sections now stay at bottom regardless of description length
12+
* Wishlist card user avatars now appear on same row as title for consistency with habit cards
13+
314
## Version 0.2.28
415

516
### Added

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Want to try HabitTrove before installing? Visit the public [demo instance](https
1919
- 🏆 Earn coins for completing habits
2020
- 💰 Create a wishlist of rewards to redeem with earned coins
2121
- 📊 View your habit completion streaks and statistics
22+
- ✏️ Add freehand drawings to habits and wishlist items for visual reminders
2223
- 📅 Calendar heatmap to visualize your progress (WIP)
2324
- 🌍 Multi-language support (English, Español, Català, Deutsch, Français, Русский, 简体中文, 한국어, 日本語)
2425
- 🌙 Dark mode support

app/actions/data.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,15 @@ import {
2222
Permission,
2323
ServerSettings
2424
} from '@/lib/types'
25-
import { d2t, deepMerge, getNow, checkPermission, uuid } from '@/lib/utils';
25+
import { d2t, getNow, uuid } from '@/lib/utils';
2626
import { verifyPassword } from "@/lib/server-helpers";
2727
import { saltAndHashPassword } from "@/lib/server-helpers";
2828
import { signInSchema } from '@/lib/zod';
29-
import { auth } from '@/auth';
3029
import _ from 'lodash';
31-
import { getCurrentUser, getCurrentUserId } from '@/lib/server-helpers'
32-
import stableStringify from 'json-stable-stringify';
30+
import { getCurrentUser } from '@/lib/server-helpers'
3331
import { prepareDataForHashing, generateCryptoHash } from '@/lib/utils';
3432

3533

36-
import { PermissionError } from '@/lib/exceptions'
3734

3835
type ResourceType = 'habit' | 'wishlist' | 'coins'
3936
type ActionType = 'write' | 'interact'

app/calendar/page.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
import Layout from '@/components/Layout'
21
import HabitCalendar from '@/components/HabitCalendar'
3-
import { ViewToggle } from '@/components/ViewToggle'
4-
import CompletionCountBadge from '@/components/CompletionCountBadge'
52

63
export default function CalendarPage() {
74
return (

app/coins/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import Layout from '@/components/Layout'
21
import CoinsManager from '@/components/CoinsManager'
32

43
export default function CoinsPage() {

app/debug/habits/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use client'
22

3-
import { useHabits } from "@/hooks/useHabits";
43
import { habitsAtom, settingsAtom } from "@/lib/atoms";
54
import { Habit } from "@/lib/types";
65
import { useAtom } from "jotai";

app/habits/page.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import Layout from '@/components/Layout'
21
import HabitList from '@/components/HabitList'
3-
import { ViewToggle } from '@/components/ViewToggle'
42

53
export default function HabitsPage() {
64
return (

app/layout.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import './globals.css'
2-
import { Inter } from 'next/font/google'
32
import { DM_Sans } from 'next/font/google'
43
import { JotaiProvider } from '@/components/jotai-providers'
54
import { JotaiHydrate } from '@/components/jotai-hydrate'

app/settings/page.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ import { useAtom } from 'jotai';
1414
import { useTranslations } from 'next-intl';
1515
import { settingsAtom, serverSettingsAtom } from '@/lib/atoms';
1616
import { Settings, WeekDay } from '@/lib/types'
17-
import { saveSettings, uploadAvatar } from '../actions/data'
18-
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'
19-
import { Button } from '@/components/ui/button';
20-
import { User, Info } from 'lucide-react'; // Import Info icon
17+
import { saveSettings } from '../actions/data'
18+
import { Info } from 'lucide-react'; // Import Info icon
2119
import { toast } from '@/hooks/use-toast'
2220
import { useSession } from 'next-auth/react'; // signOut removed
2321
import { useRouter } from 'next/navigation';

app/wishlist/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import Layout from '@/components/Layout'
21
import WishlistManager from '@/components/WishlistManager'
32

43
export default function WishlistPage() {

0 commit comments

Comments
 (0)