feat: tickets

This commit is contained in:
2025-12-08 14:13:39 +01:00
parent 8c6cc50dcb
commit b0cf4a20ab
3 changed files with 290 additions and 273 deletions
+1
View File
@@ -42,6 +42,7 @@ const HIDDEN_ROUTE_NAMES = new Set([
Routes.PlaybackExample, Routes.PlaybackExample,
Routes.PlaybackOnboarding, Routes.PlaybackOnboarding,
Routes.Playback, Routes.Playback,
Routes.PlaybackGuide,
Routes.RecordPlayback, Routes.RecordPlayback,
Routes.RecordedPlayback, Routes.RecordedPlayback,
Routes.ChooseDecor, Routes.ChooseDecor,
+25 -9
View File
@@ -1,6 +1,12 @@
import { BlurView } from "expo-blur"; import { BlurView } from "expo-blur";
import { Image as ExpoImage } from "expo-image"; import { Image as ExpoImage } from "expo-image";
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; import React, {
useCallback,
useEffect,
useMemo,
useRef,
useState,
} from "react";
import { import {
ActivityIndicator, ActivityIndicator,
Image, Image,
@@ -9,6 +15,8 @@ import {
Text, Text,
TextInput, TextInput,
View, View,
KeyboardAvoidingView,
Platform,
} from "react-native"; } from "react-native";
import { background, icons } from "../../assets"; import { background, icons } from "../../assets";
import alert from "../../components/Alert"; import alert from "../../components/Alert";
@@ -220,10 +228,7 @@ const PouchReady = () => {
const start = coverProgressStartRef.current; const start = coverProgressStartRef.current;
if (!start) return; if (!start) return;
const elapsed = Date.now() - start.getTime(); const elapsed = Date.now() - start.getTime();
const ratio = Math.max( const ratio = Math.max(0, Math.min(1, elapsed / COVER_FAKE_DURATION_MS));
0,
Math.min(1, elapsed / COVER_FAKE_DURATION_MS),
);
const next = COVER_PROGRESS_MAX * ratio; const next = COVER_PROGRESS_MAX * ratio;
setCoverProgress((prev) => { setCoverProgress((prev) => {
if (prev >= COVER_PROGRESS_MAX) return COVER_PROGRESS_MAX; if (prev >= COVER_PROGRESS_MAX) return COVER_PROGRESS_MAX;
@@ -310,6 +315,10 @@ const PouchReady = () => {
return ( return (
<Page backgroundImg={background.studioBG2} headerType="NONE"> <Page backgroundImg={background.studioBG2} headerType="NONE">
<MusicLandHeader onPressBack={goBack} progress={72} /> <MusicLandHeader onPressBack={goBack} progress={72} />
<KeyboardAvoidingView
behavior={Platform.OS === "ios" ? "padding" : "height"}
style={{ flex: 1 }}
>
<View style={{ flex: 1, marginTop: 0 }}> <View style={{ flex: 1, marginTop: 0 }}>
<CreateLyricsHeader <CreateLyricsHeader
title={ title={
@@ -319,7 +328,7 @@ const PouchReady = () => {
} }
/> />
<View style={{ flex: 1, ...Style.containerCenter }}> <View style={{ flex: 1, ...Style.containerCenter }}>
<View style={{ width: isWeb ? "80%" : "100%", gap: 24 }}> <View style={{ width: isWeb ? "80%" : "80%", gap: 24 }}>
<View <View
style={{ style={{
width: "100%", width: "100%",
@@ -489,7 +498,9 @@ const PouchReady = () => {
<View style={styles.dropdownArea}> <View style={styles.dropdownArea}>
<Pressable <Pressable
style={styles.dropdownTrigger} style={styles.dropdownTrigger}
onPress={() => setIsPresetDropdownOpen((prev) => !prev)} onPress={() =>
setIsPresetDropdownOpen((prev) => !prev)
}
> >
<Text <Text
style={styles.dropdownTriggerLabel} style={styles.dropdownTriggerLabel}
@@ -519,8 +530,12 @@ const PouchReady = () => {
key={styleOption} key={styleOption}
style={[ style={[
styles.dropdownOption, styles.dropdownOption,
!isLast ? styles.dropdownOptionDivider : null, !isLast
isActive ? styles.dropdownOptionActive : null, ? styles.dropdownOptionDivider
: null,
isActive
? styles.dropdownOptionActive
: null,
]} ]}
onPress={() => { onPress={() => {
setSelectedPresetStyle(styleOption); setSelectedPresetStyle(styleOption);
@@ -616,6 +631,7 @@ const PouchReady = () => {
/> />
)} )}
</View> </View>
</KeyboardAvoidingView>
</Page> </Page>
); );
}; };