newcandies 0.1.25 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "newcandies",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "description": "Scaffold Expo Router + Uniwind React Native apps with layered templates.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -4,15 +4,7 @@ import { Slot } from 'expo-router';
4
4
  import { StatusBar } from 'expo-status-bar';
5
5
 
6
6
  export default function RootLayout() {
7
- // TODO: Replace Slot with Stack navigator
8
- // Example:
9
- // import { Stack } from 'expo-router';
10
- // return (
11
- // <>
12
- // <StatusBar style="dark" />
13
- // <Stack screenOptions={{ headerShown: false }} />
14
- // </>
15
- // );
7
+
16
8
 
17
9
  return (
18
10
  <>
@@ -1,61 +1,15 @@
1
- import { Ionicons } from '@expo/vector-icons';
2
- import { Link } from 'expo-router';
3
- import { FlatList, ImageBackground, Pressable, StyleSheet, View } from 'react-native';
4
-
5
- import NoteCard from '~/components/screens/home/note-card';
1
+ import { View } from 'react-native';
6
2
  import Screen from '~/components/ui/screen';
7
- import Squircle from '~/components/ui/squircle';
8
3
  import Text from '~/components/ui/text';
9
- import { NOTES } from '~/lib/constants';
10
4
 
11
- const BACKGROUND_IMAGE =
12
- 'https://github.com/user-attachments/assets/ce07d991-098a-4e14-a759-ecbb0c159b6b';
5
+
13
6
 
14
7
  export default function HomeScreen() {
15
8
  return (
16
9
  <Screen>
17
- <ImageBackground
18
- source={{ uri: BACKGROUND_IMAGE }}
19
- style={StyleSheet.absoluteFill}
20
- resizeMode="cover"
21
- />
22
-
23
- <View className="flex-row items-center justify-between px-6 pb-5 pt-2">
24
- <View>
25
- <Text variant="note">Cozy Notes</Text>
26
- </View>
27
- <Link href="/settings" asChild>
28
- <Pressable>
29
- <Squircle
30
- cornerSmoothing={1}
31
- className='size-11 items-center justify-center rounded-md bg-card'
32
-
33
- >
34
- <Ionicons name="settings-outline" size={22} color="black" />
35
- </Squircle>
36
- </Pressable>
37
- </Link>
38
- </View>
39
-
40
- <FlatList
41
- data={NOTES}
42
- keyExtractor={(item) => item.id}
43
- renderItem={({ item, index }) => <NoteCard note={item} index={index} />}
44
- contentContainerClassName="px-6 pt-4 pb-60"
45
- showsVerticalScrollIndicator={false}
46
- />
47
-
48
-
49
- <Link href="/note/new" asChild className='absolute bottom-10 right-10 '>
50
- <Pressable>
51
- <Squircle
52
- cornerSmoothing={1}
53
- className='size-14 items-center justify-center rounded-2xl bg-primary'
54
- >
55
- <Ionicons name="add" size={28} color="#fff" />
56
- </Squircle>
57
- </Pressable>
58
- </Link>
10
+ <View>
11
+ <Text>Home</Text>
12
+ </View>
59
13
  </Screen>
60
14
  );
61
15
  }
@@ -1,2 +1,125 @@
1
- export * from './notes';
1
+ export const NOTES: Note[] = [
2
+ {
3
+ id: '1',
4
+ title: 'Welcome to CozyNote',
5
+ content:
6
+ 'This is your first note! CozyNote is a simple and beautiful note-taking app. Start capturing your thoughts, ideas, and memories.',
7
+ createdAt: '2025-02-23T08:00:00Z',
8
+ updatedAt: '2025-02-23T08:00:00Z',
9
+ },
10
+ {
11
+ id: '2',
12
+ title: 'Meeting Notes',
13
+ content:
14
+ 'Discussed Q1 goals and project timelines. Action items: Review budget proposal, Schedule follow-up with design team, Prepare presentation for Friday.',
15
+ createdAt: '2025-02-22T14:30:00Z',
16
+ updatedAt: '2025-02-22T15:45:00Z',
17
+ },
18
+ {
19
+ id: '3',
20
+ title: 'Shopping List',
21
+ content:
22
+ '- Organic milk\n- Fresh bread\n- Avocados\n- Coffee beans\n- Dark chocolate\n- Olive oil\n- Pasta\n- Tomatoes',
23
+ createdAt: '2025-02-21T09:15:00Z',
24
+ updatedAt: '2025-02-21T09:15:00Z',
25
+ },
26
+ {
27
+ id: '4',
28
+ title: 'Book Recommendations',
29
+ content:
30
+ '1. Atomic Habits by James Clear\n2. Deep Work by Cal Newport\n3. The Psychology of Money\n4. Thinking, Fast and Slow\n5. The Almanack of Naval Ravikant',
31
+ createdAt: '2025-02-20T19:00:00Z',
32
+ updatedAt: '2025-02-20T19:00:00Z',
33
+ },
34
+ {
35
+ id: '5',
36
+ title: 'Workout Routine',
37
+ content:
38
+ 'Monday: Upper body\nTuesday: Cardio\nWednesday: Lower body\nThursday: Rest\nFriday: Full body\nSaturday: Yoga\nSunday: Rest',
39
+ createdAt: '2025-02-19T07:00:00Z',
40
+ updatedAt: '2025-02-19T07:00:00Z',
41
+ },
42
+ {
43
+ id: '6',
44
+ title: 'Recipe: Morning Smoothie',
45
+ content:
46
+ 'Ingredients:\n- 1 banana\n- 1 cup spinach\n- 1/2 cup frozen berries\n- 1 tbsp almond butter\n- 1 cup oat milk\n\nBlend until smooth. Enjoy!',
47
+ createdAt: '2025-02-18T06:30:00Z',
48
+ updatedAt: '2025-02-18T06:30:00Z',
49
+ },
50
+ {
51
+ id: '7',
52
+ title: 'Project Ideas',
53
+ content:
54
+ '- Personal portfolio website redesign\n- Mobile app for habit tracking\n- Open source contribution\n- Learn Rust programming\n- Build a CLI tool',
55
+ createdAt: '2025-02-17T21:00:00Z',
56
+ updatedAt: '2025-02-17T21:00:00Z',
57
+ },
58
+ {
59
+ id: '8',
60
+ title: 'Travel Bucket List',
61
+ content:
62
+ 'šŸ‡ÆšŸ‡µ Japan - Cherry blossom season\nšŸ‡®šŸ‡ø Iceland - Northern lights\nšŸ‡³šŸ‡æ New Zealand - Hobbiton\nšŸ‡®šŸ‡¹ Italy - Amalfi Coast\nšŸ‡¬šŸ‡· Greece - Santorini',
63
+ createdAt: '2025-02-16T16:00:00Z',
64
+ updatedAt: '2025-02-16T16:00:00Z',
65
+ },
66
+ {
67
+ id: '9',
68
+ title: 'Daily Affirmations',
69
+ content:
70
+ 'I am capable of achieving my goals.\nI embrace challenges as opportunities.\nI am grateful for today.\nI choose positivity and growth.\nI am worthy of success and happiness.',
71
+ createdAt: '2025-02-15T05:00:00Z',
72
+ updatedAt: '2025-02-15T05:00:00Z',
73
+ },
74
+ {
75
+ id: '10',
76
+ title: 'App Features to Add',
77
+ content:
78
+ '- Dark mode toggle\n- Note categories/tags\n- Search functionality\n- Cloud sync\n- Share notes\n- Rich text formatting\n- Voice notes',
79
+ createdAt: '2025-02-14T11:30:00Z',
80
+ updatedAt: '2025-02-14T11:30:00Z',
81
+ },
82
+ {
83
+ id: '11',
84
+ title: 'Gratitude Journal',
85
+ content:
86
+ 'Today I am grateful for:\n1. A warm cup of coffee\n2. Supportive friends and family\n3. Good health\n4. The opportunity to learn new things\n5. A cozy home',
87
+ createdAt: '2025-02-13T22:00:00Z',
88
+ updatedAt: '2025-02-13T22:00:00Z',
89
+ },
90
+ {
91
+ id: '12',
92
+ title: 'Podcast Episodes',
93
+ content:
94
+ 'Must listen:\n- Huberman Lab: Sleep optimization\n- Lex Fridman: AI discussion\n- Tim Ferriss: Productivity hacks',
95
+ createdAt: '2025-02-12T13:00:00Z',
96
+ updatedAt: '2025-02-12T13:00:00Z',
97
+ },
98
+ {
99
+ id: '13',
100
+ title: 'Code Snippets',
101
+ content:
102
+ 'Useful React patterns:\n- Custom hooks for data fetching\n- Context for global state\n- Memo for performance\n- Suspense for loading states',
103
+ createdAt: '2025-02-11T10:00:00Z',
104
+ updatedAt: '2025-02-11T10:00:00Z',
105
+ },
106
+ {
107
+ id: '14',
108
+ title: 'Weekend Plans',
109
+ content:
110
+ 'Saturday:\n- Morning run at 7am\n- Brunch with Sarah\n- Afternoon coding session\n\nSunday:\n- Sleep in\n- Farmers market\n- Movie night',
111
+ createdAt: '2025-02-10T18:00:00Z',
112
+ updatedAt: '2025-02-10T18:00:00Z',
113
+ },
114
+
115
+ ];
2
116
 
117
+ export const getNoteById = (id: string): Note | undefined => {
118
+ return NOTES.find((note) => note.id === id);
119
+ };
120
+
121
+
122
+
123
+
124
+ export const BACKGROUND_IMAGE =
125
+ 'https://github.com/user-attachments/assets/ce07d991-098a-4e14-a759-ecbb0c159b6b';
@@ -1,25 +0,0 @@
1
- import { View } from 'react-native';
2
-
3
- import Screen from '~/components/ui/screen';
4
- import Text from '~/components/ui/text';
5
-
6
- export default function AboutScreen() {
7
- // TODO: Build the about screen
8
- // - Use Stack.Screen to configure native header
9
- // - Set headerShown: true
10
- // - Configure headerLeft with custom back button
11
- // - Configure headerRight with share and info buttons
12
- // - Display app icon, name, and description
13
-
14
- return (
15
- <Screen>
16
- <View className="flex-1 items-center justify-center px-8">
17
- <Text variant="title">CozyNote</Text>
18
- <Text variant="note" className="text-center mt-6 text-muted-foreground">
19
- Build this screen with native header configuration
20
- </Text>
21
- </View>
22
- </Screen>
23
- );
24
- }
25
-
@@ -1,39 +0,0 @@
1
- import { View } from 'react-native';
2
- import { useLocalSearchParams } from 'expo-router';
3
-
4
- import Screen from '~/components/ui/screen';
5
- import Text from '~/components/ui/text';
6
- import { getNoteById } from '~/lib/constants';
7
-
8
- export default function NoteDetailScreen() {
9
- const { id } = useLocalSearchParams<{ id: string }>();
10
- const note = getNoteById(id);
11
-
12
- // TODO: Build the note detail screen
13
- // - Add BackButton component at top
14
- // - Add edit button (Link to /note/edit with id param)
15
- // - Display note title and content in a Squircle card
16
- // - Use ScrollView for long content
17
-
18
- if (!note) {
19
- return (
20
- <Screen>
21
- <View className="flex-1 items-center justify-center">
22
- <Text>Note not found</Text>
23
- </View>
24
- </Screen>
25
- );
26
- }
27
-
28
- return (
29
- <Screen>
30
- <View className="flex-1 px-5 pt-2">
31
- <Text variant="title">{note.title}</Text>
32
- <Text className="mt-4 text-muted-foreground">
33
- Build this screen to show note details
34
- </Text>
35
- </View>
36
- </Screen>
37
- );
38
- }
39
-
@@ -1,30 +0,0 @@
1
- import { View } from 'react-native';
2
- import { useLocalSearchParams } from 'expo-router';
3
-
4
- import Screen from '~/components/ui/screen';
5
- import Text from '~/components/ui/text';
6
- import { getNoteById } from '~/lib/constants';
7
-
8
- export default function EditNoteScreen() {
9
- const { id } = useLocalSearchParams<{ id: string }>();
10
- const note = getNoteById(id);
11
-
12
- // TODO: Build the edit note screen
13
- // - Add BackButton with close icon at top left
14
- // - Add "Edit Note" title in header center
15
- // - Add "Save" button at top right
16
- // - Pre-fill TextInputs with note.title and note.content
17
- // - Handle save with console.log and router.back()
18
-
19
- return (
20
- <Screen>
21
- <View className="flex-1 px-5 pt-2">
22
- <Text variant="title">Edit Note</Text>
23
- <Text className="mt-4 text-muted-foreground">
24
- Build this screen to edit: {note?.title ?? 'Unknown'}
25
- </Text>
26
- </View>
27
- </Screen>
28
- );
29
- }
30
-
@@ -1,26 +0,0 @@
1
- import { View } from 'react-native';
2
-
3
- import Screen from '~/components/ui/screen';
4
- import Text from '~/components/ui/text';
5
-
6
- export default function NewNoteScreen() {
7
- // TODO: Build the new note screen
8
- // - Add BackButton with close icon at top left
9
- // - Add "New Note" title in header center
10
- // - Add "Create" button at top right
11
- // - Add TextInput for title
12
- // - Add TextInput for content (multiline)
13
- // - Handle create with console.log and router.back()
14
-
15
- return (
16
- <Screen>
17
- <View className="flex-1 px-5 pt-2">
18
- <Text variant="title">New Note</Text>
19
- <Text className="mt-4 text-muted-foreground">
20
- Build this screen with title and content inputs
21
- </Text>
22
- </View>
23
- </Screen>
24
- );
25
- }
26
-
@@ -1,24 +0,0 @@
1
- import { View } from 'react-native';
2
-
3
- import Screen from '~/components/ui/screen';
4
- import Text from '~/components/ui/text';
5
-
6
- export default function SettingsScreen() {
7
- // TODO: Build the settings screen
8
- // - Add BackButton at top left
9
- // - Add "Settings" title next to back button
10
- // - Add app info card with icon and name
11
- // - Add "Learn More About CozyNote" button linking to /about
12
-
13
- return (
14
- <Screen>
15
- <View className="flex-1 px-5 pt-2">
16
- <Text variant="title">Settings</Text>
17
- <Text className="mt-4 text-muted-foreground">
18
- Build this screen with app info and about link
19
- </Text>
20
- </View>
21
- </Screen>
22
- );
23
- }
24
-
@@ -1,136 +0,0 @@
1
- export interface Note {
2
- id: string;
3
- title: string;
4
- content: string;
5
- createdAt: string;
6
- updatedAt: string;
7
- color?: string;
8
- }
9
-
10
- export const NOTES: Note[] = [
11
- {
12
- id: '1',
13
- title: 'Welcome to CozyNote',
14
- content:
15
- 'This is your first note! CozyNote is a simple and beautiful note-taking app. Start capturing your thoughts, ideas, and memories.',
16
- createdAt: '2025-02-23T08:00:00Z',
17
- updatedAt: '2025-02-23T08:00:00Z',
18
- },
19
- {
20
- id: '2',
21
- title: 'Meeting Notes',
22
- content:
23
- 'Discussed Q1 goals and project timelines. Action items: Review budget proposal, Schedule follow-up with design team, Prepare presentation for Friday.',
24
- createdAt: '2025-02-22T14:30:00Z',
25
- updatedAt: '2025-02-22T15:45:00Z',
26
- },
27
- {
28
- id: '3',
29
- title: 'Shopping List',
30
- content:
31
- '- Organic milk\n- Fresh bread\n- Avocados\n- Coffee beans\n- Dark chocolate\n- Olive oil\n- Pasta\n- Tomatoes',
32
- createdAt: '2025-02-21T09:15:00Z',
33
- updatedAt: '2025-02-21T09:15:00Z',
34
- },
35
- {
36
- id: '4',
37
- title: 'Book Recommendations',
38
- content:
39
- '1. Atomic Habits by James Clear\n2. Deep Work by Cal Newport\n3. The Psychology of Money\n4. Thinking, Fast and Slow\n5. The Almanack of Naval Ravikant',
40
- createdAt: '2025-02-20T19:00:00Z',
41
- updatedAt: '2025-02-20T19:00:00Z',
42
- },
43
- {
44
- id: '5',
45
- title: 'Workout Routine',
46
- content:
47
- 'Monday: Upper body\nTuesday: Cardio\nWednesday: Lower body\nThursday: Rest\nFriday: Full body\nSaturday: Yoga\nSunday: Rest',
48
- createdAt: '2025-02-19T07:00:00Z',
49
- updatedAt: '2025-02-19T07:00:00Z',
50
- },
51
- {
52
- id: '6',
53
- title: 'Recipe: Morning Smoothie',
54
- content:
55
- 'Ingredients:\n- 1 banana\n- 1 cup spinach\n- 1/2 cup frozen berries\n- 1 tbsp almond butter\n- 1 cup oat milk\n\nBlend until smooth. Enjoy!',
56
- createdAt: '2025-02-18T06:30:00Z',
57
- updatedAt: '2025-02-18T06:30:00Z',
58
- },
59
- {
60
- id: '7',
61
- title: 'Project Ideas',
62
- content:
63
- '- Personal portfolio website redesign\n- Mobile app for habit tracking\n- Open source contribution\n- Learn Rust programming\n- Build a CLI tool',
64
- createdAt: '2025-02-17T21:00:00Z',
65
- updatedAt: '2025-02-17T21:00:00Z',
66
- },
67
- {
68
- id: '8',
69
- title: 'Travel Bucket List',
70
- content:
71
- 'šŸ‡ÆšŸ‡µ Japan - Cherry blossom season\nšŸ‡®šŸ‡ø Iceland - Northern lights\nšŸ‡³šŸ‡æ New Zealand - Hobbiton\nšŸ‡®šŸ‡¹ Italy - Amalfi Coast\nšŸ‡¬šŸ‡· Greece - Santorini',
72
- createdAt: '2025-02-16T16:00:00Z',
73
- updatedAt: '2025-02-16T16:00:00Z',
74
- },
75
- {
76
- id: '9',
77
- title: 'Daily Affirmations',
78
- content:
79
- 'I am capable of achieving my goals.\nI embrace challenges as opportunities.\nI am grateful for today.\nI choose positivity and growth.\nI am worthy of success and happiness.',
80
- createdAt: '2025-02-15T05:00:00Z',
81
- updatedAt: '2025-02-15T05:00:00Z',
82
- },
83
- {
84
- id: '10',
85
- title: 'App Features to Add',
86
- content:
87
- '- Dark mode toggle\n- Note categories/tags\n- Search functionality\n- Cloud sync\n- Share notes\n- Rich text formatting\n- Voice notes',
88
- createdAt: '2025-02-14T11:30:00Z',
89
- updatedAt: '2025-02-14T11:30:00Z',
90
- },
91
- {
92
- id: '11',
93
- title: 'Gratitude Journal',
94
- content:
95
- 'Today I am grateful for:\n1. A warm cup of coffee\n2. Supportive friends and family\n3. Good health\n4. The opportunity to learn new things\n5. A cozy home',
96
- createdAt: '2025-02-13T22:00:00Z',
97
- updatedAt: '2025-02-13T22:00:00Z',
98
- },
99
- {
100
- id: '12',
101
- title: 'Podcast Episodes',
102
- content:
103
- 'Must listen:\n- Huberman Lab: Sleep optimization\n- Lex Fridman: AI discussion\n- Tim Ferriss: Productivity hacks\n- Naval: How to get rich',
104
- createdAt: '2025-02-12T13:00:00Z',
105
- updatedAt: '2025-02-12T13:00:00Z',
106
- },
107
- {
108
- id: '13',
109
- title: 'Code Snippets',
110
- content:
111
- 'Useful React patterns:\n- Custom hooks for data fetching\n- Context for global state\n- Memo for performance\n- Suspense for loading states',
112
- createdAt: '2025-02-11T10:00:00Z',
113
- updatedAt: '2025-02-11T10:00:00Z',
114
- },
115
- {
116
- id: '14',
117
- title: 'Weekend Plans',
118
- content:
119
- 'Saturday:\n- Morning run at 7am\n- Brunch with Sarah\n- Afternoon coding session\n\nSunday:\n- Sleep in\n- Farmers market\n- Movie night',
120
- createdAt: '2025-02-10T18:00:00Z',
121
- updatedAt: '2025-02-10T18:00:00Z',
122
- },
123
- {
124
- id: '15',
125
- title: 'Learning Goals 2025',
126
- content:
127
- 'Technical:\n- Master TypeScript\n- Learn system design\n- Contribute to open source\n\nPersonal:\n- Read 24 books\n- Learn Spanish basics\n- Meditation practice',
128
- createdAt: '2025-02-09T09:00:00Z',
129
- updatedAt: '2025-02-09T09:00:00Z',
130
- },
131
- ];
132
-
133
- export const getNoteById = (id: string): Note | undefined => {
134
- return NOTES.find((note) => note.id === id);
135
- };
136
-