feat: tickets
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user