eletrotupi / tcc/ commit / b15446b

frontend: use new store inside new pages

Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago b15446bb672c6f4cf6e2d0e055f0a78afd3c2b8b Browse files
Parents 5516404
Changed files
2
Additions
+21
Deletions
-4
frontend/app/(tabs)/new/entry.tsx
1 1
import { useState, useEffect } from 'react';
2 2
import {
3 3
  Link, router, useLocalSearchParams
4 4
} from 'expo-router';
5 5

22 22
import { Section, SectionHeader } from '@/components/ui/Sections';
23 23
import { Spacing, Typography, Colors } from '@/constants/theme';
24 24
import { ScaleSlider } from '@/components/ui/ScaleSlider';
25 25
import { Ionicons } from '@expo/vector-icons';
26 26
import { useThemeColor } from '@/hooks/use-theme-color';
27 +
import {
28 +
  useMoodEntryStore,
29 +
} from '@/stores/moodEntry';
30 +

31 +
import {
32 +
  MOODS,
33 +
  getMood
34 +
} from '@/constants/moods';
27 35

28 36
export default function NewMoodEntry() {
29 37
  const { user } = useAuth();
30 38
  const tintColor = useThemeColor({}, 'tint');
31 39

32 -
  // TODO: transform this into a specific mood component
33 40
  const { initialMood } = useLocalSearchParams();
34 41
  const [stress, setStress] = useState(0);
35 42
  const [anxiety, setAnxiety] = useState(0);
36 43
  const [energy, setEnergy] = useState(0);
37 44

45 +
  const {
46 +
    selectedMood,
47 +
    setSelectedMood,
48 +
    components,
49 +
  } = useMoodEntryStore();
50 +

51 +
  useEffect(() => {
52 +
    setSelectedMood(getMood(initialMood));
53 +
  }, [initialMood]);
54 +

38 55
  const editComponents = () => {
39 56
    console.log("Wants to open the components");
57 +

58 +
    router.push("/entry/mood-components")
40 59
  }
41 60

42 61
  return (
43 62
    <View>
44 63
      <ScrollView
48 67
            <ThemedText style={styles.statusPrefix}>
49 68
              Como você está se sentindo agora?
50 69
            </ThemedText>
51 70

52 71
            <ThemedText style={styles.statusText}>
53 -
              Muito Bem
72 +
              {selectedMood.label || "Neutro"}
54 73
            </ThemedText>
55 74
          </Center>
56 75

57 76
          <Card style={styles.resumeCard}>
58 77
            <Col gap={24}>
136 155
  },
137 156
  resumeCard: {
138 157
    padding: Spacing.cardGap,
139 158
  }
140 159
});
frontend/app/(tabs)/new/index.tsx
1 1
import { useEffect, useState } from 'react';
2 2
import {
3 3
  StyleSheet
4 4
} from 'react-native';
5 5

29 29
    { id: 'great', icon: '🤩', label: 'Ótimo' },
30 30
    { id: 'angry', icon: '😠', label: 'Irritado' },
31 31
  ];
32 32

33 33
  const initQuickRegister = () => {
34 -
    console.log("Register: ", mood);
35 -

36 34
    // TODO: Set down on camelCase vs kebab case
37 35
    router.navigate(`/new/entry?initialMood=${mood}`)
38 36
  };
39 37

40 38
  return (
112 110
    marginRight: 16,
113 111
    marginBottom: 16,
114 112
    ...Shadows.lg
115 113
  }
116 114
});