remove Expo project and all related files
Remove the entire Expo/React Native application: routes (app/), source code (src/), assets, iOS native build, config plugins, StoreKit config, npm dependencies, TypeScript/ESLint/Vitest configs, and Expo-specific documentation. The repository now contains only: admin-web, supabase, youtube-worker, tabatago-swift, docs, scripts, and CI/tooling configs.
This commit is contained in:
7
tabatago-swift/TabataGo/Utilities/Environment.swift
Normal file
7
tabatago-swift/TabataGo/Utilities/Environment.swift
Normal file
@@ -0,0 +1,7 @@
|
||||
import Foundation
|
||||
|
||||
/// Helpers for detecting the current runtime environment.
|
||||
enum AppEnvironment {
|
||||
/// True when running inside the Xcode preview sandbox.
|
||||
static let isPreview = ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1"
|
||||
}
|
||||
138
tabatago-swift/TabataGo/Utilities/Strings.swift
Normal file
138
tabatago-swift/TabataGo/Utilities/Strings.swift
Normal file
@@ -0,0 +1,138 @@
|
||||
import Foundation
|
||||
|
||||
/// Type-safe string keys for `Localizable.xcstrings`.
|
||||
/// Usage: Text(L10n.action.start) or String(localized: L10n.player.phase.work)
|
||||
enum L10n {
|
||||
enum action {
|
||||
static let back = LocalizedStringResource("action.back")
|
||||
static let cancel = LocalizedStringResource("action.cancel")
|
||||
static let `continue` = LocalizedStringResource("action.continue")
|
||||
static let done = LocalizedStringResource("action.done")
|
||||
static let save = LocalizedStringResource("action.save")
|
||||
static let share = LocalizedStringResource("action.share")
|
||||
static let start = LocalizedStringResource("action.start")
|
||||
static let startWorkout = LocalizedStringResource("action.startWorkout")
|
||||
static let startTraining = LocalizedStringResource("action.startTraining")
|
||||
static let unlockPremium = LocalizedStringResource("action.unlockPremium")
|
||||
static let restorePurchases = LocalizedStringResource("action.restorePurchases")
|
||||
}
|
||||
enum tab {
|
||||
static let home = LocalizedStringResource("tab.home")
|
||||
static let programs = LocalizedStringResource("tab.programs")
|
||||
static let activity = LocalizedStringResource("tab.activity")
|
||||
static let profile = LocalizedStringResource("tab.profile")
|
||||
}
|
||||
enum home {
|
||||
static let featuredTitle = LocalizedStringResource("home.featuredTitle")
|
||||
static let featuredSubtitle = LocalizedStringResource("home.featuredSubtitle")
|
||||
static let browseTitle = LocalizedStringResource("home.browseTitle")
|
||||
static let streak = LocalizedStringResource("home.streak")
|
||||
static let thisWeek = LocalizedStringResource("home.thisWeek")
|
||||
static let allTime = LocalizedStringResource("home.allTime")
|
||||
}
|
||||
enum zone {
|
||||
static let upper = LocalizedStringResource("zone.upper")
|
||||
static let lower = LocalizedStringResource("zone.lower")
|
||||
static let full = LocalizedStringResource("zone.full")
|
||||
|
||||
static func label(for zone: String) -> LocalizedStringResource {
|
||||
switch zone.lowercased() {
|
||||
case "upper": return upper
|
||||
case "lower": return lower
|
||||
case "full": return full
|
||||
default: return LocalizedStringResource(stringLiteral: zone.capitalized)
|
||||
}
|
||||
}
|
||||
}
|
||||
enum level {
|
||||
static let beginner = LocalizedStringResource("level.beginner")
|
||||
static let intermediate = LocalizedStringResource("level.intermediate")
|
||||
static let advanced = LocalizedStringResource("level.advanced")
|
||||
}
|
||||
enum player {
|
||||
enum phase {
|
||||
static let getReady = LocalizedStringResource("player.phase.getReady")
|
||||
static let warmUp = LocalizedStringResource("player.phase.warmUp")
|
||||
static let work = LocalizedStringResource("player.phase.work")
|
||||
static let rest = LocalizedStringResource("player.phase.rest")
|
||||
static let `break` = LocalizedStringResource("player.phase.break")
|
||||
static let coolDown = LocalizedStringResource("player.phase.coolDown")
|
||||
static let done = LocalizedStringResource("player.phase.done")
|
||||
|
||||
static func label(for phase: TimerPhase) -> LocalizedStringResource {
|
||||
switch phase {
|
||||
case .prep: return getReady
|
||||
case .warmup: return warmUp
|
||||
case .work: return work
|
||||
case .rest: return rest
|
||||
case .interBlockRest: return `break`
|
||||
case .cooldown: return coolDown
|
||||
case .complete: return done
|
||||
}
|
||||
}
|
||||
}
|
||||
static let endWorkout = LocalizedStringResource("player.endWorkout")
|
||||
static let endWorkoutMessage = LocalizedStringResource("player.endWorkoutMessage")
|
||||
static let keepGoing = LocalizedStringResource("player.keepGoing")
|
||||
}
|
||||
enum complete {
|
||||
static let title = LocalizedStringResource("complete.title")
|
||||
static let saveToHealth = LocalizedStringResource("complete.saveToHealth")
|
||||
static let savedToHealth = LocalizedStringResource("complete.savedToHealth")
|
||||
static let backToHome = LocalizedStringResource("complete.backToHome")
|
||||
static let duration = LocalizedStringResource("complete.duration")
|
||||
static let calories = LocalizedStringResource("complete.calories")
|
||||
static let rounds = LocalizedStringResource("complete.rounds")
|
||||
static let avgHeartRate = LocalizedStringResource("complete.avgHeartRate")
|
||||
static let shareWorkout = LocalizedStringResource("complete.shareWorkout")
|
||||
}
|
||||
enum activity {
|
||||
static let currentStreak = LocalizedStringResource("activity.currentStreak")
|
||||
static let bestStreak = LocalizedStringResource("activity.bestStreak")
|
||||
static let history = LocalizedStringResource("activity.history")
|
||||
static let workouts = LocalizedStringResource("activity.workouts")
|
||||
static let minutes = LocalizedStringResource("activity.minutes")
|
||||
static let noWorkouts = LocalizedStringResource("activity.noWorkouts")
|
||||
static let noWorkoutsMessage = LocalizedStringResource("activity.noWorkoutsMessage")
|
||||
}
|
||||
enum onboarding {
|
||||
static let whatIsYourName = LocalizedStringResource("onboarding.whatIsYourName")
|
||||
static let fitnessLevel = LocalizedStringResource("onboarding.fitnessLevel")
|
||||
static let mainGoal = LocalizedStringResource("onboarding.mainGoal")
|
||||
static let howOften = LocalizedStringResource("onboarding.howOften")
|
||||
static let allSet = LocalizedStringResource("onboarding.allSet")
|
||||
}
|
||||
enum goal {
|
||||
static let weightLoss = LocalizedStringResource("goal.weightLoss")
|
||||
static let cardio = LocalizedStringResource("goal.cardio")
|
||||
static let strength = LocalizedStringResource("goal.strength")
|
||||
static let wellness = LocalizedStringResource("goal.wellness")
|
||||
}
|
||||
enum settings {
|
||||
static let title = LocalizedStringResource("settings.title")
|
||||
static let audio = LocalizedStringResource("settings.audio")
|
||||
static let soundEffects = LocalizedStringResource("settings.soundEffects")
|
||||
static let voiceCoaching = LocalizedStringResource("settings.voiceCoaching")
|
||||
static let music = LocalizedStringResource("settings.music")
|
||||
static let haptics = LocalizedStringResource("settings.haptics")
|
||||
static let hapticFeedback = LocalizedStringResource("settings.hapticFeedback")
|
||||
static let reminders = LocalizedStringResource("settings.reminders")
|
||||
static let dailyReminder = LocalizedStringResource("settings.dailyReminder")
|
||||
static let resetProgress = LocalizedStringResource("settings.resetProgress")
|
||||
}
|
||||
enum paywall {
|
||||
static let title = LocalizedStringResource("paywall.title")
|
||||
static let subtitle = LocalizedStringResource("paywall.subtitle")
|
||||
static let startPremium = LocalizedStringResource("paywall.startPremium")
|
||||
static let premiumActive = LocalizedStringResource("paywall.premiumActive")
|
||||
static let upgradePrompt = LocalizedStringResource("paywall.upgradePrompt")
|
||||
static let cancelAnytime = LocalizedStringResource("paywall.cancelAnytime")
|
||||
}
|
||||
enum health {
|
||||
static let appleHealth = LocalizedStringResource("health.appleHealth")
|
||||
static let move = LocalizedStringResource("health.move")
|
||||
static let exercise = LocalizedStringResource("health.exercise")
|
||||
static let stand = LocalizedStringResource("health.stand")
|
||||
static let restingHR = LocalizedStringResource("health.restingHR")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user