Skip to content

Started swiftapp#17

Open
Crash09N wants to merge 2 commits into017pixel:mainfrom
Crash09N:swiftapp
Open

Started swiftapp#17
Crash09N wants to merge 2 commits into017pixel:mainfrom
Crash09N:swiftapp

Conversation

@Crash09N
Copy link
Copy Markdown

Vibe Coded Swift App beginning on first Evening of Jufo 2026

Vibe Coded Swift App beginning on first Evening of Jufo 2026
Copilot AI review requested due to automatic review settings April 12, 2026 14:41
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the DailyQuest web app (PWA) with a progressive tutorial system, dungeon combat, achievements/UX updates, and adds an initial SwiftUI app scaffold plus extensive documentation and deployment setup.

Changes:

  • Added a progressive tutorial system (state in IndexedDB, feature guides, triggers, docs).
  • Implemented/updated dungeon combat flow, focus timer rewards, shop/inventory rules, achievements UI, and offline caching.
  • Introduced a new SwiftUI “DailyQuest” app foundation (models + core views) and added project/docs/report materials and GitHub Pages workflow.

Reviewed changes

Copilot reviewed 21 out of 119 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tutorial/README.md Documents progressive tutorial architecture, triggers, and integration examples.
tutorial/js/tutorial_triggers.js Adds helper trigger functions for sub-feature tutorials.
tutorial/js/tutorial_tour.js Marks legacy “tour” as disabled (stub).
tutorial/js/tutorial_state.js Adds IndexedDB-backed tutorial completion + seen-feature tracking.
tutorial/js/tutorial_dynamic.js Marks legacy “dynamic tutorial” as disabled (stub).
service-worker.js Adds explicit asset caching, cache cleanup, cache-first fetch strategy.
README.md Adds project overview, features, docs links, install instructions.
Mathematische-Konzepte.md Adds math/system documentation (leveling, scaling, probabilities, etc.).
manifest.json Adds PWA manifest metadata + icons.
Lerndateien/10_Code_Architektur_Best_Practices.md Adds learning notes on architecture best practices.
Lerndateien/09_Design_System_CSS.md Adds learning notes on CSS design system.
Lerndateien/08_Belohnung_Shop_Items.md Adds learning notes on shop/inventory concepts.
Lerndateien/07_Der_Dungeon.md Adds learning notes on dungeon/combat concepts.
Lerndateien/06_Aufgaben_und_Training.md Adds learning notes on quests/training flow.
Lerndateien/05_Spieler_Charakter_System.md Adds learning notes on character system.
Lerndateien/04_Erfolge_und_Achievements.md Adds learning notes on achievements tracking.
Lerndateien/03_Datenbank_und_Speichern.md Adds learning notes on IndexedDB persistence.
Lerndateien/02_Startpunkt_Index_und_Main.md Adds learning notes on entrypoint and app init.
Lerndateien/01_Ueberblick_Projekt.md Adds learning notes on overall project overview.
Jugendforscht-Bericht/Struckturplan-Jugendforscht2026.md Adds report structure plan for Jugend forscht writeup.
Jugendforscht-Bericht/Jugendforscht-Bericht-Plan.md Adds report planning checklist/outline.
js/vibe-fokus/vibe_state.js Updates vibe/focus state persistence and migration cleanup.
js/vibe-fokus/page_fokus_timer.js Updates focus timer UI/logic and rewards/stat gain rules.
js/vibe-fokus/page_fokus_main.js Simplifies focus page entry to timer-only view.
js/page_shop.js Updates shop rendering and purchasing constraints (incl. streak freeze limit).
js/page_extra_quest.js Adds/updates extra quest countdown + completion flow and UI toggling.
js/page_achievements.js Implements achievements list UI, info popup, claim flow, new “focus_time” support.
js/fallback-check.js Adds watchdog fallback if app fails to signal readiness.
js/dungeons/page_dungeon_main.js Implements dungeon page rendering, actions, animations, win/loss handling, tutorial hooks.
js/dungeons/dungeon_combat.js Adds combat state + damage calculations + player stat snapshot via cache.
js/database.js Bumps DB version and ensures stores; adds dungeon progress helpers.
js/character/page_character_main.js Renders character page + tabs; ties into stats/inventory rendering.
js/character/page_character_labels.js Adds label/title system based on stat distribution.
js/character/page_character_inventory.js Adds inventory/equipment UI handling, selling, and combat cache updates.
info/theories_gamification.md Adds gamification theory documentation.
info/technical_documentation.md Adds technical architecture + PWA + IndexedDB documentation.
info/design_guide.md Adds design system documentation.
Funktion-Erklaerungen/18_Translations.md Adds translation system functional explanation doc.
Funktion-Erklaerungen/16_Weight_Tracking.md Adds weight tracking functional explanation doc.
Funktion-Erklaerungen/10_Character_Labels.md Adds character labels functional explanation doc.
Funktion-Erklaerungen/01_Character_System.md Adds character system functional explanation doc.
data/dungeons.js Adds dungeon definitions (monsters, tasks, rewards).
data/achievements.js Adds achievement definitions including new focus_time.
DailyQuest-SwiftApp/DailyQuest/ShopView.swift Adds SwiftUI shop UI with filtering and buying.
DailyQuest-SwiftApp/DailyQuest/SettingsView.swift Adds SwiftUI settings UI incl. export/import and tutorial reset.
DailyQuest-SwiftApp/DailyQuest/OnboardingView.swift Adds SwiftUI onboarding flow for initial setup.
DailyQuest-SwiftApp/DailyQuest/Models.swift Adds Swift models for game state, items, dungeons, focus, achievements, etc.
DailyQuest-SwiftApp/DailyQuest/FocusView.swift Adds SwiftUI focus timer + session stats + label management.
DailyQuest-SwiftApp/DailyQuest/ExtraQuestView.swift Adds SwiftUI extra quest UI (inactive + active with timer).
DailyQuest-SwiftApp/DailyQuest/ExercisesView.swift Adds SwiftUI daily quests + free training + info sheet flow.
DailyQuest-SwiftApp/DailyQuest/DungeonView.swift Adds SwiftUI dungeon encounter UI and action handling.
DailyQuest-SwiftApp/DailyQuest/DailyQuestApp.swift Adds SwiftUI app entrypoint.
DailyQuest-SwiftApp/DailyQuest/ContentView.swift Adds SwiftUI TabView shell, overlays, onboarding, dungeon cover, settings/achievements sheets.
DailyQuest-SwiftApp/DailyQuest/BackupDocument.swift Adds FileDocument wrapper for JSON backups.
DailyQuest-SwiftApp/DailyQuest/Assets.xcassets/Contents.json Adds Xcode asset catalog metadata.
DailyQuest-SwiftApp/DailyQuest/Assets.xcassets/AppIcon.appiconset/Contents.json Adds app icon set manifest.
DailyQuest-SwiftApp/DailyQuest/Assets.xcassets/AccentColor.colorset/Contents.json Adds accent color asset manifest.
DailyQuest-SwiftApp/DailyQuest/AchievementsView.swift Adds SwiftUI achievements list UI + claim action.
DailyQuest-SwiftApp/DailyQuest.xcodeproj/xcuserdata/noah.xcuserdatad/xcschemes/xcschememanagement.plist Adds Xcode user scheme metadata (user-specific).
DailyQuest-SwiftApp/DailyQuest.xcodeproj/project.xcworkspace/contents.xcworkspacedata Adds Xcode workspace metadata.
css/pages/shop.css Adds shop page layout/filter styling.
css/pages/fokus.css Updates focus page styling for timer-only flow.
css/pages/extra-quest.css Adds extra quest page styling.
css/pages/exercises.css Adds compact card layout + hero/reveal UI styling.
css/pages/dungeon.css Adds dungeon page layout, sticky monster card, animations, inputs, overlays.
css/pages/achievements.css Adds achievements card styling + info popup styling.
css/components/cards.css Adds base card typography styling.
css/components/buttons.css Adds button styles, tabs, filter buttons.
CHANGELOG.md Adds multi-version changelog with major feature notes.
Breichtsplanung.md Adds report planning outline (duplicate content with report plan).
.github/workflows/static.yml Adds GitHub Pages deployment workflow for static site.
Files not reviewed (1)
  • DailyQuest-SwiftApp/DailyQuest.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +140 to +145
if store.state.character.weightTrackingEnabled {
TextField(store.t("target_weight"), value: Binding(
get: { store.state.character.targetWeight },
set: { store.updateTargetWeight($0) }
), format: .number)
.keyboardType(.decimalPad)
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier wird ein TextField(_:value:format:) mit einer Binding<Double?> (Optional) und format: .number verwendet. Das führt i.d.R. zu einem Compile-Error, weil FloatingPointFormatStyle<Double> als FormatInput ein nicht-optional Double erwartet. Bitte eine nicht-optionale Binding-Bridge bereitstellen (z.B. Binding<Double> mit Default) oder auf ein String-basiertes TextField mit Parsing/Validation wechseln, wenn nil als „kein Zielgewicht gesetzt“ unterstützt werden soll.

Copilot uses AI. Check for mistakes.
…rdatad/xcschemes/xcschememanagement.plist

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants